エネルギーベースモデルとしての敵対的生成ネットワーク(GAN)と自己符号化器におけるリアプノフ安定最適化 | Accel Brain

エネルギーベースモデルとしての敵対的生成ネットワーク(GAN)と自己符号化器におけるリアプノフ安定最適化

Accel Brain; Console×

問題設定:エネルギーベースモデルの混合問題

エネルギーベースモデルにおける勾配(gradient)の意味論の主導的差異となるのは、正負の位相項(phase terms)の区別である。伝統的に勾配概念は、正の位相項と負の位相項という二つの異なる項に分解される。これら二つの項は、エネルギー関数形態化させる二つの異なる「力(forces)」として記述できる。正の位相項が訓練サンプルxのエネルギーを減少させる力を持つ一方で、負の位相項はエネルギーモデル分布からサンプリングされるサンプルのエネルギーxを増加させる力である。エネルギーモデル分布がデータ分布と一致するということは、二つの項における対数尤度勾配が極大値になることと等しい。正の位相における期待値は、全ての訓練サンプルにおいて合計することによって、あるいは確率的勾配降下法においてモンテカルロ法で推定することによって、正確に計算することが可能になる。

しかし、負の位相における期待値は、エネルギー関数に関連したモデルに基づくサンプリングを必要とする。一般的に、エネルギーベースモデルからバイアスの伴わない正確なサンプリングを実行するのは困難である。この問題は一つのパラドックスとして記述できる。例えば分布$$p(a, b)$$を規定する二つの変数のみを有したエネルギーベースモデルを想定するなら、aを抽出するには$$p(a \mid b)$$からサンプリングしなければならず、またbを抽出するには$$p(b \mid a)$$からサンプリングしなければならない。卵が先なのか鶏が先なのかという意味で、この循環関係はパラドックスを引き起こす。通常このパラドックスは、無向グラフ有向グラフ区別が導入されることで、即座に脱パラドックス化される。有向モデルは、そのグラフが有向かつ非巡回であるようなモデルである。それ故に有向モデルを採用すれば、予め上記のパラドックスを回避した状態で、エネルギーベースモデルを設計することが可能になる。

エネルギーベースモデルは、「マルコフ連鎖モンテカルロ法(Markov chain Monte Carlo method: MCMC method)」を採用することで、上記の問題を回避している。MCMCは通常、反復的なサンプリング手順と共に利用される。データ分布が多くのモード形態を含む複合的な分布を有する場合に、訓練は最終的に、モデルからのMCMCによるサンプリングではモード形態混合(mix)に時間が掛かり過ぎるという問題を派生させる。

混合時間が掛かり過ぎるということは、マルコフ連鎖平衡分布に到達するまでにどの程度の時間を要するのかが予めわからないということである。そのためサンプリングの実務においては、しばしば混合が不十分に留まる傾向にある。理想的には、$$p(x)$$からサンプリングするように設計されたマルコフ連鎖からの連続サンプルは、互いに完全に独立である。それらは、その確率に比例して、xの空間内の多くの異なる領域に発現する。しかしそうではなく、特に高次元の場合には、MCMCによるサンプルは強く相関するようになる。それは混合の緩やかな「失速(slow)」か、もしくは「失敗(failure)」を表す。

このような混合を有したMCMCは、連鎖の状態、すなわちサンプリングされた確率変数に関して、エネルギー関数に対するノイズありの勾配降下を実行していると見做せる。一般的に、エネルギー$$E(x^{(t)})$$がエネルギー$$E(x^{(t-1)})$$より低いか、ほぼ等価と見做せる場合には、連鎖は状態$$x^{(t-1)}$$から状態$$x^{(t)}$$まで、小さなステップを取る傾向がある。これは、マルコフ連鎖の状態空間において、連鎖がより低いエネルギーをもたらす移動を優先するためである。

連鎖が起こりそうにない状態から出発した場合、その後の連鎖によって状態のエネルギーが徐々に減衰される。そして連鎖は、稀にしか他のモードに移行しない傾向を示し出す。連鎖が低エネルギー領域となるモードを一旦発見すると、連鎖はそのモードの周辺を移動する傾向を示す。この移動は、一種の「ランダムウォーク(Random walk)」としての様相を呈する。勿論、時にはそのモードを脱する場合もあれば、通常のモードに回帰する場合もある。ただし、モデルの設計者にとって興味深くなるであろう何らかの特徴を備えた分布においては、そうした脱出ルートが含まれている可能性は低い。その結果マルコフ連鎖は、同じモードを必要以上に長くサンプリングし続けることになる。

このことが意味するのは、マルコフ連鎖探索には冗長性が伴っているということである。それは、マルコフ連鎖の実行時間には無駄が生じている可能性があるということでもある。しかし、マルコフ連鎖平衡状態に達したか否かを検証するのもまた困難である。連鎖が収束すること自体は、理論的に保証されている。だがそれを実際の観測することは困難となる。例えばマルコフ連鎖確率ベクトルvに作用する行列Aの観点から記述するなら、$$A^t$$が唯一の固有値1を覗いた全ての固有値実質的にAから失った場合に、連鎖が混合することになる。つまり、2番目に大きい固有値の大きさが、混合時間を規定していることを表している。しかし、実際にはマルコフ連鎖を行列で表現することはできない。確率モデルが遷移できる状態の数は、変数の数に対して指数関数的に増大する。それ故、v、A、そしてAの固有値表現することは事実上不可能である。

ギブスサンプリング(Gibbs sampling)のアルゴリズム観察すれば、この問題はより簡明となるであろう。ギブスサンプリングにおいて、与えられたステップ数の範囲で、あるモードから別の近くのモードに移行する確率を規定するのは、これらのモード間の「エネルギー障壁(energy barrier)」の形式である。高いエネルギー障壁で分離される二つのモード間の遷移は、エネルギー障壁の高さに関し、指数関数的に低い可能性がある。この問題は、低い確率の領域で分離された高い確率を持つモードが複数存在する場合に生じる。その中でもとりわけ各ギブスサンプリングのステップが、主にその他の変数によって値が規定される変数の小さな部分集合だけを更新する必要がある場合には、この問題はより頻繁に起こり得る。更に実際の状況では、必ずしも問われるモードは二つとは限らない。モード間の混合が困難であるのならば、幾つかのパターン区別できるそのモード間の複数の遷移もまた困難となる。そうなるとギブスサンプリングの設計者は、ほぼ全てのモードを網羅するほどの信頼できるサンプルの集合を用意しなければならない。そして仮にそうしたデータセットが得られたとしても、その連鎖の収束は非常に遅くなる。

ここに、マルコフ連鎖による情報探索のジレンマが生じる。設計者が有意味となるであろうと考えるデータセットを用意した場合、それが有意味であればあるほど、探索冗長的になってしまう可能性が高まるということである。

同時分布$$p_{model}(x, h)$$を規定する潜在変数を有したモデルにおいては、大抵の場合、$$p_{model}(x \mid h)$$からのサンプリングと$$p_{model}(h \mid x)$$からのサンプリングを交互に反復することでxのサンプルを抽出する。混合が急速に進む場合、$$p_{model}(h \mid x)$$のエントロピーは高まると期待できる。しかしながら一方で、hの有用な特徴表現するという表現学習観点かられば、hには、xをより良く再構成するために、xについての十分な情報符号化することが求められる。これは、hとxの相互情報量が高まるべきであるということを意味している。混合表現学習は互いに独立している。しばしばボルツマンマシンのような生成モデルは、xをhに正確に符号化するものの、あまり混合されていないようなモデルとして学習してしまうこともある。ボルツマンマシン学習する分布がより明確になれば、それだけモデル分布からサンプリングするマルコフ連鎖にとっては、より良く混合することが困難となる。

