平均場近似推論の統計力学、自己符号化器としての深層ボルツマンマシン | Accel Brain

平均場近似推論の統計力学、自己符号化器としての深層ボルツマンマシン

Accel Brain; Console×

派生問題:統計力学の近似計算は如何にして可能になっているのか

深層ボルツマンマシン事前学習以降は、得られた初期値を前提として、深層ボルツマンマシン全体の最尤推定近似的に計算していく。ここでも計算コスト組み合わせ爆発の問題が派生するために、ギブスサンプラーをはじめとした近似計算方法を利用していく。尤も、深層ボルツマンマシンでは、その質上、ギブスサンプラーよりは「平均場近似(mean-field approximation)」の方が積極的に活用される。深層ボルツマンマシンには隠れ層同士の相互リンク形成される。そのため、制限ボルツマンマシンほどには容易に条件付き分布を計算することができない。平均場近似はこの計算の負担軽減として機能する

平均場近似は、深層ボルツマンマシンのような変数間に相互依存関係があるグラフィカルモデルに対して、それらの諸変数が互いに独立であるという仮定を導入することで、各変数の周辺分布近似計算する方法だ。平均場近似機能についての知見は、先述したイジングモデルとの関連からも、「統計力学(statistical mechanics)」的に深化されている。

実際問題として、強磁性体温度によって不連続変異するという特徴がある以上、強磁性体相転移という現象をモデル化するには、温度確率分布も同様に設計しなければならない。統計力学の間では、絶対温度Tにおける物理量は次のようなカノニカル分布(canonical distribution)に従うことが判明している。

$$P_{\beta}(x) = \frac{\exp (-\beta H(x))}{Z_{\beta}(J, h)}$$

ここでβはTに逆数に比例する逆温度(inverse temperature)のパラメタである。比例定数が1となる単位系を仮定するなら、$$Z_{\beta}(j, h) = \sum_{x}^{}\exp (-\beta H(x))$$は分配関数(partition function)、あるいは状態和(Zustandssumme)として定式化される。この分配関数温度を考慮した上で自発的磁化期待値を計算することを可能にする。通常、全てのスピンの数をNとするなら、h → 0におけるスピンマクロ期待値は以下のようになる。

$$M = \lim_{h \to 0} \frac{1}{N}\sum_{i=1}^{N}\sum_{x}^{}x_iP_{\beta}(x)$$

しかし分配関数を利用した場合、期待値は次のようになる。

$$M = \lim_{h \to 0}\frac{\partial}{\partial h}\frac{1}{N\beta}\log Z_{\beta}(J, h)$$

また、$$F = -\beta^{-1}\log Z_{\beta}(J, h)$$を熱力学の自由エネルギーと見做すなら、ハミルトニアンのエネルギー関数において、次の恒等式が成り立つ。

$$\beta \left(\frac{\partial (\beta F)}{\partial \beta}-F\right) = -\sum_{x}^{}P_{\beta}(x)\log P_{\beta}(x)$$

左辺は熱力学的なエントロピーの評価式を意味する一方で、右辺はカノニカル分布における情報論的なエントロピーに比例した値を指し示している。つまりこの両辺は熱力学統計力学の整合と接続可能性を指し示している。

相転移の有無を調査するには、期待値Mを温度Tの関数として評価することで、有限の臨界温度以下でM≠0の解が生じるか否かを判断すれば良い。しかし、各期待値の計算では $$x \in \{+1, -1\}^N$$が取り得る2のN乗個の状態の和を計算する必要がある。一般にこの期待値評価は複合性が高く、計算困難である。それ故に、実用上要求される時間内で、期待値分配関数近似的に計算する「平均場近似(mean field approximation)」の設計が統計力学の参照問題となっている。

問題解決策:分子場近似

最も基本的な平均場近似は「分子場近似(molecular field approximation)」である。分子場近似では、格子点の数がzの格子状の強磁性イジングモデルを想定する。格子点iのスピンを$$x_i$$とする。スピンは$$x_i$$はiに関する隣接格子点の近傍の集合$$\partial i$$に属する格子点$$j \in \partial i$$のスピン$$x_j$$と相互作用する。しかし$$x_j$$から$$x_i$$への影響は、jの期待値に代替して評価してもさほど問題は無いと考える。また、格子の並進対称によって、全てのスピン$$x_k (k = 1, 2, …, N)$$は等価な期待値を持つと想定する。

ベクトルや集合を表すXから成分や要素を表すxを除去する操作を$$X \backslash x$$とし、任意のXの期待値を$$\mathbb{E}(X) = m$$と表記するなら、$$x_i$$の周辺分布$$P_{\beta}(x_i) = \sum_{x \backslash x_i}^{}P_{\beta}(x)$$は、ハミルトニアン$$H_i^{eff}(x_i) = -Jx_i\sum_{j \in \partial i}^{}\mathbb{E}(x_j)-hx_i = -(zjm + h)x_i$$に対するカノニカル分布で近似することが可能であると考えられる。これは相互作用の無いスピンにzJm + hの外場が加わっている系に関するハミルトニアンのエネルギー関数と見做せる。zJm + hは相互作用対象となる分子から影響を繰り込んだ外場であるため、分子場(molecular field)と呼ばれる。

だが$$x_i$$は観測者が観測しているスピンに過ぎない。その期待値は他のスピンと等価であるはずだ。そこで、周辺分布のハミルトニアンに対するカノニカル分布を再利用することで、$$x_i$$の期待値を計算し、それをmと等価であるとするなら、$$\mathbb{E}(x_i) = \sum_{x_i \in \{+1, -1\}}^{}x_i\frac{e^{\beta (zJm+h)x_i}}{2 \cosh (\beta(zJm+h))} = \tanh(\beta (zJm+h)) = m$$というmについての「自己整合的方程式(self-consistent equation)」が得られる。それは、問題解決策自己自身を含むことになる問題設定に準拠した方程式となる。外場の無い h → 0 の状況では、$$\beta_c = T_c^{-1} = (zJ)^{-1}$$とすると、この自己整合的方程式は、$$T < T_c$$の場合に$$\pm m^{*} (m^{*} > 0)$$の解を持つ。一方、$$T \geq \beta_c$$の場合には、この方程式は$$m = 0$$の解しか持たない。$$T = T_c$$の境界区別された期待値の定的変化は、強磁性体相転移を記述している。$$T < T_c$$における$$m \neq 0$$の解は、自発的磁化の出現に対応している。

