ディープラーニング論文読解メモ:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (DCGANによる教師なし表現学習)
今日もコツコツとDeep Learningの勉強をしています。以下、論文を解読した際の個人的な抄訳メモです。訳あって、いまさらDCGANです。自分の興味のないパートはすっ飛ばしています。悪しからず。
Abstract
- CNNを用いた教師なし学習は、いまいち注目されていない。
- 本論文では、DCGAN を紹介する。これは、ある構造的な制約を持ち、教師なし学習への強力な候補であることを示す。
- Generator(G) および Discriminator(D) の双方において、DCGANは、オブジェクトのパーツからシーンへとつらなる階層的な表現を学習していることを示す。
1. Introduction
- 大規模なラベルなしデータ・セットからの再利用可能な特徴表現の学習は、活発に研究されている。
- コンピュータビジョンの文脈では、事実上無制限のラベルなし画像やビデオを良好な中間表現の学習に使うことができ、その後それは様々な教師あり学習タスクに活用される。たとえば画像分類など。
- 良好な画像表現の構築の一つの手段が、GANのトレーニングによるものであることを提案し、その後、教師ありタスクのための特徴抽出器として Generator と Discriminator の部品を再利用することを提案する。
- GANは学習が不安定であることで知られ、しばしば 意味のない出力をするGeneratorを生成するという結果に終わる。
- GANの学習とは何か?そして多層GANの中間表現はどうなっているのか?について理解し可視化しようと試みている研究報告はとても限られている。
- この論文では、以下の貢献を行った。
- Convolutional GAN のたいていの問題設定において学習を安定させるような構造的トポロジーについての一群の制約を提案し評価する。このクラスのアーキテクチャを我々は Deep Convolutional GANs (DCGAN)と呼ぶことにする。
- 学習済みの Discriminator を、画像分類タスク用に用いて、他の教師なしアルゴリズムに匹敵する性能であることを示す。
- GANで学習したフィルターを可視化し、特定のフィルターが特定のオブジェクトを描くように学習していることを実証的に(empirically)示す。
- Generator が興味深いベクトル演算プロパティを持ち、生成されたサンプルの様々な意味的な品質を、そのプロパティによって容易に操作できることを示す。
2 Related Work
2.1
2.2
3 Approach and model architecture
- 画像をモデル化するためのCNNを使ったGANのスケールアップのこれまでの試みは成功してこなかった。
- 我々も、よくある教師ありの方法でCNNでGANをスケールしようとして、困難にぶち当たった。
- しかし、広範なモデルの探求ののち、あるアーキテクチャファミリーを特定した。それは一定の範囲のデータ・セットに渡って安定したトレーニングができ、より高い解像度やより深い生成モデルにも適用できる。
- 我々のアプローチの核となるのは、CNNアーキテクチャに対する3つの変更である。
- 第1は全コンボリューションネット(Springenberg et al.,2014)である、それは(maxpoolingのような)決定論的空間プーリング関数を、ストライドコンボリューションに置き換えて、そのネットワークが自己の空間ダウンサンプリングを学習できるようにしたものである。
- この方法は generator に用いていて、generatorが空間アップサンプリングを学習できるようにする。そして、discriminator にも用いる。
- 第2はコンボリューション特徴のトップにあるフルコネクト層を削除する方向性である。
- これの最強の例は、グローバルアベレージプーリングである。それは最先端の画像分類モデル([Mordvintsev] et al.)で使用されている。
- グローバルアベレージプーリングは、モデルの安定性を高めるが、収束スピードを阻害することを我々は発見した。
- 最も高いコンボリューション特徴群を、genrator と discriminator それぞれの入力と出力に直接接続するという折衷案は上手く動いた。
- GANの最初の層、それは正規分布ノイズZを入力とするが、それは単なる行列の積なので、フルコネクトと呼んでも良いかもしれない。しかしその結果は、4次元のテンソルに reshape されて、コンボリューションスタックの始まりとして使用される。
- discriminator に対して、最後のコンボリューション層は、フラット化され、そして一つのシグモイド出力に接続される。(図1にモデルアーキテクチャの例を示す。)
- 図1 LSUNシーンモデリングに用いたDCGAN generator
- 第3は、バッチノーマライゼーションである。それは各ユニットへの入力を平均0分散1に正規化させることで学習を安定化させる。
- これは、貧弱な初期化によって起きるトレーニングの問題の扱いを助け、深いモデルにおける勾配の伝搬を助ける。
- これは、全サンプルを一つのポイントへと潰してしまう generator という、GANに見られる共通する失敗モードを抑制しながら、深い generator が学習を始めるために重要であると証明した。
- 直接的に全層にBNを適用すると、サンプルオシレーションやモデルの不安定化をまねく。これは generator の出力層と、discriminator の入力層にはBNを適用しないことで防げた。
- 第1は全コンボリューションネット(Springenberg et al.,2014)である、それは(maxpoolingのような)決定論的空間プーリング関数を、ストライドコンボリューションに置き換えて、そのネットワークが自己の空間ダウンサンプリングを学習できるようにしたものである。
- ReLU activation は、Gで用いた(ただし出力層を除いて。出力層には tanh 関数を用いている)。
- 境界付き activation は、訓練分布の色空間を飽和しカバーすることで、モデルをより早く学習させることができることを我々は観察した。
- Dについて、特により高い解像度のモデリングにおいて、Leaky Rectifyed activatation([LeakyReLU]) が上手く動作することを我々は観察した。
- これは、maxoutを使っていたオリジナルのGAN論文とは対照的である。
安定した Deep Convolutional GAN のアーキテクチャガイドライン
- Discriminatorについては、 プーリング層をストライドコンボリューションに置き換える。
- Generatorについては、プーリング層を fractionall-strided convolution(http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html#transposed-convolution-arithmetic : Transposed Convolution :逆畳み込み)に置き換える。
- 深いアーキテクチャ用の全結合の隠れ層を削除する。
- ReLU activation を G の全層(ただし出力層はTanh)に用いる。
- LeakyReLU activation を D の全層に用いる。
4 Details of Adversarial Training
- 3つのデータ・セット: LSUN, Imagenet]-1k, 新しく構成した顔画像セットを適用
- 学習データのプリプロセスはなし、ただし、 Tanh activationのための入力スケーリング `[-1, 1]` は行う
- 全モデルは、SGDミニバッチ(サイズ128)で学習させる。
- 全ての weight は、平均ゼロ、標準偏差0.02の正規分布で初期化する。
- LeakyReLUでは、leak の傾きは、0.2
- 事前のGANの動作は、momentum を使ってトレーニングを加速し、ハイパーパラメータのチューニングにはADAM最適化を使う
- 学習率 0.001は高すぎると分かったので、0.0002を代わりに使用
- leaving the momentum term 0.9 だと、トレーニング発振が置きた。0.5だと安定した
4.1 LSUN
- 画像生成モデルから生成したサンプルの視覚的品質が改善されるにつれて、過学習とメモリ化(memorization) が発生した。
- より多いデータとより高い解像度の生成で、いかに我々のモデルがスケールするのかを示すため、LSUNベッドルームデータセット(データ数300万強)上でモデルをトレーニングする。
- 最新の解析では、モデルの学習の速さと、その生成性能との間には直接的な関係があることが示されている(Hardt et al., 2015)。
- オンライントレーニングを模擬するものとして、トレーニングのある1つのエポックから得たサンプルを示す(図2)、また、我々のモデルが単純に過学習/memorizing していて高品質のサンプルを生成していないことを示すものとして、収束後のサンプルも付け加える(図3)。
- data augmentation は適用していない。
-
-
- 図3 トレーニング5エポック後に生成した画像。いくつかのベッドのベースボードなど複数のサンプルに渡るノイズテクスチャの繰り返しが視覚的アンダーフィッティングの証拠を示している。
4.3 Imagenet-1k
5 Empirical Validation of DCGANs Capabilities
6. Investigating and Visualizing the internals of the networks
- G と D の調査
- トレーニングセット上の最近傍探索系のものは一切やらない。ピクセル空間や特徴空間での最近傍は、ちいさな画像の変形によって取るに足らない馬鹿げたものになる(Theis et al., 2015)。
- また、対数尤度(log-likelihood)メトリックは、貧弱なメトリックなので、モデルの量的評価用に使わない。
6.1 Walking in the latent space
- 隠れた空間
- 学習された多様体(manifold)の上を"歩き回る"と、メモリ化(=シャープな遷移がある場合)の兆候や、その空間が階層的に捉えられている様子について理解できる。
- もしこの隠れた空間での"歩き"が、画像生成の意味的変化という結果(オブジェクトが追加・削除されるような)を生じるなら、我々は、そのモデルが適切かつ興味深い表現を学習したことを理由づけることができる。この結果は図4に示す。
-
-
- 図4 Z上の walking
6.2 Visualizing the discriminator features
- 画像の大きなセット上でトレーニングした教師なしDCGANも、興味深い特徴の階層を学習できることを示す。
- (Springenberg et al., 2014)に提案されたガイド付きバックプロパゲーションを用いて、 D によって学習された特徴群がベッドルームの典型的な部品(ベッドや窓のような)上で活性化する様子を図5に示す。
- 比較のためのベースラインとして、同じ図に、ランダムに初期化された特徴(それは、意味的に関係していたり興味深いものは何も活性化されない)を示した。
-
- 図5 右側:Dの最後のコンボリューション層の最初の6個のコンボリューション特徴の最大の軸に沿った応答の guided backpropagation 可視化。ベッドに対して応答する特徴群の顕著なマイノリティの通知ーLSUNベッドルームデータ・セットの中央のオブジェクト。左側:ランダムフィルタベースライン。前述の応答に比べて、区別がないかそれに近く、そしてランダムな構造がある。
6.3 Manipulating the generator representation
6.3.1 Forgetting to draw certain objects(あるオブジェクトを描画しない)
- Gの学習状況はどうだろうか。
- Gが生成したサンプルの品質は、以下を示唆している:主なシーンのコンポーネント、たとえばベッド、窓、ランプ、ドア、そしてその他の家具のようなものについて、特定のオブジェクト表現をGは学習している。
- これらの表現が取っている形式を調べるため、ある実験を仕立てた:Gの出力から完全に窓を取り去ろうという実験である。
- 150のサンプル上で、52の窓の境界矩形を手動で描いた。
- 2番めに高いコンボリューション層の特徴群にて、「描いた境界矩形の内側の活性化がポジティブで、かつ、同じ画像からのランダムサンプルがネガティブである」という判断基準を用いて、ある特徴の活性化反応が窓に対するものなのか否かを予測するための、ロジスティック回帰関数をフィッティングした。
- この単純なモデルを用いることで、重みがゼロより大きい全ての特徴マップ(全部で200)が、全ての空間位置から脱落した。そして、ランダムな新しいサンプルがその削除された特徴マップで/生成された。
- 窓あり・なしで生成された画像を図6に示す。そして、興味深いことに、このネットワークは、ベッドルームの窓を描くのをほとんど忘れていて、他のオブジェクトで置き換えている。
-
- 図6
6.3.2 Vector arithmetic on face samples
- Word2Vec のような構造が Zの表現の中にあるか調べた。
- 視覚的概念ための お手本サンプルセットのZベクトル上で、同様の演算を行った。
- 1コンセプトにつき単一のサンプルによる実験は不安定だが、3つの手本についてZベクトルを平均化すると、一貫して安定した意味論的に演算に従う生成が見られた。
- 図7に示すオブジェクト操作に加えて、顔の姿勢もZ空間内で線型にモデル化されていることを示した(図8)。
-
- 図7
-
- 図8