このような実質的な規定不可能性背景としている混合時間の問題は、発見探索的に検証するしかない。つまり、十分と思われる時間を大まかに見積もった上で、マルコフ連鎖の実行し、その結果観測するしかない。そしてヒューリスティックな方法マルコフ連鎖混合したか否かを判断するしかないのである。したがって、エネルギーベースモデル平衡状態に達したか否かという問題は、正則化問題と同じように、原理的には設計者の意思決定問題となる。それは、設計者が、設計者自身の責任に準拠した上で、リスクを冒した上で決定していくしかない問題なのである。

問題解決策:焼き戻し

歴史的にエネルギーベースモデル統計力学影響を受けてきた意味論でもある。混合問題もまた、古くからある統計力学の参照問題として記述されてきた。

統計力学的な観点かられば、分布の異なるモード間の混合が困難となるのは、例えばその分布が低い確率の領域に囲い込まれた高い確率の尖度の高い頂を有する場合である。こうした場合、混合を高速化させる技術として採用されるのは、別の種類の目標分布を構成するという手続きである。そうして構成された分布では、頂と周辺の落差は激しくならない。この関係は、既存のエネルギーベースモデルが$$p(x) \ \propto (-E(x))$$であるなら、この落差の激しさを制御するパラメタ$$\beta$$を追加することによって成立する。すなわち、$$p(x) \ \propto (-\beta E(x))$$となる。

このパラメタは、統計力学エネルギーベースモデル温度(temperature)と関わりを持ち続けてきた概念史からもわかるように、温度の逆数として記述されている。温度がゼロに近付けば、このパラメタは無限大まで上昇する。するとエネルギーベースモデル決定論的となる。一方、温度無限大まで上昇することで、このパラメタがゼロになると、エネルギーベースモデルは一様分布となる。βが特に1よりも小さい場合、エネルギーベースモデル混合は高速化される。この戦略を特に「焼き戻し(tempering)」と呼ぶ。

βは温度の逆数という単純な意味合いでありながらも、その応用は多聞に及ぶ。例えば、一時的に高い温度の分布からサンプリングした上で、単位温度の分布からサンプリングを再開するようなマルコフ連鎖では、まずは異なるモードに混合してから通常の探索を実行するという段階付けを可能にしている。一方、様々な温度の様々な状態を並列にシミュレートする「並列焼き戻し(parallel tempering)」という手も挙げられる。このシミュレーションでは、最も高い温度では混合が緩やかに進む一方で、最も低い温度ではモデルから正確なサンプルが得られる。これらの焼き戻しの戦略の多くは、エネルギーベースモデルの一つである制限ボルツマンマシン(Restricted Boltzmann Machine)にも導入することが可能である。

しかし、特にエネルギーベースモデル複合性の高まる場合には、焼き戻しは有用な方法とはならないことも知られている。と言うのも、「臨界温度(critical temperature)」が存在する以上、その付近で焼き戻しを実行するには、温度が徐々に低下していくように、温度遷移を緩やかに勧めなければならなくなるためである。この熱力学的な制約には、同じく統計力学から由来する「アニーリング(annealing)」のような方法にも付き纏う根深さがある。

問題再設定:「深層表現によるより良き混合」は如何にして可能になるのか

イアン・グッドフェローは、以上のような混合問題に対して、深層学習混合に有用となる可能性を示唆している。潜在変数モデル$$p(h, x)$$からサンプルを抽出する時、$$p(h \mid x)$$ があまりにも良くxを符号化した場合に、$$p(x \mid h)$$からのサンプリングによってはxはあまり変化せず、混合が不十分に留まる。この混合問題に対する問題解決策となるのは、hを深い表現にすることである。これは、hの空間におけるマルコフ連鎖をより容易に混合できるように、xをhに符号化するということである。自己符号化器制限ボルツマンマシンなどのような多くの表現学習アルゴリズムは、xにおける元のデータ分布に比して、より一様で、より単峰(unimodal)なhにおける周辺分布をもたらす傾向を有している。この傾向は、全ての利用可能表現空間を利用しながら、再構成誤差を最小化しようとすることから生じる。何故なら、異なる訓練サンプルがhの空間で互いに容易に区別することが可能で、それ故に十分に分離される時、訓練サンプルにおける訓練誤差の最小化は、より良く達成されるためである。

ここでグッドフェローが参照しているヨシュア・ベンジオらの2013年論文である「深層表現によるより良き混合(Better Mixing via Deep Representations)」は、新しい深層学習モデルを提案するのではなく、既存のモデルを検証することによって、より深いアーキテクチャを有した自己符号化器制限ボルツマンマシンが、最上位のhの空間において、異なるモードに対応した領域間の隔たりが少ない、より広範な一様周辺分布をもたらすことを観測している。表現が深ければ、それだけより良いサンプルとモード間のより良い混合が得られる。と言うのも、その表現の中に埋め込まれている特徴量が観測データ点の潜在的な原因に対応していると共に、それぞれの特徴量や特徴空間における方向が異なる潜在的な原因に対応していることで、表現が相互の原因を解きほぐすこと(disentangling)を可能にしているためである。それ故に深層での表現学習は、良質なサンプルが表現空間において取り得る体積が拡大することと、データが集中する多様体空間展開を前提とした学習可能にしている。

グッドフェローの補足によれば、このベンジオらの観測結果からは、直ちに深層生成モデルの訓練に対する代替案や深層生成モデルのサンプリングの支援策が得られる訳ではない。具体的な設計方法は不明のままである。特に時代背景を加味すれば明らかなように、他ならぬグッドフェローらが2014年に提唱した「敵対的生成ネットワーク(Generative Adversarial Networks: GAN)」のフレームワークとの関連を主題とした観察と記述を実践するには、ベンジオらの2013年論文とGAN理論的な乖離を埋め合わせる必要がある。それ故に以下の記述では、この混合問題問題設定において、GAN如何にして機能し得るのかを観察していく。

問題解決策:深層有向生成モデル

エネルギーベース確率モデルを訓練する際に重要となるのは、より良い近似モデルを獲得することである。これは、MCMCを必要としないか、あるいはこの方法拡張させることによって獲得できる。例えば、より単純なモデルとしてエネルギーモデル分布に近似するサンプリング分布を有した「深層有向生成モデル(deep directed generative model)」は、エネルギーベース確率モデルを設計するための新しいフレームワークである。このフレームワークでは、推定確率分布に関する情報が二つの異なる方法、すなわちエネルギー関数モデル化した「深層エネルギーモデル(Deep Energy Model: DEM)」と生成器に対応する「深層生成モデル(Deep Generative Model: DGM)」で表現される。エネルギー関数生成器は、相互に完全に一致することが理想とされる。だが実際には双方ともに学習し続けるために、一方は他方に関する近似的な演算を実行するに過ぎない。このフレームワークでは、エネルギー関数生成器の双方を深層ニューラルネットワークとして設計することで、MCMCのサンプリングのような明示的な潜在変数とそれらに対する推論の必要を回避している。

Kim, T., & Bengio, Y. (2016). Deep directed generative models with energy-based probability estimation. arXiv preprint arXiv:1606.03439., p5.より掲載。

