SlideShare a Scribd company logo
1 of 46
Download to read offline
Up to GLOW
生成モデル勉強会
M2 中塚俊介
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
お品書き
◼ Normalizing Flows
◼ NICE: Non-linear Independent Components Estimation
◼ Real NVP
◼ GLOW
2
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 3
Normalizing Flows
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Variational Inference
◼ Variational Inference において,近似事後分布の選定は大事
― VAEでは,標準正規分布を用いている
― ただ,これ制限されすぎでは?
◼ Normalizing Flows では,より強力な近似事後分布を
変換を繰り返すことで獲得する
4
尤度関数
(Decoder)
事前分布近似事後分布
(Encoder)
VAEのcontribution はココ
reparameterization trick
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
DLGM: Deep Latent Gaussian Models
◼ NNの各層の出力zl が,N(0, 1) に従うと仮定
◼ zl+1は, zl にしか依存しないので,同時分布は
L を大きくすれば,複雑なモデルになる?
◼ 真の分布はもっと複雑なことが多い
◼ そもそもこの変換では,スケールが変わってない
5
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Normalizing Flows
◼ 考えとしては,
― VAEやDLGMなどより,もっと flexible な近似事後分布を作りたい
― 単純な分布から確率分布の変数変換を繰り返して,複雑な分布にしていく
6
z0 z1 z2 z3 z4 z5 z6
https://blog.evjang.com/2018/01/nf1.html
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換
7
について,
分布 q(z) を持つ確率変数 z を f で変換して,z′ を得る
確率分布 q′(z′) は
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換(1次元)
◼ X は Uniform(0, 1)
◼ Y = f(X) = 2X + 1
8
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換(1次元)
◼ X は Uniform(0, 1)
◼ Y = f(X) = 2X + 1
9
◼ x とその近くの点 x + dx に着目
◼ 写像後を y と y + dy とする
◼ dx の間 の p(x) の変化と
dy の間 の p(y) の変化は一致する
(総確率の保存)
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換(1次元)
◼ 変形すると
10
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換(2次元)
◼ 変換行列 F を (0, 0), (0, 1), (1, 0), (1, 1) にかけると...
11
(0, 0) (0, 1)
(a, c)
(1, 0)
(a + b, c + d)
(b, d)
面積:1
面積:ad - bc
総確率の保存のために,
ad – bc で正規化する必要あり
これつまり,ヤコビアン
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Chain of K transforms
◼ ここが Normalizing Flows の キモ
◼ 関数 f を連鎖して,変形を繰り返す
◼ 初期の分布さえ,決定すれば後の分布は自由
― 表現力の向上
― q0(z0)さえわかれば,解析的に対数尤度がわかる
12
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Normalizing flow を使って分布の変形
◼ 2次元の正規分布からスタートして,
NLLを最小化することでfitting
13
Transform する関数 f として,
Planar flow と Radial flow を提案
(Jacobian の計算コストが低い & 逆変換ができる必要がある)
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Planar flow
◼ 学習されるパラメータ
◼ h は非線形関数 (Leaky ReLU)
◼ Jacobian がO(D) で計算可能
14
Jacobian Log Likelihood
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Radial flow
◼ 学習されるパラメータ
◼ その他の計算
◼ Jacobian がO(D) で計算可能
15
Jacobian
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
変分推論にFlow を適用する
◼ ELBOにPlanar Flow を導入
16
VAEのEncoder VAEのDecoder Free Energy Bound
x z0 xzk
ϵ
𝑞(𝑧0 | 𝑥, 𝜙)
Encoder
p x zk, θ)
DecoderNF
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Representative Power of Normalizing Flows
17
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
まとめ
◼ 変分推論の際に表現力の高い近似事後分布を得ることができる
◼ 具体的には,VAE + NF が可能
◼ 変換関数 f を連鎖させることで,表現力が向上する
◼ f は逆変換できる必要があり,効率的なヤコビアンの算出が必要
◼ 筆者はPlanar flow と Radial flow を提案
18
x z0 xzk
ϵ
𝑞(𝑧0 | 𝑥, 𝜙)
Encoder
p x zk, θ)
DecoderNF
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 19
NICE
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
TL;DR
◼ NF での変換関数 f をNNを使って定義したモデル
(NF の前年に発表された)
◼ データ x を x1, x2 に分割し,片方にだけMLP+ReLUの非線形変換 m
◼ 逆変換も用意に定義可能
20
変換 逆変換
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
確率変数の変換
◼ 基本的に考え方は,NF と全く同じ
◼ 論文内で定義している式は1層分の変換のみ
◼ ただ,最終的に積層するので,NFと同じ形になる
21
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Architecture
◼ 変換f (encoder) と 逆変換 f-1 (decoder) はヤコビアンが
容易に計算できる必要あり
― 重みが三角行列なら,NNでも計算が容易
― ただ,そのNNは制約が強すぎて,表現力が低い
◼ そこで,Coupling Layer を用いる
22
変換
逆変換
𝑥𝐼1𝑥𝐼2
非線形変換
Coupling Law
三角行列になる
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Coupling Laws
◼ 加法カップリング g(a; b) = a + b
◼ 乗法カップリング g(a; b) = a ⊙ b
◼ アフィンカップリング g(a; b) = a ⊙ b1 + b2
23
論文内では加法カップリングを使用
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Rescaling
◼ 加法カップリングを使うと,ヤコビアンの行列式が 1 になる
― 計算が楽になって良し
― ただ,これだと分布のスケールが全く変わらない
◼ スケーリング行列 S (対角行列)を分布に掛けてあげる
24
この S はPCA の固有ベクトルのようなもので,
各次元がどのくらいばらつきを持っているか表している
と考えることができる
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Experiments
◼ 層を重ねる際には,変換する/しない入力を切り替える
25
x1
x2
𝒉 𝟏
𝟏
𝒉 𝟐
𝟏
𝒉 𝟏
𝟐
𝒉 𝟐
𝟐
𝒉 𝟐
𝟑
𝒉 𝟏
𝟑
m mm m
𝒉 𝟐
𝟒
𝒉 𝟏
𝟒
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Experiments
26
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
まとめ
◼ NF での変換関数 f をNNを使って定義したモデル
◼ データ x を x1, x2 に分割し,片方にだけMLP+ReLUの非線形変換 m
― 分割は層ごとに順番を入れ替える
― 片方だけが出力され続けるのを防ぐため
◼ ヤコビアンの計算量についてはカップリングを導入
◼ 加法カップリングで変わらないスケールはRescalingでカバー
◼ NICEとFlowの違い
― NICEは,x から z への変換(逆変換)を学習している (難しい分布を簡単な分布に)
― Flowは,z0 から zk への変換(逆変換)を学習している (簡単な分布を難しい分布に)
― 方向は逆だけど,逆変換可能なので実質同じ
27
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 28
Real NVP
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
TL;DR
◼ NICE で提案された アフィンカップリングがベース
◼ NICE では,MLPだけだったが,CNNへ拡張した
◼ NICE での,x1 と x2 の“入れ替え” を工夫したモデルを提案
◼ Multi-scale Architecture の導入
29
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
アフィンカップリング
◼ NICEでのアフィンカップリングとほぼ同じ
― スケールの部分が exp になっている
30
変換
ヤコビ
加法と違って,Rescaling は入ってる
結局 log とるので,exp 入れたら計算が楽
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Masked Convolution
31
checker board channel-wise
奇数・偶数 前半・後半
◼ Convolution において,入力を2つに分ける機構を提案
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Multi-scale architecture
◼ Squeeze Operation
― (s, s, c) から (s/2, s/2, 4c) へreshape する
― tensorflow でいう tf.space_to_depth
◼ reshape後に,
― 前半チャネルは,潜在変数 z に
― 後半チャネルは,次の層へ h
32
space_to_depth
depth_to_space
https://arxiv.org/abs/1609.05158
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Experiments
33
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
まとめ
◼ NICE で提案された アフィンカップリングがベース
◼ NICE では,MLPだけだったが,CNNへ拡張した
◼ NICE での,x1 と x2 の“入れ替え” を工夫したモデルを提案
― Checker board
― Channel-wise
◼ Multi-scale Architecture の導入
― 前半チャネルは,潜在変数 z に
― 後半チャネルは,次の層へ h
34
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 35
GLOW
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
尤度ベースの生成モデルについて by Kingma
◼ 尤度ベースの生成モデル
― Autoregressive Models
― Variational Autoencoders
― Flow-based generative models
◼ Flow-based model のAdvantage
― 近似なしに潜在変数の推論と対数尤度の評価ができる (VAEとGANはできない)
― 並列化可能な推論と生成 (Autoregressive models はできない)
― 下流タスクにおいて有用な潜在空間が得られる (GANとAutoregressive modelsはできない)
― メモリ節約がめっちゃできる
36
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Architecture of GLOW
◼ ベースはReal NVP
◼ +αは以下
― Actnorm
― invertible 1 x 1 convolution
37
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Actnorm
◼ RealNVP では,BatchNormalization が使われていた
― ただ,batch size が小さいときに問題あり (variance)
◼ チャネルごとにスケール s とバイアス b のパラメータを持って,
アフィン変換する
◼ このときのs, b は最初のミニバッチが与えられたときに初期化される
― Actnorm の前の層の出力が平均0,分散が単位行列になるようにs と b を定める
― data dependent initialization (by Kingma)
― 初期化後は trainable params になる
38
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
invertible 1 x 1 convolution
◼ NiceやRealNVPでは,チャネルの順序を反転させる置換に等しい枠組みを持つ
◼ この“置換”を 1 x 1 convolution で表現する
― 回転行列で初期化
― 順列の一般化
39
ⅹ Σ
そもそも,1 x 1 conv は
pixel-wise なチャネル方向の全結合層
w : (1, 1, c, c)
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
invertible 1 x 1 convolution
◼ Log-determinant の計算が必要だが,計算できる?
― O(c3) のようです...
◼ LU分解しよう
― O(c) になった
40
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
GLOW の処理 数式まとめ
41
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Architecture
◼ Squeeze
― space_to_depth
― 空間解像度を落として,奥行き深く
◼ Flow
― actnorm – 1 x 1 conv – affine coupling
― この中で何度も変換を行う(K=32)
◼ Split
― 前半のチャネルを潜在変数に
― 後半のチャネルを次の層の入力に
― 1 x 1 conv で学習しているため,
前後入れ替えとかは必要なし
42
実験では,
L=6, K=32
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Experiments
43
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
Manipulation について
◼ Glowはconditional な生成の枠組みを持てない
◼ なので,Semantic Manipulation はあと付け
― CelebA にはAttributeが,バイナリで保存されている
― 例えば,メガネ属性が 1 の集合 XPOS と 0 の集合 XNEG を作成
― それぞれの集合から,平均潜在変数 ZPOSと XNEG 求め
― 線形補間する
44
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
まとめ
◼ RealNVP に以下を追加
― Actnorm
― Invertible 1 x 1 convolution
◼ Actnorm はBNの弱点をカバー
◼ 1 x 1 convolution でチャネルの順番操作を学習
◼ 高解像度の画像生成に成功
45
Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved.
全体通してのまとめ
◼ Normalizing flowsは,単純な分布から複雑な分布へ変換を学習
― 尤度計算は確率変数の変換によって得られる
― その尤度最大化(近似無しでわかる)
― 逆変換可能
◼ NICEは,複雑な分布(データそのもの)から単純な分布へ変換を学習
― 尤度計算は確率変数の変換によって得られる
― その尤度最大化(近似無しでわかる)
― 逆変換可能
◼ GLOWは,NICE・RealNVPに色々工夫を加えたもの
― Actnorm
― 1 x 1 convolution
46
結局同じこと!!

