arXiv探訪

興味の赴くままに数学するだけ

動的ボルツマンマシン(Dynamic Boltzmann Machine)

恐神貴行の「ボルツマンマシン」を大体読んだので、その感想も踏まえて動的ボルツマンマシンについて書いてみる。

復習

「はじめに」にも書いてある通り、ボルツマンマシン(BM)は人間の神経細胞網をモデル化した機械学習のモデルだ。各ユニットが神経細胞に対応していて、それぞれバイアス{ b }という量を持ち、またユニット同士の接続強度を重み{ W }という量が表す。ユニットの状態(発火するorしない)は1か0の二値を取り、その状態に対して{ \theta=( b, W ) }をパラメータとしたエネルギー

{ E_{\theta}( x )=-b^{\top}x-x^{\top}Wx }

が決まる。状態{ x }が現れる確率はこのエネルギーから

{ P_{\theta}( x ):\sim\mathrm{exp}\lbrace -E_{\theta}( x ) \rbrace }

と定められる。このようなモデルがBMである。エネルギーの第一項は各ユニット{ j }についてバイアスが大きいほど発火しやすいことを表している。(発火状態{ x_{j}=1 }のエネルギーが小さく、従ってこの状態が現れる確率が大きい。)同様に第二項は結合強度が大きいほど発火しやすいことを表している。この確率分布から学習則と呼ばれるパラメータの更新式を求め、{ x }の訓練データからパラメータを推定するのが、BMを用いた勾配法による機械学習のプロセスだ。

動的ボルツマンマシン

動的ボルツマンマシン(DyBM)は、BMにおける神経細胞のモデル化という側面を強化発展させたモデルである。具体的にはスパイク時間依存可塑性(STDP)という法則を表現したものだ。二つの神経細胞の接続には向きがあり、正順での発火はその接続を強くして(長期増強、LTP)、逆順での発火はその接続を弱くする(長期抑圧、LTD)という法則である。時系列を扱うために、現在の状態{ x^{\lbrack t \rbrack} }は、過去の時系列{ x^{\lbrack \lt t \rbrack} }の条件付きとみなす。

各ユニット{ j }について、条件付きエネルギーを

{ E_{\theta, j}( x^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} ):=-b_{j}x^{\lbrack t \rbrack}_{j}+E^{\mathrm{LTP}}_{\theta, j}( x^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} )+E^{\mathrm{LTD}}_{\theta, j}( x^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} ) }

で定める。バイアスが大きいほど発火しやすいのはBMと同じである。第二項と第三項はそれぞれ{ U=( u_{i, j} ), V=( v_{i, j} ) }をパラメータとして

{ \begin{aligned} E^{\mathrm{LTP}}_{\theta, j} &= -\sum_{i=1}^{N}u_{i, j}\alpha^{\lbrack t-1 \rbrack}_{i}x^{\lbrack t \rbrack}_{j}, \\ E^{\mathrm{LTD}}_{\theta, j} &= \sum_{i=1}^{N}v_{i, j}\beta^{\lbrack t-1 \rbrack}_{i}x^{\lbrack t \rbrack}_{j}+\sum_{k=1}^{N}v_{j, k}\gamma^{\lbrack t-1 \rbrack}_{k}x^{\lbrack t \rbrack}_{j} \end{aligned} }

と表される。{ \alpha, \gamma }帰納的に

{ \begin{aligned} \alpha^{\lbrack t-1 \rbrack}_{i} &= \lambda( \alpha^{\lbrack t-2 \rbrack}_{i}+x^{\lbrack t-d \rbrack}_{i} ) \\ \gamma^{\lbrack t-1 \rbrack}_{k} &= \mu( \gamma^{\lbrack t-2 \rbrack}_{k}+x^{\lbrack t-1 \rbrack}_{k}) \end{aligned} }

と決まる量で、それぞれシナプス適格度トレース(SynapticET)、ニューロン適格度トレース(NeuronET)という。ただし{ \lambda, \mu\in\lbrack 0, 1 ) }は減衰率と呼ばれる定数とする。

各ユニット{ i }について{ i\rightarrow j }という向きの接続を考える。この長期増強を{ \alpha^{\lbrack t \rbrack}_{i} }という時系列が表している。長期増強は常に減少していくが、ユニット{ i }が発火すると{ d-1 }時点後にそのスパイクがユニット{ j }に伝わり接続を強くする。

