adversarial networks の画像生成に迫る @wbaflカジュアルトーク#3
TRANSCRIPT
全脳アーキテクチャ若⼿の会 カジュアルトーク#3 (2016.6.4)
Adversarial Networks による画像⽣成に迫る
全脳アーキテクチャ若⼿の会法政⼤学⼤学院 理⼯学研究科 修⼠課程
島⽥ ⼤樹
⾃⼰紹介
島⽥ ⼤樹 (SHIMADA Daiki)
@sheema_sheema (Twitter)
• 法政⼤学⼤学院 理⼯学研究科 M2
• 画像解析による授業受講者の態度推定
• 深層学習関連⼿法の提案
• 全脳アーキテクチャ若⼿の会 副代表
• 会全体の運営 (運営メンバー⼤募集中!!)
• 2014年第2回勉強会 発表者
1
前回のあらすじ
l カジュアルにCNN系⽂献64本ノック!http://www.slideshare.net/sheemap/convolutional-neural-networks-wbafl2
Convolutional Neural Networks (CNN) の研究動向
2
l 今⽇はこの中の画像⽣成をちょっとだけ追ってみます!
⽬次 全脳アーキテクチャ若⼿の会 カジュアルトーク#3
Adversarial Networks による画像⽣成に迫る1. Why 画像⽣成?2. Generative Adversarial Nets (GAN)3. GANとならできること4. まとめ
3
Why 画像⽣成?
l 普通に⾒ていて⾯⽩い
l (絵が下⼿な⼈もクリエイティブになれる…?)
絵を描く機械って⾯⽩くないですか?
Why 画像⽣成?
l 機械に物体のパーツの構成を理解させたい
視覚情報の特徴を学習するための⼿段
5
Why 画像⽣成?
l 機械に物体のパーツの構成を理解させたい
視覚情報の特徴を学習するための⼿段
6
⽬次 全脳アーキテクチャ若⼿の会 カジュアルトーク#3
Adversarial Networks による画像⽣成に迫る1. Why 画像⽣成?2. Generative Adversarial Nets (GAN)3. GANとならできること4. まとめ
7
Generative Adversarial Nets (GAN)
l Generator (⽣成部) と Discriminator (判別部) で構成
Generative Adversarial Nets [1]
8[1] I.J. Goodfellow et al. Generative Adversarial Nets. arXiv:1406.2661, 2014.
GeneratorNetwork (G)
DiscriminatorNetwork (D)
…
…
?⽣成画像
Z
G(Z)⼊⼒画像が本物の確率
Generative Adversarial Nets (GAN)
l ⽬標1: Dは⼊⼒が本物の画像がどうか⾒分ける
Generative Adversarial Nets の学習 [1]
9[1] I.J. Goodfellow et al. Generative Adversarial Nets. arXiv:1406.2661, 2014.
DiscriminatorNetwork (D)
…?
⽣成画像
G(Z)
⼊⼒画像が本物の確率
[0, 1]
本物画像 x
X か G(Z)どちらかが⼊⼒される
Generative Adversarial Nets (GAN)
l ⽬標2: GはDを騙すような画像を⽣成する
Generative Adversarial Nets の学習 [1]
10[1] I.J. Goodfellow et al. Generative Adversarial Nets. arXiv:1406.2661, 2014.
GeneratorNetwork (G)
DiscriminatorNetwork (D)
…
…
?⽣成画像
Z
G(Z)⼊⼒画像が本物の確率
D(G(Z)) のフィードバック
D(G(Z))
Generative Adversarial Nets (GAN)
Generative Adversarial Nets の学習 [1]
11[1] I.J. Goodfellow et al. Generative Adversarial Nets. arXiv:1406.2661, 2014.
… …?⽣成画像
Z
G(Z)
⼊⼒画像が本物の確率
本物画像 x
D(x)
Generative Adversarial Nets (GAN)
Generative Adversarial Nets の学習 [1]
12[1] I.J. Goodfellow et al. Generative Adversarial Nets. arXiv:1406.2661, 2014.
… …?⽣成画像
Z
G(Z)
⼊⼒画像が本物の確率
本物画像 x
D(G(Z))
Generative Adversarial Nets (GAN)
Laplacian Pyramid of Generative Adversarial Nets [2]
13[2] E. Denton, S. Chintala et al. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks. arXiv:1506.05751, 2015.
l 画像処理のテクニックと組み合わせて画像⽣成へ周波数帯ごとに画像を⽣成していく
Generative Adversarial Nets (GAN)
Laplacian Pyramid of Generative Adversarial Nets [2]
14[2] E. Denton, S. Chintala et al. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks. arXiv:1506.05751, 2015.
l 画像処理のテクニックと組み合わせて画像⽣成へ周波数帯ごとに画像を⽣成していく
Generative Adversarial Nets (GAN)
Deep Convolutional Generative Adversarial Nets [3]
15
[3] A. Radford et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Netwroks. arXiv: 1511.06434, 2015.
l ネットワークを Convolutional Neural Net にすることでより複雑な,よりリアルな画像が⽣成出来るように
Generative Adversarial Nets (GAN)
Deep Convolutional Generative Adversarial Nets [3]
16
[3] A. Radford et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Netwroks. arXiv: 1511.06434, 2015.
l ネットワークを Convolutional Neural Net にすることでより複雑な,よりリアルな画像が⽣成出来るように
Generative Adversarial Nets (GAN)
Deep Convolutional Generative Adversarial Nets [3]
17
[3] A. Radford et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Netwroks. arXiv: 1511.06434, 2015.
l Zの値を変えていくと,部屋の家具や背景が徐々に変化する
Generative Adversarial Nets (GAN)
Deep Convolutional Generative Adversarial Nets [3]
18
[3] A. Radford et al. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Netwroks. arXiv: 1511.06434, 2015.
l ある属性の画像を⽣成するZ の平均ベクトルの演算で⽣成される画像の操作が可能
⽬次 全脳アーキテクチャ若⼿の会 カジュアルトーク#3
Adversarial Networks による画像⽣成に迫る1. Why 画像⽣成?2. Generative Adversarial Nets (GAN)3. GANとならできること4. まとめ
19
Generative Adversarial Nets (GAN) とならできること
Style Extraction [4]
20
l Autoencoder の中間層表現がある分布っぽいかどうかをDが判断する構造
l データ表現を任意の分布に落とし込める
[4] A. Makhzani et al. Adversarial Autoencoders. arXiv: 1511.05644, 2015.
Ex.) ここの表現を正規分布にしたい!
Generative Adversarial Nets (GAN) とならできること
Style Extraction [4]
l 途中でカテゴリ情報を⼊れてやると,Autoencoderはカテゴリに関係しない特徴 (Style)を獲得
[4] A. Makhzani et al. Adversarial Autoencoders. arXiv: 1511.05644, 2015.
途中でどのカテゴリか教えてやる
スタイル情報を好きな分布に落としこむ
(イメージ)
Generative Adversarial Nets (GAN) とならできること
Style Extraction [4]
22
l ⽣成したいカテゴリ情報 + 好きなスタイル特徴から任意のスタイルの数字画像が⽣成できる
[4] A. Makhzani et al. Adversarial Autoencoders. arXiv: 1511.05644, 2015.
Generative Adversarial Nets (GAN) とならできること
Text to Image [5]
23
l Character-level convolutional-recurrent network でコードされたテキストをGとDへ付与
l G はテキスト情報と乱数から画像を⽣成,D は画像とテキストのマッチングも含めて判断
[5] S. Reed et al. Generative Adversarial Text to Image Synthesis. arXiv:1605.05396, 2016.
Generative Adversarial Nets (GAN) とならできること
Text to Image [5]
24[5] S. Reed et al. Generative Adversarial Text to Image Synthesis. arXiv:1605.05396, 2016.
l CUB(bird), Oxford-102(flower), MS-COCO で実験
Generative Adversarial Nets (GAN) とならできること
Text to Image [5]
25[5] S. Reed et al. Generative Adversarial Text to Image Synthesis. arXiv:1605.05396, 2016.
l CUB(bird), Oxford-102(flower), MS-COCO で実験
Generative Adversarial Nets (GAN) とならできること
Text to Image [5]
26[5] S. Reed et al. Generative Adversarial Text to Image Synthesis. arXiv:1605.05396, 2016.
l CUB(bird), Oxford-102(flower), MS-COCO で実験
Generative Adversarial Nets (GAN) とならできること
Text to Image [5]
27[5] S. Reed et al. Generative Adversarial Text to Image Synthesis. arXiv:1605.05396, 2016.
l テキストとスタイル画像から所望の画像を⽣成する
Gと逆向きの (Zを推定する)⽅向の学習器を作る
Generative Adversarial Nets (GAN) とならできること
Inpainting [6]
28[6] D. Pathak et al. Context Encoders: Feature Learning by Inpainting. arXiv: 1604.07379, 2016.
l G が⼀部がマスクされた画像を⽳埋めするように学習à “真の画像との誤差(L2)”と”Dを騙したかの誤差”を最⼩化
l L2だけではボケた画像が⽣成されるが,Adversarial Nets を使うことでシャープな inpainting
GeneratorNetwork (G)
EncoderNetwork
DiscriminatorNetwork (D)
L2 loss
real/fake
Generative Adversarial Nets (GAN) とならできること
Inpainting [6]
29[6] D. Pathak et al. Context Encoders: Feature Learning by Inpainting. arXiv: 1604.07379, 2016.
⽬次 全脳アーキテクチャ若⼿の会 カジュアルトーク#3
Adversarial Networks による画像⽣成に迫る1. Why 画像⽣成?2. Generative Adversarial Nets (GAN)3. GANとならできること4. まとめ
30
まとめ
GAN の学習の概要と最近の研究事例
l “敵対的な” 2つの学習器を戦わせるという発想
l データの投げ⽅次第で⾊々なことができる
GAN で機械は芸術家の夢をGANGANみれるか?
l まだまだ低解像 (64x64程度) の画像までしか上⼿くいかない
l 最適化にすさまじい⼈智 (=テクニック) が必要
l しかし,〜っぽさという定量化が難しい問題に対してのアプローチの選択肢になりつつあるのでは?
Fin.
32