深層エネルギーモデルエネルギー関数$$E_{\theta}$$は、与えられた入力xにスカラーのエネルギー値を割り当てる機能を持つ。これは、データ分布$$P_D$$を推定するエネルギーモデル分布$$P_{\theta}$$を表している。この深層エネルギーモデルは、特徴抽出器(feature extractor)と識別器(discriminator)で構成された深層分類モデルとして捉えることができる。まず特徴抽出器$$f_{\varphi}$$が、入力データxから得られる高次元の特徴抽出するためだけに機能する。次にエネルギー関数が、高次元の相互作用を捕捉するために、そしてまた入力データの平均と分散を捕捉するために表現される。この関連から深層エネルギーモデルは、ガウス分布の可視層を有した制限ボルツマンマシン類似した形式で記述される。

$$E_{\theta}(x) = E_{\theta^{‘}}(x, f_{\varphi}(x)) = \frac{1}{\sigma^2}x^Tx – b^Tx – \sum_{i}^{}\log (1 + e^{W_i^Tf_{\varphi}(x) + b_i})$$

初めの二つの項は平均と大域的な分散に対応している。最後の項は、データ特徴空間$$f_{\varphi}$$における$$\tilde{E}_{\theta_i}(f_{\varphi}(x)) = – \log (1 + e^{W_i^Tf_{\varphi}(x) + b_i})$$の集合を表している。更に、どの積も有界の$$f_{\varphi}(x)$$が利用されるに伴って線形で増大していくと共に、項$$x^Tx$$によって限定されているために、xに関する非正規分布$$e^{-E_{\theta}(x)}$$の統合は保証されることになる。これらの積を潜在変数として解釈する代わりに、深層エネルギーモデルにおいては、決定論的にエネルギー値を計算するために、単層のニューラルネットワークを利用している。そしてこのフレームワークでは、反復的なサンプリングを実行する代わりに、二つのサンプルの発生源の識別を可能にするべく正規化された二値の分類器としてエネルギー関数を訓練する方法が提示されている。

深層生成モデルもまた二つの機能区別される。一つはサンプルを取得する効率的な、しかし反復的ではないサンプリング方法を提供することである。またもう一つは、勾配の負の位相の特徴近似サンプルを提供することで、エネルギー関数の訓練を方向付けることである。だがこれ以外の最適化正則化の技術は、通常の深層ニューラルネットワーク理論を踏襲している。

敵対的生成ネットワークとの差異

深層有向生成モデル敵対的生成ネットワーク差異は、敵対的生成ネットワークの場合には、生成分布がデータ分布に近付くにつれて、敵対的生成ネットワークにおける識別器が一定の出力に収束する可能性があるということである。極端な場合、入力とは無関係に0.5を常に出力するようになる。それは言うなれば、ネットワークが以前に学習した内容忘却するということでもある。一方、深層有向生成モデルにおけるエネルギー関数は、単に現在に対応した生成器なのではなく、訓練サンプルと任意の生成器区別する識別子と見做すことができる。深層有向生成モデルにおける識別器は、このエネルギー関数に関連している。そのため、生成器が如何に改善されても、識別器は収束しない。

確かに敵対的生成ネットワークには、訓練終了時に任意の組み合わせの入力構成を互いに比較することで、それらの相対確率を推定するために利用可能一般的なエネルギー関数を獲得できるという利点もある。だが敵対的生成ネットワーク識別器が訓練終了後も有意な出力を提供するという保証は無い。それは、識別器の出力値に関して相互に異なるxを比較するためである。一方、深層有向生成モデルの枠組みでは、生成分布がデータ分布に近付くにつれて、エネルギー関数は一定にはならないものの、しかし勾配は一定になる。それはもはや変化しないということである。

機能的等価物の探索:エネルギーベースの敵対的生成ネットワーク

深層有向生成モデルエネルギーベースモデルの中に生成ネットワークを導入する構成であるのに対して、「エネルギーベースの敵対的生成ネットワーク(Energy-based Generative Adversarial Network: EBGAN)」は、敵対的生成ネットワークのフレームワークの中にエネルギーベースモデルを導入する構成になっている。EBGANでは、識別器エネルギー関数として再記述する。識別器によって計算されるエネルギー関数は、生成器のための訓練可能コスト関数となる。識別器は、データ密度の高い領域には低いエネルギー値を割り当てると共に、これらの領域の外部には高いエネルギー値を割り当てるように訓練される。一方、生成器は、識別器が低いエネルギーを割り当てる空間の領域でサンプルを生成する訓練可能なパラメタ化された関数と見做される。ギブス分布を介せば、エネルギー確率に変換することが可能になる。しかしEBGANにおいては、規格化を不要にするために、識別器選択や訓練手順における深層アーキテクチャ設計選択において、より大きな柔軟を提供している。

Zhao, J., Mathieu, M., & LeCun, Y. (2016). Energy-based generative adversarial network. arXiv preprint arXiv:1609.03126., p4.より掲載。

EBGANの枠組みでは、識別器エネルギーベース自己符号化器として設計される。識別器としての自己符号化器の出力は、自己符号化器再構成誤差である。言い換えれば、EBGANにおけるエネルギーとなる概念は、自己符号化器再構成誤差なのである。この識別器の出力は、エネルギー関数形式化させるために、目的関数を通過すると共に、真偽の区別可能にする。再構成誤差としてのエネルギーの高低が、真偽の差異に対応するのである。すなわち、低いエネルギーが真のサンプルに、高いエネルギーが偽の生成されたサンプルに、それぞれ対応する。この関連からEBGANは、「マージン損失(margin loss)」を利用する。

正のマージンをm、データサンプルをx、生成サンプルをG(z)、そして識別器損失生成器損失をそれぞれ$$\mathcal{L}_D, \mathcal{L}_G$$とするなら、マージン損失関数は次のようになる。

$$\mathcal{L}_D(x, z) = D(x) + [m – D(G(z))]^{+}$$

$$\mathcal{L}_G(z) = D(G(z))$$

ここで、$$[\cdot]^{+} = \max (0, \cdot)$$となる。

生成器Gに関する損失$$\mathcal{L}_G$$の最小化は、$$\mathcal{L}_D$$の最大化を意味する。$$D(G(z)) \geq m$$の時、それは同様に最小だが、非ゼロの勾配を有する。

識別器としての自己符号化器

識別器Dが自己符号化器として構造化される場合、D(x)は次のようになる。

$$D(x) = \mid\mid Dec(Enc(x)) – x\mid\mid$$

ここで、EncとDecはそれぞれ符号化(encode)と復号化(decode)を表す。EBGANにおいては、一見して原理的に如何なる自己符号化器であっても、この再構成誤差としてのD(x)の計算を可能にする限りにおいて、導入することが可能になるように思える。しかし、EBGANのフレームワークが概念的に容認するのは、あくまでもエネルギーベース自己符号化器である場合に限られる。再構成誤差に準拠したDの出力は、従来の識別器に比して多様なターゲットを提供する。ロジスティック関数損失では、原理的には真と偽の二値しか識別されない。ミニバッチの中では、異なるサンプルに対応する勾配は直交から程遠い可能性が高い。これは訓練を非効率にしてしまう。ミニバッチのサイズは自ずと増やさざるを得なくなる。一方、再構成誤差は一つのミニバッチの中でも非常に異なる勾配方向を生成する。したがって、ミニバッチのサイズを過度に増やさなくても、訓練効率を損なうことは無い。

機能的等価物の探索:境界平衡型敵対的生成ネットワーク

EBGAN機能的拡張案として提起されている「境界平衡型敵対的生成ネットワーク(Boundary Equilibrium Generative Adversarial Networks: BEGAN)」は、識別器エネルギーベースモデルとしての自己符号化器を代入する点ではEBGANを踏襲している。ただし、識別器として用いられる自己符号化器損失関数としては、「ワッサーシュタイン距離(Wasserstein distance)」に基づいた距離関数が導入されている。尤も、このモデルにおいて重要となるのは、距離概念ではない。このモデルで採用されているワッサーシュタイン距離は、歴史的には偶発的選択肢の中から選択された距離概念に過ぎない。

