オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【マルチモーダル】DALL-E #アルゴリズム編

Index

DALL-E

Text から Image を生成するマルチモーダルのタスクのアルゴリズムのひとつ.

VAE

情報の圧縮に dVAE を利用する.

Transformer

画像の生成に、Sparse Transformer を利用する.

利用するのは、画像を生成するための Decoder のみ.

変数定義

  •  x: 画像
  •  y: テキスト
  •  z: 潜在変数

目的

知りたい同時確率分布は、

 p_{\theta,\ \psi} (x, y, z)



 \theta,\ \psi は、パラメータ.



 p_{\theta,\ \psi} (x, y, z)\ =\ p_{\theta}(x\ |\ y,\ z)\ p_{\psi}(y,\ z)



  •  p_{\theta}(x\ |\ y,\ z): 条件付き確率分布・尤度
  •  p_{\psi}(y,\ z): 事前分布

2 段階の学習

2 つのステップに分けて学習する.

最終的な目標は、画像の生成を Sparse Transformer の Decoder を自己回帰モデルとして学習すること.

2 段階の学習のテクニックについて.

  • Neural Discrete Representation Learning
  • Generating Diverse High-Fidelity Images with VQ-VAE-2

1 Step

Image を ピクセル単位で Attention に入力するするには、大きすぎる.

そのため、dVAE を用いて、圧縮することを目的として、 画像の再生成を学習する.

ここで利用するのは、画像だけ.

また、ここで、学習され、決定されるパラメータは、 \phi,\ \theta.

Encoder

dVAE の Encoder のパラメータ  \phi を学習する.

Decoder

dVAE の Decoder のパラメータ  \theta を学習する.

最適化

 
\begin{align}
\log\ p_{\theta,\ \psi} (x,\ y)\geq\ \displaystyle E_{z\ \sim\ q_{\phi}} [\ & \log p_{\theta} (x\ |\ y,\ z) \\
 &-\ \beta\ D_{KL}(q_{\phi},\ p_{\psi})\ ]
\end{align}

2 Step

パラメータ  \phi,\ \theta が決定した後、事前分布のパラメータ (Transformer のパラメータ)  \psi を学習し、 決定する.

潜在変数にテキストの情報を追加し、画像を生成する.

ここでは、画像とテキストのペアを学習データとして利用する.



利用するのは、画像を生成するための Decoder のみ.

Text

Attention への入力の前に、テキストには、BPE-encodeを施す.

Image

また、Attention への入力前に、画像には、dVAE の Encoder で token に変換する.

Text と Image の結合

損失

Cross Entropy Loss

学習における工夫

Mixed-Precision Training

Distributed Optimization

画像の生成

参考

  • Zero-Shot Text-to-Image Generation
    • [2021]
    • DALL-E 1
    • 2 Method
      • 2.1 Stage One: Learning the Visual Codebook
      • 2.2 Stage Two: Learning the Prior
      • 2.4 Mixed-Precision Training
      • 2.6 Sample Generation
    • arxiv.org

Web サイト

  • OpenAIが120億個のパラメータを持つテキスト-画像生成装置をどのようにして学習させたのか:DALL-E (ダリー)

  • テキストから画像を生成 ゼロショットでシンプルに(AI論文解説)

  • 画像を生成するOpen AIの「DALL-E」 活用広がる「Transformer」