Slide 1

Slide 1 text

Progressive Growing of GANs for Improved Quality, Stability, and Variation

Slide 2

Slide 2 text

自己紹介 Twitter : @hrs1985 https://qiita.com/hrs1985 機械学習エンジニアをしています。最近転職して 7月から東京で働いてます。 前々職では実験生物学やってました。 ● 深層生成モデル ● 強化学習 ● 画像処理 に興味があります。最近はグラフも面白そうだなと思っています。 2

Slide 3

Slide 3 text

論文の概要 ▪ GAN の学習安定化のための Progressive Growing を提案 ▪ その他の工夫 (Equalized Learning Rate, Pixelwise Normalization) を提案 3 3

Slide 4

Slide 4 text

Progressive Growing 学習が不安定になる一因は生成するデータが高次元すぎること →低次元のデータから徐々に学習を進める 4

Slide 5

Slide 5 text

Progressive Growing 新しいレイヤーを加える時、新しいレイヤーの出力/入力と その直前のレイヤーの出力/入力を α : 1 - α で足して用いる。 5

Slide 6

Slide 6 text

Progressive Growing を実装したいとき (Pytorch) 6 4x4 8x8 16x16 32x32 Upsampling block 4x4 8x8 16x16 32x32 noise 4x4 image To RGB block

Slide 7

Slide 7 text

Progressive Growing を実装したいとき (Pytorch) 7 4x4 8x8 16x16 32x32 Upsampling block 4x4 8x8 16x16 32x32 To RGB block noise 8x8 image

Slide 8

Slide 8 text

Progressive Growing を実装したいとき (Pytorch) 8 4x4 8x8 16x16 32x32 Upsampling block 4x4 8x8 16x16 32x32 To RGB block noise 16x16 image

Slide 9

Slide 9 text

Progressive Growing を実装したいとき (Pytorch) 9 4x4 8x8 16x16 32x32 Upsampling block 4x4 8x8 16x16 32x32 To RGB block noise 32x32 image

Slide 10

Slide 10 text

その他の工夫 Pixelwise Normalization 各ピクセルをチャンネル方向の 2-ノルムで割る Generator 側でのみ用いている Equalized Learning Rate 各レイヤーの weight をチャンネル数で正規化して使う 出力 (と誤差の逆伝搬) のダイナミックレンジがチャンネル数に対して変動しにくくなる 10 Minibatch Discrimination ミニバッチ内の標準偏差を Discriminator に与える

Slide 11

Slide 11 text

Ablation study 11

Slide 12

Slide 12 text

顔画像の生成 12

Slide 13

Slide 13 text

やってみた 13 ちゃんとした比較はできてないけど、卵以外の具材の破綻が少なそう?