share-knowledge’s diary

英語論文やニュース等で私が面白いと思ったものをアップしていきます。

DCGAN

DCGANとはDeep Convolutional Generative Adversarial Networksの頭文字をとったもので、Generator(贋作者)とDiscriminator(鑑定士)の二つのニューラルネットワークを持っています。この二つのニューラルネットワークが戦いあうことにより、本物のような画像が作成されます。

DiscriminatorCNNとして、本物か贋物を区別する役割をもっています。一方で、Generatorはランダムなデータを一つ画像に変換することで、贋作となる画像を生成します。Discriminatorは、本物の画像と贋作の画像を用いて、両者を鑑定します。Generatorが最初に作成する贋作の画像は、本物の画像とは似つかないものになるため、Discriminatorをだますことはできません。GeneratorDiscriminatorをだませるようになるまで、何度も訓練し贋作の画像の精度を上げていきます。最後には、Discriminatorは、本物の画像とGeneratorが作成した贋作の画像を見分けることができなくなります。この結果、贋作は本物の画像の特徴をうまくとらえたものになり、本物のような画像を作成できるわけです。

f:id:share-knowledge:20180121204411p:plain

(参考)https://www.oreilly.com/ideas/deep-convolutional-generative-adversarial-networks-with-tensorflow