VAE

  • 生成モデル

    • SDでは潜在表現から画像にする際に用いられている
  • Auto Encoder の潜在変数を と仮定している

  • 例: in(784次元) -> z(20次元) -> out(784次元). 低次元の潜在空間に特徴を表現できている

  • 学習時に正規分布に従う乱数を加える

    • → 各ラベル毎にクラスタが出来る
  • 潜在空間上で値を連続的に動かすと変化に対応する出力を出すことが出来る

    • ( はラベル の中心)
  • 多様体仮説

    • 画像等の高次元データは空間の中で固まって存在しているという仮説
  • 生成モデルの目的はデータの分布である を推定すること

    • は画像等の高次元データ(MNISTだと784次元)
    • それを低次元の潜在変数 と対応付けるのが学習
    • VAEは が正規分布として分布するように学習させる
  • Encoder: データ が得られた状態でその を生み出した潜在変数 を推論する確率モデル(モデルのパラメータが )

    • ではなく が従う正規分布 のパラメータ を生成しているらしい
  • Decoder:

  • 学習の仕方 = の求め方

    • の尤度を最大にするNNのパラメータ を最尤法で求める
      • 対数尤度 の最大化は積分が難しいので変分下限 を最大化することを考える
  • イェンセンの不等式

  • 対数尤度と変分下限の差は となる

  • さらに式変形すると

    • ベイズの定理:

となる

  • 1項目は正則化項で の分布が になるように制約になっている

  • 2項目 は多変量ベルヌーイ分布に従うと仮定してVAEの出力と入力画像でクロスエントロピーを取る(reconstruction error)

  • 対数尤度の最大化は変分下限の最大化と差の最小化を同時にしなければいけないように感じるが変分法を利用することで両者は同じことをあわらすことがわかるらしい

    • 変分下限の最適化をすることで推論するアルゴリズムは 変分推論 法と呼ばれている

Reparameterization Trick

  • 変分下限の各項は期待値=積分なので MCMC のようなサンプリング法を用いる必要があるがそうすると逆誤差伝搬できなくなる
  • それをReparameterization Trickで回避する
    • ある関数 を確率 のもとで期待値計算したい
    • として と書けると
    • による期待値計算は 置き換えられる
      • VAEでは の分布 で表せる
      • これは逆誤差伝搬適用可能

DDPM

  • Diffusion Model の元ネタは非平衡統計力学らしい(何も知らない)

  • NCSN と数学的に等価でより効率が良いアルゴリズムらしい

  • 拡散モデルは入力に対し徐々にノイズが強くなるような過程を行う. ので最終的に入力データはガウスノイズと見分けがつかなくなる

  • 以下の過程として書ける(マルコフ性=次状態が現在状態のみに依存)がある

    • 拡散過程
    • 逆拡散過程
  • 逆拡散過程が画像生成に対応する

    • 生成には を最大化する最尤推定が必要
    • 潜在変数 を全て周辺化 することで求められる
    • が, は未知なので計算できない
    • 逆拡散過程は拡散過程の時間反転, は既知なので書き換え
  • 最尤推定をする. logの中に積分が出てくるので変分下限を使って変形する
    • 変分下限
    • 各時刻 での拡散過程の事後確率と逆拡散過程のKLダイバージェンスを下げる問題
      • 各時刻について1つ前の状態を推定する形に分割出来ている

Latent Diffusion Model

Conditioning CFG(Classifier-Free Guidance)

  • CFG scale
  • Negative Prompt

GLIDE

  • GLIDEではAttentionBlockだがSDではSpatial Transformerを入れた

参考文献