More Related Content

What's hot

Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Hideki Tsunashima
 
Visualizing Data Using t-SNE
Visualizing Data Using t-SNEVisualizing Data Using t-SNE
Visualizing Data Using t-SNETomoki Hayashi
 
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...Takumi Ohkuma
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 
MixMatch: A Holistic Approach to Semi- Supervised Learning
MixMatch: A Holistic Approach to Semi- Supervised LearningMixMatch: A Holistic Approach to Semi- Supervised Learning
MixMatch: A Holistic Approach to Semi- Supervised Learningharmonylab
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Kazuki Maeno
 
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...Deep Learning JP
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイNaoya Chiba
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習Masahiro Suzuki
 
Probabilistic face embeddings
Probabilistic face embeddingsProbabilistic face embeddings
Probabilistic face embeddingsKazuki Maeno
 
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...ddnpaa
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
(2022年3月版)深層学習によるImage Classificaitonの発展
(2022年3月版)深層学習によるImage Classificaitonの発展(2022年3月版)深層学習によるImage Classificaitonの発展
(2022年3月版)深層学習によるImage Classificaitonの発展Takumi Ohkuma
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17Takuya Akiba
 
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...Deep Learning JP
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 

What's hot (20)

Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 
Visualizing Data Using t-SNE
Visualizing Data Using t-SNEVisualizing Data Using t-SNE
Visualizing Data Using t-SNE
 
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...
「解説資料」Toward Fast and Stabilized GAN Training for High-fidelity Few-shot Imag...
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
MixMatch: A Holistic Approach to Semi- Supervised Learning
MixMatch: A Holistic Approach to Semi- Supervised LearningMixMatch: A Holistic Approach to Semi- Supervised Learning
MixMatch: A Holistic Approach to Semi- Supervised Learning
 
Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)Transformer 動向調査 in 画像認識(修正版)
Transformer 動向調査 in 画像認識(修正版)
 
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...
【DL輪読会】Toward Fast and Stabilized GAN Training for Highfidelity Few-shot Imag...
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
Probabilistic face embeddings
Probabilistic face embeddingsProbabilistic face embeddings
Probabilistic face embeddings
 
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...
【論文紹介】 Attention Based Spatial-Temporal Graph Convolutional Networks for Traf...
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
(2022年3月版)深層学習によるImage Classificaitonの発展
(2022年3月版)深層学習によるImage Classificaitonの発展(2022年3月版)深層学習によるImage Classificaitonの発展
(2022年3月版)深層学習によるImage Classificaitonの発展
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 

