全4054文字
PR
この記事は日経Robotics 有料購読者向けの過去記事(再掲載)ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
著者の岡野原大輔氏
著者の岡野原大輔氏

 与えられたデータセットの分布に従ってデータを生成するように学習する生成モデルは、画像や音楽などデータを生成するためだけでなく、観測から現実の世界モデルを構築し、その上でエージェントが学習や計画を立てられるようにしたり、データの意味を捉えた特徴を教師なしで学習できるため、近年非常に注目を集めている。

 画像や音声など高次元データの生成モデルとしては大きく尤度ベースの手法と敵対的生成モデル(GAN:Generative Adversarial Network)を使った手法に分けられる。尤度ベースの手法はさらに、WaveNetなどの自己回帰モデル(Auto Regressive Model)、尤度の変分下限を最適化する変分自己符号化器(VAE:Variational AutoEncoder)、フローベースの生成モデルに分けられる。

 フローベースの生成モデルは潜在変数を単純な事前分布$p(z)$(ガウシアンや一様分布)から生成し、それに可逆な変換を繰り返し適用していき目標の分布$p(x)$からのサンプルを得る。フローベースの生成モデルは次のような特徴がある。

(1)データの正確な尤度が評価できる。これに対し、VAEは近似である変分下限しか得られない。

(2)データの生成過程全体が可逆な変換のため、データから潜在変数への正確な変換ができる。これを推論または符号化ともよぶ。GANには推論の仕組みは備わっておらず、自己回帰モデルには潜在空間が存在しない。

(3)生成、推論ともに並列計算が可能であり、現在のGPUなど並列プロセッサで高速に生成可能である。これに対し自己回帰モデルはデータの各次元の値を逐次的に生成するため、並列処理ができず生成が遅い。

(4)潜在変数が他のタスクにも有効である。これに対し自己回帰モデルは潜在空間が存在せず、GANは学習の仕方から全てのデータ点に有効な潜在変数が割り当てられる保証が無い。