むしろ鍵となる概念は「平衡(equilibrium)」の概念である。このモデルにおいて平衡とは、生成器に抗う識別器の力(power)を釣り合わせること(balances)を意味する。

識別器生成器平衡状態が言い表すのは、双方のエネルギーベースモデルとしての関係である。

$$\mathbb{E}[ \mathcal{L}(x) ] = \mathbb{E}[ \mathcal{L}(G(z))]$$

ここで、$$\mathcal{L}(\cdot)$$はコスト関数を表す。Gは生成器となる。もし識別器が生成されたサンプルを真のサンプルから識別できないのなら、識別器生成器損失の分布は、その期待値を含め、同一となる。この観点に立つなら、識別器生成器の均衡を力学的に保つことの重要再認し易くなる。もとよりGANのフレームワークも、一方が他方を打ち負かすことよりも双方を均衡させることが重要であるということについては、既に説明してはいる。だがその際の均衡条件となるのは、識別器の出力値が0.5になることであった。識別器自己符号化器として設計した場合、その識別器としての出力は再構成誤差となる。故に0.5という尺度は利用できない。上述した平衡状態という概念は、この埋め合わせとして機能する。例えば上記の等式から、次のようなパラメタを抽出することができる。

$$\gamma = \frac{\mathbb{E}[ \mathcal{L}(G(z))]}{\mathbb{E}[ \mathcal{L}(x) ]}, \ \gamma \in [0, 1]$$

これを前提とすれば、BEGANにおける識別器は、二つの相反する目標を志向することになる。つまり、真の分布からサンプリングされたデータ符号化することと、生成されたデータと真の分布からサンプリングされたデータを識別することである。上記のγの項をハイパーパラメタとして指定すれば、これら二つの目標の均衡を制御することが可能になる。γの値が低ければ低いほど、識別器符号化された真のデータをより重大視するために、データの多様を低く設定することが可能になる。この意味でγは多様の比率(diversity ratio)となる。

プロトタイプの開発:エネルギーベースモデルとしての自己符号化器のソフトウェア・アーキテクチャ

Pythonのライブラリ:『pygan』では、敵対的生成ネットワーク敵対的自己符号化器のみならず、上述したエネルギーベースモデルとしての敵対的生成ネットワーク(EBGAN)の機能も提供している。敵対的自己符号化器の場合、生成器のサブクラスとして自己符号化器を実装することができる。一方、EBGANの場合は、自己符号化器識別器のサブクラスとして導入可能になる。

このような抽象化には、明確な機能的拡張可能性を指摘できる。生成器自己符号化器として導入する敵対的自己符号化器識別器自己符号化器として導入するEBGANとを、両立して実装できるという点である。この場合、GANのフレームワークは自己符号化器同士の敵対的訓練を可能にする。つまり生成器としての自己符号化器が、識別器としての自己符号化器を騙そうとする訳だ。

尤も、自己符号化器であれば「何でも構わない(anything goes)」という訳ではない。自己符号化器識別器として導入するためには、後述するように、自己符号化器エネルギーベースモデルとして再記述しなければならない。

派生問題:自己符号化器の恒等関数化

あらゆる自己符号化器の訓練において生じる問題は、そのモデルが恒等関数以上のものを学習しなくなる場合があるという問題である。これは、全空間にゼロエネルギーを割り当てることを意味する。この問題を回避するためには、多様体の外部のデータ点により高いエネルギーを与えるように、モデル拡張しなければならない。その際、潜在的な表現に対する正則化の技術が有用となる。そうした正則化は、自己符号化器再構成能力に制約を加える。そうすることで、自己符号化器は、入力された観測データ点におけるより小さな位置にのみ、低エネルギーを割り当てるようになる。

問題解決策:反発正則化付き自己符号化器

この問題に対してEBGANは、生成器については任意の選択を容認した状態で、あくまで識別器に目を向ける。確かに、EBGANにおける識別器としてのエネルギー関数は、生成器が生成した負のサンプルからも正則化される。この負のサンプルからの影響によって、識別器としてのエネルギー関数は、識別器が高い再構成誤差、すなわち高いエネルギーを与えるべきであると学習することになる。EBGANのフレームワークはこの生成モデルの構築については何も制約を与えていない。この意味EBGANは、生成モデル機能的拡張性機能的代替可能性を保証している。その生成モデルが、例えばCatGANにおける条件付けられた生成モデル敵対的自己符号化器における生成モデル化された自己符号化器であったとしても、何ら問題とはならない。

一方EBGANのフレームワークは、識別器となる自己符号化器については、具体的なモデルを提案している。EBGANのフレームワークで推奨される自己符号化器は、その構造に、エネルギー多様体学習可能にする正則化技術が導入されている自己符号化器である。その正則化技術とは、次のような$$p_{data}$$の外れ値を弾き飛ばすような作用を有した「反発的正則項(Repelling Regularizer)」を「引き離し項(Pulling-away Term)」として識別器損失に加えるという方法である。

$$f_{PT}(S) = \frac{1}{N(N- 1)}\sum_{i}^{}\sum_{j \neq i}^{} \left(\frac{S_i^TS_j}{\mid\mid S_i \mid \mid \mid \mid S_j \mid \mid }\right)^2$$

ここで、$$S \in \mathbb{R}^{s \times N}$$は符号化器(encoder)の出力層から得られたバッチサンプルの表現を表す。

これを前提とすれば、EBGANで推奨されるエネルギーベース自己符号化器とは、「正則化付き自己符号化器(Regularized Auto-Encoders)」である。正則化付き自己符号化器では、入力を出力に複製するだけではなく、それ以外の情報モデルが保持できるような損失関数が実装される。これにより、表現のスパース表現の微分の小ささ、ノイズや入力の欠損に対するロバストなどを期待することができる。

機能的等価物の探索:縮小自己符号化器

機能的等価物の一例として挙げられるのは、「縮小自己符号化器(Contractive Auto-Encoder)」である。縮小自己符号化器は、$$h = f(x)$$の符号化に対して、次のような正則項を加える。

$$\Omega (h) = \lambda \mid \mid \frac{\partial f(x)}{\partial x}\mid \mid$$

この正則項を有した自己符号化器が縮小(Contractive)自己符号化器と名付けられているのは、この自己符号化器空間を歪めるためである。縮小自己符号化器は入力された観測データ点の摂動に抵抗するように訓練される。そのため入力されたデータ点の近傍は、出力点ではより小さい近傍に写像するように学習する。つまり縮小自己符号化器は、入力された近傍を出力のより小さな近傍に縮小しているのである。

ただしこの縮小作用は局所的である。と言うのも、学習された点xの摂動は、全てf(x)の近くに写像されるためである。したがって大域的には、二つの異なるデータ点xとx’が、元の点同士よりも遠く離れた点f(x)とf(x’)に写像されても良いということになる。精々のところ、fはデータ多様体間の内側を志向して、あるいは多様体から離れる方向へと広がり得ると考えるのが妥当である。

隠れ層が一つしかない場合、縮小自己符号化器正則化は安い計算コストで済む。だが層数が深くなればそれだけ計算コストが高くなる。そのため、単一の深い縮小自己符号化器を訓練するよりも、複数の浅い自己符号化器事前学習させた上で、その学習済みモデル構造的に結合させる方法が提案されている。この場合、各層は局所的にデータ点の各近傍を縮小するように、別々に学習することになる。そのため、各層を結合させた深層縮小自己符号化器も、同様に縮小の作用を持つことになる。

