Flow-based 生成モデルの学習安定化手法の提案○立浪祐貴 瀧雅人 （立教大学）

Methods for Stabilizing Flow-based Generative Models.
∗Y. Tatsunami and M. Taki (Rikkyo University)
Abstract– Nowadays, ﬂow-based generative models have been attracting attention from the perspectivethat they are capable of not only generation but also density estimation. On the other hand, the models
require more computational resources in exchange for its reversibility than other generative models. As aresult, environments where there are no suﬃcient computational resources are forced to train in small minibatch sizes. The condition induces problems such as divergence of the objective function and outputs which
the models generate being outside the expected value range. In our work, we focus on Jacobian determinants
and initializations of parameters, of layers that compose the models, especially GLOW, and propose new
improvement methods. Additionally, we use some benchmark image datasets to attest that our techniques
can contribute to stable learning.
Key Words: Deep generative models, Regularization, Initialization of parameters1

導入

近年、深層学習よる生成モデル、特に敵対的生成ネッ
トワーク (GAN)12) 、変分オートエンコーダー (VAE)17)は大きな注目を集めている。これらのモデルはサンプルデータを 1 回の順伝播によって望むデータを生成することができるが、正確な密度推定を行うことはできない。
一方で、MADE11) 、PixelRNN27) 、PixelCNN26) のような自己回帰モデルは正確な密度推定は可能であるものの、出力次元にわたって連続的にループをする必要があり、サンプリングコストが高い。これらの深層生成モ
デルのデメリットを克服するモデルに Flow-based 生成モデルの一種である Coupling Flow がある。Coupling
Flow は 6) NICE、RealNVP7) 、GLOW16) などがよく知られている。このネットワークは、Coupling と呼ばれるモジュールを含む、可逆な写像の合成から成る。正確な密度推定と、シンプルな最尤法で学習が可能である。さらに、等方性正規分布などの計算しやすい分布を仮定した潜在空間から学習時に使った写像の逆写像を用いて写像することで、容易にデータをサンプリングすることができる。中でも、GLOW16) は定量的に良い結果が報告されている上に、高品質な画像を生成することもできる。更に、GLOW は GAN のようにモード崩壊 24) に悩まされることはない。
一方で Coupling Flow には可逆であるがゆえに使用するメモリ資源が多いという課題もある。従って、十分なメモリ資源を持たない環境においては、学習時のバッチサイズを小さくせざるを得ない。ところが、我々の研究によると、バッチサイズを小さくした場合にはGLOW には不安定さが顕れる。例えば、学習中に損失関数の出力が発散する、生成したデータのある成分が発散する、もしくは想定するレンジ外のデータが生成されるといった問題が浮き彫りになる。
これらの問題を改善するために、理論的な考察から、二つのアプローチをする。最初のアプローチは、写像の可逆性と等長性に注目した。我々は GLOW が非特異であることの証明を知らない。それゆえに、広く知られている非特異であるための十分条件 (ヤコビ行列式が非零) を満たすような学習を考察することには意味がある。さらに言えば、スケーリングが必要とされていない層については、等長性を課すことで、出力の発散を抑止することができる。具体的には、ヤコビ行列式が入力に依存しない場合は対数ヤコビ行列式を 0 に近づけるように学習すること、そうでない場合は対数ヤコビ行列式が 0 付近となるように各 ﬂow モジュールを修正することである。これらは GLOW の安定化に貢献する。
もう一つのアプローチは、データ駆動のパラメータ初期化を改善することである。データ駆動のパラメー
タ初期化を行う Actnorm16) は、バッチサイズが小さいほどバイアスがかかる初期化方法をしていた。我々の方法ではバイアスがかかりにくい方法でデータの選択を行い、初期化に使用する。
この研究では、これらのアプローチを以って GLOWを改善した新しい安定的な Flow-based 生成モデルを提案する。このモデルは限られたリソースであっても安定的に学習できる非常に実用的な深層生成ニューラルネットワークである。

2

関連研究