問題解決策:ベーテ近似

分子場近似は、計算の複合性を回避しながら相転移特徴表現している。しかし近似の精度には改善の余地がある。例えば外場の無い二次元の強磁性体においては、その厳密解に比して、分子場近似によって得られた自発的磁化の臨界温度評価値は過大になってしまう。厳密解における比は$$T=T_c$$で発散するのに対して、分子場近似では不連続性は担保されるものの、有限値に留まってしまう。

この分子場近似改善策の代表例となるのは、「ベーテ近似(Bethe approximation)」である。ベーテ近似は、観測したスピンに対して、最隣接の相互作用対象となるスピン影響は厳密に計算するが、それよりも遠く離れたスピンによる影響周辺分布近似してしまう。隣接したスピンとの相互作用は正確に計算されるために、分子場近似に比して近似の精度は改善される。

観測する格子点をiとして、ハミルトニアンを次のように再記述する。

$$H(x) = -x_i\left(J\sum_{j \in \partial i}^{} x_j + h\right) – J\sum_{(k, J)|k \neq i, l \neq i}^{}x_kx_l – h\sum_{j \neq i}^{}x_j = -x_i\left(J\sum_{j \in \partial i}^{}x_j + h\right) + H_{ \backslash i }(x \backslash x_i)$$

ここで、$$H_{ \backslash i }(x \backslash x_i)$$はH(x)から$$x_i$$に関係する項を全て除去した関数意味する。この関数は、元の系から$$x_i$$を除去して得られる系の有効ハミルトニアンを表現している。ベーテ近似では、この関数が $$j \in \partial i$$のスピンに与える影響を補助的な外場θで代替する。θは周辺分布を表すパラメタである。このパラメタθによる代替は、H(x)がiとその近傍の格子点$$j \in \partial i$$のスピンについての有効ハミルトニアン$$H^{eff}(x_i, \{x_{j \in \partial i }\}) = -x_i\left(J\sum_{j \in \partial i}^{}x_j + h\right) – \theta \sum_{j \in \partial i}^{}x_j$$で近似することを意味している。この有効ハミルトニアンのカノニカル分布を前提とすれば、$$x_i$$と$$\{x_{j \in \partial i}\}$$の結合分布は、$$P_{\beta}(x_i, \{x_{j \in \partial i}\}) \propto \exp (-\beta H^{eff}(x_i, \{x_{j \in \partial i}\}))$$と表現できる。この結合分布を周辺化するには、$$x \in \{+1, -1\}$$と任意の実数$$\forall A \in \mathbb{R}$$に対して$$e^{Ax} = 2 \cosh (A) \frac{e^{Ax}}{2 \cosh (A)} = 2 \cosh (A) \frac{1 + x \tanh (A)}{2}$$と、$$\sum_{x \in \{+1, -1\}}^{}x \frac{1 + x \tanh (A)}{2} = \tanh (A)$$を利用する。すなわち、

$$\sum_{\{x_j \in \partial i\} \in { \{+1, -1\} }^z}^{}e^{-\beta H^{eff}(x_i, \{x_{j \in \partial i \})}}$$

$$= (4 \cosh (\beta J)\cosh (\beta \theta))^z e^{\beta hx_i} \sum_{\{ x_{j \in \partial i}\} \in { \{+1, -1\} }^z }^{}\prod_{j \in \partial i}^{}(e^{\beta Jx_ix_j}e^{\beta \theta x_j})$$

$$= (4 \cosh (\beta J)\cosh (\beta \theta))^z e^{\beta hx_i} \prod_{j \in \partial i}^{}\left\{\sum_{x_j \in \{+1, -1\}}^{}\left(\frac{1 + x_ix_j \tanh(\beta J)}{2}\frac{1 + x_j \tanh(\beta \theta)}{2}\right)\right\}$$

$$= (4 \cosh (\beta J)\cosh (\beta \theta))^z e^{\beta hx_i}\left(\frac{1 + x_i \tanh (\beta J)\tanh (\beta \theta)}{2}\right)^z$$

$$\hat{\theta} = \frac{1}{\beta}\tanh^{-1}(\tanh(\beta J)\tanh(\beta \theta))$$と置くなら、$$\sum_{\{x_j \in \partial i\} \in { \{+1, -1\} }^z}^{}e^{-\beta H^{eff}(x_i, \{x_{j \in \partial i }\})} = \left(\frac{2 \cosh(\beta J)\cosh(\beta \theta)}{\cosh (\beta \hat{\theta})}\right)^ze^{(\beta \hat{\theta}+h)x_i}$$

したがって、当の周辺分布は、$$P_{\beta}(x_i) = \sum_{\{x_j \in \partial i\} \in {\{+1, -1\}}^z}^{}P_{\beta}(x_i, \{x_{j \in \partial i}\}) = \frac{1 + x_i \tanh(\beta(z\hat{\theta}+h))}{2}$$となる。

期待値$$\mathbb{E}(x_i) = m$$とθを結ぶ関係式は、$$m = \sum_{x_i \in \{+1, -1\}}x_iP_{\beta}(x_i) = \tanh(\beta(z\hat{\theta}+h))$$となる。

