ボルツマンマシン Boltzmann machine

浅川伸一

Hinton, Sejnowski らによって提案された確率的に動作するニューラルネット ワークです。

ホップフィールドネットでは、ローカルミニマムに陥ると抜け出すことができな かった訳ですが、各ユニットを確率的に動作させることによって、ローカルミニ マムの問題を回避させるように工夫されたものです。

各ユニット間の結合係数は対称 $w_{ij}=w_{ji}$, 自己結合はなし $w_{ii}=0$ を仮定するのはホップフィールドと同じです。各ユニットの出力は 0 または 1 を取りますが、どちらになるかが決定論的に決まるのではなく 1 を出力する 確率が次のように定義されます。

\begin{displaymath}
\left\{
\begin{array}{l}
p(x_i=1\vert u_i)=\frac{1}{1+e^{-\f...
...x_i=1\vert u_i)=\frac{1}{1+e^{\frac{x}{T}}}
\end{array}\right.
\end{displaymath} (1)


\begin{displaymath}
u_i=\sum_jw_{ij}x_j+\theta_i
\end{displaymath} (2)

T は温度1と呼ばれる定数($>0$)で、 温度が低くなると、0 付近で傾きが急になり $T\rightarrow 0$ の極限では ホップフィールドモデルに一致します。 逆に 温度が高くなると $x_i$ が 1 になる確率がなだらかになります。

\resizebox{0.5\textwidth}{!}{%%
\rotatebox{-90}{\includegraphics{Sigmoid.ps}}}

$T\rightarrow\infty$ では $u_i$ によらず $x_i$ が 1 になるか 0 になるかは $1/2$ になります。 すなわち`熱雑音が大きくなると系の不確定性が増す'ということです。

今 n 個のニューロンを考えた場合ネットワーク全体の状態 $[x_1,x_2,\ldots,x_n]$ は全部で $2^n$ 通り存在します。

ネットワークが時刻 $t$ で状態 $\alpha$ (たとえば $[0,1,1,\ldots,0]$など) に なったとします。次の時刻 $t+1$ で別の状態 $\beta$ になる遷移確率は、

\begin{displaymath}
p^{t+1}(\beta) = \sum_\alpha P(\beta\vert\alpha)p^{t}(\alpha)
\end{displaymath} (3)

と表せます2$\sum_\alpha$ はすべての状態についての総和の意味です。 式(3) を簡単にするために、 $p^t(\alpha),p^t(\beta),\ldots$ を縦に並べて全部で $2^n$ この要素の列ベクトルを作ると $\beta$$\alpha$列を要素とする行列 P ができます。すると式 (3)は
\begin{displaymath}
p^{t+1}(\beta) = Pp^t(\alpha)
\end{displaymath} (4)

と表すことができ、P のことを状態遷移行列といいます。状態遷移行列 P が時 刻によらないものならば時刻 $t+1$ における確率分布 $p^{t+1}$$p^t$ によっ て完全に記述できます。このような確率過程をマルコフ Markov 連鎖といいます 3

ネットワークの状態が $p=Pp$ のように時刻によらない形になっている場合、 定常状態といいます。定常状態になっている場合の $p(\alpha)$ の出現確率は

\begin{displaymath}
p(\alpha)=c\;e^{-\frac{E(\alpha)}{T}},
\end{displaymath} (5)

で与えられます。この形をした確率密度関数に従う分布を 統計物理学ではボルツマン Boltzmann 分布といいます。 $E(\alpha)$ は状態 $\alpha=[x_1,x_2,\ldots,x_n]$ に対するエネルギーで
\begin{displaymath}
E(\alpha)=-\frac{1}{\;2\;}\sum_i\sum_jw_{ij}x_ix_j
\end{displaymath} (6)

となります。ここで c は $\sum p(\alpha)=1$ となるように規格化するための 定数です。具体的には
\begin{displaymath}
c = \sum_\alpha e^{-\frac{E(\alpha)}{T}}
\end{displaymath} (7)

です。
定常確率分布がボルツマン分布に従うことの証明
i 番目のニューロンの値を $x_i$ とし、次の時刻でのこのニューロンの出力を $x'_i$ とします。確率的に定常な状態ならば、

\begin{displaymath}
p(x'_i=1) = p(x_i=1)
\end{displaymath} (8)

が成立します。一回に一つのニューロンしか変化しないので他のニューロンは無 視します。$x_i$ がボルツマン分布に従うと仮定したときに式 (8)が成立することを証明します。 次の時刻で 1 を出力する確率は、

\begin{displaymath}
\begin{array}{ll}
p(x'_i=1) &= p(x'_i=1,x_i=1) + p(x'_i=1,x_...
...{u_i}{T}}}\Brc{1+\frac{p(x_i=0)}{p(x_i=1)}}p(x_i=1)
\end{array}\end{displaymath} (9)

となります。ここで、変化前の分布がボルツマン分布に従うと仮定すると、

\begin{displaymath}
\begin{array}{ll}
\frac{p(x_i=0)}{p(x_i=1)} & =e^{-\Brc{\fra...
...m_jw_{ij}x_j+\theta_i}{T}}\\
&=e^{-\frac{u_i}{T}}
\end{array}\end{displaymath} (10)

となるので、これをを式(9)に代入すれば $p(x'_i=1)=p(x_i=1)$ が証明できました4
このように定常状態 p の出現確率はネットワークの各状態に対して 計算されるエネルギー E によって決まり、その確率がボルツマン分布に従うこ とからこのネットワークのことをボルツマンマシンといいます。

ただし、ネットワークのサイズ(ニューロンの数)が大きくなると定常分布を実際 に計算するのは計算量が多くて大変な作業になり、実際に計算するのはほぼ不可 能です。そこでシミュレーションの出番になるわけです。

ボルツマンマシンにおいては、ホップフィールドモデルの持っていた 問題点-ローカルミニマムからの脱出できる可能性を持っています。 温度 T が大きければ、ローカルミニマムから脱出する確率が増します。 ところが、

  1. 温度を高くするとエネルギー最小の状態をとる確率が低くなってしまう。
  2. 温度を低くするとエネルギー最小の状態になる確率が高くなるが、定常 状態になるまで時間がかかる
という問題があります。そこではじめは温度の高い状態から出発して、しだいに 温度を下げていくという方法を採ることがあります。この方法のことを シミュレーティッドアニーリング simulated annealing (シミュレーションによ る焼きなまし、疑似徐冷)といいます。温度の低下を時間の関数として
\begin{displaymath}
T=\frac{c}{\log(t+1)}
\end{displaymath} (11)

のようにすることで、最小値に達することが Geman によって証明されています。 Gemanらの論文は、画像処理にランダムマルコフ場を導入した画期的なもので ボルツマンマシンの応用例と見なすことができます。

ボルツマンマシンの学習アルゴリズム
次のような入力層、中間層、出力層が全結合したネットワークを考えます。

\resizebox{0.4\textwidth}{!}{%%
\includegraphics{boltz.eps}}

簡単にまとめるとボルツマンマシンの学習アルゴリズムは以下のようになります。
学習フェーズ
  1. 結合係数を乱数で初期化する
  2. 任意の入力ベクトルと出力ベクトルの組をネットワークに与える
  3. シミュレーティドアニーリングによってシステムの定常状態にする
  4. $x_i$, $x_j$ がともに発火している場合結合係数 $w_{ij}$ を一定量増 加させる
  5. 2-4 を繰り返す
反学習フェーズ
  1. 任意の入力ベクトルをネットワークに与える。このとき出力層は すべて 0 にする。
  2. シミュレーティドアニーリングによってシステムの定常状態にする
  3. $x_i$, $x_j$ がともに発火している場合結合係数 $w_{ij}$ を 一定量減少させる
  4. 1-3 を繰り返す
Crick & Mitchison は哺乳類の REM 睡眠で逆転学習が起きると考えました。彼 らによれば、哺乳類は活動しているときに脳のシステムが巨大であるあために分 散記憶を妨げるような副次モードが発生します。脳にとって不適切なモードが 睡眠期に起こる不規則な興奮状態によって取り除かれるのではないか、というの が彼らの提案です。Hinton & Sejnowski は Crick らの仮説がボルツマンマシ ンの二つの学習フェーズに対応する可能性を指摘しました。

その他にも、ネットワークの一部が壊れても自発的に回復する機能などが実現で きることが指摘されています。


脚注

... は温度1
体温とかをイメージしないでください。 ネットワークの動作を決めるパラメータです。もともと統計力学 からの借り物の概念なので`温度'という名前になっています。
... と表せます2
p の肩についている t は 時刻を表すもので累乗の意味ではありません
... 連鎖といいます3
式(3)が確率過程であるための条件はすべての時刻にお いて $\sum p^t(\alpha)=0$, $p^t(\alpha)\ge 0$ でなければならないのですが、 この過程は満たされています。
... が証明できました4
かつ定常分布はこれ以外に ないことがマルコフ連鎖の理論から証明できますが省略します