Synthesizing the preferred inputs for neurons in neural networks via deep generator networks
Takashi ShinozakiCiNet, NICTNov 12, [email protected]
紹介論文
• A. Nguyen, A. Dosovitskiy, J. Yosinski, T. Brox, J. Clune• “Synthesizing the preferred inputs for neurons in
neural networks via deep generator networks”
• メインはワイオミング大学
• フライブルク大学の可視化技術がベース
• Dosovitskiy & Brox 2016 arXiv• “Generating images with
perceptual similarity metrics based on deep networks”
ワイオミング?
• アメリカの真ん中あたり
• イエローストーン国立公園があるところ
• ソルトレイクシティやデンバーが近い
ざっくり
• DCGAN的な手法で
DNNの内部状態を表現する
解釈可能な画像を生成する
DGN-AMを提案
はじめに
• Deep Neural Network (DNN)の可視化は重要
• 基礎科学として
• DNNの改良のため
• 可視化の基本
• Activation Maximization (AM) [Erhan+2009]• 反応を最大化する入力を探す
• 可視化する先を制限するpriorが必要
• 自然画像なら自然画像のprior
様々なprior
• Hand-designed priors• Gaussian blur [Yosinski+2015]• α-norm [Simonyan+2014]• Total variation [Mahendran+2016]• Jitter [Mordvintsev+2015]• Data-driven patch [Wei+2015]• Center-bias regularization [Nguyen+2016]• Mean images [Nguyen+2016]
• 本研究ではImageNetを学習したCNNをpriorに!!
可視化の為の生成モデル
• これまでの生成モデル
• Probabilistic model [Lee+2009]• Auto-encoder [Alain+2014]• Stochastic model [Kingma+2014]• Recurrent networks [Theis+2015]
• Generative Adversarial Network (GAN)• [Goodefellow+2014]• 最近の流行、特にDCGAN
• Deep Convolutional GAN [Radford+2015]
Ex. Arithmetics over semantic space
• Radford et al., 2016• “Unsupervised Representation Learning with Deep
Convolutional Generative Adversarial Networks”
Ex. mini-Video generation
• Vondrick et al., 2016• “Generating Videos with Scene Dynamics”
DCGANとは、、、
•Autoencoderの新しい形• 逆向き結合のAutoencoder
Realor
Fake
Randominput
DCGAN
Image output
Autoencoder
Imageoutput
Imageinput
本研究の目的
• ImageNetで学習したCNNをpriorとして
• GANのような生成モデルである
Deep Generative Network (DGN)を使って
• Activation Maximization (AM)な画像を生成する
• DGN-AMを開発して、その性能を検証
Fig.1: 画像生成の概要
• CaffeNetを用いた場合の生成画像の例
Fig.2: ネットワーク構造
• 基本的なDCGANの構造
• ネットワークは学習しない?• 赤い部分の分布を学習する?
G Φ
h
ネットワーク詳細 (1/2)
• 前段階でGenerator Gを学習
• VAEGAN的学習?
Realor
Fake
圧縮表現
yi=E(xi)生成画像
G(yi)元画像
xi
DiscriminatorD
ComparatorC
EncoderE
GeneratorG
生成画像
C(G(yi))C(xi)
判別結果
D(G(yi))D(xi)
比較
比較
比較
ネットワーク詳細 (2/2)
• ネットワークは固定して最適な圧縮表現を探索
• yiは [0,3σ]でクリッピング
• あらかじめEncoder Eの出力分布を取っておく
圧縮表現
yi=E(xi)生成画像
G(yi)
target DNNΦ
=可視化するCNNGenerator
G
featureh
ここを最適化
Fig.3: Priorの汎用性 (1/3)
• MIT Places datasetで学習したDNN[Zhou+2014]• Priorは普通のCaffeNet• いずれもいい感じに可視化できた
• ネットの基本構造が同じなため?
Fig.4: Priorの汎用性 (2/3)
• 全く異なるDNN [Donahue+2015]• 動画像(UCF101)で学習
• 先のものと比べると性能が悪い?
• ネットのせい?データのせい?
Fig.5: Priorの汎用性 (3/3)
• もっと根本から異なるネットワークでも検証
• 学習データは同一(ImageNet)• GoogLeNet [Szegedy+2015], ResNet [Zhang+2016]• 構造が違うほど性能は低下
Fig.6: 中間層(5層目)の可視化
その他の応用の可能性
• ネットワークの学習過程の可視化
• 動画の可視化
• 意味レベルでの合成
Fig.S12: 画像の合成 (1/2)
Fig.S12: 画像の合成 (2/2)
• 様々なものに「火」を灯す
• 意味的な合成が適切に行われている
• 新規画像を生成するための新しい手法?
まとめ
• DGN-AMを提案
• Priorを使って可視化
• 解釈しやすいリアルな画像を生成
• DNNの研究に有効
• テキストからの可視化も促進?
• ネットワークを超えた一般性も持つ?
学習過程での生成画像の変化
• 動画
• https://goo.gl/p9P2zE
Fig.S7: canonical imagesについて
• よくわからないです
Fig.S8: 訓練データの多様性の影響
• 訓練データが単調だと生成画像も単調
Fig.S9: priorのデータ量の影響
• 少データだと正答率もクオリティも低下
Fig.S10: 正答率とクオリティ(1/2)
• 正答率が高いとクオリティも高い
Fig.S10: 正答率とクオリティ(1/2)
• 正答率が低くてもそこまで悪くない
動画の生成
• LRCN DNN[Donahue+2015]で生成モデル
• LSTMでUCF-101を判定するDNN• 動画
• https://goo.gl/pCPIHA
Fig.S11: 画像の合成 (1/2)
Fig.S11: 画像の合成 (2/2)
• 特徴ベクトルのL2の差を損失に追加
• 様々なレベル(画像、意味)での合成
• 科学的にも芸術的にも面白い?
Fig.S12: 画像の合成 (1/2)
Fig.S12: 画像の合成 (2/2)
• 様々なものに「火」を灯す
• 意味的な合成が適切に行われている
• 新規画像を生成するための新しい手法?
Fig.S13: 様々な層での表現 (1/2)
• 上段:conv3、下段:conv5
Fig.S13: 様々な層での表現 (2/2)
• 上段:fc6、下段:fc7
Fig.S14: 各層での表現の詳細 (1/2)
Fig.S14: 各層での表現の詳細 (2/2)
• 上段は従来のhand-designed priorによるもの
• 下段が提案手法
• よりリアルな色とテクスチャを実現
Fig.S15: 場所CNNでの各層 (1/2)
Fig.S15: 場所CNNでの各層 (2/2)
• 場所判定CNN[Zhou+2015]の学習表現
• 3-5層は物体検出に対応?
• fc6,fc7層では複数の表現が混ざり合う?
学習過程での各層の表現の変化
• 動画
• https://goo.gl/p9P2zE
Fig.S17: 従来手法との比較
Fig.S18: 様々な生成結果 (1/2)
Fig.S18: 様々な生成結果 (2/2)
変形への対応
• (1) ベースライン (2) cut-upの影響
• (3) 色変換の影響 (4) blurの影響
Fig.S19: cut-upの影響 (1/2)
• 上段:元画像、下段:cut-up画像
Fig.S19: cut-upの影響 (2/2)
• 上段:元画像での生成、下段:cut-upでの生成
Fig.S20: 色変換の影響 (1/2)
• 上段:元画像、下段:色変換画像
Fig.S20: 色変換の影響 (2/2)
• 上段:元画像での生成、下段:色変換での生成
Fig.S21: blurの影響 (1/2)
• 上段:元画像、下段:blur画像
Fig.S21: blurの影響 (2/2)
• 上段:元画像での生成、下段:blurでの生成
Fig.S22: 画像の記憶かの検証
• 単なる記憶であるという明瞭な証拠はない?