G検定(ジェネラリスト検定)
てきたいてきせいせいねっとわーく
敵対的生成ネットワーク
GAN
Generative Adversarial Network
データ分布を捉える生成モデルGと、本物か生成物かを見分ける識別モデルDを競わせ、ミニマックスゲームとして同時に訓練する生成モデルの枠組みです。
詳しい説明
生成モデルと識別モデルを競わせる枠組み
敵対的生成ネットワーク(GAN)は、敵対的な過程を通じて生成モデルを推定するために提案された枠組みです。この枠組みでは2つのモデルを同時に訓練します。1つはデータの分布を捉えようとする生成モデルGです。もう1つは識別モデルDで、与えられたサンプルがGの生成物ではなく訓練データから来た確率を推定します。Dは、サンプルがモデルの分布から来たのか、データの分布から来たのかを見分けることを学習します。一方、Gの訓練の目標は、Dが間違える確率を最大にすることです。つまりGは、Dが本物と取り違えるようなサンプルを作れるように学習していきます。
贋金づくりと警察のたとえ
提案論文では、この関係を贋金づくりと警察にたとえています。生成モデルは、偽札を作り、見破られずに使おうとする贋金づくりのチームに当たります。識別モデルは、その偽札を見破ろうとする警察に当たります。このゲームの中での競争が両チームに手法の改良を促し、最終的には偽物が本物と見分けられなくなるところまで進みます。
ミニマックスゲームとしての定式化
この枠組みは、2人のプレイヤーによるミニマックスゲームに対応します。価値関数V(D,G)は、次の2つの期待値の和です。1つ目は、データの分布p_dataから取り出したサンプルxに対するlog D(x)の期待値です。2つ目は、ノイズの分布p_zから取り出したzをもとにGが生成したサンプルに対するlog(1 - D(G(z)))の期待値です。DはこのVを最大にしようとし、GはVを最小にしようとします。簡潔に書くと、min over G, max over D of V(D,G) = E[log D(x)] + E[log(1 - D(G(z)))] となります。
GとDが任意の関数の空間にある場合、このゲームには唯一の解が存在します。その解ではGが訓練データの分布を再現し(p_g = p_data)、Dはどこでも1/2になります。識別モデルが本物と生成物をまったく見分けられず、どちらとも判断できない状態です。
多層パーセプトロンでの実装と実験
GとDを多層パーセプトロンで定義した場合、システム全体を誤差逆伝播で訓練できます。訓練のときもサンプルを生成するときも、マルコフ連鎖や展開された近似推論ネットワークは必要ありません。提案論文では、MNIST、Toronto Face Database(TFD)、CIFAR-10といったデータセットで敵対的ネットワークを訓練しています。なお、GANからはその後さまざまな発展形が生まれていますが、それぞれの仕組みは個別の語で扱います。
試験で問われること
G検定
- GANを構成する生成モデルGと識別モデルDは、それぞれ何を学習し、Gの訓練の目標はどのように設定されていますか。
- GANの価値関数V(D,G)はどのような2つの項の和で表され、DとGはそれぞれこの値を最大化と最小化のどちらに向けて学習しますか。
- GとDが任意の関数の空間にある場合、ミニマックスゲームの唯一の解ではGの分布とDの出力がどうなるかを説明してください。
- GとDを多層パーセプトロンで定義したとき、GANの訓練と生成にはどのような手法が使え、どのような仕組みが不要になりますか。
最終更新日: 2026/09/23