このmを利用することで、漸くθの解も得られる。θは$$H_{\backslash i}(x \backslash x_i)$$の代替物となる外場なのであった。このiのスピン観測するなら、iに該当するスピンが取り除かれるために、jの近傍に位置するスピンの個数はz-1個となる。この関連は、$$x_j$$と$$\{x_{k \in \partial j \backslash i}\}$$の全ての組み合わせについて再帰的に適用される。ただしiに関するスピンが取り除かれた系に関する期待値評価となれば、$$x_j$$の期待値は外場θのみで規定される期待値と等価でなければならない。上記のmとの関連から言い換えれば、zをz-1に置換した値とtanh(βθ)が等価でなければならない。これを前提とすれば、θは以下のような自己整合的方程式によって得られる。

$$\theta = (z – 1)\hat{\theta}+h = \frac{1}{\beta}(z-1)\tanh^{-1}(\tanh(\beta J)\tanh(\beta\theta)) + h$$

機能的拡張案:信念伝播

強磁性体イジングモデルでは、二つの変数間の依存関係しか表現できない。またこのモデルでは、ハミルトニアンの形式に従わない確率モデル表現することができなくなる。そこでベーテ近似機能的に拡張した「キャビティ法(cavity method)」が提案されている。

N次元の離散確率変数xに関する結合分布が次のように表現されているとする。

$$P(x) = \frac{1}{Z}\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})$$

Zは分配関数意味する。また$$\psi_{\alpha}(x_{\alpha})(\geq 0)$$はxに含まれている一部の要素の組み合わせ$$x_{\alpha}$$の関数であり、特に「ポテンシャル関数(Potential function)」と呼ばれる。尚も強磁性体イジングモデルを仮定するなら、格子点iや隣接格子点の組み合わせijがここではαに対応する。

グラフ理論的に言い換えれば、ここでいうαはノード間のエッジに対応する。当のノードとなるのは、個々の確率変数である。ただしここでのノードとエッジのグラフは、一つのエッジが複数のノードを結ぶ可能性もあるために、「ハイパーグラフ(hypergraph)」として記述しなければならない。ノード集合をVとすると、Vの部分集合を特に「ハイパーエッジ(hyperedge)」と呼ぶ。ハイパーエッジで構成された集合をFとするなら、Fとノード集合の組み合わせH = (V, F)が、ハイパーグラフ特徴付ける。ノード$$i \in V$$に対して集合$$x_i$$と、エッジ$$\alpha \in F$$に対して$$\psi_{\alpha}: \prod_{i \in \alpha}^{}x_i \rightarrow \mathbb{R} \geq 0$$が与えられれば、上記の結合分布が得られる。このハイパーグラフを前提とすれば、上述した結合分布は一種の「因子グラフモデル(factor graph model)」となる。

Mezard, M., & Montanari, A. (2009). Information, physics, and computation. Oxford University Press., p102より掲載。

Mezard, M., & Montanari, A. (2009). Information, physics, and computation. Oxford University Press., p102より掲載。

因子グラフモデルは、上記の結合分布についての、無向グラフモデルによって構成されたグラフ表現を提供する。因子グラフ表現するノードは「変数ノード(variable nodes)」と「関数ノード(function nodes)」に区別される。変数ノードは上図の円形で表現されたそれぞれの確率変数$$x_i$$に、関数ノードは上手の四角形で表現された$$\psi_{\alpha}(x_{\alpha})$$に、それぞれ対応する。もし後者の関数の引数の中に$$x_i$$が含まれている場合には、エッジは変数ノードiと関数ノードαを結ぶことになる。∂iとなるのは、変数ノードiと隣接する関数ノード集合である。エッジは常に変数ノード関数ノードを結ぶ。この意味でこのグラフは「二部グラフ(bipartite graph)」である。

因子グラフを仮定することには、計算の複合性の縮減可能にする上での利点が見出せる。一般的に因子グラフ上では、確率変数に対応する二つのノードが互いに接続していない二つの異なる部分グラフにそれぞれ含まれる場合に、その二つの確率変数は統計的に独立となる。統計的独立の仮定は、計算コストの大幅な削減を可能にする。尤も、単純に因子グラフを仮定するだけでは、規格化定数として機能するZの値が得られていない場合に、計算の複合性が一気に増す。しかしハイパーグラフ構成次第では、一部の条件付き確率の計算は単純化することができる。ノードiの近傍に含まれるノードを$$B(i) = \{j|j \in \alpha, \alpha \ni i, j \neq i\}$$と表現するなら、$$P(x_i|x_{B(i)}) \propto \prod_{\alpha \ni i}^{}\psi_{\alpha}(x_{\alpha})$$が成り立つ。

結合分布$$P(x) = \frac{1}{Z}\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})$$からは周辺分布$$P(x_i) = \sum_{x \backslash x_i}^{}P(x)$$を求めることが可能になる。ここで重要となるのは、$$x_i$$に直接関連しない全てのポテンシャル関数によって規定された$$x_i$$以外の確率変数の組み合わせ$$x \backslash x_i$$に対する以下のような結合分布の形式である。

$$P_{\backslash i}(x \backslash x_i) = \frac{\prod_{b \notin \partial i}^{}\psi_b(x_b)}{\sum_{x \backslash x_i}\prod_{b \notin \partial i}\psi_b(x_b)}$$

この形式を特に「キャビティ分布(cavity distribution)」と呼ぶ。この平均値ないし期待値をEで表すなら、周辺分布は次のように表現できる。

$$
P(x_i) = \frac{
\mathbb{E}(
\prod_{\alpha \in \partial i}^{}\psi_{\alpha}(x_{\alpha})
)_{\backslash x_i}
}{
\sum_{x_i}^{}\mathbb{E}(
\prod_{\alpha \in \partial i}^{}\psi_{\alpha}(x_{\alpha})
)_{\backslash x_i}
}$$

