目次
2段階のモデルを提案
画像表現を明示的に生成することで、写実性とキャプションの類似性の損失を最小限に抑えながら、画像の多様性を向上できる。
画像表現を条件とするデコーダは、画像表現にない非本質的な部分を変化させながら、意味とスタイルの両方を保持した画像のバリエーションを生成できる。
デコーダーに自己回帰モデルと拡散モデルを使ったところ、拡散モデルのほうが良かった。
ガウスノイズを加えていって劣化させ、正規分布の純粋なノイズにする方法。逆の操作をすることで、画像を復元できるモデルになる。図は超解像のSR3の論文より。
破損プロセスを逆転させることでノイズを取り除くのが拡散モデル。SR3は超解像に応用している。
Zero-shotのCLIPと拡散モデルを組み合わせる。
キャプションが与えられたとして、それにマッチするようなCLIPの画像特徴量を求めたい。これを論文では「反転」と呼んでいる。
CLIP画像エンコーダを反転させるための、拡散モデルベースの事前分布を学習させる。
生成結果はGLIDEと同等の品質で、世代における多様性がより大きい。
潜在空間における拡散事前分布の学習方法を開発し、自己回帰モデルと同等の性能を達成しつつ、より効果的に学習できた。
テキスト→CLIPの画像特徴量は、CLIP画像エンコーダを反転して画像を生成するため、「unCLIP」と論文中では呼んでいる。
※数式のメモは私が追加
第一段階として、事前分布$P(z_i|y)$を作りたい。これはキャプション$y$を与えたときに、CLIPの画像埋め込み特徴量$z_i$を生成するもの。
第二段階として、画像$x$を生成するデコーダー$P(x|z_i, y)$を作りたい
理論的にはただのベイズの定理。
事前分布から$z_i$をサンプリングして、デコーダーを使って$x$を生成。これが$P(x|y)$のサンプリングメソッド
CLIPのモデルは両段階で係数固定で、特徴抽出器として使う。
第一段階。自己回帰モデル(AR)と、拡散モデルを考えた。拡散モデルのほうが良かった。
$z_i$を離散コードに変換し、キャプション$y$を条件として自己回帰で予測
連続量の$z_i$を、キャプション$y$からガウス拡散モデルで直接予測
事前分布の損失関数。L2回帰で予測
私の感想:事前分布のモデル構造がかなりのキー手法なのに、ここの言及が少なく、図がなかったのが残念。
第二段階。先行研究のGLIDEをベース。GLIDEは拡散モデル+CLIPで、拡散モデルとCLIPをつなぎ合わせるのはDALL-E 2が初ではない。
DALL・E2では、具体的には、既存のタイムステップ埋め込みにCLIP埋め込みを投影して追加する。GLIDEテキストエンコーダからの出力のシーケンスに連結される、コンテキストの4つの追加トークンにCLIP埋め込みを投影することによって、GLIDEのアーキテクチャを修正。
高解像度生成には、64×64→256×256、256×256→1024×1024の2つの拡散アップサンプリングモデルを学習する。アップサンプリングモデルの頑強性を向上させるため、学習時にガウスぼかしなどの劣化プロセスを教師画像に対して行う。
2つの画像のCLIP埋め込み$z_i, z_j$を考える。先行研究のDDIMに基づき、
CLIPの画像埋め込みをとり、PCAの次元を増やして再構成し、固定シードのDDIM付きデコーダーで可視化したもの。低次元では粗い意味情報に対応、高次元ではオブジェクトの形状や形の詳細をエンコーディングしている。
キャプション→画像の生成には事前分布は必ずしも必要ないが、あったほうが生成画像はより正確にキャプションを捉える。
→3番目が最もキャプションのコンテクストを捉えている。事前分布をおくのが重要。
unCLIP(Dall-e 2)とGLIDEの比較。人間による評価。自己回帰と拡散のいずれもGLIDEよりよく、特に多様性が改善した。
多様性においては次のような4×4のグリッドを見せて「どっちが多様性に富むか」を選択させている。
MS-COCOによるZero-Shot。話題になっている割には、GLIDEやMake a senceからよくある性能改善で、爆発的に良くなったというほどではない。