一方でユニット{ k }について{ j\rightarrow k }の長期抑圧を{ \gamma^{\lbrack t \rbrack}_{k} }という時系列が表している。長期抑圧も常に減少していくが、ユニット{ k }が発火すると、直ちに({ 1 }時点後に)そのスパイクがユニット{ j }との接続を阻害し弱くする。

SynapticETとNeuronETは

{ \begin{aligned} \alpha^{\lbrack t-1 \rbrack}_{i} &= \sum_{s=-\infty}^{t-d}\lambda^{t-d-s+1}x^{\lbrack s \rbrack}_{i} \\ \gamma^{\lbrack t-1 \rbrack}_{i} &= \sum_{s=-\infty}^{t-1}\mu^{t-s}x^{\lbrack s \rbrack}_{i} \end{aligned} }

より、過去の時系列から直接計算できる。

残りの{ \beta }については

{ \displaystyle \beta^{\lbrack t-1 \rbrack}_{i}:=\sum_{s=t-d+1}^{t-1}\mu^{s-t}x^{\lbrack s \rbrack}_{i} }

で定義される。これは{ i }から{ j }へのスパイクがどれだけ頻繁に伝わるかを表しており、よく伝わるならユニット{ j }の発火が抑えられる。

そして各ユニットの条件付きエネルギーは、過去の状態に関して条件付き独立とする。つまり状態{ x^{\lbrack t \rbrack} }の条件付きエネルギーを

{ \displaystyle E_{\theta}( x^{\lbrack t \rbrack} | x^{\lbrack \lt t \rbrack} ):=\sum_{j=1}^{N}E_{\theta, j}( x^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} ) }

で定義する。状態{ x^{\lbrack t \rbrack} }は、この条件付きエネルギーに基づいて定められる条件付き確率分布

{ P_{\theta}( x^{\lbrack t \rbrack} | x^{\lbrack \lt t \rbrack} ):\sim\mathrm{exp}\lbrace -E_{\theta}( x^{\lbrack t \rbrack} | x^{\lbrack \lt t \rbrack} ) \rbrace }

に沿って現れる。このモデルをDyBMと呼ぶ。

DyBMの勾配法による学習

エネルギーの式は各パラメータに対して線型なので、本質的に学習則はBMと同様に求めることができる。むしろ{ x^{\lbrack t \rbrack} }に関わる量が一次の項しかないのでBMより簡単と言える。計算すると学習率を{ \eta }として

{ \begin{aligned} b_{j} &\leftarrow b_{j}+\eta( x^{\lbrack t \rbrack}_{j}-\mathbb{E}_{\theta, j}\lbrack X^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} \rbrack ), \\ u_{i, j} &\leftarrow u_{i, j}+\eta\alpha^{\lbrack t-1 \rbrack}_{i}( x^{\lbrack t \rbrack}_{j}-\mathbb{E}_{\theta, j}\lbrack X^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} \rbrack ), \\ v_{i, j} &\leftarrow v_{i, j}+\eta\beta^{\lbrack t-1 \rbrack}_{i}( \mathbb{E}_{\theta, j}\lbrack X^{\lbrack t \rbrack}_{j} | x^{\lbrack \lt t \rbrack} \rbrack-x^{\lbrack t \rbrack}_{j} )+\eta\gamma^{\lbrack t-1 \rbrack}_{j}( \mathbb{E}_{\theta, i}\lbrack X^{\lbrack t \rbrack}_{i} | x^{\lbrack \lt t \rbrack} \rbrack-x^{\lbrack t \rbrack}_{i} ) \end{aligned} }

となる。

所感

これは機械学習という分野(特に勾配法を用いたもの)の特徴なのかもしれないが、目的函数を作って色々計算したら学習則が得られました、という感じであまり理論的な面白さがない。となると応用面での面白さを提示してほしくなるが、この本では薄い本(文字通りの意味)という制約があるため、それがない。著者の研究分野ということもあり期待していたが、個人的にはDyBMの有用性や新規性、構造的な面白さを感じ取ることは出来なかった。確かにSTDPをモデルに取り入れたという部分は興味深い結果だと思う。減衰率がモデルの収束性にも寄与しているため、そこは構造的な面白さになっている。しかし長々と本文を読んだ割には得られるものが少なかった。

この本では題名通りBMを中心とした様々なモデルが紹介され、それぞれ本文中で参考文献が挙げられ、長いリストに纏められている。従ってBMについて、あるいは機械学習についてでも良いが、気になることがあれば、まずコンパクトに纏まっているこの本を見て、それから論文を当たるという使い方が良いのかもしれない。であるならば、DyBMについても著者の原論文を当たるのが最も正統な手段なのだろう。