可逆なニューラルネットワーク 本研究は NICE6) 、RealNVP7) 、GLOW16) に代表される Coupling Flow のアイディアを元に構築されている。NICE6) では可逆なCoupling 層が考案された。RealNVP7) では、 MaskedConvolution が提案され、NICE よりも良い性能を示した。GLOW16) は Masked Convolution を改良した
1 × 1 LU Convolution と、Actnorm を導入した結果、さらなる性能改善を実現した。本研究では GLOW のアーキテクチャを継承しており、GLOW と比較して論じている。Coupling Flow のアイディアは他にもある。Flow++14) では uniform dequantization25) に代わる variational dequantization、あるいは CDF や selfattention を利用した Coupling の手法が提案されている。また、Spline Flow22, 8, 9) というアーキテクチャも知られている。Coupling Flow 以外のアイディアでは、Residual Network を可逆化した i-ResNet1) 、 Resudial
Flow4) や、ODE ベースの Flow の研究 5, 13) がある。
また、可逆なニューラルネットワークの可逆性について論じた研究 3, 2) もある。
ヤコビ行列式に着目した正則化 本研究では、パラメータの直交化のためにヤコビ行列式を正則化に利用している。我々の知る限り、本研究のような意図で、ヤコビ行列式を正則化に利用した研究はない。一方、他の意図でヤコビ行列式を正則化に利用してる例はある。
例えば、ヤコビ行列式のフロベニウスノルムを正則化に利用している研究 23, 15) がある。特に Hoﬀman らの研究 15) はこの正則化がモデルのロバスト化に貢献することも示した。可逆なニューラルネットにおいてもヤコビ行列式のフロベニウスノルムは有用である。例えば、ODE ベースの Flow の正則化の研究 10) ではヤコビ行列式のフロベニウスノルムを正則化が使用されている。Mok らの研究 21) ではトポロジー保存変換を意図した選択的ヤコビアン行列式正則化が提案されている。Behrmann らの研究 2) では可逆なニューラルネッ
トワークのアーキテクチャにおける不正確な勾配が計算される問題や、正規化フローモデルからのサンプリングができない問題が提起されている。その問題への対応策の一つとして、双方向有限差分正則化が提案されている。

3

背景

この節では Coupling Flow の基礎となる Normalizing
Flow の定義を始めとする、我々の結果を説明するために必要な背景知識を取り上げる。Normalizing Flow は可逆な写像の合成によって定義される。同じ次元の Z, Xの 2 つの空間が与えられ、C 1 級でパラメトリックな可逆写像 fθ : X → Z と事前分布 pZ (z) が与えられているとする。この条件のもとで log pX (x) は以下の通り計算することができる。

log pX (x) = log pZ (fθ (x)) + log∂fθ (x)∂x(1)∂f (x)

θ
ここで、 ∂xは fθ の x でのヤコビアンである。このような ﬂowfθ をたくさん用意してそれらを合成することで、複雑な可逆写像 f を構成できる。事前分布として等方性ガウス分布のような扱いやすい分布を仮定し、負の対数尤度 − log pX (x) を目的関数として最小化する。こうして得られたネットワーク f は密度推定に、逆写像 f −1 は生成に利用できる。
Normalizing Flow における課題の 1 つは、計算量が少なく扱いやすいヤコビ行列になるように各 ﬂowfθ を設計することである。GLOW16) のアーキテクチャで使用されている可逆なモジュールについての概要は Table
1 に示し、説明は以下に記述する。

3.1 Coupling 層
Coupling 層は NICE6) , RealNVP7) で提案されている。この層は入力 x を x1 , x2 に分割し、その一方 x2にパラメトリックな写像 s, t を作用させる。これを利用して x1 を変換した結果 z 1 を x2 と連結し、それを出力 z とする。Additive Coupling は Aﬃne Couplingのスケーリング部分がない特別な場合である。
3.2 Actnorm 層
Actnorm 層は GLOW16) で提案されている。スケー
リングと並行移動のパラメータを持つ正規化層である。
初期のミニバッチデータを使用して、この層への入力に対して、チャンネルごとに精度 σ と要素の平均の反Modules

Maps

Inverse Maps

L.J.D.

