オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Auxiliary Classifier GAN / AC GAN

Index

Auxiliary Classifier GAN / AC GAN

深層学習を用いた生成アルゴリズム GAN の応用手法.

さらに、その中でも、Conditional GAN を応用した手法.

実験では、画像データを利用しており、画像の生成を前提としている.

改善点

ランダムなベクトル (潜在変数)  z を利用する点は、従来の GAN と同様.

 z\ \sim\ p_{z}



そして、従来の GAN 同様、Generator がデータ  G(z) を生成させるが、
生成させるデータには、それを表すクラス  c を付随させる.

Conditional GAN のアイディア



 c\ \sim\ p_{c}



Generator

つまり、Generator は、潜在変数  x と、生成するデータにまつわるクラス  c の情報を
入力して、データを生成する.

 X_{fake}\ =\ G(c, z)

Discriminator

そして、Discriminator も、従来の GAN と同様に、本物と偽物の混じったデータ集合からデータを入力し、 本物である確率を出力する.

本物のデータにも、データを表す情報として、クラス情報が付随されている.



それに加え、クラスの分類結果も出力する.
(ここが、AC GAN の特徴 / 新規性)

 D(X)\ =\ P(S\ |\ X),\ P(C\ |\ X)

目的関数

目的関数


\begin{align}
L_{S}\ =&\ E\ [\ \log(\ P(S=real\ |\ X_{real})\ )\ ] \\
+&\ E\ [\ \log(\ P(S=fake\ |\ X_{fake})\ )\ ] \\
\\
L_{C}\ =&\ E\ [\ \log(\ P(C=c\ |\ X_{real})\ )\ ] \\
+&\ E\ [\ \log(\ P(C=c\ |\ X_{fake})\ )\ ]
\end{align}


\displaystyle \max_{D}\ L_{C}\ +\ L_{S} \\
\\
\displaystyle \min_{G}\ L_{C}\ -\ L_{S}

Source Loss


\begin{align}
L_{S}\ =&\ E\ [\ \log(\ P(S=real\ |\ X_{real})\ )\ ] \\
+&\ E\ [\ \log(\ P(S=fake\ |\ X_{fake})\ )\ ]
\end{align}



Conditional GAN の目的関数と同様.

Discriminator の本物か偽物かの分類に対する損失関数.

Class Loss


\begin{align}
L_{C}\ =&\ E\ [\ \log(\ P(C=c\ |\ X_{real})\ )\ ] \\
+&\ E\ [\ \log(\ P(C=c\ |\ X_{fake})\ )\ ]
\end{align}



Discriminator のクラスに関する分類の損失関数.

アーキテクチャ

参考

  • Conditional Image Synthesis With Auxiliary Classifier GANs

Web サイト

  • AC-GAN(Conditional Image Synthesis with Auxiliary Classifier GANs)の論文解説

  • Auxiliary Classifier GAN(概要の把握)|DeepLearningを用いた生成モデルの研究を俯瞰する #1