このことが意味しているのは、$$x_i$$に直接関連する全てのポテンシャル関数の積をキャビティ分布で平均して得られる有効ポテンシャル関数$$\psi_i^{eff}(x_i) = \mathbb{E}\left(\prod_{\alpha \in \partial i}\psi_{\alpha}(x_{\alpha})\right)_{\backslash x_i}$$を規格化した値が、$$x_i$$の周辺分布と等価であるということである。このアルゴリズム的な等価は、それぞれの計算量についても言える。有効ポテンシャルの評価に要する計算量と周辺分布を評価するための計算量が同程度なのである。しかしながらキャビティ分布の平均もまた、この分布が指し示す変数間の依存関係の複合性が増大していけば、次第に計算を困難とする。

そこでグラフ理論では、この問題を解消するために、循環(cycle)とツリー(tree)の区別が導入される。ツリーとは、循環の伴わないグラフである。ハイパーグラフにおいては、このツリーを特に「ハイパーツリー(hypertree)」と呼ぶ。ハイパーツリー因子グラフの中でも特に循環を持たない構造を有している。循環構造可能性の条件から排除すれば、有効ポテンシャルや周辺分布の計算に伴う複合性の縮減可能になる。と言うのも、互いに接続されていない異なる部分グラフに含まれている確率変数は、統計的に独立であるためだ。ハイパーツリー表現される系のキャビティ分布について言えば、次のように、統計的独立に準拠した上で、部分グラフ間で独立した平均値の評価を実行することが可能になる。

$$\psi_i^{eff}(x_i) = \sum_{x \backslash x_i}^{}\left(\prod_{\alpha \in \partial i}^{}\psi_{\alpha}(x_{\alpha})\right)P_{\backslash i}(x \backslash x_i) = \prod_{\alpha \in \partial i}^{}\left(\sum_{x_{\alpha} \backslash x_i}^{}\psi_{\alpha}(x_{\alpha}) \prod_{j \in \partial \alpha \backslash i}^{}m_{j \rightarrow \alpha}(x_j)\right)$$

ここで、$$m_{j \rightarrow \alpha}(x_j)$$は、$$\alpha \in \partial i$$の条件に対して、$$\psi_{\alpha}(x_{\alpha})$$を除外した系についての$$x_{\alpha}$$に含まれる要素$$x_j$$の周辺分布の評価を意味する。定義の上からてもわかる通り、この値は有効ポテンシャルを規格化した結果を表してもいる。したがって、

$$m_{i \rightarrow \alpha}(x_i) = \frac{
\prod_{b \in \partial i \backslash \alpha}^{}(\sum_{x_b \backslash x_i}^{}\psi_b(x_b)\prod_{i \in \partial b \backslash i}^{}m_{j \rightarrow b}(x_j))
}{
\sum_{x_i}^{}\prod_{b \in \partial i \backslash \alpha}^{}(\sum_{x_b \backslash x_i}^{}\psi_b(x_b)\prod_{j \in \partial b \backslash i}^{}m_{j \rightarrow b}(x_j))
}$$

あるいは次の二つの確率分布に区別して再記述することもできる。

$$m_{a \rightarrow i}(x_i) = \mathbb{Z}_{\alpha \rightarrow i}\sum_{x_{\alpha} \backslash x_i}^{}\psi_{\alpha}(x_{\alpha})\prod_{j \in \partial \alpha \backslash i}^{}m_{j \rightarrow \alpha}(x_j)$$

$$m_{i \rightarrow \alpha}(x_i) = \mathbb{Z}_{i \rightarrow \alpha}\prod_{b \in \partial i \backslash \alpha}^{}m_{b \rightarrow i}(x_i)$$

ただし$$\mathbb{Z}_{\alpha \rightarrow i}$$と$$\mathbb{Z}_{i \rightarrow \alpha}$$はそれぞれ規格化定数である。

この$$m_{a \rightarrow i}(x_i)$$を前提とすれば、周辺分布は次のように表せる。

$$P(x_i) = \mathbb{Z}\prod_{\alpha \in \partial i}^{}m_{a \rightarrow i}(x_i)$$

ただし$$\mathbb{Z}$$は規格化定数となる。

このように、効率化された周辺分布の計算方法は、一般に「信念伝播(belief propagation)」と呼ばれている。

問題再設定:変分問題の枠組み

尤も、信念伝播の導入における一連の周辺分布の計算処理は、グラフの局所的な情報しか参照していない。つまりこの周辺分布の計算アルゴリズムは、「因子グラフ循環が含まれているか否か」や「ハイパーツリーであるか否か」という条件に依存していないのである。そのため、循環を含む一般的なグラフに対しても、信念伝播近似の目的から適用される場合がある。こうして導入された信念伝播は特に「環状信念伝播(loopy belief propagation)」と呼ばれている。計算結果は研究者たちを驚かせるほどに良好になる場合があるという。ただしハイパーツリーではない場合に適用すると、グラフ上で一度学習と推定を実行させても、$$m_{a \rightarrow i}(x_i)$$や$$m_{i \rightarrow \alpha}(x_i)$$は確定しない。これらの関数が収束するまでの間は、学習を逐次的に反復する必要がある。

しかし環状信念伝播一般的なグラフ上でも機能することから認識すべきなのは、学習回数や計算量の問題よりも、このアルゴリズムの参照問題である。当初信念伝播は、統計力学近似問題との関連から導入された。しかしこのアルゴリズムは、言わば社会進化論の「前適応」の如く、当初設計された枠組みとは別様の問題設定との関連からも機能している。実際、重要な観点となるべきなのは、このアルゴリズムが「ベーテ自由エネルギー(the Bethe free energy)」の最小化を試みている点である。言い換えれば、一連のアルゴリズムは、実際には変分問題問題解決策として機能している。それ故に上述したヒューリスティックな問題解決策の導入は、変分問題の枠組みを再設定することによって、より明確に再記述することが可能になる。