Similar to Up to GLOW

Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...T T
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)智啓 出川
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1sleepy_yoshi
 
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化Fixstars Corporation
 

Similar to Up to GLOW (9)

ICML2018 勉強会
ICML2018 勉強会ICML2018 勉強会
ICML2018 勉強会
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
Graph U-Net
Graph U-NetGraph U-Net
Graph U-Net
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
How good is my GAN?
How good is my GAN?How good is my GAN?
How good is my GAN?
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1
 
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
 

More from Shunsuke NAKATSUKA

CVPR2020_ECCV2020_Anomaly_Detection_まとめ
CVPR2020_ECCV2020_Anomaly_Detection_まとめCVPR2020_ECCV2020_Anomaly_Detection_まとめ
CVPR2020_ECCV2020_Anomaly_Detection_まとめShunsuke NAKATSUKA
 
【CVPR 2019】Latent Space Autoregression for Novelty Detection
【CVPR 2019】Latent Space Autoregression for Novelty Detection 【CVPR 2019】Latent Space Autoregression for Novelty Detection
【CVPR 2019】Latent Space Autoregression for Novelty Detection Shunsuke NAKATSUKA
 
最新事例紹介資料 異常検知(2018.11.19)
最新事例紹介資料 異常検知(2018.11.19)最新事例紹介資料 異常検知(2018.11.19)
最新事例紹介資料 異常検知(2018.11.19)Shunsuke NAKATSUKA
 