一方、モデリング上の派生問題として指摘されているのは、符号化の側に縮小の作用を持たせたからには、復号化の側には拡大の作用を持たさなければならなくなるという問題である。さもなければ、縮小の作用の最適が不明確になるために、それが正則化のペナルティとして機能しているか否かがわからなくなる。単純に対称的な構造を有した自己符号化器の中間に縮小作用を加えるだけでは、復号化器が拡大作用を持つように学習するか否かは不確定に留まるのである。

機能的等価物の探索:ノイズ除去型自己符号化器

ノイズ除去型自己符号化器(Denoising Auto-Encoder)」もまた、正則化付き自己符号化器の一種である以上、エネルギーベース自己符号化器としての機能を獲得し得る。この自己符号化器では、入力データノイズで破壊(corrupt)し、ネットワークに元の破損していない入力を再構成するように依頼する手続きを踏む。この破壊されたデータの復元を通じて、ノイズ除去型自己符号化器は、ノイズ除去機能を習得することになる。この学習は、元のデータの分布に収束する。

自己符号化器多様体学習において機能するのは、多様体特徴付けるために最も良く学習されるのが、多様体上、あるいはその付近のデータ点の表現である。あるサンプルに対するそうした表現は、「埋め込み(embedding)」とも呼ばれる。これは通常、多様体を低次元部分集合として有する<周辺>の空間よりも、更に少ない次元の低次元ベクトルによって与えられる。

自己符号化器データ多様体構造を捉えるのは、その自己符号化器データ点付近の小さな摂動に対して不変であるような再構成関数学習している場合である。ここでいう多様体構造とは0次元多様体集合に他ならない。最適な再構成関数は、データ点がある場所では必ず恒等関数と交わる。$$r(x) – x$$の再構成方向ベクトルは、入力空間内では常に最も近い多様体の側を向いている。

この多様体構造に対して、ノイズ除去型自己符号化器縮小自己符号化器とは微妙に異なる観点から観察する。ノイズ除去型自己符号化器は、再構成関数r(x)の微分をデータ点の周辺で小さくしようとする。縮小自己符号化器も、符号化器では同様の操作を実行する。r(x)の微分は、データ点の周辺では小さいことが要求される。だがデータ点の間では大きくても構わない。データ点の間の空間多様体の間の領域に対応している。そこでの再構成関数の微分は、破損したデータ点を多様体上に戻すため、大きくなければならない。

識別器としてのラダーネットワーク

ラダーネットワーク(Ladder Networks)」との関連から既に説明したように、ノイズ除去関数からデータ確率推定値を導出することも可能であるという点は、ノイズ除去型自己符号化器エネルギーベースモデルの関連を解き明かす上での鍵となる。ノイズ除去関数は絶対確率についての情報損失すると共に、相対確率に関する情報のみを保存する。何故なら、対数計算は初めに乗算を加算に変換し、定数となる正規化項は微分によって消失するためである。こうしたモデルは、相対確率のみを容易に参照できるエネルギーベース(energy-based)の確率モデル類似している。ただし、欠損データ再構成できるモデルは、全て確率密度推定量に変えることができる。したがって、入力の損失を破損として使用することによって、たとえノイズ除去関数確率の正規化係数についての情報を喪失したとしても、自己符号化器は正規化された確率推定値を導出するために使用することができるのである。

ノイズ除去型自己符号化器を用いたラダーネットワークは、EBGANの枠組みの中でも、特殊なエネルギーベースモデルとして記述されている。それは、二つの経路を結合する段階的な横方向の接続によって強化された、順伝播階層と逆伝播階層の双方で構築されるエネルギーベースモデルである。EBGANラダーネットワーク構造を採り入れるのは、やはり半教師あり学習問題の枠組みにおいてである。その際、EBGANはマージン値のmを徐々に減衰させることが推奨される。極端な場合としては、対称的(contrastive)なサンプルが「もはや対称的ではなくなる」かのようにデータ多様体に正確に固定される可能性がある。この最終的な状況は、m = 0 でラダーネットワークを採用したEBGANが通常のラダーネットワークに退行した場合に発生する。

収束すれば、ラダーネットワークを採用したEBGAN識別器は平坦なエネルギー曲面を反映する。しかしその一連の学習は、対称的なサンプルを観測することで、識別器となるラダーネットワークにより多くの情報を提供する。それでも尚、前述した望ましくない状況を回避するための最適な方法となるのは、ナッシュ均衡に到達した場合にmが0に減衰していることを確認するという方法だ。それ故、マージン値の減衰スケジュールは、EBGANの重要なハイパーパラメタとなる。

派生問題:エネルギーベースモデルとしての自己符号化器は如何にして可能になるのか

EBGANの枠組みから自己符号化器観察するだけでは、正則化付き自己符号化器ならば全てがエネルギーベースモデルになり得るという、粗い認識しか得られない。実際、全ての自己符号化器エネルギー関数に関連するとするなら、まさにエネルギー関数という形式意味論揺らぎが伴ってしまう。何を以ってエネルギー関数となるのかは、設計者の任意に任せられるということになってしまい兼ねない。

エネルギーベースモデルとしての自己符号化器という概念に確固とした形式的な枠組みを与え得るのは、自己符号化器力学系(dynamic system)として記述する意味論である。自己符号化器力学系として記述する観点は、1998年のセバスチャン・スンによる「再帰的ニューラルネットワーク(Recurrent neural network)」と順伝播自己符号化器(Feedforward autoencoder)に関する研究まで遡ることができる。力学系の観点に立つ場合、自己符号化器エネルギー関数の解析式を積分によって得られるという発想を持つことができる。モデルが訓練されたか否かに関わりなく、エネルギー関数存在を肯定することもできるようになる。

問題解決策:再構成誤差最小化としてのエネルギー最小化

自己符号化器は$$x \in \mathbb{R}^{n}$$を再構成データ点$$r(x) \in \mathbb{R}^{n}$$に写像する力学系として記述できる。力学系としての自己符号化器のポテンシャルエネルギーを評価することは、自己符号化器が入力された特定の観測データ点xをどの程度「好む(like)」のかを評価できるようになる。関数r(x) – xは、xが自己符号化器再構成データ点r(x)を適用した結果としてxが受け取る局所変位を表したベクトル場である。初期のデータ点xに対して反復的に再構成関数を適用させるということは、データ空間におけるx(t)の非線形の軌跡を辿るということである。縮小のための正則項やノイズ除去型自己符号化器としてコスト関数に付加される項を$$o(\lambda)$$とするなら、再構成関数はxの対数確率における導関数にほぼ比例する。

$$r(x) – x = \lambda\frac{\partial \log P(x)}{\partial (x)} + o(\lambda), \lambda \rightarrow 0$$

ベクトル場と開始点x(0)によって規定される軌跡を辿ることで自己符号化器を実行するというのは、不動点あるいは固定点(fixed point)が最大確率の「リッジ(ridge)」の役割を担う制限ボルツマンマシンでギブサンプラーを実行することと論理的に等価である。その際、サンプルは決定論的なのであって、確率論的ではない。ここで重要となるのは、幾つかのベクトル場が「勾配場(gradient fields)」になるということである。これはスカラー場(scalar field)の導関数として記述できる。つまり、力学系を実行した場合、その勾配降下はスカラー場によって実行されると考えることができる。力学的に言えば、ここでいうスカラー場は、「ポテンシャルエネルギー(potential energy)」に他ならない。そしてベクトル場に対応するのが、「力(force)」である。

