AI / Technology
敵対的に学ぶ生成モデルの基本枠組み
GANの基本ループ
図1(本記事による新規作図): 生成器は「正解画像」を直接受け取るのではなく、識別器を通った勾配から改善方向を知る。原論文 pp. 1–3 に基づく。
- 生成を直接採点する代わりに、見破る相手を学習させる。 生成器
Gは乱数から例を作り、識別器Dは実データか生成例かを判定する。互いの改善が、生成器をデータ分布へ近づける学習信号になる。原論文 pp. 1–3、式 (1) - 理想条件では、生成分布とデータ分布が一致する点が唯一の大域的解になる。 そのとき識別器の出力はどこでも
1/2である。ただし、これは無限の表現力などを仮定した理論結果で、有限のニューラルネットの訓練成功を保証しない。原論文 pp. 4–5、定理 1・命題 2 - 初期実験は可能性を示したが、決着をつける証拠ではない。 MNISTの報告値は比較中で最良だった一方、TFDでは最良でなく、著者自身も評価法の高い分散と高次元での弱さを指摘している。原論文 pp. 5–6、表 1
識別器の更新と生成器の更新を交互に繰り返す訓練手順。
図2(本記事による新規作図): 一方だけを進め続けず、判定側と生成側を交互に更新する。原論文 pp. 3–4 に基づく。
実装では識別器を完全に最適化せず、識別器を k 回、生成器を1回更新する。論文の実験は最も安価な k=1 を使った。学習初期に識別器が強すぎると、元の生成器目的 log(1-D(G(z))) は飽和して勾配が弱くなるため、著者らは同じ固定点を持ち、初期に強い勾配を与える log D(G(z)) の最大化を実用上の代案として示した。原論文 pp. 3–4、Algorithm 1
生成分布が実データ分布へ近づき、理論上は一致すると識別器の判定が二分の一になる。
図3(本記事による新規作図): 点群は分布の直感的なたとえであり、実験値ではない。原論文 pp. 4–5 の理論結果に基づく。
生成器を固定したとき最適な識別器は D*_G(x) = p_data(x) / (p_data(x) + p_g(x)) となる。これを代入した生成器の基準は -log 4 + 2 JSD(p_data || p_g) であり、Jensen–Shannonダイバージェンスが0になる p_g = p_data でのみ大域的最小値を取る。その均衡では D(x) = 1/2 となり、識別器は両者を見分けられない。原論文 pp. 4–5、命題 1・定理 1
研究付録
Ian Goodfellow らの Generative Adversarial Nets(2014)を、仕組み・証拠・限界の順に読み解く。
要点
3つの持ち帰り
- 生成を直接採点する代わりに、見破る相手を学習させる。 生成器
Gは乱数から例を作り、識別器Dは実データか生成例かを判定する。互いの改善が、生成器をデータ分布へ近づける学習信号になる。原論文 pp. 1–3、式 (1) - 理想条件では、生成分布とデータ分布が一致する点が唯一の大域的解になる。 そのとき識別器の出力はどこでも
1/2である。ただし、これは無限の表現力などを仮定した理論結果で、有限のニューラルネットの訓練成功を保証しない。原論文 pp. 4–5、定理 1・命題 2 - 初期実験は可能性を示したが、決着をつける証拠ではない。 MNISTの報告値は比較中で最良だった一方、TFDでは最良でなく、著者自身も評価法の高い分散と高次元での弱さを指摘している。原論文 pp. 5–6、表 1
問題
生成モデルを学ぶ難しさ
2014年当時、深い生成モデルでは最尤推定に必要な確率計算が扱いにくく、マルコフ連鎖モンテカルロ(MCMC)を使う方法では連鎖が分布全体を十分に巡る「混合」も難題だった。論文が解こうとした問題は、複雑な確率計算や生成時の反復的な連鎖を避けながら、データらしいサンプルを作るモデルをどう学ぶか である。原論文 pp. 1–2、序論・関連研究
従来法からの転換
提案の転換は、生成分布の尤度を明示的に計算する代わりに、学習可能な識別器を「動く物差し」として置いたことにある。固定ノイズと区別する noise-contrastive estimation と異なり、ここでは生成器と別の識別器も同時に改善する。生成時には乱数を生成器へ一度通すだけでよく、MCMCも近似推論も不要だと著者らは説明する。原論文 pp. 2、7、関連研究・利点と欠点
方法
二者のミニマックスゲーム
生成器 G(z) は乱数 z をデータ空間の例へ変換する。識別器 D(x) は入力 x が実データ由来である確率を返す。識別器は実データを1、生成例を0と正しく当てる方向へ進み、生成器は識別器を誤らせる方向へ進む。論文の目的関数は次の二者ゲームである。原論文 p. 3、式 (1)
交互更新と強い勾配
実装では識別器を完全に最適化せず、識別器を k 回、生成器を1回更新する。論文の実験は最も安価な k=1 を使った。学習初期に識別器が強すぎると、元の生成器目的 log(1-D(G(z))) は飽和して勾配が弱くなるため、著者らは同じ固定点を持ち、初期に強い勾配を与える log D(G(z)) の最大化を実用上の代案として示した。原論文 pp. 3–4、Algorithm 1
理論上の均衡
生成器を固定したとき最適な識別器は D*_G(x) = p_data(x) / (p_data(x) + p_g(x)) となる。これを代入した生成器の基準は -log 4 + 2 JSD(p_data || p_g) であり、Jensen–Shannonダイバージェンスが0になる p_g = p_data でのみ大域的最小値を取る。その均衡では D(x) = 1/2 となり、識別器は両者を見分けられない。原論文 pp. 4–5、命題 1・定理 1
証拠と限界
実験が示したこと
著者らは MNIST、Toronto Face Database(TFD)、CIFAR-10で学習し、生成例の目視評価に加えて、生成サンプルへGaussian Parzen windowを当てたテスト対数尤度推定を報告した。表1では、MNISTの adversarial nets は 225 ± 2 で、Deep GSNの 214 ± 1.1 などを上回った。TFDでは 2057 ± 26 で、Stacked CAEの 2110 ± 50 を下回る。したがって、最も堅実な読み方は「複数データセットで実行可能性を示し、一部指標では競争力を示した」であり、「一貫して既存法を凌駕した」ではない。原論文 pp. 5–6、表 1・図 2–3
| モデル | MNIST | TFD |
|---|---|---|
| DBN | 138 ± 2 | 1909 ± 66 |
| Stacked CAE | 121 ± 1.6 | 2110 ± 50 |
| Deep GSN | 214 ± 1.1 | 1890 ± 29 |
| Adversarial nets | 225 ± 2 | 2057 ± 26 |
数値はGaussian Parzen windowによる推定対数尤度。大きいほど良い。MNISTは例間の標準誤差、TFDはfold間の標準誤差で、同じ ± でも算出単位が異なる。原論文 p. 6、表 1
何がまだ分からないか
論文自身が挙げる最大の弱点は、p_g(x) を明示的に表せないこと、G と D の同期が必要なこと、そして多くの z が同じ x に潰れて多様性を失う危険である。さらにParzen window評価は高分散で高次元に弱く、生成画像が既存法より良いとは著者らも主張していない。収束証明は、十分な容量、各段階で最適な識別器、分布を直接更新できることなど理想化された条件に依存し、実際の多層パーセプトロンには複数の臨界点があり理論保証がない。原論文 pp. 5–7、§4.2・§5・§6
実務的な意味
何を変えた論文か
この論文の重要性は、生成モデルの設計を「尤度を計算できる確率モデル」だけに閉じず、微分可能な生成器と、学習によって更新される評価器の競争 へ広げた点にある。解釈としていえば、正解を細かく定義しにくい生成課題でも、良し悪しを区別する学習可能な信号を作れれば最適化できる、という設計パターンを示した。ただし、この一般化は本論文の実験が画像以外の実用品質や安全性を立証した、という意味ではない。
読むときの確認質問
- 「理論上の均衡」と「実際の訓練がそこへ到達すること」を混同していないか。
- 平均値だけでなく、評価法、誤差の定義、データセットごとの勝敗を見ているか。
- 生成例の見栄えだけでなく、多様性の欠落や学習の同期不良を確かめているか。
p_g(x)を直接評価できないことが、用途の監査や比較にどう響くか。
出典と用語
この論文についての3つの重要な質問
敵対的に学ぶ生成モデルの基本枠組みはどの課題を扱いますか?
Ian Goodfellow らの Generative Adversarial Nets(2014)を、仕組み・証拠・限界の順に読み解く。
敵対的に学ぶ生成モデルの基本枠組みの中心的な主張を支える根拠は何ですか?
著者らは MNIST、Toronto Face Database(TFD)、CIFAR-10で学習し、生成例の目視評価に加えて、生成サンプルへGaussian Parzen windowを当てたテスト対数尤度推定を報告した。表1では、MNISTの adversarial nets は 225 ± 2 で、Deep GSNの 214 ± 1.1 などを上回った。TFDでは 2057 ± 26 で、Stacked CAEの 2110 ± 50 を下回る。したがって、最も堅実な読み方は「複数データセットで実行可能性を示し、一部指標では競争力を示した」であり、「一貫して既存法を凌駕した」ではない。原論文 pp. 5–6、表 1・図 2–3
敵対的に学ぶ生成モデルの基本枠組みを読むときに注意すべき限界は何ですか?
著者らは MNIST、Toronto Face Database(TFD)、CIFAR-10で学習し、生成例の目視評価に加えて、生成サンプルへGaussian Parzen windowを当てたテスト対数尤度推定を報告した。表1では、MNISTの adversarial nets は 225 ± 2 で、Deep GSNの 214 ± 1.1 などを上回った。TFDでは 2057 ± 26 で、Stacked CAEの 2110 ± 50 を下回る。したがって、最も堅実な読み方は「複数データセットで実行可能性を示し、一部指標では競争力を示した」であり、「一貫して既存法を凌駕した」ではない。原論文 pp. 5–6、表 1・図 2–3