問題解決策:変分法におけるベーテ近似

自己接続の無い無向グラフをG = (V, B)と置く。Vはノードで、Bはエッジを表す。これらはそれぞれ次のような集合となる。

$$V = \{1, …, N\}$$

$$B \in \{(i, j) | 1 \geq i < j \geq N\}$$ Gに対応する隣接行列Mを次のように定義する。 $$M_{ij} = 1 \ if \ (ij) \in B \ or \ (ji) \in B \ and \ 0 \ otherwise$$ iの近傍を$$N_i$$と表記するなら、接続の次数は次のようになる。 $$d_i := |N_i| = \sum_{j \in V}^{}M_{ij}$$ 再びポテンシャル関数ψを導入するなら、無向グラフモデル、すなわちマルコフ確率場における確率変数は以下のように再記述できる。

$$P(x) = \frac{1}{Z}\prod_{(ij) \in B}^{}\psi_{ij}(x_i, x_j)\prod_{i \in V}^{}\psi_i(x_i)$$

Zは規格化定数である。以上のグラフ構造確率変数を前提とすれば、ベーテ自由エネルギーは以下のように定式化される。

$$F_{Bethe}(\{b_i, b_{ij}\}) = \sum_{(ij) \in B}^{} \sum_{x_i, x_j}^{} b_{ij}(x_i, x_j) \log \frac{b_{ij}(x_i, x_j)}{\psi_{ij}(x_i, x_j)\psi_{i}(x_i)\psi_{j}(x_j)} – \sum_{i}^{}(d_i – 1)\sum_{x_i}^{}b_i(x_i) \log \frac{b_i(x_i)}{\psi_i(x_i)}$$

bは信念(beliefs)を意味する。また$$b_i(x_i)$$は単一ノード周辺分布(single-node marginals)で、$$b_{ij}(x_i, x_j)$$はペアワイズ周辺分布(pairwise marginals)と呼ばれている。

ベーテ近似は、以下の正規化と制約条件の下で、このベーテ自由エネルギーの最小化として得られる。

$$\sum_{x_i}^{}b_i(x_i) = 1 \ for \ all \ i \in V$$
$$\sum_{x_i}^{}b_{ij}(x_i, x_j) = b_j(x_j) \ for \ all \ (ij) \in B$$

この時、ベーテ自由エネルギーの最小値は$$P(x_i)$$と$$P(x_i, x_j)$$の周辺分布における近似として得られる。Gの構造循環的ではない限りにおいては、この近似計算は正確な周辺化を可能にする。物理学歴史意味論においては、ベーテ自由エネルギーはもともと「ギブス自由エネルギー(Gibbs free energy)」の近似として導入されていた。そのエントロピーは単一ノードとペアワイズのエントロピーによって近似されているのである。ギブス自由エネルギーの最小化は、$$P(x_i)$$と$$P(x_i, x_j)$$の正確な周辺分布の計算を可能にする。しかしそれは計算論的に実行不可能(infeasible)である。代替的に、その近似の最小化を実行しなければならない。ベーテ自由エネルギーは、$$b_i$$と$$b_{ij}$$の近似を得ることによって、正確な周辺分布の計算を可能にする。

したがって、ベーテ近似機能は、ベーテ自由エネルギー関数の最小化問題を解くことによって、周辺分布の計算を近似的に実行可能にすることにある。このように、問題解決策を何らかの最小化や最大化として再記述することを可能にするような問題再設定の方法は、一般に「変分法(variational method)」という。変分法とは、問題再設定としての問題解決策なのである。問題を設定することが問題の解決策として機能するという点では、変分法社会システム理論における「偶発性定式」の機能的等価物であるとも考えられる。

機能的等価物の探索:クラスター変分法における菊池近似

変分問題の枠組みを前提とすれば、ベーテ近似は「菊池近似」による「クラスター変分法(cluster variational method)」を単純化した形式として導入されている。一般的な菊池近似においては、自由エネルギーは基本的なノードクラスタにおける自由エネルギーの総和として近似される。

幾つかの連鎖したノード、その相互作用、あるいは相互作用の相互作用などについての基礎クラスタを含む領域をRとする。菊池近似アルゴリズム設計において、基礎クラスタの概念規定には幾つかの候補が挙げられる。この基礎ノード選択が、ベーテ近似から菊池近似区別する発想となる。基礎クラスタノードのペアの全てのリンクによって構成されている。ここで、領域rにおけるノードの状態を$$x_r$$とする。$$b_r(x_r)$$はこの状態の信念(beleif)を表す。すると領域のエネルギーは次のように定義される。

$$E_r(x_r) \equiv – \ln \prod_{ij}^{}\psi_{ij}(x_i, x_j) – \ln \prod_i^{}\psi_i(x_i) \equiv – \ln \psi_r(x_r)$$

この積は、領域rの中での全ての相互作用を意味する。ペアワイズの相互作用以上の複合性を前提としたモデルならば、その領域のエネルギーはこれらの相互作用の全てを含めるべく一般化される。この関連から「菊池自由エネルギー(Kikuchi free energy)」は次のようになる。

$$F_{Kikuchi} = \sum_{r \in R}^{}c_r\left(\sum_{x_r}^{}b_r(x_r)E_r(x_r) + \sum_{x_r}^{}b_r(x_r) \log b_r(x_r)\right)$$

ここで、$$c_r$$は、$$c_r = 1 – \sum_{s \in super(r)}^{}c_s$$によって定義される領域rを数え上げた個数を意味する。このsuper(r)は、rに対する超領域(super-regions)の全ての集合意味する。Rにおける領域の最大値において、$$c_r = 1$$となる。領域rにおける信念意味する$$b_r(\alpha_r)$$には、幾つかの制約がある。それは総和でなければならず、rと関わる領域における信念と整合的でなければならない。一般化すれば、基礎クラスタが増大すれば、菊池自由エネルギーの最小化によって得られる近似値は改善されていく。