ベクトル場が勾配場になるための条件は、偏導関数の対称から得られる積分可能性、つまり可積分の基準によって与えられる。幾つかの開いた単純な連結集合Uに対して、連続微分関数$$F : U \leftarrow R^n$$は、$$\frac{\partial F_j(x)}{\partial x_i} = \frac{F_i(x)}{\partial x_j}, \forall i, j = 1..n$$が満たされる場合にのみ、勾配場を規定する。

自己符号化器隠れ層活性化関数がロジスティック関数であって、出力が二値あるいは実数値を有する場合、当のエネルギー関数は同様の構造を有した制限ボルツマンマシンの自由エネルギーと等価となる。自己符号化器制限ボルツマンマシンは、相互に異なる方法で、同一の分析的に定義されたエネルギー地形(energy landscape)を形式化させている。

問題解決策:表面エネルギー

Wを自己符号化器符号化復号化の間で共有している重み行列とし、可視層隠れ層バイアスをそれぞれ$$b_r, b_h$$とするなら、次のように再構成誤差が計算可能になるため、可積分の基準も成り立つ。

$$\frac{\partial r_m(x) – x)}{\partial x_n} = \sum_{j}^{}W_{mj}\frac{\partial h(Wx + b_h)}{\partial (Wx + b_h)}W_{nj} – \delta_{mn} = \frac{\partial (r_n(x) – x_n)}{\partial x_m}$$

ここで、$$\delta_{mn}$$はクロネッカーのデルタを表す。

その導関数が$$r(x) – x$$となるポテンシャルエネルギー発見する方法となるのは、その逆導関数を計算するように、ベクトル場を積分することである。自己符号化器が$$r(x) = W^Th(Wx + b_h) + b_r$$として再構成関数を規定する時、

$$E(x) = \int_{i}^{}(r(x) – x)dx = \int_{}^{}(W^Th(Wx + b_h) + b_r – x)dx = W^T\int_{}^{} h(Wx + b_h)dx + \int_{}^{}(b_r – x)dx$$

となる。加えて、$$u = Wx + b_h$$とするなら、$$\frac{du}{dx} = W^T \iff W^{-T}du$$

したがって、

$$E(x) = \int_{}^{}W^TW^{-T}h(u)du + b_r^Tx – \frac{1}{2}\mid\mid x \mid\mid_2^2 + const$$

$$ = \int_{}^{}h(u)du + b_r^Tx – \frac{1}{2}\mid \mid x \mid\mid_2^2 + const$$

$$ = \int_{}^{}h(u)du – \frac{1}{2}\mid\mid x – b_r \mid\mid_2^2 + \frac{1}{2}\mid\mid b_r \mid\mid_2^2 + const$$

$$ = \int_{}^{}h(u)du – \frac{1}{2}\mid\mid x – b_r \mid\mid_2^2 + const$$

この最後の等式が表しているのは、バイアス$$b_r$$がxに依存しないということである。また、もしh(x)が要素ごとの活性化関数であるなら、最後の積分は単純にxに適用される隠れ層活性化関数の逆導関数の和となる。したがって、エネルギーの計算は次の手続きとなる。

  1. 隠れ層へのユニットuを計算する。
  2. h(u)の逆導関数H(u)を活性化関数として利用することで、隠れ層ユニットの活度を計算する。
  3. 全ての隠れ層のユニットの活性化結果を合計する。
  4. 求めるエネルギーを次のように計算する。

$$\frac{1}{2}\mid\mid x – b_r\mid\mid_2^2$$

以上の手続きを前提とすれば、エネルギー関数活性化関数を包含していると見做せる。

問題解決策:発生源と沈点の区別

自己符号化器正則化は、力学系における発散(Divergence)の方向を区別することに貢献している。観測データ点における負の発散は、そのデータ点が力学系の沈点(sink)であることを表している。一方、正の発散は、そのデータ点が当の力学系における発生源(source)であることを意味する。

線形代数学的に言えば、発散とは、それぞれの観測データ点におけるベクトル場の流入と流出の差異符号付きのスカラーの形式で記述するベクトル演算子である。例えば空気をした場合、気体は全方向へと膨張していく。したがってその速度場は、その空気の領域の外部環境を志向していることになる。この場合、発散は正の値を取ると定義される。そしてこの領域は、膨張する空気の「発生源」ということになる。一方、空気を冷却する場合、この逆の現象が起こる。空気は収縮する。発散の値は負となる。速度場は領域の内部を志向する。この意味でこの領域は、収縮する空気の「沈点」となる。

ベクトル場Fの発散は、次のような一次導関数の和として定義することができる。

$$div \ F(x) = \sum_i^{}\frac{\partial F_i(x)}{\partial x_i}$$

保存ベクトル場においては、その発散はエネルギー関数のラプラシアンに等しい。それは次のような二次導関数の和として定義できる。

$$(div \ F(x)=)\Delta E(x) = \sum_i^{}\frac{\partial^2 E}{\partial x_i^2} $$

自己符号化器との関連から言えば、自己符号化器力学系は次のようになる。

$$\frac{\partial E}{\partial x} = r(x) – x = W^Th(Wx) – x$$

これはバイアスを省略した単純化された形式である。エネルギー関数のヘッシアン(Hessian)は次のようになる。

$$\frac{\partial^2 E(x)}{\partial x^2} = W^t \ diag(h^{‘}(x))W – I_D$$

ここで、h’は要素ごとに参照される隠れ層活性化関数の一次導関数を表す。またDはデータの次元である。これを前提とすれば、エネルギー関数のラプラシアン、あるいは自己符号化器のベクトル場における発散は次のようになる。

$$\Delta E(x) = tr(W^T \ diag(h[{‘}(Wx))W – I_D)$$

$$ = tr(W^T \ diag(h^{‘}(Wx))W) – D$$

$$ = tr(diag(h^{‘}(Wx)))WW^T) = D$$

$$ = \sum_{k}^{}h^{‘}(w_k^Tx)\mid\mid w_k \mid\mid_2^2 – D$$

正則化の力学

再構成誤差を最小化することによって自己符号化器を訓練するということは、観測データ点を力学系における不動点として設定することを推奨する発想である。ただし、こう述べただけでは適切な訓練の基準は得られない。特に、隠れ層のユニット数が入力の次元と同じか入力よりも大きい「過完備(overcomplete)」な自己符号化器の場合には、全ての観測データ点を不動点に変換する恒等写像学習する可能性がある。この場合、自己符号化器は、データの分布に関する有用な特徴は何も学習しないまま、入力を出力へと複製するだけのモデルになってしまう。

上述した正則化付き自己符号化器は、モデルが入力を出力に複製する以外の質も保持できるような損失関数を利用する。再構成誤差最小化をエネルギー最小化として記述する力学的な観点から言えば、自己符号化器正則化は、観測データ点を力学の沈点(sink)に変換することで可能になる。それはエネルギーの総量を制限することに等しい。

「この場合、観測データ点は不動点として振る舞うだけではなく、吸引流域(basin of attraction)の中心になるように方向付けられる。直観的(Intuitively)には、沈点として振る舞う横断地点はポテンシャルエネルギーを喪失することになる。そのため、力学系は収束しなければならない。」
Kamyshanska, H., & Memisevic, R. (2014). The potential energy of an autoencoder. IEEE transactions on pattern analysis and machine intelligence, 37(6), 1261-1273., p7.

力学的な観点は、過学習についても知見を提供している。この観点かられば、過学習によるデータの完全な再構成可能にする唯一の方法は、完全に平坦な表面エネルギー学習することである。したがって過学習の回避策としての正則化の基礎的な方針は、この表面エネルギーの強引な学習を回避することであると言える。しかしながら、沈点では、エネルギー面の曲率は負になる。この状態では、表面エネルギーの全域を平坦にすることは事実上不可能である。