最新事例紹介資料 異常検知 + alpha(2018.10.15)
最新事例紹介資料 異常検知 + alpha(2018.10.15)最新事例紹介資料 異常検知 + alpha(2018.10.15)
最新事例紹介資料 異常検知 + alpha(2018.10.15)Shunsuke NAKATSUKA
 
最新事例紹介資料 異常検知(2018.09.20)
最新事例紹介資料 異常検知(2018.09.20)最新事例紹介資料 異常検知(2018.09.20)
最新事例紹介資料 異常検知(2018.09.20)Shunsuke NAKATSUKA
 
最新事例紹介資料 異常検知(2018.08.24)
最新事例紹介資料 異常検知(2018.08.24)最新事例紹介資料 異常検知(2018.08.24)
最新事例紹介資料 異常検知(2018.08.24)Shunsuke NAKATSUKA
 
最新研究紹介資料(異常検知)
最新研究紹介資料(異常検知)最新研究紹介資料(異常検知)
最新研究紹介資料(異常検知)Shunsuke NAKATSUKA
 

More from Shunsuke NAKATSUKA (8)

CVPR2020_ECCV2020_Anomaly_Detection_まとめ
CVPR2020_ECCV2020_Anomaly_Detection_まとめCVPR2020_ECCV2020_Anomaly_Detection_まとめ
CVPR2020_ECCV2020_Anomaly_Detection_まとめ
 
