GAN(Generative Adversarial Networks)|DeepLearning論文の原文を読む #11

f:id:lib-arts:20190221000443p:plain

#10ではMobileNetsについて取り扱いました。

 #11ではDeepLearningを用いた生成モデルであるGAN(Generative Adversarial Networks)について取り扱います。(必要以上に固く書きたくなく90%〜95%程度の確信度で書きますので、もし間違いなどがあれば気軽にご指摘いただけたらと思います。)

[1406.2661] Generative Adversarial Networks
以下論文の目次です。基本的な書き方の流れとしてはAbstractは和訳&補足、それ以外の章に関しては要約を中心にまとめます(省く章もあるかもしれません)

0. Abstract
1. Introduction
2. Related work
3. Adversarial nets
4. Theoretical Results
5. Experiments
6. Advantages and disadvantages
7. Conclusions and future work

 

0. Abstract

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.

和訳:『我々は敵対的な過程を通して推定された生成モデルについての新しいフレームワークを提唱する。そのフレームワークの中ではデータの分布を得るための生成モデルのGとサンプルがGか実データかの確率を推定するDの二つのモデルを同時に学習される。』
2017年2018年頃に国際会議で人気だったGANの考え方の大元についてこのように言及されています。Adversarial(敵対的)が一つのポイントであり、データの生成を司るG(Generator)と、データを見抜くD(Discriminator)を敵対的に同時に学習させるということについてまとめられています。

The training procedure for G is to maximize the probability of D making a mistake. This
framework corresponds to a minimax two-player game.

和訳:『Gの学習においてはGはDが間違える確率を最大化させるように学習させる。このフレームワークは2プレイヤーゲームにおけるminimax法に一致する。』
GがDを騙すように学習させるところにおいては、オセロや将棋などの学習の際に以前使われていたminimax法が用いられています。correspondsは一致と訳しましたが、考え方のベースにあると捉える方が良いかもしれません。

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.

和訳:『任意の関数であるGやDの空間において、ユニークな解が存在し、Gはトレーニングデータの分布を復元し、Dは全てにおいて1/2の確率で正答するようになる。GやDが多層ニューラルネット(MultiLayer Perceptron)で定義された際は、全体のシステムは誤差逆伝播で学習されうる。』
ニューラルネットとは大きな探索空間を持つ関数だと認識しているとこの辺はスムーズに理解できるのではと思います。また、data distributionが引っかかるかもしれませんが、生成モデルというのは確率分布の生成であると知っていると結局はデータの分布を生成することがデータの生成に繋がってくることを理解できると思います。この辺は最尤法などがベースにあるので、馴染みがなければ一度抑えておくと良いと思います。

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.

和訳:『学習やサンプルの生成において、マルコフ連鎖や近似推論ネットワークは不要である。実験では生成サンプルの質的量的な評価を通して、フレームワークのポテンシャルについて示す。』
unrolled approximate inference networksの訳語についてはちょっと怪しいです。が、ここでの文脈上そこまで重要ではないのでとりあえずunrolledを抜いて直訳しました。

 

1. Introduction
1stパラグラフではDeepLearningの成功と背景に誤差逆伝播、dropout、ReLUなどがあると述べた上で、生成モデルについて言及されています。DeepLearningを用いた上で生成モデルを作る難しさなどについて言及したのちに、これらの困難を追いやる(sidesteps)ための新しい生成モデルの推定手順を提案すると最後に述べています。
2ndパラグラフでは敵対的な学習を組み込んだ提案手法について言及し、アナロジーとして偽金作りをもとに説明が行われています。3rdパラグラフでは2ndパラグラフに引き続き提案手法のネットワークについて言及されています。

 

2. Related work
基本的には飛ばしましたが、マルコフ連鎖MCMCなどについて言及されていました。機会があればマルコフ連鎖関連も一度読んでみると面白そうな印象でした。

 

3. Adversarial nets

f:id:lib-arts:20190221173419p:plain
上図の数式がAbstractで言及のあったminimaxの式ですが、これがわかれば基本的には十分そうな印象でした。ここでzは潜在変数で、潜在変数zをGに入力することで生成されたデータが実際のデータかGから生成されたデータかをDが判別するという流れになっています。

f:id:lib-arts:20190221173438p:plain
また上図がGの学習の過程で、緑のデータ分布で表されたGのアウトプットが黒の点線で表された実データの分布に段々と近づいているということがこの図では説明されています。最終的にGの出力が元データに近くので、Dの正答確率も1/2に近づいていくとされています。

 

4. Theoretical Results
Algorithm1に学習の過程がまとめられているので、実装にあたってはこちらを参考にすると良さそうでした。
4.1、4.2は飛ばしました。

 

5. Experiments
いくつかの実験結果についてまとまっていました。
中でも実際に生成したデータを可視化したFigure2と、潜在変数zの値を動かすことで画像の値を変えるFigure3が面白い印象でした。

 

6. Advantages and disadvantages
1stパラグラフではGANのデメリットとして、明示的な生成データのことについて言及されていました。
2ndパラグラフではメリットとしてデータがGの変更に直接影響しないことについて言及されていました。
この辺は2014年時の話なので、現在のトレンド踏まえて考える必要がありそうです。

 

7. Conclusions and future work
モデルの拡張に関して5点まとまっておりそれぞれ、(1)c(例えば分類クラスの情報)を加えることで条件付き生成モデルになりうる、(2)Word2Vecのような潜在変数zの推測(おそらく合ってると思うのですが要確認が必要)、(3)いまいち意味が取れなかったので飛ばします、(4)半教師あり学習、(5)効率の向上とされていました。
この辺はこの後の研究などと関連付けながら把握していくと良さそうです。