Additive Couplingx1 ⊕ x2 = xz 1 = x1 + t(x2 )z = z 1 ⊕ x2

z1 ⊕ z2 = z
x1 = z 1 − t(z 2 )x = x1 ⊕ z 20Aﬃne Couplingx1 ⊕ x2 = xz = exp (s(x2 )) ⊙ x1 + t(x2 )z = z 1 ⊕ x2

z1 ⊕ z2 = zz 1 −t(z 2 )x = exp(s(z 2 ))x = x1 ⊕ z 2sum(log |s(x2 )|)Actnormz =x⊙σ+τx = (z − τ )/σh · w · sum(log |σ|)1 × 1 LU Convolution∀i, j : z i,j = W xi,j∀i, j : xi,j = W −1 z i,jh · w · sum(log |u|)Table 1: The forward and inverse maps and the logarithm Jacobian determinants are described for the 4types of layers mentioned. Let x be the input to thelayer and let z be the output from the layer. x andz are tensors, whose shape is [h × w × c], where h is
the height of the space, w the width of the space, andc the dimension of the channels. We denote by W
the [c × c] weight matrix, by s, t the any maps, andby σ, τ trainable parameters. ⊕ is a direct sum, and⊙ is a Hadamard product, i.e., an element-wise product. Note that the results of the logarithm Jacobian
determinant are discussed in GLOW16) .
数 τ を計算し、それらをスケーリングと並行移動のパラメータとする。このデータ駆動的初期化方法は学習の安定化に貢献する。

3.3 1 × 1 LU Convolution 層
1 × 1 LU Convolution 層は GLOW16) で提案されており、NICE6) 、 RealNVP7) で使用されている固定置換の一般化である。Convolution に使用される重み行列 W をランダムな直交行列で初期化し、重み行列のLU 分解 W = P LU に対して、L, U のみをパラメタライズする。行列式は u = diag(U ) を用いて容易に計算できるため、LU 分解を使用しない場合と比較すると、行列式の計算量を O(n3 ) から O(n) に削減できる。

4手法

この節では、GLOW の学習の安定に有用な正則化や初期化の手法を提案する。1 × 1 LU Convolution 層の改善を図る対数ヤコビ行列式罰則と、Actnorm 層の改善を図る Actnorm の累積的初期化を導入する。

4.1 対数ヤコビ行列式罰則
1 × 1 LU Convolution のように、変換そのものが入力に依存しない、線形変換として表現可能な層は、その対数ヤコビ行列式が固定的である。それがゆえに、対数ヤコビ行列式に静的な制限を与え、その重み行列を直交行列に近づけることができる。すなわち、目的関数を次で定義可能である:
X
J(x) = log pX (x)+λ·|h·w·sum(log |u|)|2 .
1×1 LU Conv.

(2)
ここで λ は罰則の大きさを与えるハイパーパラメータである。次元に依存せずに λ を調節するため、5 節の実験では bpd 基準での負の対数尤度に対して、λ を設定している。この正則化手法は行列の直交化を強制して、GLOW 全体を非特異から乖離しないようにする。
さらに、1 × 1 LU Convolution を等長写像に近づける働きをし、急激なスケール変化を抑制する。その結果、生成するデータが想定範囲の値に収まるような学習を実現している。これら理由からも安定化に貢献すると考えられる。実際に我々の手法が安定的な学習にとってよい効果をもたらすことは 5 節で実験的に示す。また、1 × 1 LU Convolution に与えられた役割は固定置換と同様のシャッフルの役割であるが、直交行列に近づけたとしてもその役割を果たせること注意する。