【CVPR 2019】Latent Space Autoregression for Novelty Detection
【CVPR 2019】Latent Space Autoregression for Novelty Detection 【CVPR 2019】Latent Space Autoregression for Novelty Detection
【CVPR 2019】Latent Space Autoregression for Novelty Detection
 
最新事例紹介資料 異常検知(2018.11.19)
最新事例紹介資料 異常検知(2018.11.19)最新事例紹介資料 異常検知(2018.11.19)
最新事例紹介資料 異常検知(2018.11.19)
 
最新事例紹介資料 異常検知 + alpha(2018.10.15)
最新事例紹介資料 異常検知 + alpha(2018.10.15)最新事例紹介資料 異常検知 + alpha(2018.10.15)
最新事例紹介資料 異常検知 + alpha(2018.10.15)
 
最新事例紹介資料 異常検知(2018.09.20)
最新事例紹介資料 異常検知(2018.09.20)最新事例紹介資料 異常検知(2018.09.20)
最新事例紹介資料 異常検知(2018.09.20)
 
最新事例紹介資料 異常検知(2018.08.24)
最新事例紹介資料 異常検知(2018.08.24)最新事例紹介資料 異常検知(2018.08.24)
最新事例紹介資料 異常検知(2018.08.24)
 
最新研究紹介資料(異常検知)
最新研究紹介資料(異常検知)最新研究紹介資料(異常検知)
最新研究紹介資料(異常検知)
 
Tutorial of GANs in Gifu Univ
Tutorial of GANs in Gifu UnivTutorial of GANs in Gifu Univ
Tutorial of GANs in Gifu Univ
 

