unsupervised image-to-image translation networksの紹介

14
Unsupervised Image- to-Image Translation Networks 論論論論 Twitter:@UMU____

Upload: kcs-keio-computer-society

Post on 22-Mar-2017

169 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Unsupervised Image-to-Image Translation Networksの紹介

Unsupervised Image-to-Image Translation

Networks論文紹介

Twitter:@UMU____

Page 2: Unsupervised Image-to-Image Translation Networksの紹介

何の論文か• 「教師なし」で画像から画像への変換を行う.• GANの拡張.

Page 3: Unsupervised Image-to-Image Translation Networksの紹介

何の論文か• 一方に属する画像データセットと,もう一方に属する画像データセットを独立に用意して,学習を行い,一方に属する画像をもう一方に属する画像に変換することができる.( [ 一方に属する画像 , もう一方に属する画像 ] )のペアとしてデータセットを用意する必要がない.

ペアを作らないでいい

Page 4: Unsupervised Image-to-Image Translation Networksの紹介

目次• VAE (Variational Autoencoder)• GAN (Generative Adversarial Network)• UNIT (Unsupervised Image Translation)

Page 5: Unsupervised Image-to-Image Translation Networksの紹介

VAE (Variational Autoencoder)• データの生成モデルを学習する.• VAE は,データ X の確率分布が潜在変数Zに依存していると考え,特定のXから Z の条件付き確率分布を出力するNNと( Encoder ),特定のZからXの条件付き確率分布を出力するNN( Decoder )をつなげて学習を行う.この際, P(Z|X) は正規分布と仮定し, Encoder は P(Z|X) の平均と分散を出力する.また, P( Z ) を平均0,分散1の正規分布とする(正規化).・学習は,損失関数L= x と Decoder(Encoder(x) )の差 + 正規化を最小化するように学習.

Page 6: Unsupervised Image-to-Image Translation Networksの紹介

GAN (Generative Adversarial Network)• D (Discriminator ,識別器 ) と G(Generator ,生成器 ) から成る.• 損失関数Lは,Gが生成した画像と,本物の画像を,それぞれ,Dが「Gが生成した」,Dが「本物の画像だ」と判別できた頻度が高いほど,大きな値を取る.損失関数Lを,• Dの重みは,最大化するように学習.(すごい識別!)• Gの重みは,最小化するように学習.(識別されにくく!)→ 敵対的生成ネットワーク.

Page 7: Unsupervised Image-to-Image Translation Networksの紹介

UNIT (Unsupervised Image Translation)• 仕組み

Page 8: Unsupervised Image-to-Image Translation Networksの紹介

UNIT (Unsupervised Image Translation)• VAE と GAN を組み合わせたモデル.6つのネットワーク (Ex,Gx,Dx(x=1,2)) から構成される.( 以下” S1” を一方に属するデータセット,” S2” を他方とする. )• Ex:Sx の画像を, S1,S2 共通の潜在変数 Z( の条件付き確率分布の平均と分散 ) へ変換する. (VAE の Encoder)• Gx: 潜在変数 Z の平均と分散から, Sx に属す(と Dx が判定するような)画像を生成する. (GAN のG )• Dx:Sx に本当に属すか, Gx が生成した物かを判定する. (Gxが生成したなら 1, 本物なら 0.)

Page 9: Unsupervised Image-to-Image Translation Networksの紹介

UNIT (Unsupervised Image Translation)• 2 つの VAE (E1&G1 と E2&G2) によって, S1,S2 共通の潜在変数 Z を獲得することができれば, S1 の画像を Encoder に通し, z に変換し,これを G2 に通すことで,画像変換を行うことができる. 逆も可

Page 10: Unsupervised Image-to-Image Translation Networksの紹介

UNIT (Unsupervised Image Translation)• 重み共有 (Weight-sharing) をおこなう.潜在変数Zは双方のデータセットで共通なため, E1 と E2 およびG1 と G2 を関係させる.(全くの独立のネットワークとしない)→G1 と G2 の最初の数層,また E1 と E2 の最後の数層を共有させることで, Z の前後に層の高次元特徴空間上で,ペアとなるべき画像(S1 上の画像に対応する S2 上の画像 ) が一致(できるように)する.注意:この共通化自体が,ペアとなるべき画像が同じ Z をもたらすことを保証しているわけではない.• Dx の最後の数層も同じく共有.

重みを共有することで, NN の表現力を落とすという役割もある

Page 11: Unsupervised Image-to-Image Translation Networksの紹介

UNIT (Unsupervised Image Translation)• 学習学習は, 4 つの損失関数の和として表される損失関数(下式)を, Ex,Gx は最小化, Dx は最大化するように行う.

これは2つの VAE と 2 つの GAN を同時に学習するのと同じ.・ GAN 部分損失関数の計算の際には,異なる Sx 間で Z が共有されているため,普通のGANとはことなり, S1→E1→G1→D1→ と来るデータと, S2→E2→G1→D1→ と来るデータと,本物のデータという 3 種類の項がある.このようにすることで,画像変換時にも Loss を定義できるという利点がある.

Page 12: Unsupervised Image-to-Image Translation Networksの紹介

その他• Stochastic Skip Connections の導入U-net の Skip を VAE 用に拡張したもの.生成される画像の改善.• Spatial Context画像生成精度を高めるために, y-image( 上方が 1, 下方が -1 に正規化された画像 ) を画像のチャネルに追加. (RGB→RGBY)よくわからない.知っている方いたら教えてください.

Page 13: Unsupervised Image-to-Image Translation Networksの紹介

まとめ• VAE と GAN を組み合わせた UNIT で,教師なしでの画像変換を学習することができた.

Page 14: Unsupervised Image-to-Image Translation Networksの紹介

生成画像• 論文参照