2023-10-12 ML勉強会
Zero-Shot Text-to-Image Generation
- Zero-Shot Text-to-Image Generation
- Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray, Chelsea Voss, Alec Radford, Mark Chen, Ilya Sutskever
- OpenAIのDALL-Eモデルに関する論文
- 公式にはdVAEのコードのみが公開されている
モチベーション
- 従来のtext-to-imageでは限定された学習データでの問題設定が多く、適用可能なドメインが限られていたり、複雑なアーキテクチャとなってしまっていた
- Transformerを大規模なデータセットで学習させることで汎用性を与え、ゼロショットでも従来のドメイン固有モデルと競争できることを示す
モデル
- DALL-Eはtext-to-imageのモデルで入力したテキストから画像を自己回帰で生成
- (a) アコーディオンでできたバク
- (b) ハリネズミの赤ちゃんがクリスマスセーターを来て犬の散歩をしているイラスト
- DALL-Eの学習は、(1)dVAEの学習 と (2)テキストと画像の関係の学習 の2段階に分かれる
学習
数式によるモデルの説明
- 画像をx, キャプションをy, 画像トークンをzとしたとき、以下のようにモデル化する
- このとき学習データ から以下の周辺尤度を最大化することで画像トークンzを推定したい
- ただし上記の微分は困難であるため、以下式の左辺の対数尤度を最大化する代わりに右辺のevidence lower bound(ELBO)を最大化する (参考)
- は画像トークンとキャプションが与えられたときのdVAEデコーダが生成した画像の分布
- は画像が与えられたときにdVAEエンコーダが生成した画像トークンの分布
- はキャプションと画像トークンの同時分布 (事前分布)
- βはKLダイバージェンスのペナルティの大きさ
- ELBOの解釈
- 第1項: 画像 をみて決めた分布 から をサンプリングして画像を生成したとき、元の画像 に戻る確率が高くなる
- 第2項 : 画像をみて決めた分布 は事前分布 に近くなる
ステージ1: dVAEの学習
- ステージ1では画像を用いてdVAEを学習する。これは と に関してELBOを最大化させること
- 事前分布 はK=8192の一様カテゴリ分布 (画像トークンの語彙が8192)
- はdVAEエンコーダが生成する画像トークンの分布であるが離散分布(カテゴリ分布)となるため勾配を計算することができない
- Gumbel-softmax relaxationという手法を使うことで微分可能にする
- Gumbel-softmaxは温度パラメータ が0のときはカテゴリ分布となり大きくしていくと一様分布に近づく
- 学習の初期は温度パラメータを大きくし徐々に小さくする(1/16までアニーリングする)ことで安定して学習することができる
- エンコーダの最後とデコーダの最初に1×1畳み込みを使用することでより良く汎化できることがわかった
- また、KLの重みβを徐々に上げていくことで最終的に学習終了時の再構成誤差が小さくなる
ステージ2: 事前分布の学習
- ステージ2では、 を固定し に関してELBOを最大化することでテキスト(キャプション)と画像トークンに対する事前分布を12億パラメータのSparse Transformerで学習させる
- BPEエンコードされたテキストトークン(256 token)と画像トークン (32×32=1024 token)を連結してTransformerに入力する
- self-attention maskには以下のようにRow, Column, Convolutional attention maskを層によって使いわける
実験
- MS COCOのキャプションを使ってDF-GAN、DM-GAN、AttnGANと比較
- DF-GANとの人間の評価による比較
- Realism(現実に近いか), Accurcy(キャプションに一致するか)を多数決で評価し、DALL-Eの方がRealismもAccuracyも90%以上となった