Up to GLOW

  • 2. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. お品書き ◼ Normalizing Flows ◼ NICE: Non-linear Independent Components Estimation ◼ Real NVP ◼ GLOW 2
  • 3. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 3 Normalizing Flows
  • 4. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Variational Inference ◼ Variational Inference において,近似事後分布の選定は大事 ― VAEでは,標準正規分布を用いている ― ただ,これ制限されすぎでは? ◼ Normalizing Flows では,より強力な近似事後分布を 変換を繰り返すことで獲得する 4 尤度関数 (Decoder) 事前分布近似事後分布 (Encoder) VAEのcontribution はココ reparameterization trick
  • 5. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. DLGM: Deep Latent Gaussian Models ◼ NNの各層の出力zl が,N(0, 1) に従うと仮定 ◼ zl+1は, zl にしか依存しないので,同時分布は L を大きくすれば,複雑なモデルになる? ◼ 真の分布はもっと複雑なことが多い ◼ そもそもこの変換では,スケールが変わってない 5
  • 6. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Normalizing Flows ◼ 考えとしては, ― VAEやDLGMなどより,もっと flexible な近似事後分布を作りたい ― 単純な分布から確率分布の変数変換を繰り返して,複雑な分布にしていく 6 z0 z1 z2 z3 z4 z5 z6 https://blog.evjang.com/2018/01/nf1.html
  • 7. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換 7 について, 分布 q(z) を持つ確率変数 z を f で変換して,z′ を得る 確率分布 q′(z′) は
  • 8. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換(1次元) ◼ X は Uniform(0, 1) ◼ Y = f(X) = 2X + 1 8
  • 9. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換(1次元) ◼ X は Uniform(0, 1) ◼ Y = f(X) = 2X + 1 9 ◼ x とその近くの点 x + dx に着目 ◼ 写像後を y と y + dy とする ◼ dx の間 の p(x) の変化と dy の間 の p(y) の変化は一致する (総確率の保存)
  • 10. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換(1次元) ◼ 変形すると 10
  • 11. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換(2次元) ◼ 変換行列 F を (0, 0), (0, 1), (1, 0), (1, 1) にかけると... 11 (0, 0) (0, 1) (a, c) (1, 0) (a + b, c + d) (b, d) 面積:1 面積:ad - bc 総確率の保存のために, ad – bc で正規化する必要あり これつまり,ヤコビアン
  • 12. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Chain of K transforms ◼ ここが Normalizing Flows の キモ ◼ 関数 f を連鎖して,変形を繰り返す ◼ 初期の分布さえ,決定すれば後の分布は自由 ― 表現力の向上 ― q0(z0)さえわかれば,解析的に対数尤度がわかる 12
  • 13. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Normalizing flow を使って分布の変形 ◼ 2次元の正規分布からスタートして, NLLを最小化することでfitting 13 Transform する関数 f として, Planar flow と Radial flow を提案 (Jacobian の計算コストが低い & 逆変換ができる必要がある)
  • 14. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Planar flow ◼ 学習されるパラメータ ◼ h は非線形関数 (Leaky ReLU) ◼ Jacobian がO(D) で計算可能 14 Jacobian Log Likelihood
  • 15. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Radial flow ◼ 学習されるパラメータ ◼ その他の計算 ◼ Jacobian がO(D) で計算可能 15 Jacobian
  • 16. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 変分推論にFlow を適用する ◼ ELBOにPlanar Flow を導入 16 VAEのEncoder VAEのDecoder Free Energy Bound x z0 xzk ϵ 𝑞(𝑧0 | 𝑥, 𝜙) Encoder p x zk, θ) DecoderNF
  • 17. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Representative Power of Normalizing Flows 17
  • 18. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. まとめ ◼ 変分推論の際に表現力の高い近似事後分布を得ることができる ◼ 具体的には,VAE + NF が可能 ◼ 変換関数 f を連鎖させることで,表現力が向上する ◼ f は逆変換できる必要があり,効率的なヤコビアンの算出が必要 ◼ 筆者はPlanar flow と Radial flow を提案 18 x z0 xzk ϵ 𝑞(𝑧0 | 𝑥, 𝜙) Encoder p x zk, θ) DecoderNF
  • 19. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 19 NICE
  • 20. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. TL;DR ◼ NF での変換関数 f をNNを使って定義したモデル (NF の前年に発表された) ◼ データ x を x1, x2 に分割し,片方にだけMLP+ReLUの非線形変換 m ◼ 逆変換も用意に定義可能 20 変換 逆変換
  • 21. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 確率変数の変換 ◼ 基本的に考え方は,NF と全く同じ ◼ 論文内で定義している式は1層分の変換のみ ◼ ただ,最終的に積層するので,NFと同じ形になる 21
  • 22. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Architecture ◼ 変換f (encoder) と 逆変換 f-1 (decoder) はヤコビアンが 容易に計算できる必要あり ― 重みが三角行列なら,NNでも計算が容易 ― ただ,そのNNは制約が強すぎて,表現力が低い ◼ そこで,Coupling Layer を用いる 22 変換 逆変換 𝑥𝐼1𝑥𝐼2 非線形変換 Coupling Law 三角行列になる
  • 23. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Coupling Laws ◼ 加法カップリング g(a; b) = a + b ◼ 乗法カップリング g(a; b) = a ⊙ b ◼ アフィンカップリング g(a; b) = a ⊙ b1 + b2 23 論文内では加法カップリングを使用
  • 24. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Rescaling ◼ 加法カップリングを使うと,ヤコビアンの行列式が 1 になる ― 計算が楽になって良し ― ただ,これだと分布のスケールが全く変わらない ◼ スケーリング行列 S (対角行列)を分布に掛けてあげる 24 この S はPCA の固有ベクトルのようなもので, 各次元がどのくらいばらつきを持っているか表している と考えることができる
  • 25. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiments ◼ 層を重ねる際には,変換する/しない入力を切り替える 25 x1 x2 𝒉 𝟏 𝟏 𝒉 𝟐 𝟏 𝒉 𝟏 𝟐 𝒉 𝟐 𝟐 𝒉 𝟐 𝟑 𝒉 𝟏 𝟑 m mm m 𝒉 𝟐 𝟒 𝒉 𝟏 𝟒
  • 26. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiments 26
  • 27. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. まとめ ◼ NF での変換関数 f をNNを使って定義したモデル ◼ データ x を x1, x2 に分割し,片方にだけMLP+ReLUの非線形変換 m ― 分割は層ごとに順番を入れ替える ― 片方だけが出力され続けるのを防ぐため ◼ ヤコビアンの計算量についてはカップリングを導入 ◼ 加法カップリングで変わらないスケールはRescalingでカバー ◼ NICEとFlowの違い ― NICEは,x から z への変換(逆変換)を学習している (難しい分布を簡単な分布に) ― Flowは,z0 から zk への変換(逆変換)を学習している (簡単な分布を難しい分布に) ― 方向は逆だけど,逆変換可能なので実質同じ 27
  • 28. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 28 Real NVP
  • 29. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. TL;DR ◼ NICE で提案された アフィンカップリングがベース ◼ NICE では,MLPだけだったが,CNNへ拡張した ◼ NICE での,x1 と x2 の“入れ替え” を工夫したモデルを提案 ◼ Multi-scale Architecture の導入 29
  • 30. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. アフィンカップリング ◼ NICEでのアフィンカップリングとほぼ同じ ― スケールの部分が exp になっている 30 変換 ヤコビ 加法と違って,Rescaling は入ってる 結局 log とるので,exp 入れたら計算が楽
  • 31. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Masked Convolution 31 checker board channel-wise 奇数・偶数 前半・後半 ◼ Convolution において,入力を2つに分ける機構を提案
  • 32. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Multi-scale architecture ◼ Squeeze Operation ― (s, s, c) から (s/2, s/2, 4c) へreshape する ― tensorflow でいう tf.space_to_depth ◼ reshape後に, ― 前半チャネルは,潜在変数 z に ― 後半チャネルは,次の層へ h 32 space_to_depth depth_to_space https://arxiv.org/abs/1609.05158
  • 33. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiments 33
  • 34. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. まとめ ◼ NICE で提案された アフィンカップリングがベース ◼ NICE では,MLPだけだったが,CNNへ拡張した ◼ NICE での,x1 と x2 の“入れ替え” を工夫したモデルを提案 ― Checker board ― Channel-wise ◼ Multi-scale Architecture の導入 ― 前半チャネルは,潜在変数 z に ― 後半チャネルは,次の層へ h 34
  • 35. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 35 GLOW
  • 36. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 尤度ベースの生成モデルについて by Kingma ◼ 尤度ベースの生成モデル ― Autoregressive Models ― Variational Autoencoders ― Flow-based generative models ◼ Flow-based model のAdvantage ― 近似なしに潜在変数の推論と対数尤度の評価ができる (VAEとGANはできない) ― 並列化可能な推論と生成 (Autoregressive models はできない) ― 下流タスクにおいて有用な潜在空間が得られる (GANとAutoregressive modelsはできない) ― メモリ節約がめっちゃできる 36
  • 37. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Architecture of GLOW ◼ ベースはReal NVP ◼ +αは以下 ― Actnorm ― invertible 1 x 1 convolution 37
  • 38. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Actnorm ◼ RealNVP では,BatchNormalization が使われていた ― ただ,batch size が小さいときに問題あり (variance) ◼ チャネルごとにスケール s とバイアス b のパラメータを持って, アフィン変換する ◼ このときのs, b は最初のミニバッチが与えられたときに初期化される ― Actnorm の前の層の出力が平均0,分散が単位行列になるようにs と b を定める ― data dependent initialization (by Kingma) ― 初期化後は trainable params になる 38
  • 39. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. invertible 1 x 1 convolution ◼ NiceやRealNVPでは,チャネルの順序を反転させる置換に等しい枠組みを持つ ◼ この“置換”を 1 x 1 convolution で表現する ― 回転行列で初期化 ― 順列の一般化 39 ⅹ Σ そもそも,1 x 1 conv は pixel-wise なチャネル方向の全結合層 w : (1, 1, c, c)
  • 40. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. invertible 1 x 1 convolution ◼ Log-determinant の計算が必要だが,計算できる? ― O(c3) のようです... ◼ LU分解しよう ― O(c) になった 40
  • 41. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GLOW の処理 数式まとめ 41
  • 42. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Architecture ◼ Squeeze ― space_to_depth ― 空間解像度を落として,奥行き深く ◼ Flow ― actnorm – 1 x 1 conv – affine coupling ― この中で何度も変換を行う(K=32) ◼ Split ― 前半のチャネルを潜在変数に ― 後半のチャネルを次の層の入力に ― 1 x 1 conv で学習しているため, 前後入れ替えとかは必要なし 42 実験では, L=6, K=32
  • 43. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiments 43
  • 44. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Manipulation について ◼ Glowはconditional な生成の枠組みを持てない ◼ なので,Semantic Manipulation はあと付け ― CelebA にはAttributeが,バイナリで保存されている ― 例えば,メガネ属性が 1 の集合 XPOS と 0 の集合 XNEG を作成 ― それぞれの集合から,平均潜在変数 ZPOSと XNEG 求め ― 線形補間する 44
  • 45. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. まとめ ◼ RealNVP に以下を追加 ― Actnorm ― Invertible 1 x 1 convolution ◼ Actnorm はBNの弱点をカバー ◼ 1 x 1 convolution でチャネルの順番操作を学習 ◼ 高解像度の画像生成に成功 45
  • 46. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 全体通してのまとめ ◼ Normalizing flowsは,単純な分布から複雑な分布へ変換を学習 ― 尤度計算は確率変数の変換によって得られる ― その尤度最大化(近似無しでわかる) ― 逆変換可能 ◼ NICEは,複雑な分布(データそのもの)から単純な分布へ変換を学習 ― 尤度計算は確率変数の変換によって得られる ― その尤度最大化(近似無しでわかる) ― 逆変換可能 ◼ GLOWは,NICE・RealNVPに色々工夫を加えたもの ― Actnorm ― 1 x 1 convolution 46 結局同じこと!!