(5)逆変換が可能なため、誤差逆伝搬時に途中の活性値も逆向きに順に生成できるため、途中の活性値を保存しておく必要がない。これにより学習時に必要なメモリ量を層数によらず一定にできる。他の生成モデルは逆変換はできない。

 これらの特徴を備えるため、フローベースの生成モデルは有望視されてきたが、使える変換に制限があるため他の生成モデルに比べて生成データの品質が低いという問題があった。2018年に米OpenAIのDurk Kingma氏(VAEやAdamの作者)らが、2016年に発表されていたフローベースの生成モデルであるRealNVP1)を改良したGlow2)を発表した。Glowはフローベースの生成モデルでありながら最新のGANに匹敵するような品質の画像を生成できることを示し、一気に生成モデルの有力な選択肢となっていた。

 以下にRealNVPとGlowの手法について解説する。前述のようにフローベースの生成モデルでは潜在変数をガウシアンなど単純な分布から生成し、$z \sim p(z)$、次に可逆な変換$g$を使って$x=g_{\theta}(z)$のようにデータを生成する。ここで$\theta$は学習対象のパラメータである。生成時の変換$g$は可逆であるため、逆変換$f$が存在し、$z=f_{\theta}(x)= g_{\theta}^{-1}(x)$が成り立つ。この$f$を使って与えられたデータに対応する潜在変数を正確に推論できる。以降$\theta$は省略する。可逆変換は、一般に複数の可逆変換が連なったものであり、$h_1 = f_1(x), h_2 = f_2(h_1) , ..., z=f_K(h_{k-1}) $のように表される。このような可逆な変換の連なりを(正規化)フローとよぶ。

 次に、可逆変換によって密度関数がどう変わるかを説明する。例えば、一次元変数$z$の確率密度が$0 \leq z \leq2$では$p(z)=1/2$、それ以外は$p(z)=0$であり、変換が$x=g(z) =3z$の場合、値が3倍に引き伸ばされているので確率密度はその$1/3$をかけて$p(x)=p(z) * 1/3$とする必要がある。これを多次元の変数に拡張した場合、変数変換公式により、確率密度関数が$p(z)$である変数$z$を可逆関数で$x=f(z)$と変換した時、$\log p(x) = \log p(z)$$+ \log | \det(dz / dx) |$という式が成り立つ。ここで$dz / dx$はヤコビアン行列であり、$\det$は行列式である。ヤコビアン行列の行列式は元の空間での体積が変換後に(符号付きで)何倍になったかを示す。ここでヤコビアンは$dx/dz$でなく、$dz/dx$であり、$|\det(dz/dx)|=|\det(dx/dz)|^{-1}$であることに注意する。

 このヤコビアン行列の行列式は高次元の場合、非常に複雑な式になりうるが、ヤコビアン行列が三角行列(対角成分より上または下半分が全て0であるような行列)の場合、その行列式は対角成分の積となり簡単に計算できる。この変数変換公式を使い、データ$x$の対数尤度は次のように求められる。 \[\log p(x) = \log p(z) + \sum_{i=1}^K \log | \det (dh_i / dh_{i-1}) |\]

 フローベースの生成モデルで扱う変換は、可逆変換で逆変換が容易に求まり、また変換のヤコビアン行列の行列式が高速に求まることが望ましい。RealNVPはこれらを満たす変換としてAffine Coupling Layerを提案した。

 この変換では、はじめに入力を$x$をチャンネルを分割するなどして2つの変数$x_a,x_b$に分割し、次に$x_b$からニューラルネットワークなど任意の変換NNを使ってスケール$s$とバイアス$t$を計算し$(s,t) = NN(x)$、次に$y_a =$$x_a \odot \exp(s) +t$を計算し、$y_b=x_b$とする。最後に$y_a$と$y_b$を結合して$y$を得る。この$x$から$y$への変換のヤコビアン行列$\frac{dy}{dx}$は次のような上三角行列となり、行列式は$\exp(\sum_is_i)$と簡単に求まる。 \[\frac{dy}{dx} = \left ( \begin{array}{cc} \rm diag (\exp(s)) &\frac{dy_a}{dx_b} \\ 0 & I \end{array}\right ) \] また、このAffine Coupling Layerは逆変換が容易に求まる。実際$x_b =y_b$であり、$x_b$を使って$t, s$は順変換と同じようにして求めた上で、 $x_a = (y_a - t) \odot \exp(-s) $と求められる。このAffine Coupling Layerでは変数の一部しか変換しないが、次元間の置換などの操作を加え別のAffine Coupling Layerと組み合わせれば全ての次元が変換されるようにできる。

 GlowはこのRealNVPを次の2点で改良している。1つ目はActnormとよばれる正則化である。高解像度の画像生成を学習する場合、メモリ容量の問題からバッチサイズが1程度しか使えない。そのため、ミニバッチの統計量を必要とするバッチ正規化がそのままでは使えない。Actnormは代わりに最初にミニバッチデータの統計量を使って各チャンネルの出力が平均0、分散1になるようなスケールとバイアスを求め、後はこれらを通常の学習可能なパラメータとして更新する。

 2つ目は可逆な1×1畳み込み演算である。RealNVPではチャンネル方向に情報を混ぜるように固定の置換を使っていた。Glowは置換を一般化した1×1畳み込み演算を使い変換の表現力を上げた。1×1畳み込み演算の行列式、逆変換は直接計算する。この場合のコストはチャンネル数が$c$の時、$\mathcal O(c^3)$である。それに対し、高さ$h$, 幅$w$の特徴マップの畳み込み演算の計算量が$\mathcal O(hwc^2)$であるのに対し行列式、逆変換のコストは許容できる。

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 Glowを使って顔画像の256×256など高解像度の画像生成を直接学習することができた。この際、確率密度の温度$T$は$p_T(x)\propto p(x)^{T^2}$であるが、温度を$1$よりも低くしてサンプリングをした。これにより確率が高いところからのみ生成できるようにした。一方で温度が低すぎると生成する画像のバリエーションが少なくなってしまうため、$T=0.7$ぐらいが画像の質とバリエーションの両方を保つことができると示している。

 尤度ベースの手法はGANベースの学習に比べて安定的に学習でき、また性能も尤度で直接評価できることから工学的には優れている手法である。今後フローベースの生成モデルも選択肢の一つとして入ってくるだろう


1)L. Dinh et al.,“Density Estimation using Real NVP,”ICLR 2017, https://arxiv.org/abs/1605.08803

2)D. K.Kingma et al.,“Glow: Generative Flow with Invertible 1×1 Convolutions,” https://arxiv.org/abs/1807.03039
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔(おかのはら・だいすけ) 2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。