25
株式会社 古川 ニューラルネットワークを用いた 画像生成技術・教師なし特徴量学習 UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS (Alec Radford & Luke Metz et al. 2015)

Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

  • Upload
    tm2648

  • View
    12.502

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

株式会社 古川

ニューラルネットワークを用いた 画像生成技術・教師なし特徴量学習

UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL

GENERATIVE ADVERSARIAL NETWORKS(Alec Radford & Luke Metz et al. 2015)

Page 2: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

注意事項

・資料の信憑性などについて責任を負いません

・何か著作権上の問題やその他のご指摘があればご連絡ください If you have any problem, let me know. tomohiro.furukawa (atmark) nextremer.com

Page 3: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

構成・Generative Adversarial Networks               (GAN) ・Deep Convolutional GAN

・実験結果・考察

・実装例 

・まとめ

Page 4: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Generative Adversarial Networks2つのニューラルネットを戦わせる

ランダム ベクトル

認識・生成を交互に学習し精度向上

本物の 画像

生成 画像

Discriminator(正確に識別したい)

Generator(本物に近く生成したい)

画像が 本物か偽物か 識別

Page 5: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Generative Adversarial Networks

(“Generative Adversarial Nets”, 2014, Ian J. Goodfellow et al より引用)

生成画像

G生成ネットは関数を小さくするように学習識別関数=D識別ネットが正しい識別を行う度合い

生成画像が本物である確率

本物の画像が本物である確率

Page 6: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Generative Adversarial Networks

(“Generative Adversarial Nets”, 2014, Ian J. Goodfellow et al より引用)

k回識別ネット、1回生成ネットの学習を繰り返す

Page 7: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Laplacian Generative Adversarial Networks

(“Generative Adversarial Nets”, 2014, Ian J. Goodfellow et al より引用)

画像を周波数ごとに分けて識別・生成させるGAN

<画像の周波数>

明るさの変化の周期を波としてとらえる

Page 8: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Laplacian Generative Adversarial Networks

(“Generative Adversarial Nets”, 2014, Ian J. Goodfellow et al より引用)

画像を周波数ごとに分けて識別・生成させるGAN

Laplacian Pyramidの詳細については “The Laplacian Pyramid as a Compact Image Code” 1983 P.J.Burt et al. を参照のこと

Page 9: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Deep Convolutional GAN特別な構造を持ったGenerative Adversarial Nets・プーリング層を畳み込み層に置き換え  生成ネットではfractionally-strided畳み込み層

・batch normalizationを行う  (バッチ単位で各層への入力を正規化)

・全結合層を排除

・活性化関数をReluとする(最終層のみTanh)

・識別ネットでは全層にてLeakyReLUを使用

Page 10: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Deep Convolutional GAN<fractionally-stridedとは>他の論文のdeconvolutionと同義だと思われる1.逆プーリング

2.畳み込み

p qr s

p q

r s

000

000

000

000

p q

r s

000

000

000

000

0で埋める

h12h11 h13h22h21 h23h32h31 h33

✖ ✖ チャネル数

フィルタ

Page 11: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Deep Convolutional GAN

(“Empirical Evaluation of Rectified Activations in Convolution Network”, 2015, Bing Xu et al より引用)

<Leaky Reluとは>

通常のReluと異なり 0以下の場合に 勾配をつけて処理

本論文の勾配は0.2

Page 12: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Deep Convolutional GAN

・入力は100要素のランダムベクトル ・4つのfractionally-strided convolution層 ・64 x 64ピクセルの画像を生成

LSUNデータセットに使われた生成ネットワーク

Page 13: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

実験結果 

Page 14: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

識別ネットを特徴抽出器とした分類精度検証 

ImagenetデータセットでDCGANを訓練したにもかかわらず Cifar10データセットに対して他の分類手法と比較して高精度

Page 15: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

画像生成結果

・ノイズが見られることから過学習ではないと言える (画像をそのまま記憶はしていない)

5エポック学習後、生成されたベッドルームの画像

Page 16: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

識別ネットワークのback propagation

Reluの順伝播<guided backpropagation>

back propagation

deconvnet

guided backpropagation

順伝播で マイナスの要素を ゼロにするマイナスの要素を ゼロにする

上記を両方行う

(“STRIVING FOR SIMPLICITY: THE ALL CONVOLUTIONAL NET”, 2014, Springenberg et al より引用)

Page 17: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

・学習済み識別ネットワークでは ベッドの特徴を捉えていることがわかる

学習なしフィルタ  学習済みフィルタ識別ネットワークのback propagation

Page 18: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

窓なしベッドルーム画像の生成

1. 窓のある画像とない画像を生成 2. 生成ネットワークの出力から  どのユニットが窓に関するものかを判別 3. 窓に関するユニットを排除して、窓のない画像を生成

元画像

窓なし 生成画像

Page 19: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

画像の足し算・引き算

メガネの男性 男性 女性 メガネの女性

生成ネットワークに投入する Zベクトルを足し算・引き算

1つのベクトルだけでは 出力結果が不安定になるので

3つを平均している

Page 20: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

実装 

Page 21: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

Githubソースコードhttps://github.com/Newmu/dcgan_code

tensorflow版を使用Mac OSXにてtheano, tensorflow, chainerを 入れようと試したがうまくいかなかった

OS : Ubuntu Tensorflow 0.6.0は  CUDA : 7.0かつ、cuDNNv2でなければならない

<実行環境>

theano…cuDNNとの連携ができない chainer…cupyがimportできない など

(学習パラメータは元コードから変更なし)

Page 22: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

データ画像と結果<花> 約1350枚 x 水増し20=27200枚を入力

(データの水増し=彩度変更・回転などで画像枚数を増幅)

8エポック後の 生成画像

Page 23: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

まとめ

・Deep Convolutional GANという  特定の構造を持ったGANによって  従来よりノイズの少ない画像生成に成功

・画像生成の元ベクトルzから  画像の意味を表現でき演算が可能

Page 24: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

会社紹介

社員数 15名 設立 2012年10月 事業内容 人工知能テクノロジーを      取り入れた対話システムの開発 開発技術 自然言語処理・画像認識

PR用対話ロボット  A.I.Samurai

Page 25: Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料

Nextremer Inc.

機械学習エンジニア募集中

wantedlyにて “Nextremer” で検索