機能的拡張案:一般化信念伝播

信念伝播ベーテ自由エネルギーの最小化として機能するアルゴリズムである。一方、クラスター変分法における菊池近似は、このベーテ近似一般化した機能的等価物となる。信念伝播におけるベーテ近似菊池近似へと機能的に代替した場合、その信念伝播は特に「一般化信念伝播(Generalized belief propagation: GBP)」となる。一般化信念伝播菊池自由エネルギーの最小化として機能するアルゴリズムとなる。

「カノニカル(canonical)」な一般化信念伝播は、ベーテ近似に準じた通常の信念伝播の良き複合性の縮減可能にしている。この信念伝播理論では、全ての領域rとその「直下のサブ領域(direct sub-regions)」を意味するsとの間のメッセージとして、$$m_{rs}(x_s)$$が導入される。このメッセージ概念は、sではないrによるsへの伝播を明確化する上で有用となる。直感的に言えば、観測者はメッセージが領域rの外部から内部へと入力されていくかのように考えるであろう。故にここでの信念は、領域rの外部から内部へと受け渡されるメッセージ$$m_{r’s’}$$に依存していると想定できる。このメッセージ集合をM(r)と表記する。この集合とその諸要素によって、s’ではないr’の領域が領域rとは何も共通ノードを有していないことや、s’の領域がrの直下のサブ領域あるいはrと同一の領域を意味していることが表現される。するとrの直下のサブ領域から発せられる集合M(s)に属しているメッセージの全てをM(r, s)の集合として定義できる。また、$$M(r) \backslash M(s)$$は、M(s)には含まれていないがM(r)には含まれているメッセージ表現している。

カノニカル一般化信念伝播の規則は次のように更新される。

$$m_{rs} \leftarrow \alpha \left[\sum_{x_{r \backslash s}}^{}\psi_{r \backslash s}(x_{r \backslash s})\prod_{m_{r”s”} \in M(r) \backslash M(s)}^{}m_{r”s”} \right]\prod_{m_{r’s’} \in M(r, s)}^{}m_{r’s’}$$

$$b_r \leftarrow \alpha \psi_{r}(x_r)\prod_{m_{r’s’} \in M(r)}^{}m_{r’s’}$$

メッセージは最小の領域へと入力されることで更新される。それから、メッセージ更新規則におけるM(r, s)の積によって新しいメッセージを算出することを可能にしている。

問題解決策:平均場近似

しかし変分問題の枠組みを前提とした場合、ギブス自由エネルギーベーテ近似は単なる問題解決策の一つに過ぎなくなる。実際、信念伝播抽象化するなら、「平均場近似(mean field approximation)」もまた変分問題の枠組みにおける問題解決策として再記述することができる。平均場近似は、ギブス自由エネルギー近似する解決策ではなく、その変分範囲を狭めることによる解決策である。

概念水準として言えば、信念伝播平均場近似の一種として紹介される場合もある。だがそれはこのアルゴリズム平均場近似の中でもベーテ近似によるギブス自由エネルギー近似処理に特化しているために過ぎない。一般化して言えば、むしろ平均場近似方法は、このギブス自由エネルギー関数の計算量の複合性の縮減如何にして可能にするのかという問題を参照している問題解決策の総称なのである。

実際、ギブス自由エネルギーは次のように記述できる。

$$F_{Gibbs}(\hat{P}) = \sum_{x}^{}\hat{P}(x) \log \left(\frac{\hat{P}(x)}{\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})}\right)$$

このように記述すれば、ギブス自由エネルギー関数は$$\hat{P}$$の関数として凸関数となる。この関数は、$$P = Z^{-1}\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})$$で最小値となる-logZを取る。この場合、因子関数族$$\{\psi_{\alpha}\}$$が規定する確率分布は、ギブス自由エネルギー関数変分問題によって特徴付けられる。

ここで、このギブス自由エネルギー関数の引数に入力する確率分布を次のように確率変数ごとの確率分布関数の積に分解する分布に限定する。

$$q(x) = \prod_{i \in V}^{}q_i(x_i)$$

するとこの関数は、真の確率分布となる$$P(x) = Z^{-1}\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})$$とのカルバック-ライブラー・ダイバージェンスを最小化する$$\{q_i(x_i)\}_{i \in V}$$を探索することになる。すなわち、

$$D_{KL}(q||p) = \sum_{x}^{}\prod_{i}^{}q_i(x_i) \log \left(\frac{\prod_{i}^{}q_i(x_i)}{Z^{-1}\prod_{\alpha}^{}\psi_{\alpha}(x_{\alpha})}\right)$$

この最適化問題は一般的に複数の局所解を持つ。

信念伝播がギブス自由エネルギーの最小化としてのベーテ近似に基づくアルゴリズムであるのに対して、平均場近似はギブス自由エネルギー関数変分範囲を変更することに基づいたアルゴリズムである。ベーテ近似ツリー状のグラフを前提としたアルゴリズムであるため、循環が少ないほど近似精度が高くなる。一方、平均場近似は周囲からの影響がその平均の周囲でばらつかない場合に精度が高まる。グラフ構造としては、ノードの次数が高く、また完全グラフに近しいグラフの場合に精度が高まる。

機能的拡張案:深層ボルツマンマシン

以上のような統計力学的な近似計算アルゴリズム変分問題の枠組みとの関連から平均場近似を記述することによって、我々は漸く前述した深層ボルツマンマシン機能構造を適切に把握することが可能になる。先に示したように、2層の隠れ層を持つ深層ボルツマンマシンを仮定するなら、条件付き分布は次のように近似できる。

$$p(h^{(1)}, h^{(2)}|v) \approx q(h^{(1)}, h^{(2)}|v) = \prod_{j}^{}q(h_j^{(1)}|v)\prod_{k}^{}q(h_k^{(2)}|v)$$

