GANの論文を読む

自動翻訳を利用しながら読んでみます。GANについて色々と学んでいく中で、この論文には目を通しておきたいと思いました。

Ian J. Goodfellow∗ , Jean Pouget-Abadie†, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair‡, Aaron Courville, Yoshua Bengio§  Departement d’informatique et de recherche op ´ erationnelle ´Universite de Montr ´ eal  Montreal, QC H3C 3J7

Generative Adversarial Nets

Abstract

この章がGANの始まりになります。ここから色々なGANが誕生していきました。Goodfellow氏の凄さを感じます。

We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G
that captures the data distribution, and a discriminative model D that estimates
the probability that a sample came from the training data rather than G. The training procedure for G is to maximize the probability of D making a mistake. This
framework corresponds to a minimax two-player game. In the space of arbitrary
functions G and D, a unique solution exists, with G recovering the training data
distribution and D equal to 1/2 everywhere. In the case where G and D are defined
by multilayer perceptrons, the entire system can be trained with backpropagation.
There is no need for any Markov chains or unrolled approximate inference networks during either training or generation of samples. Experiments demonstrate
the potential of the framework through qualitative and quantitative evaluation of
the generated samples.
本研究では、敵対的プロセスを用いて生成モデルを推定するための新しいフレームワークを提案します。このフレームワークでは、データの分布を捉える生成モデルGと、サンプルがGではなく訓練データから来た確率を推定する識別モデルDの2つのモデルを同時に訓練します。
Gの目的は、Dが間違える確率を最大化することです。この枠組みは、2人のプレイヤーゲームにおけるminmax法に対応しています。
任意の関数GとDの空間では、Gが学習データの分布を復元し、Dは全てにおいて1/2の確立で判定するという、ユニークな解が存在します。GとDが多層パーセプトロンで定義されている場合は、システム全体を誤差逆伝播で学習することができます。
学習時および生成時、マルコフ連鎖や近似推論ネットワークは必要ありません。実験では、生成されたサンプルの質的・量的評価を通じて、本フレームワークの可能性を示しています。

1 Introduction

この章以降は要約となります。

この章ではまず、ディープラーニングの目的はデータの確率分布を表現する階層モデルを見つけること、そして、最も成功しているのは識別モデルであること、その理由に誤差逆伝播やドロップアウトのアルゴリズムに基づいていると述べています。一方で従来の生成モデルの困難さと、それを解決する新しい生成モデルの推論手順の提案を行うことについて述べています。ここで手順の比喩としてGANの説明で有名な偽札の偽造者と判定する警察の話が出てきています。学習について、生成モデルと識別モデルがともに多層パーセプトロンで構成されてることや敵対的ネットと呼ぶことについての記述もありました。

2. Related work

これまでのボルツマンマシンの概略や問題点について、その解決に対するアプローチについて述べています。GANの2つのネットワーク(生成ネットワークと識別ネットワーク)はVAEとは異なること、その他これまでの類似的な研究とGANの対比についての記述となっています。対比の詳細について、ここでは割愛します。興味のある方は原文を参照してください。

3 Adversarial nets

損失関数の定義と説明です。

$$
\max_G \max_D V(D, G) = \max_G \max_D \mathbb{E}_{\mathbb{x} \sim P_{data({\bf x})}}\ \ [\log D(\mathbb{x})]
+ \mathbb{E}_{\mathbb{z} \sim P_z({\bf z})}\ \ [\log (1 – D(G(\mathbb{z})))]
$$

Abstractで述べられているminmax法の論理式となっています。GANの有名な論理式ですので詳細な説明は割愛します。

4 Theoretical Results

学習アルゴリズムと論理的な結果の説明です。

Generative Adversarial Nets より抜粋

学習によってデータの確率分布(黒の点線)とGの生成したサンプルの確率分布(緑の実践)が近似していく様子の図となっています。アルゴリズムについては、別途、実装時に改めて説明します。

5 Experiments

MNIST、Toronto Face Database(TFD)、CIFAR-10等を用いた実験について記述されています。GANの可能性について強調しています。

6 Advantages and disadvantages

GANのメリットとデメリットについて言及しています。現在は様々な研究も進んでいますので、このメリット/デメリットについても状況が変わっています。あくまでも2014年当時の内容だと思いますので、興味のある方は原文を参照してください。

7. Conclusions and future work

GANの拡張についてまとめらています。

  1. 条件付き生成モデル
  2. Xによる潜在変数zの推測
  3. MP-DBM(Multi-Prediction Deep Boltzmann Machines)を確率論的に拡張したものを、GANを用いて実装可能
  4. 半教師あり学習
  5. 学習の効率化と高速化

まとめ

ざっと論文について目を通してみました。GANについての復習になりました。アルゴリズムの章についてはGANを実装して実際に動かしてみながら改めて理解していこうと思います。