- @ThothChildren
- 2017.9.13
- PV 278
GANとは
ー 概要 ー
近年注目されている画像等を生成するニューラルネットワークを用いた学習手法.二つのニューラルネットワークを使って片方の識別能力をあげる点が特徴.既にGANの改良系が数十種類提案されている.
この章を学ぶ前に必要な知識
効果
- ノイズを入力として画像等を生成できる
- 他手法と比べて比較的はっきりした画像を生成できる
ポイント
- 生成モデルとして使われる
- 学習が安定しにくく改良されたDCGANで様々な学習での工夫が提案されている
- 二つのネットワークのうち一つのネットワークを学習させる
- 二つのうち一つ(D)は学習の際に、もう片方(G)を学習させるためだけに使われる
- ノイズの値を変更したときにどう画像が変化するかは実際にやってみるまでわからない
解 説
GANは二つのニューラルネットワークGenerator(生成するネットワーク.以下G), Discriminator(判別するネットワーク.以下D)を用いてGを訓練する方法である.
GANを用いることで適当な値の入ったベクトルから違和感のない画像を作ることができる.
学習の際はDもGも使用するが、学習を終えると使用するのはGのみになる.
学習の流れ
GANは学習の流れが今までの機械学習ではない特徴的な形になっている。
以下の図のようにGは適当なランダムな値を入れたノイズを入力として例えば画像を出力するように学習させられる.
そしてDには入力として本物の画像かGのノイズから作られた画像かのどちらかが渡されそれが本物からきたものか偽物からきたものかを判定するように学習される.
学習が進むにつれて、GはDを騙せるように本物らしい画像を出力するように、DはGに騙されないように本物と偽物の区別がつくようにお互いに競争して学習精度を上げていきます.
最終的にGは多くの場合人間が見ても違和感のない画像を出力するようになるのです。 | GANとは |
GANのネットワーク構造 | |
GANで生成された画像の例
黄色は実際の画像で他の列が生成されたものです。
a), b)に関してはかなりの精度でそれらしいものが作れています. | |
上記のようにGANは話の上ではうまくいきそうですが、実際には学習を安定させるのが難しいとされています。
例えば、Dだけが先に学習してしまってはGがいくら頑張っても改善しようがありません。
これを発展させたDCGANでは、GANの学習の工夫の仕方等が記されています。 | GANの難しさ |
この章を学んで新たに学べる
Comments