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

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

DeepLearningの生成モデルへの応用に関しては、2014年の"Generative Adversarial Networks"を始めとして、これまで数多くの研究が行われてきています。生成モデルは結果としてわかりやすくインパクトが強いのに加えて、学習にあたっての不安定性の解消の難しさなどの理由でフォーカスがあてられやすいのではと思われます。
以前の記事で、GAN[2014]やDCGAN[2015]の論文を取り扱ったり、CycleGAN[2017]やStarGAN[2017]などの画像変換への応用についてのトレンドを扱ったりしました。

当シリーズでは他の生成モデルの研究や実装にもフォーカスをあてられればということで、進めていきます。

GitHub - eriklindernoren/PyTorch-GAN: PyTorch implementations of Generative Adversarial Networks.

上記に様々なPyTorch実装や論文のリンクがまとめられていたので、こちらを参考に進めていくのが良いのではと思っています。
#1では"Conditional Image Synthesis With Auxiliary Classifier GANs"について取り扱います。
1. AC-GANの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. Background(Section2)
2-2. AC-GANs(Section3)
2-3. Results(Section4)
3. まとめ

 

1. AC-GANの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
まず1節では論文の概観を掴むにあたって、Abstractを確認していきます。

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

[1610.09585] Conditional Image Synthesis With Auxiliary Classifier GANs

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

以下簡単にAbstractを要約します。
要約:『高解像度の写真のような画像を合成することは機械学習において長らくの課題であった。この論文では画像合成に対する生成ネットワーク(GANs)を用いた学習の工場のための新しい手法を紹介する。我々は128×128の画像の生成に対しラベルの条件を採用した生成ネットワーク派生のネットワークを構築した。1,000クラスのImageNetの分類において、128×128の解像度のサンプルは32×32のサンプルの2倍の識別性能があった。それに加え、84.7%のクラスがrealのImageNetのデータと同様の多様性を示した。』


1-2 Introductionの確認(Section1)
1-2ではIntroductionの確認を行っていきます。以下パラグラフ単位でリーディングを行なっていきます。

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

第一パラグラフでは、画像の構造の特徴化(Characterizing the structure of natural images)の定量化の難しさとこれまでの取り組みについて触れたのちに、image denoisingやcompression、super-resolutionに関する近年の研究について触れられています。

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

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

第二パラグラフでは、画像の分析にあたっての手法の一つとして画像を最初から作り出すということについて言及されています。画像合成にあたってはいくつかのベンチマークとできるアプローチがあるとされており、VAE(Variational AutoEncoders)などが例として挙げられています。

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

第三パラグラフでは、ゲーム的な学習の理論(mini-max法)に基づく画像生成モデルとしてGenerative Adversarial Networksについて言及されており、有用なアプローチとされています。一方でGANsの学習に置いては高解像度の画像の生成にあたって苦戦しているとされています。さらにGANの理論てきな理解は現在進行形の研究トピックであるとされています。

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

第四パラグラフでは、この研究における新しい指標(metric)の導入について言及されています。この新しいmetricについては詳細がSection3のAC-GANsで後述されています。また研究の詳細としては下記のようにまとめられています。

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

上記では、論文の重要なポイントについてまとまっています。


2. 論文の重要なポイントの抜粋
2-1. Background(Section2)
Section2のBackgroundについて見ていきます。

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

まず冒頭部ですが、基本的なGANの文脈でGeneratorとDiscriminatorの定義について書かれています。また、関連の研究についていくつか言及がされています。


2-2. AC-GANs(Section3)
Section3のAC-GANsについて見ていきます。

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

まず冒頭部ですが、AC-GAN(Auxiliary Classifier-Generative Adversarial Network)ということで言葉を定義し、クラスラベルのcを生成モデルに足しているとされています。またL_{S}L_{C}という二つの対数尤度を通常はlossで表される目的関数(Objective Function)と見なして最適化を行なっていくことが示唆されています。

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

目的関数は具体的に上記のように記述されています。D(Discriminator)の学習にあたってはL_{S}+L_{C}の最大化を行い、G(Generator)の学習にあたってはL_{C}-L_{S}の最大化を行うとされています。GAN関連の学習にあたっては、実装上DとGで別途目的関数を定義した上で交互に最適化を行うというプロセスを踏むため、このような記述になっていると考えておくと良いと思います。また誤差関数(Loss Function)の最適化は尤度の最大化と本質的には変わらないので、ここでは同様なものとして捉えておくと良いです。

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

構造を見た際にAC-GANは既存のモデルと大きく異なる(tremendously different)わけではないとされていますが、AC-GANにおける修正(クラスラベルの分類を補助タスクとして加える)によって学習を安定させることができているようだとされています。


2-3. Results(Section4)
ここまでの内容で概略が大体つかめたため今回は省略します。


3. まとめ
#1ではGenerative Adversarial Networkに補助タスクを導入した、AC-GAN(Auxiliary Classifier Generative Adversarial Network)について取り扱いました。類似研究をあまり読み慣れていないため若干粒度の粗い記載となりましたが、シリーズが進むにつれてより詳しい記述を追加していければと考えています。
#2ではBicycle GAN(Toward Multimodal Image-to-Image Translation)について取り扱います。

[1711.11586] Toward Multimodal Image-to-Image Translation