本記事では、以下の『Boltzmann Machines as Generalized Hopfield Networks: A Review of Recent Results and Outlooks』を簡単に紹介する。
論文概要
想起プロセスを模倣するHopfield Networkと与えられたデータの生成過程を模倣するBoltzmann Machineは、形式的に等価となることがある。
この対応関係について簡単に説明する。
この論文では、一般的な2値のRBMを一般化した以下のモデルを考えている:
$$p(\sigma, z ; \xi) = \frac{1}{Z(\xi)} \exp\left(\sum_{i=1}^{N} \sum_{\mu=1}^{P} \xi_{i}^{\mu} z_{\mu} \right)p_{\sigma}(\sigma) p_{z}(z)$$
ここで、\(\sigma\)は可視層、\(z\)は隠れ層を表す。また、\(p_{\sigma}\), \(p_{z}(z)\)は各層のスピンの事前分布に対応する。
生成モデルとして使用する際は、隠れ層\(z\)について周辺化した確率分布
$$p(\sigma; \xi) = \frac{1}{Z(\xi)} p_{\sigma}(\sigma) \exp\left( \sum_{\mu=1}^{P} u\left(\sum_{i=1}^{N} \xi_{i}^{\mu} \sigma_{i} \right) \right)$$
ここで、事前分布\(p_{z}(z)\)のキュムラント母関数\(u(x) = \log \mathbb{E}_{z}[e^{xz}]\)として定義した。
実は、この周辺化した分布は、一般化Hopfield modelの平衡分布と同じ形をしており、隠れユニット数がHopfield modelのパターン数に対応する。この等価性から、Hopfield modelの知見を利用して、モデルを理解することができる。
例えば、以下の簡単な例が考えられる。
- Hopfield Modelの結果 : パターン数とニューロン数の比\(\alpha := P/N\)が0.14を超えるとネットワークはどのパターンも取り出せなくなる
- RBMで解釈すると、隠れユニットの数\(P\)が大きすぎると過学習が生じて、データを適切に模倣できなくなる
この論文では、最初にBoltzmann Machineの問題をHopfiledモデルの問題に変換して、Hopfiled modelのパターンが疎な場合に、記憶された記憶の並列想起をもたらす可能性を議論している。この並列想起は、Boltzmann Machinが複雑なデータを生成する可能性があるかないかに関係している。
次に、密なHopfield modelの特性と様々な種類のノイズに対する頑健性を議論している。
そして、最後にネットワークの性能を向上させるためにニューロン間の結合を修正する方法について説明している。
感想
Boltzmann MachineとHopfield modelの等価性を利用して、Boltzmann Machineの性質をHopfiled modelの立場から調べるという観点は、面白いと思った。
おそらく、自分の理解だと、Hopfiled Modelが『並列記憶が可能・パターンの想起容量・ノイズへの頑健性』を持っていれば、Boltzmann Machineは、『複雑なデータ構造を生成可能・隠れユニット数が多くてもマシンは正常に動作し(パターン間のノイズによって想起が邪魔されないため)・ノイズに頑健である』ということが主張できるのだと考えた(解釈を間違っている可能性あり…)
この性質を使えば、Hopfield modelをより一般的な設定で解析したり、記憶容量を増やすような項を加えることは、Boltzmann Machineの適切な重みパラメータの初期設定方法や新たな学習手法の開発に貢献できそう…
また、この『等価性』の考え方は、Boltzmann Machineを超えて、複雑なモデルなモデルの性質を解析する際にも有効かもしれない…