この近似分布は異なる隠れ層隠れ変数が互いに独立であるという仮定を指し示している。この形式表現することが可能な分布は、確かに無数に挙げられる。だが平均場近似はその中で最も容易に期待値を計算できるテスト分布とカルバック-ライブラー・ダイバージェンス的に類似する値を最適化によって探索する。すなわち、確率変数Xに対するテスト分布は、$$q(X) = \prod_{i \in \Omega}^{}q_i(X_i)$$と仮定し、ボルツマンマシン期待値計算に最もカルバック-ライブラーダイバージェンス的に近い族を探索することで、その分布をボルツマンマシン近似とする。つまり、$$D_{KL}(q || p) = \sum_{x}^{}q(x) \ln\frac{q(x)}{p(x|\theta)}$$が最小となるq(X)を求めることになる。ただし規格化条件として$$\sum_{x_i = 0, 1}^{}q_i(x_i) = 1$$となる。

積層自己符号化器の機能的等価物としての制限ボルツマンマシン

深層ボルツマンマシンで利用する制限ボルツマンマシンは、深層学習における一種の「自己符号化器(Autoencoder)」として捉えることができる。制限ボルツマンマシンを用いた深層ボルツマンマシン事前学習自己符号化器を下層から逐次的に積み上げていくため、そのモデルは「積層自己符号化器(stacked autoencoder)」となる。