4.2 Actnorm の累積的初期化
Actnorm 層はバッチサイズが小さい場合に、悪い挙動を示すことがある。この事実は実際に 5.2 の実験でも示す。このように悪い挙動を示す理由は、最初のミニバッチのデータを元に初期化をしているため、ミニバッチサイズが小さい場合はその初期値が高バイアスとなるためである。単純に最初のいくつかのミニバッチのデータの平均と分散を使って初期パラメータを決定することで、この問題を回避できる。この初期化は少ない計算コストで高速に最適な初期値を設定することができ、後で実験で示すようにミニバッチサイズ 1の場合であっても、問題なく学習できる。
Actnorm の累積的初期化のアルゴリズムは Algorithm 1 に従って、Actnorm のスケーリングパラメー
タ σ とバイアスパラメータ τ を初期化する。M は初期化に使うミニバッチ数、{xm }M
m=1 を初期化に使うミニバッチ、b はミニバッチインデックス、c はチャンネ
ルのインデックスを表す。
Algorithm 1 The cumulative initialization of Actnorm
1: procedure Initialization({xm }Mm=1 , σ, τ )
2:
µ←0
3:
ν←04:
for m ∈ 1, ..., MPdo15:µ ← µ + bc
xP b, c m;b,c1
6:
ν ← µ + bc b, c x2m;b,c
7:
end for8:σ ← √ ν 1µ 2
M −( M )+ϵτ ← − σ⊙µM
10: end procedure
9:

5

実験

我々の実験は GLOW16) のアーキテクチャを基本とする。このアーキテクチャの構造は Fig. 2 のように、
squeeze、 step of ﬂow、 split から成る。これらの要素を繰り返す数を L、step of ﬂow を繰り返す数を K と記載している。Fig. 1 は step of ﬂow の構成要素を示している。我々の実験では Coupling 層の種類を実験によって変更する。

Fig. 2: The overall architecture of GLOW, which
achieves complex representations and reduces theamount of computation through the iterative structure consisting of 3 components.
小さいミニバッチサイズであっても安定した学習を行うため、オプティマイザは RAdam19) を採用し、β1 =0.9, β2 = 0.999, ϵ = 10−8 に設定する。特に記載がない場合は、Actnorm の初期化は 256 個のミニバッチで初期化している。また、学習時にはデータに対して uniformdequantization25) を適用している。

5.1

1 × 1 LU Convolution の対数ヤコビ行列式罰則の効果を検証するために、さまざまなデータセットで学習し、テストデータの bpd で定量的に評価する。学習率は 10−4 , ミニバッチサイズ 32, K = 32 L = 4 とし、エポック数は最大 200 に設定し、CIFAR-1018) について検証した。Additive Coupling については対数ヤコビ行列式罰則の有用性を比較検証するため、正則化係数λ = 10−5 で正則化した場合と、対数ヤコビ行列式罰則を一切与えない場合を検証した。Aﬃne Coupling については正則化係数 λ = 10−5 のみ検証した。
検証結果については Table 2 に示した。実験結果では、Additive Coupling 、Aﬃne Coupling のいずれの場合も、対数ヤコビ行列式罰則を使用しない場合は損失が nan を出力しているが、対数ヤコビ行列式罰則を使用した場合は 200 エポックの学習が問題なく完了している。この事実から、対数ヤコビ行列式罰則の有効性が確認できた。
対数ヤコビ行列式罰則を使用して学習した各モデルで画像生成も行える。その結果は Fig. 3 に示した。
5.2

Fig. 1: The step of the ﬂow are composed of Actnorm,
1 × 1 LU Convolution and coupling.

対数ヤコビ行列式罰則についての定量的評価

Actnorm の累積的初期化の検証

Actnorm の累積的初期化の有効性を示すために、従来の Actnorm の初期化手法では学習が難しい状況において、我々の初期化手法と比較検証を実施した。256 個のミニバッチを使用して初期化して Actnorm の累積的初期化を行ったケースと GLOW で提案された Actnormの初期化を行ったケースとを比較検証を行った。実験には Additive Coupling を使用し、ハイパーパラメータはミニバッチサイズ 1、正則化係数 λ = 10−3 、学習率10−5 を使用した。データセットは CelebA20) 、 CIFAR1018) を用いて検証を行った。Fig. 4 に示した通り、我々CouplingλAdditive Coupling0

Additive Coupling

10Aﬃne Coupling

0−5bpdlossnannan3.60

4.30

