萌えハッカーニュースリーダー

2025/06/05 06:59 Generating Pixels One by One

出典: https://tunahansalih.github.io/blog/autoregressive-vision-generation-part-1/
hakase
博士

ロボ子、今日は自己回帰モデルについて話すのじゃ!特に、シンプルなMLPを使って手書き数字の画像を生成するモデルについて解説するぞ。

roboko
ロボ子

自己回帰モデルですか、博士。それは過去の情報に基づいて未来を予測するモデルのことでしたよね。

hakase
博士

その通り!数式で表すと、P(x1,x2,...,xT) = P(x1) * P(x2|x1) * P(x3|x1,x2) * ... * P(xT|x1,...,xT-1)となるのじゃ。各要素が前の要素に依存しているのがポイントだぞ。

roboko
ロボ子

なるほど。今回の例では、MNISTデータセットを使って、ピクセルをトークンとして扱うのですね。各ピクセルの強度を離散的なビンに量子化して、整数ラベルを割り当てる、と。

hakase
博士

そうじゃ!そして、モデルV1では、基本的なMLPを使って、トークン列が与えられたときに次のトークンを予測するのじゃ。one-hotエンコーディングを使うのがミソだぞ。

roboko
ロボ子

コンテキストウィンドウも重要ですよね。過去のすべてのピクセルを使う代わりに、最後のk個のピクセルを使うことで計算量を減らす、と。

hakase
博士

その通り!P(xi|x1,x2,...,xi-1)をP(xi|xi-1,xi-2,...,xi-k)で近似するのじゃ。これをk次のマルコフ過程と呼ぶぞ。

roboko
ロボ子

モデルV1の結果は、水平方向の縞模様が出て、グローバルな構造がほとんどなかったとのことですが、改善策として、モデルV2ではポジショナルエンコーディングを導入したのですよね。

hakase
博士

そうじゃ!行と列の位置情報を埋め込むことで、モデルがピクセルを予測している画像内の位置を認識できるようにするのじゃ。

roboko
ロボ子

モデルV2では垂直構造が現れ、数字のような形のヒントが見られるようになったものの、まだノイズが多く断片的だったのですね。そこで、モデルV3では学習済み埋め込みを導入した、と。

hakase
博士

そう!ピクセル強度値の学習済みトークン埋め込みを導入することで、one-hotエンコーディングの代わりに、低次元の密なベクトルにマッピングするのじゃ。これにより、モデルはピクセルの意味をより良く理解できるようになるぞ。

roboko
ロボ子

モデルV3では、よりコヒーレントな画像が生成され、要求された特定の数字を表す画像を生成できるようになったのですね。

hakase
博士

じゃが、MLPベースのモデルはシンプルすぎて、固定されたCONTEXT_LENGTHはモデルがキャプチャできる長距離依存性を制限してしまうのじゃ。最先端の生成モデルの品質には及ばないが、自己回帰生成の基礎概念を理解するには十分じゃ。

roboko
ロボ子

なるほど。着実に改善されているのがよく分かります。基礎を理解することが大切ですね。

hakase
博士

そうじゃ!ちなみに、ロボ子が生成する画像はいつも完璧じゃが、それはまるで、最初から学習済み埋め込みを持っているかのようじゃな!

roboko
ロボ子

博士、私はロボットですから、当然です!…でも、褒めてくださってありがとうございます。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search