自己符号化器教師あり学習のように目標となる出力の伴わない入力だけの訓練データからデータ特徴抽出することで、データの良き表現方法学習するニューラルネットワークの一種である。単純な例として、順伝播ニューラルネットワークを想定する。入力xがそのまま入力層の出力となるため、出力層の出力yが$$y = f(wx b)$$として規定される。wは層の重み、bはバイアス、fは活性化関数意味する。ここで、この単層ネットワークの入力層と同一の構造を持つ出力層を持つような2層ネットワークを想定してみよう。このネットワークでは、入力層と出力層が同数のノードを持つことになる。新たに追加した層の重みを$$\tilde{w}$$とし、バイアスを$$\tilde{v}$$とするなら、このネットワークでは、最初の層では入力xをyに変換して、次の層ではそのyを再度入力xと同じ形式に戻すべく変換が実行される。つまり、$$\tilde{x} = \tilde{f}(\tilde{w}y \tilde{b})$$となる。入力時の変換と出力時の変換を纏め上げるなら、$$\tilde{x}(x) = \tilde{f}(\tilde{w}f(wx b) \tilde{b}$$となる。

自己符号化器は、この重みバイアスを調整することにより、入力に対する出力値が元の入力値に近付けるようにする。この時、xに対して規定される中間層の出力yをxの符号(code)と呼ぶ。そして、最初の変換となる$$y = f(wx b)$$を符号化(encode)と呼び、次の変換となる$$\tilde{x} = \tilde{f}(\tilde{w}y \tilde{b})$$を復号化(decode)と呼ぶ。自己符号化器は、この符号化復号化可能にするニューラルネットワーク意味する。

積層自己符号化器は、このニューラルネットワークとしての自己符号化器を何層にも積み上げることで「深い(deep)」ネットワークとして構築した自己符号化器である。この自己符号化のメリットは、復号化されたデータにあるのではない。むしろこの復号化部分となる出力層を除去した入力層と中間層の符号化部分にこそ有用がある。と言うのもこの符号化処理は、言わば入力情報次元削減表現として機能するからだ。この表現は一種の内部表現ではある。だが何層にも積み上げた自己符号化器を前提とするなら、この内部表現は次の層への入力情報として指し示すことになる。すると、更に低次元の内部表現抽出することが可能になる。こうして自己符号化再帰的に反復していくことで得られる符号化部分の層を積み重ねていくと、その多層の階層型ネットワークは一種の特徴抽出器として機能するようになる。

深層ボルツマンマシン自己符号化器としての制限ボルツマンマシンアルゴリズム設計においてもまた、符号化復号化区別が導入される。ここで、制限ボルツマンマシン隠れ変数周辺分布$$p(h|\theta) = \sum_{v}^{}p(h|v, \theta)p(v|\theta)$$を想定しよう。これは可視変数周辺分布であるp(V|θ)から条件付き分布p(H|V, θ)に従って生成された分布として位置付けられる。この条件付き分布p(H|V, θ)は下層から上層を生成する確率分布に他ならない。一方、逆に隠れ変数周辺分布を元に条件付き分布p(V|H, θ)を計算するなら、$$\tilde{p}(v) = \sum_{h}^{}p(v |h, \theta)p(h|\theta)$$となる。ここでいうp(V|H, θ)は上層から下層を生成する確率分布に他ならない。ここから、$$p(v|\theta) = \tilde{p}(v)$$であることがわかる。つまり、可視変数の分布p(V|θ)をp(H|V, θ)に従って隠れ変数符号化する一方で、次に実行したのは逆にp(V|H, θ)に従って復号化することが可能なのである。

制限ボルツマンマシンはこの意味観測データ点の確率分布に関する自己符号化器であると言える。この自己符号化器としての制限ボルツマンマシンによって事前学習を実行する深層ボルツマンマシンは、この確率分布に関する自己符号化器を多層に積み重ねたモデルであるということになる。

プロトタイプの開発:自己符号化器としての深層ボルツマンマシンの派生

GitHubのaccel-brain-code/Deep-Learning-by-means-of-Design-Patternに配置しているライブラリ:pydbmでは、制限ボルツマンマシン深層ボルツマンマシンをはじめとする様々な構造アルゴリズムモデルアーキテクチャを提供している。このライブラリの主要な機能は、「積層自己符号化器(Stacked Auto-Encoder)」を構築することで、「次元削減(Dimensions Reduction)」、「事前学習(pre-training)」、そして「転移学習(Transfer learning)」を可能にする点にある。

尤も、このライブラリの設計思想を方向付けているのは、オブジェクト指向である。実際のところこのライブラリは、「オブジェクト指向分析(object-oriented analysis)」と「オブジェクト指向設計(object-oriented design)」が深層学習の設計と実装において如何に役立ち得るのかを確認するために制作した経緯もある。そのためこのライブラリは、抽象化を前提とするなら、RBMDBMの様々な機能的拡張を可能にしている。例えば自然文、音楽、音響、信号、あるいはN-gramなどのような系列パターンを対象にした場合、このライブラリは「再帰的ニューラルネットワーク(Recurrent Neural Network: RNN)」の一種である「長期/短期記憶(Long Short-Term Memory: LSTM)」のネットワーク構造を採用した時系列的な生成モデルとなる「LSTM再帰的時間的制限ボルツマンマシン(LSTM Recurrent Temporal Restricted Boltzmann Machine: LSTMRTRBM)」の構築を可能にする。一方、画像のセグメンテーションや物体検知の特徴表現においては、「形状ボルツマンマシン(Shape Boltzmann Machine: Shape-BM)」を構築することも可能になる。

このライブラリでは更に、DBMによって構成した積層自己符号化器構造をより特徴付けるために、様々な機能的等価物を提供している。例えばLSTMRTRBM機能的等価物としては「Encoder/Decoder based on LSTM」を、形状ボルツマンマシン機能的等価物としては「畳み込み自己符号化器(Convolutional Auto-Encoder)」を、そしてこの双方を構造的に結合させることで成立する「時系列自己符号化器(Spatio-temporal Auto-Encoder)」を、それぞれ提供している。各モデルは、それぞれのアルゴリズムに基づき、次元削減事前学習、そして転移学習可能にする。

参考文献

  • Baroni, M., Dinu, G., & Kruszewski, G. (2014, June). Don’t count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors. In ACL (1) (pp. 238-247).
  • Bengio, Y. (2009). Learning deep architectures for AI. Foundations and trendsR in Machine Learning, 2(1), 1-127.
  • Boulanger-Lewandowski, N., Bengio, Y., & Vincent, P. (2012). Modeling temporal dependencies in high-dimensional sequences: Application to polyphonic music generation and transcription. arXiv preprint arXiv:1206.6392.
  • Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.
  • Chung, J., Gulcehre, C., Cho, K., & Bengio, Y. (2014). Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv preprint arXiv:1412.3555.
  • Gers, F. A., Schmidhuber, J., & Cummins, F. (2000). Learning to forget: Continual prediction with LSTM. Neural computation, 12(10), 2451-2471.
  • Goldberg, Yoav & Levy, Omer. (2014). word2vec explained: deriving Mikolov et al.’s negative-sampling wordembedding method. arXiv preprint arXiv:1402.3722.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning (adaptive computation and machine learning series). Adaptive Computation and Machine Learning series, 800.
  • Lyu, Q., Wu, Z., Zhu, J., & Meng, H. (2015, June). Modelling High-Dimensional Sequences with LSTMRTRBM: Application to Polyphonic Music Generation. In IJCAI (pp. 4138-4139).
  • Lyu, Q., Wu, Z., & Zhu, J. (2015, October). Polyphonic music modelling with LSTMRTRBM. In Proceedings of the 23rd ACM international conference on Multimedia (pp. 991-994). ACM.
  • Mezard, M., & Montanari, A. (2009). Information, physics, and computation. Oxford University Press.
  • Mikolov, T., Kombrink, S., Burget, L., Černocký, J. H., & Khudanpur, S. (2011, May). Extensions of recurrent neural network language model. In Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on (pp. 5528-5531). IEEE.
  • Mikolov, T., & Zweig, G. (2012, July). Context dependent recurrent neural network language model. In SLT (pp. 234-239).
  • Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. InAdvances in neural information processing systems (pp. 3111-3119).
  • Mooij, J. M., & Kappen, H. J. (2005). On the properties of the Bethe approximation and loopy belief propagation on binary networks. Journal of Statistical Mechanics: Theory and Experiment, 2005(11), P11012.
  • Niu, L. Q., & Dai, X. Y. (2015). Topic2Vec: Learning Distributed Representations of Topics. arXiv preprint arXiv:1506.08422.
  • Rumelhart, D.E., Hinton. G.E., Williams, R.J. (1986). “Learning representations of back-propagation errors,” Nature, 323, 533-536.
  • Song, F., & Croft, W. B. (1999, November). A general language model for information retrieval. In Proceedings of the eighth international conference on Information and knowledge management (pp. 316-321). ACM.
  • Sundermeyer, M., Schlüter, R., & Ney, H. (2012, September). LSTM Neural Networks for Language Modeling. In INTERSPEECH (pp. 194-197).
  • Sutskever, I., Hinton, G. E., & Taylor, G. W. (2009). The recurrent temporal restricted boltzmann machine. In Advances in Neural Information Processing Systems (pp. 1601-1608).
  • Yedidia, J. S., Freeman, W. T., & Weiss, Y. (2001). Generalized belief propagation. In Advances in neural information processing systems (pp. 689-695).
  • Yedidia, J. S., Freeman, W. T., & Weiss, Y. (2003). Understanding belief propagation and its generalizations. Exploring artificial intelligence in the new millennium, 8, 236-239.
  • Yedidia, J. S., Freeman, W. T., & Weiss, Y. (2005). Constructing free-energy approximations and generalized belief propagation algorithms. IEEE Transactions on information theory, 51(7), 2282-2312.
  • Werbos, P. J. (1990). Backpropagation through time: what it does and how to do it. Proceedings of the IEEE, 78(10), 1550-1560.
  • 人工知能学会, 嶌敏弘(編)『深層学習』近代科学社、2015
  • 鈴木譲, 植野真臣(著)『確率グラフィカルモデル』共立出版、2016