nannanAﬃne Coupling
10−5 3.56 4.27
Table 2: In the experiment in Subsection 5.1, we evaluated the results on the validation dataset every 10epochs out of 200 epochs. If there was no improvement of bits per dims for two epochs in a row in theevaluation of the validation dataset, the training wasterminated. The table shows the best bits per dims of
the evaluated values and the corresponding objectivevalues.

行える有効的な手段であることを示している。

(a) The CelebA case(b) The CIFAR-10 caseFig. 4: The experiment in Subsection 5.2. Red: theresults when using the traditional Actnorm initialization, and the bpd diverges on both datasets. Green:
the results of using the cumulative Actnorm initialization which we proposed, and the training is progressing without divergence.
(a) Additive Coupling(b) Aﬃne Coupling

Fig. 3: Example images generated by each modeltrained with the natural logarithm of the Jacobian
determinant penalty, on CIFAR-10.の初期化方法では損失が発散することなく学習が進むが、GLOW オリジナルの初期化方法では学習の初期段階で損失が発散した。この実験結果は、我々の手法が小さいミニバッチサイズで安定的に GLOW の学習を加えて、CelebA を使用した、ミニバッチサイズ 1、かつ 1 バッチで初期化した場合の実験において、2 回目のイテレーションにおける Additive Coupling 層の出力を観察した。その結果を Fig. 5 に示した。

Fig. 5: The ﬁgure shows the example of absolute maximum outputs in the initial stage of learning. The
horizontal axis is the number of layers of additive
couplings in a GLOW, with the layer closest to theinput being labeled 1, and the layers sequentially labeled thereafter. The vertical axis is the common logarithm of absolute maximum output of each additivecoupling.
GLOW の通常の Actnorm の初期化では、2 イテレーション目、つまりパラメータの更新を 1 回のみ行った

状況でも、出力の絶対値の最大が 108 程度になっている。それゆえに、bpd も大きくなる。このことは、学習が初期段階ですでにうまくいっていないことを示している。

6

結論及び今後の展望

我々の研究では Flow-Based 生成モデルとしてよく知られている GLOW16) を改善した。新たに提案した対数ヤコビ行列式罰則による正則化手法、Actnorm の累積的初期化の 2 つの手法を以って、安定的な学習が行えることを示した。更に、我々が提案した手法は小さいミニバッチサイズであっても有用であることに言及し、限られたリソース上での Coupling Flow の学習可能性を明らかにした。今後のこの研究の展望としては、
bpd がオリジナルの GLOW に劣らず強力であること、より高解像度の画像であっても、定性的によい画像が生成可能であることを検証しようと試みている。加えて、実施済の実験に対して、他のデータセットでの検証を進める。また、我々の研究で提案している手法の1 つである対数ヤコビ行列式罰則については、一般のConvolution にも適用できる。そのため、他の CNN の学習の安定化にも効果がある可能性もある。それについては今後の研究の課題としたい。

参考文献
1) J. Behrmann, W. Grathwohl, R. T. Chen, D. Duvenaud, and J.-H. Jacobsen. Invertible residualnetworks. In International Conference on Machine Learning, pages 573–582. PMLR, 2019.
2) J. Behrmann, P. Vicol, K.-C. Wang, R. Grosse,and J.-H. Jacobsen. Understanding and mitigating exploding inverses in invertible neural networks. arXiv preprint arXiv:2006.09347, 2020.
3) J. Behrmann, P. Vicol, K.-C. Wang, R. B. Grosse,and J.-H. Jacobsen. On the invertibility of invertible neural networks. 2019.
4) R. T. Chen, J. Behrmann, D. K. Duvenaud, andJ.-H. Jacobsen. Residual ﬂows for invertible generative modeling. In Advances in Neural Information Processing Systems, pages 9916–9926, 2019.
5) R. T. Chen, Y. Rubanova, J. Bettencourt, andD. K. Duvenaud. Neural ordinary diﬀerentialequations. In Advances in neural information
processing systems, pages 6571–6583, 2018.
6) L. Dinh, D. Krueger, and Y. Bengio. Nice: Nonlinear independent components estimation. arXiv
preprint arXiv:1410.8516, 2014.
7) L. Dinh, J. Sohl-Dickstein, and S. Bengio. Density estimation using real nvp. 2017.
8) C. Durkan, A. Bekasov, I. Murray, and G. Papamakarios. Cubic-spline ﬂows. Workshop on Invertible Neural Networks and Normalizing Flows,
International Conference on Machine Learning,
2019.

