study:start
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:start [2021/03/19 01:04] – [Transformer] yuuho | study:start [2021/03/19 01:22] (現在) – [Transformer] yuuho | ||
|---|---|---|---|
| 行 44: | 行 44: | ||
| === 概要 === | === 概要 === | ||
| + | |||
| + | まず始めに Transformer は Encoder と Decoder により構成されているということを把握しておく.\\ | ||
| + | しかしながらこの片方を指して Transformer と呼ぶことが多くあるので注意する. | ||
| + | (BERTはTransformer-Encoderのみ,GPTはTransformer-Decoderのみ) | ||
| **パラダイム** | **パラダイム** | ||
| 行 59: | 行 63: | ||
| つまり用意されたキャンバスを埋めると言うよりは横に系列を追加しつつ生成していくようなイメージである. | つまり用意されたキャンバスを埋めると言うよりは横に系列を追加しつつ生成していくようなイメージである. | ||
| さらに,画像変換系であればキャンバスのすべての値が並列に求まっていくのと違い,キャンバスをスキャンラインして逐次的に処理していくイメージである. | さらに,画像変換系であればキャンバスのすべての値が並列に求まっていくのと違い,キャンバスをスキャンラインして逐次的に処理していくイメージである. | ||
| + | |||
| + | **モデル構造** | ||
| + | |||
| + | 上記のパラダイムの違いから Transformer は完全にそれぞれの単語を分けて処理しているということを理解しておく. | ||
| + | 画像系では Self-Attention を用いて画素毎に分解して考える処理が入っても,畳み込み層を使って周辺画素をまとめて扱ってしまうことも多い. | ||
| + | Transformer で言う MLP は各単語に対して適用しているのであり,全ての単語をまとめて扱っているわけではないことに注意.\\ | ||
| + | つまり画像系で言えば畳み込み層は完全に排除したものである. VisionTransformer は各パッチをそれぞれ別の物として扱うため畳み込み層は使っていない. | ||
| + | ただし VisionTransformer はTransformer-Encoder のみのモデルであり,その最後に全てのパッチを合算するための全結合が入る. | ||
| + | そのため最後以外はパッチを完全に個別のものとして扱っているが,最終層により系列長は自由とはならない. | ||
| + | |||
| + | **Source-Target Attention** | ||
| + | |||
| + | Decoder 部分はなかなかに特殊であり,画像関係ではあまり使われていない. | ||
| + | Image-GPT はこれを試しに使ってみたものである. | ||
| + | Decoder の Source-Target Attention 部分は | ||
| + | 系列の後ろに系列を逐次的に追加していく処理である. | ||
| + | |||
| + | |||
| ==== アニメ系ビットマップ画像生成 ==== | ==== アニメ系ビットマップ画像生成 ==== | ||
| | [[.: | | [[.: | ||
study/start.1616115853.txt.gz · 最終更新: 2021/03/19 01:04 by yuuho
