12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GANのめも

Last updated at Posted at 2016-10-22

GANについて

NIPS2014で発表された論文[1].
偽物のデータを生成するGeneratorと,データが本物か識別するDiscriminatorから構成される.

GANのイメージ
GAN.png

Generator

目的はデータ$\boldsymbol{x}$の分布$p_g$を推定する(=Discriminatorに見破れないデータを生成する)こと.
入力:Prior $p_z(\boldsymbol{z})$から出力されるノイズ$\boldsymbol{z}$.
出力:$\boldsymbol{x}$と同次元のベクトル,この記事中では$G(\boldsymbol{z})$と表す.
Generatorは多層のパーセプトロンであり,ネットワークの重みを$\theta_g$と表現したとき,$G(\boldsymbol{z};\theta_d)$と表現される.
以降Gと表現する.

Discriminator

目的は入力されたデータが本物か偽物か見分けること.
入力:$\boldsymbol{x}$,または$G(\boldsymbol{z})$.
出力:$\boldsymbol{x}$である確率.
以降Dと表現する.

Objective function

GANの目的式は以下である.

\min_G\max_D V(D,G)=\mathbb{E}_{\boldsymbol{x}\sim p_{data}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z}\sim p_g(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))]

$\boldsymbol{x}\sim p_{data}(\boldsymbol{x})$はデータの分布$p_{data}(\boldsymbol{x})$から生成された$\boldsymbol{x}$データ(本物のデータ)を意味し,
$\boldsymbol{z}\sim p_g(\boldsymbol{z})$はPriorから出力されるノイズ(偽物のデータを生成するシード)を意味すると考えられる.

1項目は,本物のデータをDに入力したとき,Dが入力データを本物であると推定する確率の期待値.
2項目は,Gが生成する偽物のデータをDに入力したとき,Dが入力データを偽物であると推定する確率の期待値.

Training

最適なGの重み$\theta_g$とDの重み$\theta_d$を以下の手順で求める.

Step1

$p_g(\boldsymbol{z})$からサンプル$\boldsymbol{z}^{1},\ldots,\boldsymbol{z}^{m}$を得る.
$p_{data}(\boldsymbol{x})$からサンプル$\boldsymbol{x}^{1},\ldots,\boldsymbol{x}^{m}$を得る,

\nabla_{\theta_d}\frac{1}{m}\sum_{i=1}^m[\log D(\boldsymbol{x}^{i})+\log (1-D(G(\boldsymbol{z}^{i})))]

でSGDを行い,$\theta_d$を更新する..
これをk回繰り返す.

Step2

$p_g(\boldsymbol{z})$からサンプル$\boldsymbol{z}^{1},\ldots,\boldsymbol{z}^{m}$を得る.

\nabla_{\theta_d}\frac{1}{m}\sum_{i=1}^m\log (1-D(G(\boldsymbol{z}^{i})))

でSGDを行い,$\theta_g$を更新する.

Step3

Step1,Step2をn回繰り返す.

GANのAdvantage

Backpropagationのみで学習できる.
他の機能を取り入れることができる.
Gはデータから直接学習せず,Dを経由する.

GANのDisadvantage

$p_g(\boldsymbol{x})$が明示的でない.
DとGは同期してTrainingしなければならない.

Reference

[1] Goodfellow, Ian, et al. "Generative adversarial nets." Advances in Neural Information Processing Systems. 2014.

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?