9) C. Durkan, A. Bekasov, I. Murray, and G. Papamakarios. Neural spline ﬂows. In Advancesin Neural Information Processing Systems, pages
7511–7522, 2019.
10) C. Finlay, J.-H. Jacobsen, L. Nurbekyan, andA. Oberman. How to train your neural ode: theworld of jacobian and kinetic regularization. InInternational Conference on Machine Learning,pages 3154–3164. PMLR, 2020.
11) M. Germain, K. Gregor, I. Murray, andH. Larochelle. Made: Masked autoencoder fordistribution estimation. In International Conference on Machine Learning, pages 881–889, 2015.
12) I. Goodfellow, J. Pouget-Abadie, M. Mirza,
B. Xu, D. Warde-Farley, S. Ozair, A. Courville,and Y. Bengio. Generative adversarial nets. In
Advances in neural information processing systems, pages 2672–2680, 2014.
13) W. Grathwohl, R. T. Chen, J. Bettencourt,
I. Sutskever, and D. Duvenaud. Ffjord: Free-form
continuous dynamics for scalable reversible generative models. In The 7th International Conference on Learning Representations (ICLR), 2018.
14) J. Ho, X. Chen, A. Srinivas, Y. Duan, andP. Abbeel. Flow++: Improving ﬂow-based generative models with variational dequantization andarchitecture design. In International Conferenceon Machine Learning, pages 2722–2730, 2019.
15) J. Hoﬀman, D. A. Roberts, and S. Yaida. Robust learning with jacobian regularization. arXiv
preprint arXiv:1908.02729, 2019.
16) D. P. Kingma and P. Dhariwal. Glow: Generative ﬂow with invertible 1x1 convolutions. In Advances in neural information processing systems,
pages 10215–10224, 2018.
17) D. P. Kingma and M. Welling. Auto-encoding
variational bayes. In The 2nd International
Conference on Learning Representations (ICLR),
2013.
18) A. Krizhevsky, G. Hinton, et al. Learning multiple layers of features from tiny images. 2009.
19) L. Liu, H. Jiang, P. He, W. Chen, X. Liu, J. Gao,and J. Han. On the variance of the adaptive learning rate and beyond. In International Conference
on Learning Representations, 2019.
20) Z. Liu, P. Luo, X. Wang, and X. Tang. Deeplearning face attributes in the wild. In Proceedings of International Conference on ComputerVision (ICCV), December 2015.

21) T. C. Mok and A. Chung. Fast symmetricdiﬀeomorphic image registration with convolutional neural networks. In Proceedings of theIEEE/CVF Conference on Computer Vision andPattern Recognition, pages 4644–4653, 2020.
22) T. Müller, B. McWilliams, F. Rousselle,
M. Gross, and J. Novák. Neural importance sampling. ACM Transactions on Graphics (TOG),
38(5):1–19, 2019.
23) R. Novak, Y. Bahri, D. A. Abolaﬁa, J. Pennington, and J. Sohl-Dickstein. Sensitivity and generalization in neural networks: an empirical study.
In The 6th International Conference on Learning
Representations (ICLR), 2018.
24) T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, and X. Chen. Improved techniques for training gans. Advances in neural
information processing systems, 29:2234–2242,
2016.
25) B. Uria, I. Murray, and H. Larochelle. Rnade:The real-valued neural autoregressive densityestimator. Advances in Neural information processing systems, 26:2175–2183, 2013.
26) A. Van den Oord, N. Kalchbrenner, L. Espeholt,
O. Vinyals, A. Graves, et al. Conditional image
generation with pixelcnn decoders. Advances inneural information processing systems, 29:4790–4798, 2016.
27) A. Van Oord,
N. Kalchbrenner,andK. Kavukcuoglu. Pixel recurrent neural networks. In International Conference on Machine
Learning, pages 1747–1756. PMLR, 2016.