問題解決策:縮小自己符号化器とノイズ除去型自己符号化器の力学的な再記述

注意深い読者ならば、以上の正則化力学がとりわけ上述した縮小自己符号化器における正則化にも関連していることを見抜くであろう。定式化して言えば、観測データ点xが自己符号化器における沈点となり得るのは、上記のラプラシアンが負になる場合である。すなわち、

$$\sum_{k}^{}h^{‘}(w_k^Tx)\mid\mid w_k \mid\mid_2^2 < D$$ 縮小自己符号化器における正則項は、この条件を満たしている。この条件を満たす場合の自己符号化器は、観測データ点xを言わば「吸収(absorbing)」する。最良の方法とは言えないであろうが、自己符号化器が全てのデータ点を吸収する一つの方法は、強い「重み減衰(weight decay)」や「重み制約(weight constraint)」のような正則化の技術を用いることで、重み行列を十分に小さくするという方法である。活性化関数が飽和することを考慮するなら、自己符号化器が大きな重み行列を有していた場合、隠れ層における活度を飽和させることによって、その自己符号化器観測データ点を局所的に吸収する可能性がある。

プロトタイプの開発:エネルギーベースモデルとしての自己符号化器のソフトウェア・アーキテクチャ

Pythonのライブラリ:『pydbm』は当初、制限ボルツマンマシン深層ボルツマンマシンをはじめとしたエネルギーベースモデル主題としていた。一方、それぞれのボルツマンマシンの亜種が、深層ニューラルネットワーク畳み込みニューラルネットワークを積層化させた自己符号化器機能的に等価であるという発想から、このライブラリは、これらボルツマンマシン族以外のモデルも取り扱ってきた。しかしこの取り組みは、エネルギーベースモデルからの逸脱を意味する訳ではない。

上述した通り、深層ニューラルネットワーク畳み込みニューラルネットワークの積層化によって可能になる縮小自己符号化器ノイズ除去型自己符号化器、あるいは反発正則化付き自己符号化器は、重み共有や正則項の設計によって、皆エネルギーベースモデルとして再記述することができる。それ故に『pydbm』でも、エネルギーベースモデル化の機能を提供することで、これらの自己符号化器エネルギーベースモデルとしての自己符号化器として設計することを可能にしている。

問題再設定:リアプノフ安定最適化問題

縮小自己符号化器の正則項は「ヤコビアンのフロベニウス・ノルム(the Frobenius norm of the Jacobian)」として再記述できる。

$$\sum_{k}^{}h^{‘}(w_k^Tx)\mid\mid w_k \mid\mid_2^2$$

この項には導関数の二乗が含まれている。それはほとんどの自己符号化器において厳密に正の値となる。それ故にこの二乗の値による影響は限定的であって、符号を変えることは無い。

縮小自己符号化器の正則項は、自己符号化器におけるラプラシアンをデータ付近で縮小するようにと方向付けていると見做せる。類似点は、上述したノイズ除去型自己符号化器にも該当する。と言うのもノイズ除去型自己符号化器における正則化は、縮小自己符号化器における正則化近似できるためである。ベンジオらは2013年、「生成モデルとして一般化されたノイズ除去型自己符号化器(Generalized denoising auto-encoders as generative models)」において、微小のガウスノイズ極限にて、ノイズ除去による再構成誤差がxを$$r = g(f(x))$$に写像する再構成関数の縮小ペナルティ項と等価になることを示した。ノイズ除去型自己符号化器再構成関数微小であるものの有限の大きさの摂動から影響を受け難くさせる一方で、縮小自己符号化器特徴抽出関数無限に小さい摂動から影響を受け難くさせる。分類器で参照する特徴量f(x)の事前学習においては、ヤコビ行列に基づいた縮小ペナルティ項を利用する時に最良の分類精度が得られるのは、縮小ペナルティ項をg(f(x))ではなくf(x)に適用する場合である。

それぞれの自己符号化器力学的に再記述するこの観点は、自己符号化器の設計において、エネルギーベースモデル理論機能的再利用可能にする。自己符号化器より良いエネルギー関数として定義され得るのは、符号化復号化の間で重み行列が共有される場合である。

重み行列の共有が推奨される理由は、決して単に制限ボルツマンマシンをはじめとした伝統的なエネルギーベースモデルがこの方法を採用してきたためだけではない。興味深いことに、もしこの重みの共有が為されていない場合には、縮小自己符号化器正則化のベクトル場に対する作用は控え目になる。何故なら、一次導関数の値を小さくなるように仕向ける作用と二次導関数の値を負になるように仕向ける作用は、訓練データの付近で表面エネルギーを跳ね上がらせる傾向を有するためである。

力学的な観点から観察するなら、自己符号化器正則化の鍵を握っているのは、平衡点の近傍である。縮小自己符号化器ノイズ除去型自己符号化器の訓練は、データ付近における自己符号化器力学系が、その平衡点の近傍から出発すると共に、尚もその付近に留まり続ける軌道を描く。つまり、これらの自己符号化器力学系を訓練するということは、その力学系における「リアプノフ安定(Lyapunov stability)」を最適化するということを意味する。

「したがって、縮小自己符号化器ノイズ除去型自己符号化器の訓練はまた、データ付近における自己符号化器力学系のリアプノフ安定最適化する方法であると見做せるであろう。」
Kamyshanska, H., & Memisevic, R. (2014). The potential energy of an autoencoder. IEEE transactions on pattern analysis and machine intelligence, 37(6), 1261-1273., p7.

非線形系における「安定(stability)」という概念は、線形系の安定概念とは異なり、一意には定まらない。大別するなら、非線形系の安定概念はリアプノフ安定性、漸近安定(asymptotical stability)、そして指数安定(exponential stability)の三つに区別される。リアプノフ安定は、状態が有界範囲に留まると共に、初期値を平衡点に近付ければ状態の上界も平衡点に近付く質を意味する。一方、漸近安定とは、このリアプノフ安定性に対して、状態が時間の経過と共に平衡点に収束する場合という緊密な条件を加えた概念である。リアプノフ安定性が範囲内への収束に言及しているのに対して、漸近安定平衡点そのものへの収束に言及している。初期値を平衡点の近傍に限定せず、全ての解軌道が平衡点に収束する場合には、特に大域的な漸近安定が成り立つ。他方、指数安定はこの漸近安定の収束が指数関数制御されている場合を指す。したがって、指数安定もまた、元を辿ればリアプノフ安定性を前提としている。

形式的に言えば、状態空間をs、その初期条件をcとする時、時間tが無限大になってもs(c)から出発する解軌道が当該状態空間s(ε)の内部に留まる時、それはリアプノフの言う意味で「安定」と呼ぶ。つまり、

$$0 \leq x(0) \leq c$$

で与えられる初期条件から出発した軌道が全ての時間tに渡って

$$0 \leq x(t) \leq \epsilon$$

が満たされる場合に、リアプノフ安定が成り立つ。言い換えれば、あらゆる時間tにおいてεから逸脱しないような初期条件cが存在するなら、リアプノフ安定は満たされる。

問題解決策:吸引的不動点と非吸引的不動点の区別

リアプノフ安定探索する上で、不動点概念を「吸引的不動点(attractive fixed point)」と「非吸引的不動点」に区別することは、実り多き発見をもたらす。不動点$$x_0$$を有した写像fを前提とした場合、その有界範囲の不動点均衡における任意のパラメタxについて、<再帰的な関数>も含めた$$x, f(x), f(f(x)), f(f(f(x))), …$$が$$x_0$$に収束する場合、その不動点$$x_0$$を吸引的不動点と呼ぶ。

全ての不動点吸引的不動点となる訳ではない。重要なのは、この吸引的不動点と非吸引的不動点区別である。この区別意味論は、安定や平衡の概念を不動点概念との関連から再記述することを可能にする。特に吸引的不動点リアプノフ安定の条件を満たしている場合、その不動点を「安定不動点(stable fixed point)」を呼ぶ。

古典的なニューラルネットワーク理論では、この吸引的不動点という概念は、「再帰的ニューラルネットワーク(recurrent neural network)」における「連想記憶(associative memory)」を記述する上で機能してきた。連想記憶に関する多くのモデルでは、記憶は状態空間内の離散的な位置にある吸引的不動点として保持されていた。だがこの離散的な位置付けでは、3次元の物体に関する画像のように、連続的に変動するパターン記憶には不向きとなる。対象のインスタンスが連続的多様体構造構成している以上、吸引的不動点表現もまた連続的でなければならない。

問題解決策:「連続的な」アトラクタと多様体の区別

この発想を実用化するためには、サンプルから「アトラクタ(attractors)」を学習する方法発見しなければならない。より単純な方法の一つとなるのは、サンプルを「短期記憶(short-term memory)」に保持するようにネットワークを訓練するという方法である。だがこの方法では、ネットワークがサンプルとは無関係となる偽の不動点を格納する可能性を抑止できない。この可能性を抑止するには、破損しているサンプルを再構成するかのように、ネットワークを訓練する必要がある。

「より優れた方法となるのは、破損(corrupted)しているサンプルを復元(restore)するようにネットワークを訓練することである。そうすることで、不足している情報を埋め合わせて、パターンを補完させるのだ。」
Seung, H. S. (1998). Learning continuous attractors in recurrent networks. In Advances in neural information processing systems (pp. 654-660)., p654.

ここでいう復元(restore)という概念を自己符号化器における「再構成(reconstruction)」と言い換えても、この引用文は矛盾無く成り立つ。また破損(corrupted)の原因ノイズ除去型自己符号化器理論におけるノイズ化(noising)であったとしても、それはこの引用文の特殊事例と見立てることができる。

「真の不動点」との差異

対象のインスタンスが連続的パターン多様体上に置かれている場合、不動点もしくは「連続的なアトラクタ(continuous attractors)」の吸引的な多様体によって対象を表現することが可能になる。どの対象も不動点における連続的多様体によって表現されるなら、たとえ一次元の多様体であっても、一般的にそのアトラクタは多次元となる。

ここでいう「連続的な」アトラクタという概念は、理想的な想定に基づいているために、文字通りに解されるべきではない。現実のネットワークでは、連続的なアトラクタはその変動が非常に遅い状態空間内の多様体によって近似されるだけである。現実のネットワークは、「真の不動点(true fixed points)」によって構成されている訳ではない。現実のネットワークは、緩和が遅く、それに沿って変動が遅くなっている多様体によって構成されているのである。ニューラルネットワークによる学習機能は、この多様体仮説に基づいた近似の発想から、多様体の形状を調整すること(Adjusting the shape of this manifold)なのである。真の不動点の正確な位置を特定する取り組みは、学習アルゴリズムから区別されるのだ。

力学系としての再帰的ニューラルネットワーク

再帰的ニューラルネットワークは、記憶検索しながら、不動点へと収束していく力学系のモデルとして記述できる。

「もし一つの対象についての異なるインスタンスが同一の吸引流域(basin of attraction)に置かれるなら、それらは全て同一の記憶の想起を喚起させる。その結果、同一の対象についての認識を不変にさせるには、多対一の写像(many-to-one map)が必要になる。」
Seung, H. S. (1998). Learning continuous attractors in recurrent networks. In Advances in neural information processing systems (pp. 654-660)., p655.

複数の層の複数のユニット数によって構造化されたニューラルネットワークの順伝播は、この多対一の写像を実現している。問題は、同一の対象について想起された記憶は全て同一となるような記憶の保持にある。可視層から隠れ層へとデータ点$$x_1(0)$$が伝播される時、順伝播は次のようになる。

$$x_2(t) = [b_2 + W_{21}x_1(t-1)]^{+}$$

$$x_1(t) = [b_1 + W_{12}x_2(t)]^{+}$$

ここで、$$x_l(t)$$は第l層における時間tの入力ベクトルで、$$b_l$$は第l層のバイアスを指す。また$$W_{lm}$$はl層とm層の重み行列を表す。もし記憶がアトラクタとして保持されているのならば、この力学系の反復的な振る舞いは、記憶検索(memory retrieval)と見立てることができる。上記の振る舞いは、二つの層の間で、逆伝播によるフィードバックループを形成する。1回のループにより、$$x_1(t-1) \rightarrow x_2(t) \rightarrow x_1(t)$$という伝播が成り立つ。$$x_2$$に一度渡された$$x_1$$の出力が、再び$$x_1$$に戻されていることに着目するなら、とりわけ隠れ層のユニット数が可視層のそれよりも少ない場合、この伝播の関連は自己符号化器におけるそれと等しくなる。

したがって、再帰的ニューラルネットワークの順伝播は、自己符号化器の反復的な順伝播と等価な構造を有している。つまり、再帰的ニューラルネットワーク時間方向に展開(unfolding)するなら、それは自己符号化器のネットワーク構造を有していることになる。これを前提とすれば、自己符号化器表現学習再帰的ニューラルネットワーク記憶保持に関連があるというのは、何ら驚くべきことではない。再帰的ニューラルネットワークは、そのネットワーク構造観測データ点を「埋め込む」ことによって、一定時間、そのベクトルについての短期記憶を言わば「残響(reverberating)」として保持する。これは再帰的ニューラルネットワーク不動点照応する。それは特徴フィードバックループによって変化しないパターンを表している。

参考文献

  • Bengio, Y., Courville, A., & Vincent, P. (2013). Representation learning: A review and new perspectives. IEEE transactions on pattern analysis and machine intelligence, 35(8), 1798-1828.
  • Bengio, Y., Mesnil, G., Dauphin, Y., & Rifai, S. (2013, February). Better mixing via deep representations. In International conference on machine learning (pp. 552-560).
  • Bengio, Y., Yao, L., Alain, G., & Vincent, P. (2013). Generalized denoising auto-encoders as generative models. In Advances in neural information processing systems (pp. 899-907).
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning (adaptive computation and machine learning series). Adaptive Computation and Machine Learning series, 800.
  • Kim, T., & Bengio, Y. (2016). Deep directed generative models with energy-based probability estimation. arXiv preprint arXiv:1606.03439.
  • Rasmus, A., Berglund, M., Honkala, M., Valpola, H., & Raiko, T. (2015). Semi-supervised learning with ladder networks. In Advances in neural information processing systems (pp. 3546-3554).
  • Rifai, S., Vincent, P., Muller, X., Glorot, X., & Bengio, Y. (2011, June). Contractive auto-encoders: Explicit invariance during feature extraction. In Proceedings of the 28th International Conference on International Conference on Machine Learning (pp. 833-840). Omnipress.
  • Rifai, S., Mesnil, G., Vincent, P., Muller, X., Bengio, Y., Dauphin, Y., & Glorot, X. (2011, September). Higher order contractive auto-encoder. In Joint European Conference on Machine Learning and Knowledge Discovery in Databases (pp. 645-660). Springer, Berlin, Heidelberg.
  • Seung, H. S. (1998). Learning continuous attractors in recurrent networks. In Advances in neural information processing systems (pp. 654-660).
  • Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press.
  • Zhao, J., Mathieu, M., & LeCun, Y. (2016). Energy-based generative adversarial network. arXiv preprint arXiv:1609.03126.