---
title: HopfieldnetworkとBoltzmann machine
tags:  #機械学習 #ニューラルネットワーク  
author: [藤田 一寿](https://convert.docswell.com/user/k_fujita)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJN83VV978.jpg?width=480
description: HopfieldnetworkとBoltzmann machine by 藤田 一寿
published: November 12, 24
canonical: https://convert.docswell.com/s/k_fujita/5YDMMV-2024-11-12-013515
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJN83VV978.jpg)

Hopfield networkと
Boltzmann machine
公立小松大学
藤田 一寿
Ver. 20241230


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YE9K9663E3.jpg)

脳とニューロンモデル


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GE8R9ZZLJD.jpg)

脳は神経細胞の集まり
• 神経細胞が集まった部位．
グリア細胞も多く存在し，脳機能に重要
な役割を果たしていることが分かってい
る．
• 神経細胞がネットワークを構築している．
• 神経細胞が脳における主な計算素子．
(Hubel 1988)
(Bear et al. Neuroscience)


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LELKWDDQJR.jpg)

All or none law (全か無かの法則) (1914年)
• 全か無かの法則
• ニューロンは閾値未満の刺激では活動電位を発生させず，閾値を超えた刺激は，そ
の全てが同じ振幅の活動電位を発生させる(カンデル神経科学)．
• 単純化すると，ニューロンは入力が閾値を超えると1を出力し，そうでなければ0を出力する．
• 膜電位が閾値を超えるために十分な大きさと長さの入力が入れば，ニューロンは発火し，そうでなけれ
ば発火しない．入力がニューロンを発火させるのに十分な大きさと長さであることを，入力が閾値を超
えると見なす．
入力
出力
活動電位の最大値
入力の閾値
t0
入力が閾値を超えたら1を出力をするという現象はステップ関数で表現できる．
活性化関数でよく用いられるシグモイド関数は，その値を確率として捉えると入力が小さい
と発火率が低く，入力が大きいと発火率が高いことを表していると言える（発火とはニュー
ロンが活動電位を発すること）．ここでの発火率はニューロン単体のものとも解釈できるが
，ニューロン集団のものだとも解釈することもできる．
それではReLUはどのように解釈すればよいのだろうか？
t0
time
入力が閾値をこえるとニューロンは活動電位を発する．
活動電位の大きさは一定である．
この図は単純化のため活動電位（膜電位）を線で表現し
ているが，実際の膜電位変化は幅を持っている．
実際のニューロンのダイナミクスはAll or non lawで表現できるほど単純ではない．
Adrian E. D. (1914). The all-or-none principle in nerve. The Journal of physiology, 47(6), 460–474.
元の文献を詳しくチェックしていない．


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4JM29PWKJW.jpg)

神経細胞の信号伝達
シナプス前活動電位
シナプス後電位が誘発され続
けると，いずれ閾値を超え，
活動電位を発する．
シナプス前
ニューロン
膜電位
𝑉
閾値ℎ
𝑡
シナプス前
活動電位
活動電位により，次のニュ
ーロンに信号が伝わる．
𝑉
シナプス後
ニューロン
シナプスに活動電位が到達すると，シナプス
前部から神経伝達物質は放出され，シナプス
興奮性シナ
後部でそれを受け取り，シナプス後電位
プス後電位
(postsynaptic potential: PSP)が発生する．
発生するシナプス後電位の大きさはシナプス
Figure 10-7 Synaptic transmission at chemical synapses involves several steps. An action potential arriving at the terminal of a presynaptic axon causes
の強度（重み，荷重）に依存する．
voltage-gated Ca
channels at the active zone to open. The influx of Ca
produces a high concentration of Ca
near the active zone, which in turn causes vesicles
2+
2+
2+
(Kandel, Principals
of Neuroscience)
containing neurotransmitter to fuse with the presynaptic cell membrane and release their contents into the synaptic cleft (a pro cess termed exocytosis). The released
neurotransmitter molecules then diffuse across the synaptic cleft and bind to specific receptors on the post-synaptic membrane. These receptors cause ion channels to
open (or close), thereby changing the membrane conductance and membrane potential of the postsynaptic cell. The complex process of chemical synaptic transmission
is responsible for the delay between action potentials in the pre- and post-synaptic cells compared with the virtually instantan eous transmission of signals at electrical
𝑡
ニューロン


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJRMG1Y6E9.jpg)

神経細胞の数理モデル化
シナプス前ニューロン1
シナプス前ニューロン１が発火するとスパイクがニューロンに向かう．
この場合，ニューロン１の出力𝑥1を1とする．逆に発火していなければ
𝑥1 = 0となる．
発火したら
𝑥1 = 1
そうでなければ
𝑥1 = 0
ニューロンは閾値ℎを持つ．
シナプス前ニューロン2
𝑥2
𝑥3
シナプス前ニューロン3
ニューロンには入力𝑥1が直接入力されない．シナプス
𝑤1を介してニューロンに入る．シナプスは入力に対し
積の形で作用する．結果として，ニューロンはシナプ
ス前ニューロン1から
𝑤1𝑥1
の入力を受ける（シナプス後電位が発生する）．
𝑤1
ℎ
𝑎が閾値を超えたら活動電位を発するので1を出力する．
そうでなければ0を出力する．これはステップ関数
𝑓 𝑎 − ℎ で表せる．
出力
ニューロン
𝑧
𝑦
𝑓(⋅)
ニューロンは複数の神経細胞から入力を受ける．入
力の総和𝑎は，
𝑎 = ෍ 𝑤𝑖 𝑥𝑖
𝑖
と書ける．𝑎を前活性(pre-activation)という．


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PEXVXYGD7X.jpg)

線形閾値素子(Linear threshold unit)
• 入力を 𝑥𝑖 ，重みを 𝑤𝑖 ，ℎを閾値とすると前活性𝑎とニューロンの出力（活性）𝑦 は
次のように書ける．
• 𝑎 = σ𝑖 𝑤𝑖 𝑥𝑖
• 𝑦 =𝑓 𝑎−ℎ
• 𝑓(⋅)は活性化関数である．活性化関数にステップ関数を使用した場合， 𝑓(𝑎)は次
のように書ける．
閾値
入力
1
𝑓 𝑎 =ቊ
0
𝑥1
if 𝑎 &gt; 0
otherwise
𝑥2
活性化関数
𝑥3
０
𝑎
෍ 𝑤𝑖 𝑥𝑖
𝑤2
𝑓(𝑎)
ℎ
𝑤1
𝑓(⋅)
出力
𝑦
𝑖
𝑤3
重み
閾値を超えたら1を出力
そうでなければ0を出力


# Page. 8

![Page Image](https://bcdn.docswell.com/page/3EKQW34DED.jpg)

Hebbian learning（ヘブ学習）(1949年)
• Hebbが提案した脳の学習の理論
• シナプス前ニューロンが繰り返し発火し，シナプス後ニューロンの発火を助け
たとき，そのシナプスは成長する．
ニューロンの応答
ニューロンの応答
time
time
学習によりシナプスが成長する．
ニューロンの応答
time
Hebbの本では，当時おばあさん細胞説とpopulation codingが議論されていて，population codingが
主流であると述べている．Hebbはおばあさん細胞説に基づき議論している．なかなか面白い．
ニューロンの応答
time
(Hebb, 1949)


# Page. 9

![Page Image](https://bcdn.docswell.com/page/L73P1GLPE5.jpg)

脳の神経ネットワークは，高度な内部機構を備えた生きた細胞，
ニューロンから構成されている．ニューロンはシナプ スを通じて
互いに信号を送信できる．学習すると，一部の ニューロン間の接
続が強くなり，他の一部のニューロン間の接続が弱くなる．
人工ニューラルネット ワークは，値がコード化されたノードから
構築される．ノードは互いに接続されており，ネットワークが訓
練されると，同時にアクティブなノード間の接続は強くなり，そ
うでない場合は弱くなる．
(https://www.nobelprize.org/prizes/physics/2024/press-release/)


# Page. 10

![Page Image](https://bcdn.docswell.com/page/87DLX1N3EG.jpg)

パーセプトロン


# Page. 11

![Page Image](https://bcdn.docswell.com/page/VJP2PQ5PJ8.jpg)

パーセプトロンの簡単な紹介
• パーセプトロンはコンピュータ科学者，心理学者のRosenblattが開発した学習
が可能なニューラルネットワーク（1957, 1958）である．
• 単純パーセプトロンは1層のニューラルネットワークで，それらの重みは教師
あり学習により最適化する（答えと出力を比べ，それの結果を用い重みを学習
する） ．


# Page. 12

![Page Image](https://bcdn.docswell.com/page/2EVD25PVEQ.jpg)

単純パーセプトロンの簡単な説明
• 2クラス問題が解ける（ラベルが2種類のみ） ．
• 入力層と出力層の2層からなるニューラルネットワークである．
• 学習する層は入力-出力間の1層なので1層のニューラルネットワークと呼ぶ．
• 入力層は入力の値そのものを出力層のニューロンに送る．
• 出力層は閾値素子である．
出力層
入力層
𝑥0
𝑤0
𝑤1
𝑦
出力
𝑥1
𝑤𝑖
入力ベクトル
𝒙 = 𝑥0, 𝑥1, … , 𝑥𝑖 , … , 𝑥𝑁 𝑇
𝑥𝑖
重みベクトル
𝒘 = 𝑤0, 𝑤1, … , 𝑤𝑖 , … , 𝑤𝑁 𝑇


# Page. 13

![Page Image](https://bcdn.docswell.com/page/57GYR6P17L.jpg)

単純パーセプトロンの数式表現
パーセプトロンは，入力ベクトルと重みベクトルの内積
（w T x = w x cos θ）が正か負かを基準に，入力ベクトル
を分ける．言い換えれば，入力ベクトルと重みベクトル
がおおよそ同じ方向を向いている（入力ベクトルが重み
ベクトルに対し，±90度）かどうか調べている．
• 入力ベクトルを𝒙 = 𝑥0 , 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑁 𝑇 とする．
• ただし𝑥0 = 1である．𝑤0 𝑥0 をバイアスという．
𝑇
• 重みベクトルを𝒘 = 𝑤0 , 𝑤1 , … , 𝑤𝑖 , … , 𝑤𝑁 とする．
• 次の一般化線形モデルを構成する．
一般化線形モデル
𝑤と𝑥の掛け算の和を非線形活性化関数で変換しているモ
デル．
入力層
出力層
𝑇
• 𝑦 = 𝑓 σ𝑁
𝑤
𝑥
=
𝑓(𝒘
⋅ 𝒙)
𝑖=0 𝑖 𝑖
• ここで非線形活性関数𝑓(⋅)を
𝑥0
𝑤0
𝑤1
1 if 𝑢 ≥ 0
𝑓 𝑢 =ቊ
−1 otherwise
• とする．これをステップ関数と呼ぶ．
𝑦
出力
𝑥1
𝑤𝑖
𝑥𝑖
入力ベクトル
𝒙 = 𝑥0, 𝑥1, … , 𝑥𝑖 , … , 𝑥𝑁 𝑇
重みベクトル
𝒘 = 𝑤0, 𝑥1, … , 𝑤𝑖 , … , 𝑤𝑁 𝑇


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EQMV42NJP.jpg)

単純パーセプトロンの欠点
• 線形分離不可能な問題（直線で分けられない問題）は解けない．
• 例：XOR演算が解けない
• これは1層のパーセプトロンの問題である．
• 活性化関数（Activation function）の連続関数化とBackpropagationによりパーセプトロンの
多層化が可能となり解消したと言われる．
• MinskyとPapertによる指摘によりニューラルネットワークブームが終わった
と言われることが多い．
XOR演算
AND演算
(0, 1) 0
1
(1, 1)
(0, 1) 1
0
(1, 1)
(0, 0) 0
0
(1, 0)
(0, 0) 0
1
(1, 0)
ANDの場合，直線で分けられる（線形分離可能）．
入力を座標，出力を白黒（それぞれ0,１に対応）で表
現している．
XORの場合，直線で分けられない（線形分離不可能）．
MinskyとPapertのPerceptronsでは，パーセプトロンはx=yを判別する
ことができないことを示している．


# Page. 15

![Page Image](https://bcdn.docswell.com/page/KJ4VMQL3E1.jpg)

多層パーセプトロン
• 先のパーセプトロンは１層しかなかった．これを多層化したものを多層パーセ
プトロンと呼ぶ．
• 入力を生成する層を入力層，出力を生成する層を出力層，入力層と出力層の間
の層を中間層もしくは隠れ層という．
入力層
中間層
出力層
このネットワークの場合，入
力層を数えて3層ということも
ある．この資料では，入力層
は数えないことにする．
ニューロンのことをユニット
とも言う．


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE138PLZJG.jpg)

多層化の恩恵
• 多層化により線形分離不可能な問題が解ける．
• しかし，どのように多層化したパーセプトロンを学習すればよい分からなかっ
た．
• Rosenblattはランダム接続を用いることで，運任せであるが入力を線形分離可能な
状態に変換しようとした．
• 多層パーセプトロンの学習は，活性化関数を連続関数にし， Rumelhart,
Hinton, Williamsによる誤差逆伝播を適用することで簡単に実現できるように
なった．
• 誤差逆伝播は現在の複雑なアーキテクチャを持つニューラルネットワークの学
習にも使われている．


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GEWPZ2V6J2.jpg)

ニューラルネットワークを別
の視点で見る


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47ZK1D4R73.jpg)

AND演算を実現するニューラルネットワーク
• AND演算を実現するために図のような2入力1出力のネットワークを考える．
• 𝑤1 = 𝑤2 = 1, ℎ = 1.5とすると，入力と出力の関係は次のように書ける．
• 𝑦 = 𝑓(𝑥1 + 𝑥2 − 1.5)
• この式はAND演算を実現している．
AND演算
𝑥1
𝑥2
𝑦
0
0
0
0
1
0
1
0
0
1
1
1
ネットワーク
入力
𝑥1
𝑤1
𝑦
入力
𝑥2
𝑤2
ネットワークの各数値
𝑥1
𝑥2 𝑥1 + 𝑥2 − 1.5 𝑦
0
0
0
−1.5
0
1
0
−0.5
1
0
0
−0.5
1
1
1
0.5


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YJ6QL131JV.jpg)

ANDを実現する系
先のANDを実現するニューラルネットワークは，3つのユニ
ットから成る系だと考えられる．
面倒なので各ユニットが0か1の値しか持たないとする．
0と1を，それぞれ↓，↑で表す．
𝑥1
1
𝑤1
3
𝑥2
2
𝑤2
𝑥3 = 𝑓 𝑤1 𝑥1 + 𝑤2 𝑥2 − ℎ
AND演算
𝑥1
𝑥2
𝑥3
0
0
0
0
1
0
1
0
0
1
1
1


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GJ5R14LL74.jpg)

ANDを実現する系
1を上矢印，0を下矢印として図にする．
ニューラルネットワークが取りうる矢印の全パターンは次のとおりである．
↓
↓
↓
↑
↓
↑
↓
↑
↓
↑
↓
↑
↓
↓
↑
↑
↑
↓
↑
↑
↑
↓
↓
↑


# Page. 21

![Page Image](https://bcdn.docswell.com/page/9E2D1VL3ER.jpg)

ANDを実現する系
ANDを実現する重み（パラメタ）を設定することで，上の4パターンしか出現
しないようになる．
ANDのパターン
↓
↓
↓
↑
↓
↑
↓
↑
↓
↑
↓
↑
↓
↓
↑
↑
↑
↓
↑
↑
↑
↓
↓
↑


# Page. 22

![Page Image](https://bcdn.docswell.com/page/D7Y2Z3Q87M.jpg)

ニューラルネットワークとは何モノか
• ニューラルネットワークは無数のニューロンからなるシステムである．
• 各ニューロンの状態は，それが接続するニューロンの状態により決まる．
• 各ニューロンはそれぞれ様々な状態になる（出力を出す）が，接続するニュー
ロンからの影響の強さ（重み）によって決まる．
• 閾値はバイアスニューロンにより表現できる．
• 逆に，それらのパラメタを変えることで，ネットワーク（ 系 ）の状態を制御
することができる．
• ニューラルネットワークはニューロンの応答パターンを望みの形にするパラメ
タ （重み） を探すことが目的である．
• 系を望みの状態するパラメタを探す．


# Page. 23

![Page Image](https://bcdn.docswell.com/page/VEN83VK9J8.jpg)

ニューラルネットワークとは物質の似ている？
• ニューラルネットワークは無数のニューロンからなる系である．
• 各ニューロンの状態は，それが接続するニューロンの状態により決まる．
• もしかしたら，物理が使えるかもしれない．
• なにか磁石に似ていないか．
• 磁石の向きが上と下だけと考えれば，ニューロンが活性化した時を磁石が上向き，そうでなければ下向
きと対応付けられるかも．
• ニューロンもたくさんあるからネットワークの状態は統計力学を使って理解できるかも．
↑
↓
↑
↑
↓
↓
↑
↑
↑
↑
↑
↓
↑
↓
↑
↑
ニューラルネットワーク
似ている
磁石のモデル


# Page. 24

![Page Image](https://bcdn.docswell.com/page/Y79K96V373.jpg)

統計力学


# Page. 25

![Page Image](https://bcdn.docswell.com/page/G78R9ZPLED.jpg)

統計力学
• 統計力学は，力学系の微視的な物理法則を基にして，確率論の手法を用いて巨
視的な性質を導き出すことを目的とした物理学の分野の一つである
（Wikipediaより）．
• 1024 個の分子からなる物質（マクロな系）のマクロな性質を知るための方法が
統計力学である（長岡「統計力学」）．
• 無数の原子分子からなる物質の性質を確率・統計を用い理解する．


# Page. 26

![Page Image](https://bcdn.docswell.com/page/L7LKWD1QER.jpg)

系の状態とエネルギー
• 図のように，N個の離れた区別できる場所（丸）があるとしよう．
• 各場所には要素磁石（スピン）が置かれていて，スピンは上向きか下向きかの
，2つの向きのみを取りうるとする．
• 上向きか下向きかは，０，１と考えても良い．
• 対応する磁気モーメントは±𝑚とし，スピンの磁気モーメントは上向きのとき+𝑚，
下向きのとき−𝑚とする．
↓
↑
↓
↓
↑
↓
1
2
3
4
5
6
(Kittel「熱物理学」)


# Page. 27

![Page Image](https://bcdn.docswell.com/page/4EM29P5KEW.jpg)

系の状態の組み合わせ
• 3つのスピンがある系を考える．
• 状態の組み合わせの総数は23 = 8個ある．
• 状態の組み合わせの総数は8個ではあるが，上向きの数の種類は4つしか無い．
3つ上向き
↑
↑
↑
1
2
3
2つ上向き ↑
↑
↓
↑
↓
↑
↓
↑
↑
1
2
3
1
2
3
1
2
3
1つ上向き ↑
↓
↓
↓
↑
↓
↓
↓
↑
1
2
3
1
2
3
1
2
3
↓
↓
↓
1
2
3
上向きなし
(Kittel「熱物理学」)


# Page. 28

![Page Image](https://bcdn.docswell.com/page/PERMG13679.jpg)

系の状態とエネルギー
• 系の全磁気モーメントは
• 𝑀 = 𝑚𝑁↑ − 𝑚𝑁↓
• で表される． 𝑁↑ ，𝑁↓ はそれぞれ上向きと下向き
のスピンの数である．
• また，一様の外部磁場𝐵があった場合，系の全
ポテンシャルエネルギーは
• 𝑈 = −𝑀𝐵
3つ上向き
2つ上向き
1つ上向き
↑
↑
↑
1
2
3
↑
↑
↓
↑
↓
↑
↓
↑
↑
1
2
3
1
2
3
1
2
3
↑
↓
↓
↓
↑
↓
↓
↓
↑
1
2
3
1
2
3
1
2
3
↓
↓
↓
1
2
3
• と書ける．
• つまり，この場合，系の取りうるエネルギーは
4種類である．これは，系の状態の組み合わせ
の総数より少ない．
上向きなし
(Kittel「熱物理学」)


# Page. 29

![Page Image](https://bcdn.docswell.com/page/P7XVXY4DJX.jpg)

マクロな系に対する様々な考え方，捉え方
• ミクロカノニカルアンサンブル
• 全エネルギーが一定である系のアンサンブル．熱的に孤立しており，熱力学的には
孤立系に当たる．系が許す全ての微視的状態は同じ確率で現れる．
• カノニカルアンサンブル
• 巨大な熱浴との間でエネルギーをやりとりできる系のアンサンブル．熱浴の熱容量
は十分大きく，系の温度は一定であると仮定できるとする．これは閉鎖系に当たる．
• グランドカノニカルアンサンブル
• やはり熱浴と接触しているが，粒子のやり取りもでき，温度が一定であるような統
計集団である．
（Wikipediaより）


# Page. 30

![Page Image](https://bcdn.docswell.com/page/37KQW3ZD7D.jpg)

カノニカルアンサンブル
• 図のような接触した系A，Bを考える．
• BはAに比べて十分大きいとする．
B
• AとBは接触しており，エネルギーのやり取りがある．
• 系は平衡状態にある．
• AとB全体は外部から遮断されていて，全体のエネルギー
は一定である．
A
エネルギー
• よって，全体のエネルギー𝐸𝑇 ，A，Bのエネルギーを
𝐸𝐴 , 𝐸𝐵 とすると
• 𝐸𝑇 = 𝐸𝐴 + 𝐸𝐵
参考文献: 長岡 統計力学


# Page. 31

![Page Image](https://bcdn.docswell.com/page/LJ3P1GDP75.jpg)

カノニカルアンサンブル
• Aが状態𝑛にある確率を考える．
• Bの状態を𝑚とすると，系全体の状態は 𝑛, 𝑚 で表せる．
• Aが状態𝑛にあるときのAのエネルギーを𝐸𝑛 とすると，Bのエネルギーは
• 𝐸𝑚 = 𝐸𝑇 − 𝐸𝑛
• となる．
• Bがエネルギー𝐸𝑚 となる状態の組み合わせの総数を𝑊𝐵 (𝐸𝑇 − 𝐸𝑛 )とすると，系A
，B全体においてAの状態𝑛となる組み合わせの総数は1 × 𝑊𝐵 𝐸𝑇 − 𝐸𝑛 =
𝑊𝐵 (𝐸𝑇 − 𝐸𝑛 )である．
• Aの状態𝑛となる確率は，系A，Bの取りうる状態が等しく現れるとすると
• 𝑃𝑛 = 𝑊𝐵 𝐸𝑇 − 𝐸𝑛 /𝑊系𝐴,𝐵全体 ∝ 𝑊𝐵 𝐸𝑇 − 𝐸𝑛
• で表せる．
参考文献: 長岡「統計力学」，Kittel 「熱物理学」


# Page. 32

![Page Image](https://bcdn.docswell.com/page/8JDLX1P37G.jpg)

カノニカルアンサンブル
• Bのエントロピー𝑆𝐵 𝐸 は
• 𝑆𝐵 = 𝑘𝐵 ln 𝑊𝐵 𝐸
• だから，
𝑊𝐵 𝐸𝐵 = exp
1
𝑘𝐵
𝑆𝐵 𝐸
• よって，
𝑃𝑛 ∝ exp
1
𝑘𝐵
𝑆𝐵 𝐸𝑇 − 𝐸𝑛
参考文献: 長岡 統計力学


# Page. 33

![Page Image](https://bcdn.docswell.com/page/VEP2PQNPE8.jpg)

カノニカルアンサンブル
• 𝐸𝑡 ≫ 𝐸𝑛 と考えられるから， 𝑆𝐵 𝐸𝑇 − 𝐸𝑛 を𝐸𝑛 についてテイラー展開し1次の近
似を求めると
• 𝑆𝐵 𝐸𝑇 − 𝐸𝑛 = 𝑘𝐵 ln 𝑊𝐵 𝐸𝑇 − 𝐸𝑛 ≅ 𝑘𝐵 ln 𝑊𝐵 𝐸𝑇 −
•
𝑑𝑆
𝑑𝐸
𝜕𝑆𝐵
𝜕𝐸 𝐸=𝐸𝑇
𝐸𝑛
1
= から
𝑇
1
• 𝑆𝐵 𝐸𝑇 − 𝐸𝑛 ≅ 𝑆𝐵 𝐸𝑇 − 𝐸𝑛
𝑇
𝑃𝑛 ∝ exp
1
𝑘𝐵
1
𝑆𝐵 𝐸𝑇 − 𝐸𝑛
𝑇
テイラー展開
𝑓 𝑥 =𝑓 𝑎
+ 𝑓′ 𝑎
𝑓 ′′ 𝑎
𝑥−𝑎 +
𝑥−𝑎 2+⋯
2!
参考文献: 長岡 統計力学


# Page. 34

![Page Image](https://bcdn.docswell.com/page/27VD25KV7Q.jpg)

カノニカル分布と分配関数
1
𝑃𝑛 ∝ exp
𝑘𝐵
1
𝑆𝐵 𝐸𝑇 − 𝐸𝑛
= exp
𝑇
1
𝑆 𝐸𝑇
𝑘𝐵 𝐵
exp −
1
𝑘𝐵 𝑇
𝐸𝑛 = 𝐴𝑒
−
1
𝐸
𝑘𝐵 𝑇 𝑛
• よって
1
𝐸𝑛
𝐴𝑒 𝑘𝐵 𝑇
1
−
𝐸𝑛
𝐴 σ 𝑛 𝑒 𝑘𝐵 𝑇
−
𝑃𝑛 =
1
𝐸𝑛
𝑒 𝑘𝐵 𝑇
1
−
𝐸𝑛
σ 𝑛 𝑒 𝑘𝐵 𝑇
−
=
−
1
−
1
𝐸𝑛
𝑒 𝑘𝐵𝑇 をボルツマン因子という．
𝐸
𝑛
• ここで，規格化定数 σ𝑛 𝑒 𝑘𝐵𝑇 を分配関数という．
• また，この確率分布をカノニカル分布（ギブス分布）という．
参考文献: 長岡「統計力学」，田崎「統計力学I」


# Page. 35

![Page Image](https://bcdn.docswell.com/page/5JGYR6Q1JL.jpg)

カノニカル分布が成り立つ条件
• BがAに比べて十分に大きく，Bは非常に大きいから，少々のエネルギーの出入
りがあっての影響を受けず，いつも温度𝑇の熱平衡にある．
• このようなBのことを熱浴と呼ぶ．
• A,B間に働く相互作用を無視でき，全エネルギーを𝐸𝑇 = 𝐸𝐴 + 𝐸𝐵 で書ける．
参考文献: 長岡 統計力学


# Page. 36

![Page Image](https://bcdn.docswell.com/page/47QMV4KNEP.jpg)

イジングモデル


# Page. 37

![Page Image](https://bcdn.docswell.com/page/KE4VMQP371.jpg)

イジングモデルとは
• イジングモデルとは，単純化した，強磁性体のモデルである．
• 極めて単純なモデルであるが，相転移現象を確認できる．
• 磁石に熱を与えると急に磁力を失う現象が起こる．
• 2つの状態𝑠𝑖 = ±1を持つ格子点からなる．
• この状態は磁気モーメントを表しスピンと言うことにする．
• 上向きスピンは𝑠𝑖 = 1，下向きスピンは𝑠𝑖 = −1で表すとする．
スピン系では格子振動が熱浴の役割を果たす（田崎「統計力学I」）


# Page. 38

![Page Image](https://bcdn.docswell.com/page/L7138P9ZEG.jpg)

イジングモデル
• 隣接したスピン間の相互作用は
− 𝐽𝑠𝑖 𝑠𝑗
• で表し，外部磁場が無いとすると系
全体のエネルギーは
𝑠𝑗
𝑠𝑖
↓
𝐽
↑
↑
↓
↓
↑
↑
↑
↑
• 𝐻 = −𝐽 σ 𝑖,𝑗 𝑠𝑖 𝑠𝑗
• となる． 𝑖, 𝑗 は隣接スピンの組を
表す．


# Page. 39

![Page Image](https://bcdn.docswell.com/page/G7WPZ2Q6E2.jpg)

イジングモデル
−𝐽. 𝑠𝑖 = 𝑠𝑗 のとき
−𝐽𝑠𝑖 𝑠𝑗 = ൝
𝐽. 𝑠𝑖 ≠ 𝑠𝑗 のとき
• だから，隣接スピンが揃うとエネルギ
ーが下がる．
• つまり，隣接するスピンはお互い揃え
ようとする．
• このルールは単純だが，2つ隣，3つ隣
のスピンにも間接的に影響を受けるた
め，系全体の応答は複雑なものになり
，解析も難し．
3次元以上は解析できていない．
𝑠𝑗
𝑠𝑖
↓
𝐽
↑
↑
↓
↓
↑
↑
↑
↑


# Page. 40

![Page Image](https://bcdn.docswell.com/page/4JZK1DWRJ3.jpg)

イジングモデルはニューラルネットワークと似ている？
• スピンの向きは，ニューロンの活性とみなすことができないだろうか．
• 格子点の接続は，まるでニューラルネットワークのようだ．
• 格子点の相互作用の強さ𝐽は，ニューロン間のシナプス荷重𝑤に思える．
𝑠𝑖
𝑠𝑗
𝑢𝑖
𝑢𝑗
↓
↑
0
1
𝐽
イジングモデル
𝑤
ニューラルネットワーク


# Page. 41

![Page Image](https://bcdn.docswell.com/page/YE6QL1G1EV.jpg)

イジングモデルとニューラルネットワークは違う
• 入力と出力の区別がない．
• イジングモデルでの入力は外部磁場なのだろうか？
• ユニットの相互作用が対称である．
• ニューラルネットワークでは，ニューロン間の接続は非対称である．
↓
↑
イジングモデルでは対称
↓
↑
ニューラルネットでは非対称


# Page. 42

![Page Image](https://bcdn.docswell.com/page/GE5R14VLJ4.jpg)

イジングモデルとニューラルネットワークは違う
• ネットワーク構造が閉ループだらけ．
• よく使われるフィードフォワードニューラルネットは閉ループは無い．
• イジングモデルは閉ループがある無向グラフィカルモデルの典型例となっている．
↓
↓
↓
↑
↑
↑
↑
フィードフォワードニューラルネットワーク
イジングモデル


# Page. 43

![Page Image](https://bcdn.docswell.com/page/972D1V337R.jpg)

Hopfield network


# Page. 44

![Page Image](https://bcdn.docswell.com/page/DJY2Z318JM.jpg)

Hopfield network (Hopfield, 1982, 1984)
• Hopfieldが発表した相互結合ネットワーク
• 対称接続である．
• ニューロン𝑖から𝑗への重みと𝑗から𝑖への重みは等しい(𝑤𝑗𝑖 = 𝑤𝑖𝑗 )．
• 脳のネットワークの結合は非対称であるため，脳のモデルとは言えないかもしれないニューラ
ルネットワークだろう．
• 次のルールでニューロンの応答（状態）が決まる．
1
𝑖
𝑤𝑖𝑗
𝑗
if ෍ 𝑤𝑖𝑗 𝑢𝑗 + 𝑠𝑖 − 𝜃𝑖 &gt; 0
𝑗
𝑢𝑖 ← 0
if ෍ 𝑤𝑖𝑗 𝑢𝑗 + 𝑠𝑖 − 𝜃𝑖 &lt; 0
𝑗
𝑢𝑖
if ෍ 𝑤𝑖𝑗 𝑢𝑗 + 𝑠𝑖 − 𝜃𝑖 = 0
相互結合ネットワーク
𝑗
• ここで，ニューロンの出力を𝑢𝑖 ，𝑖から𝑗への重みを𝑤𝑖𝑗 ，入力を𝑠𝑖 ，閾値を𝜃𝑖 とする．


# Page. 45

![Page Image](https://bcdn.docswell.com/page/V7N83V29E8.jpg)

Hopfield network (Hopfield, 1982, 1984)
• 先のルールでユニットの出力を更新すると，ある応答パターンが出てくる．
• この応答パターンは覚えさせる事ができる．
• ニューロンの出力の更新により，外部からの操作なしに覚えたパターンを思い
出す様子を自己想起という．
覚えさせたパターン
ユニットの出力を更新していったときのネットワークの応答
(麻生，ニューラルネットワーク情報処理)


# Page. 46

![Page Image](https://bcdn.docswell.com/page/YJ9K9613J3.jpg)

ネットワークのエネルギー
• ニューラルネットワークのエネルギーは次のように書くことにする．
• 𝐸 = − σ𝑖&lt;𝑗 𝑤𝑖𝑗 𝑢𝑖 𝑢𝑗 − σ𝑖 𝑠𝑖 − 𝜃 𝑢𝑖
𝑖 &lt; 𝑗を満たす𝑖, 𝑗のペア


# Page. 47

![Page Image](https://bcdn.docswell.com/page/GJ8R9Z4L7D.jpg)

ネットワークのエネルギーの増減
• ネットワークのエネルギーは𝐸 = − σ𝑖&lt;𝑗 𝑤𝑖𝑗 𝑢𝑖 𝑢𝑗 − σ𝑖 𝑠𝑖 − 𝜃 𝑢𝑖
• 𝑢𝑖 が𝑢𝑖′ に変化したときエネルギーの差分Δ𝐸は
• Δ𝐸 = − σ𝑗 𝑤𝑖𝑗 𝑢𝑖′ 𝑢𝑗 − σ𝑖 𝑠𝑖 − 𝜃 𝑢𝑖′ − − σ𝑗 𝑤𝑖𝑗 𝑢𝑖 𝑢𝑗 − σ𝑖 𝑠𝑖 − 𝜃 𝑢𝑖
• 𝑤𝑖𝑖 = 0だから
• Δ𝐸 = − 𝑢𝑖′ − 𝑢𝑖 σ𝑗 (𝑤𝑖𝑗 𝑢𝑗 + 𝑠𝑖 − 𝜃 )
• 𝑢𝑖 = 1, 𝑢𝑖′ = 0のとき，更新ルールからσ𝑗 𝑤𝑗𝑖 𝑢𝑗 + 𝑠𝑖 − 𝜃𝑖 &lt; 0なので
• Δ𝐸 &lt; 0
• 𝑢𝑖 = 0, 𝑢𝑖′ = 1のとき，更新ルールからσ𝑗 𝑤𝑗𝑖 𝑢𝑗 + 𝑠𝑖 − 𝜃𝑖 &gt; 0なので
• Δ𝐸 &lt; 0


# Page. 48

![Page Image](https://bcdn.docswell.com/page/LJLKWD6Q7R.jpg)

ネットワークのエネルギーと平衡状態
• 以上から，ニューロンの状態が変化するとネットワークのエネルギー 𝐸 が減少
することが分かる．
• どのニューロンの状態を変えてもエネルギー 𝐸 が増えてしまう状態になった場
合，それ以上の状態変化は起こらない．
• このとき，𝐸の値が極小値をとり，ネットワークの状態は平衡状態となってい
る．
状態が変化する
たびにエネルギ
ーが減る．
初期状態
エネルギーが極小値となる状態
になると，それ以上状態変化が
起こらない．
(麻生，ニューラルネットワーク情報処理)


# Page. 49

![Page Image](https://bcdn.docswell.com/page/47M29PGK7W.jpg)

エネルギーと想起
• Hopfield networkは，ノイズが入ったパターンから覚えたパターンを思い出す
（想起する）．
• 覚えたパターンでは，ノイズの入ったパターンのときよりエネルギーが低いた
め，ニューロンの状態を更新していくと徐々に覚えたパターンへと収束する．
• 思い出すとは，ニューラルネットワークのエネルギーを下げることと思える．
エネルギー地形
ノイズが乗った応答パターン


# Page. 50

![Page Image](https://bcdn.docswell.com/page/P7RMG1Z6J9.jpg)

エネルギー地形と連想記憶
ジョン•ホップフィールドの連想記憶は，地形を形成するの
と同じような方法で情報を保存する．ネットワークが訓練さ
れると，保存されたパターンごとに仮想エネルギー地形に谷
が作成される．
訓練されたネットワー
クに歪んだパターンや
不完全なパターンを入
力することは，この地
形にボールを落とし斜
面をころがすようなも
のである．
(https://www.nobelprize.org/prizes/
physics/2024/press-release/)
連想メモリ（連想記憶）：
データの一部を指定すると，そのデータを「検索」して探し出し，
見つかれば，その場所のアドレス，あるいはデータ全体を返す
（Wikipedia: Content-addressable memory）．
ボールは上り坂に囲まれた場所に
到達するまで転がる．同様に，
ネットワークはより低いエネル
ギーに向かって進み，最も近い保
存されたパターンを見つける．


# Page. 51

![Page Image](https://bcdn.docswell.com/page/PJXVXY9DEX.jpg)

Hopfield networkの重みの更新
注意：独自解釈
• 𝐸の値が極小値をとるときネットワークの状態は平衡状態になるから，勾配降
下法を用い平衡状態のときの重みを求める．
• 𝐸 = − σ𝑖&lt;𝑗 𝑤𝑖𝑗 𝑢𝑖 𝑢𝑗 − σ𝑖 𝑠𝑖 − 𝜃 𝑢𝑖
• これを𝑤𝑖𝑗 について微分すると
•
𝑑𝐸
𝑑𝑤𝑖𝑗
= −𝑢𝑖 𝑢𝑗
• 𝑤𝑖𝑗 の更新式は
• 𝑤𝑖𝑗 ← 𝑤𝑖𝑗 + 𝜆𝑢𝑖 𝑢𝑗


# Page. 52

![Page Image](https://bcdn.docswell.com/page/3JKQW3PDJD.jpg)

Hopfield networkの重みの更新
注意：独自解釈
• 𝑤𝑖𝑗 の更新式は
• 𝑤𝑖𝑗 ← 𝑤𝑖𝑗 + 𝜆𝑢𝑖 𝑢𝑗
• 𝜆 = 1なら重みの変化はΔ𝑤𝑖𝑗 = 𝑢𝑖 𝑢𝑗 と書ける．
• 𝑢𝑖 𝑢𝑗 はヘブ学習を表す．
• しかし，𝑢𝑖 の出力が0, 1の場合𝑢𝑖 = 𝑢𝑗 = 0のとき学習が起こらない．
• そこで次のようにΔ𝑤𝑖𝑗 を変更する．
• Δ𝑤𝑖𝑗 = 4(𝑢𝑖 − 1/2)(𝑢𝑗 − 1/2)
• このように変更することで 𝑢𝑖 = 𝑢𝑗 = 0および 𝑢𝑖 = 𝑢𝑗 = 1のとき Δ𝑤𝑖𝑗 = 1とな
る


# Page. 53

![Page Image](https://bcdn.docswell.com/page/LE3P1GXPJ5.jpg)

Hopfield networkのよさ
• ニューラルネットワークと物理との対応が分かりやすい．
• 統計力学の知見を応用することで，ネットワークの挙動や学習過程を物理的な観点
から理解できる．
• ニューラルネットワークにエネルギーの概念を与える．
• 学習とはエネルギー地形を作ること．
• 想起は状態がエネルギー地形の極小値に落ちたときに起こる．
• 人の想起や認識，意識もエネルギー地形の考え方が適用できるのではないか．
• ニューラルネットワークの記憶容量に着目する．
• ニューロン数を𝑁とすると約0.14𝑁個のパターンが覚えられる(Hopfield, 1982; Amit,
1985)．


# Page. 54

![Page Image](https://bcdn.docswell.com/page/8EDLX123JG.jpg)

Hopfield networkの見方を変えれば
• Hopfield networkは，望みのパターンを想起するために，望みのパターンを極
小値とするエネルギー地形を学習により変形するとした．
• 想起は，エネルギー地形を探索し極小値に陥ることであった．
• 逆に，エネルギー地形は与えられいるが，その極小値が分からない場合におい
て，その極小値を探すためにHopfield networkは使えないか？
• Hopfield and Tank 1985はHopfield networkを巡回セールスマン問題に適用した．
• Hopfield networkの状態は決定論的に決まるので局所解に陥りやすいが，それは
ニューロンの応答が確率的に決まるBoltzmann machineで緩和される．
• まるでシミュレーテッドアニーリングだが，それはKirkpatrick et al. 1983により発表されて
いる．


# Page. 55

![Page Image](https://bcdn.docswell.com/page/V7P2PQ1P78.jpg)

Hopfield Networkは連想記憶の元祖か？


# Page. 56

![Page Image](https://bcdn.docswell.com/page/2JVD25YVJQ.jpg)

Boltzmann machine


# Page. 57

![Page Image](https://bcdn.docswell.com/page/5EGYR691EL.jpg)

Boltzmann machine
• Boltzmann machinはHopfield networkのニューロンの応答（状態を）を確率
的に決定するように変更したモデルである．
• ユニットの状態が確率的に決まるとすると，ユニット𝑖の状態が1である確率は
次のように書ける．
• 𝑝 𝑢𝑖 = 1 =
1
𝐼
𝑇
1+exp − 𝑖
• 𝐼𝑖 はユニット𝑖の入力，𝑇は温度パラメタである．
• Hopfield networkでは正のとき1，負のとき0であった．これはステップ関数で
表現できる．つまり，Hopfield networkは温度パラメタの0の極限をとるとき
のBoltzmann machineであると言える．


# Page. 58

![Page Image](https://bcdn.docswell.com/page/4JQMV4WN7P.jpg)

2準位系カノニカル分布
• 𝑝 𝑢𝑖 = 1 =
注意：独自解釈
ボルツマンエントロピーから求めるや
り方が書いてあることが多い．同じだ
が．
1
𝐼
𝑇
1+exp − 𝑖
• は2準位系カノニカル分布と対応がつく．
• 𝑢𝑖 = 1のときのエネルギーが0， 𝑢𝑖 = 0のエネルギーが 𝐼𝑖 とした場合の分配関数𝑍は
• 𝑍 = exp −
0
𝑘𝐵 𝑇
+ exp −
𝐼𝑖
𝑘𝐵 𝑇
= 1 + exp −
𝐼𝑖
𝑘𝐵 𝑇
• よって状態1，0になる確率はそれぞれ
𝑝 𝑢𝑖 = 1 =
exp −
0
𝑘𝐵 𝑇
𝐼
1+exp − 𝑖
𝑘𝐵 𝑇
=
1
𝐼
1+exp − 𝑖
, 𝑝 𝑢𝑖 = 0 =
𝑘𝐵 𝑇
𝐼
exp − 𝑖
𝑘𝐵 𝑇
𝐼
1+exp − 𝑖
𝑘𝐵 𝑇
• ボルツマン定数𝑘𝐵 は温度パラメタ𝑇に吸収されるとすると
𝑝 𝑢𝑖 = 1 =
1
𝐼
1+exp − 𝑖
𝑇
, 𝑝 𝑢𝑖 = 0 =
𝐼
𝑇
exp − 𝑖
𝐼
𝑇
1+exp − 𝑖


# Page. 59

![Page Image](https://bcdn.docswell.com/page/K74VMQK3J1.jpg)

ネットワークの状態とエネルギー
• 状態𝑠のネットワークのエネルギーを𝐸𝑠 = − σ𝑖&lt;𝑗 𝑤𝑖𝑗 𝑢𝑖𝑠 𝑢𝑗𝑠 とする．
• 𝑢𝑖𝑠 はネットワークの状態が𝑠のときのユニット𝑖の状態を表す．
• ネットワークの状態𝑠になる確率𝑝(𝑠)は，カノニカル分布を適用すると
1
𝐸𝑠
𝑍
𝑇
• 𝑝 𝑠 = exp(− )
注意：独自解釈
𝐸
• 𝑍 = σ𝑠∈𝑆 exp(− 𝑠 )
𝑇
• 𝑆 = {𝑠1 , 𝑠2 , … }は取りうる状態の集合である．
• 𝑍は分配関数と呼ばれる．
• ネットワークの状態はユニットの総数が𝑁個ならば，各ユニットが2状態を取
るので，ネットワークの状態の総数は2𝑛 個である．


# Page. 60

![Page Image](https://bcdn.docswell.com/page/LJ138PXZ7G.jpg)

ネットワークの状態とエネルギー
• ユニットの状態は確率的に決まるため，ネットワークのエネルギー（状態）も
確率的に決まる．
• 長時間観測すると，ネットワークの状態の出現は，ネットワークのエネルギー
（重み）で決まる確率𝑝(𝑠)に従う．
• つまりエネルギーが低い状態が出現しやすい．
(麻生，ニューラルネットワーク情報処理)


# Page. 61

![Page Image](https://bcdn.docswell.com/page/GJWPZ2N672.jpg)

ネットワークの状態の遷移と温度パラメタ
• 温度パラメタを極めて大きくするとニューロンの状態は，どの状態もほぼ同じ
確率で現れるようになり，ネットワークのどの状態も同じ確率で決まるように
なる．
• 温度パラメタを+無限大の極限を計算してみよう．
• 温度パラメタを極めて小さくすると，ニューロンの状態は変化しなくなり，ネ
ットワークの状態も変化しなくなる．
• 温度パラメタを+0,−0の極限を計算してみよう．
𝑝 𝑢𝑖 = 1 =
1
𝐼
1 + exp − 𝑖
𝑇


# Page. 62

![Page Image](https://bcdn.docswell.com/page/4EZK1D3RE3.jpg)

エネルギーを最小化するネットワークの状態を探す
• 温度パラメタ固定して状態遷移させると，エネルギーを最小化する状態を探せないかもしれな
い．
• エネルギーには極小値（local minimum）がたくさんあることが想定される．
• 温度パラメタが低い場合，極小値に陥ると抜け出せにくく， 最小値（global minimum）を探せない
かもしれない．
• 逆に温度パラメタが高い場合，様々な極小値を持つ状態を遷移し最小値を探せないかもしれない．
• 温度パラメタが高い場合と低い場合の欠点を逆手に取り，最初は温度パラメタを高くし，徐々
に下げていくことで大域最小値を探すことができるかもしれない（焼き鈍し法，アニーリング
法と呼ぶ）．
• 温度が高いときは，極小値を抜け出しやすく最小値に至る可能性が高い．温度が低い場合， 見つけ
た最小値から抜け出しにくい．
• エネルギーを最小化するネットワークの状態を探したい場合，温度パラメタを下げながら状態
遷移させれば良い．
• 安定したネットワークの状態になったからといって最もエネルギーが低い状態とは限らない（
アニーリング法はヒューリスティックな手法）．


# Page. 63

![Page Image](https://bcdn.docswell.com/page/Y76QL1X17V.jpg)

ネットワークの学習
• ネットワークの状態を狙った状態にしたい場合，ネットワークの重みを変更（学習）をする必
要がある．
• ネットワークの状態は確率的に決まるので，狙った状態が出る確率が高くなるような確率分布
を設定し，実際のネットワークの状態が出る確率分布をそれに近づけることを目標にする．
• ネットワークの状態𝑠が起こる理想的な確率を𝑝(𝑠)，現在のネットワークにおいて状態𝑠が起こ
る確率を𝑞(𝑠 ∣ 𝒘)とする．𝒘 = 𝑤12 , 𝑤13 , … , 𝑤𝑖𝑗 , … はすべての重みを表すベクトルとする．
• ネットワークの学習には勾配法を用いる．
• 勾配法の目的関数には次のKLダイバージェンスを用いる．
• 理想的な確率分布 𝑝(𝑠) とネットワークが作る確率分布 𝑞(𝑠 ∣ 𝒘)のKLダイバージェンスは
• 𝐷 𝑝 𝑠 || 𝑞 𝑠 ∣ 𝒘
𝑝 𝑠
= σ𝑠∈𝑆 𝑝 𝑠 ln 𝑞 𝑠∣𝒘
• 𝐷 𝑝 𝑠 || 𝑞 𝑠 ∣ 𝒘 を𝒘を変えることで最小化する．
• これは確率分布 𝑝 𝑠 と 𝑞 𝑠 ∣ 𝒘 を 𝒘を変えることで近づけることを意味する．


# Page. 64

![Page Image](https://bcdn.docswell.com/page/G75R14XLE4.jpg)

ネットワークの学習
• KLダイバージェンス𝐷を𝑤𝑖𝑗 について偏微分すると
𝜕𝐷
𝜕
𝑝𝑠
𝜕
𝑝𝑠
• 𝜕𝑤 = 𝜕𝑤 σ𝑠∈𝑆 𝑝 𝑠 ln 𝑞 𝑠∣𝒘 = σ𝑠∈𝑆 𝑝 𝑠 𝜕𝑤 ln 𝑞 𝑠∣𝒘
𝑖𝑗
𝑖𝑗
𝑖𝑗
𝜕
• = σ𝑠∈𝑆 𝑝 𝑠 𝜕𝑤
𝑖𝑗
ln 𝑝 𝑠 − ln 𝑞 𝑠 ∣ 𝒘
1
𝜕
= − σ𝑠∈𝑆 𝑝 𝑠 𝜕𝑤 ln 𝑞 𝑠 ∣ 𝒘
𝑖𝑗
𝜕
• = − σ𝑠∈𝑆 𝑝 𝑠 𝑞 𝑠∣𝒘 𝜕𝑤 𝑞 𝑠 ∣ 𝒘
𝑖𝑗
𝜕
𝑞 𝑠∣𝒘
𝜕𝑤𝑖𝑗
=−
1 𝜕𝐸𝑠
𝐸𝑠
exp
−
𝑇𝜕𝑤𝑖𝑗
𝑇
𝑍
1 𝜕𝐸
𝜕
= 𝜕𝑤
𝐸
exp − 𝑇𝑠
𝐸 ′
𝑠
𝑖𝑗 σ
exp
−
′
𝑠 ∈𝑆
𝑇
𝐸
−
exp − 𝑇𝑠
𝑍 𝜕𝐸
=
𝐸
𝐸
−𝑇𝜕𝑤 𝑠 exp − 𝑇𝑠 −exp − 𝑇𝑠
𝑖𝑗
𝐸 ′
exp − 𝑇𝑠
𝑠 ∈𝑆
σ′
2
𝐸 ′
1 𝜕𝐸𝑠′
𝑠
exp
−
𝑇𝜕𝑤𝑖𝑗
𝑇
𝐸 ′ 2
σ ′ exp − 𝑠
𝑠 ∈𝑆
𝑇
σ𝑠′∈𝑆 −
1 𝜕𝐸 ′
• = − 𝑇 𝜕𝑤𝑠 𝑞 𝑠 ∣ 𝒘 − 𝑞 𝑠 ∣ 𝒘 σ𝑠′∈𝑆 − 𝑇 𝜕𝑤𝑠 𝑞 𝑠 ′ ∣ 𝒘
𝑖𝑗
𝐸 ′
1 𝜕𝐸𝑠′
𝑠
exp
−
𝑇𝜕𝑤𝑖𝑗
𝑇
σ𝑠′∈𝑆 −
𝑖𝑗
𝑍 = ෍ exp −
𝑠 ′ ∈𝑆
𝐸𝑠 ′
𝑇


# Page. 65

![Page Image](https://bcdn.docswell.com/page/9J2D1VX3JR.jpg)

ネットワークの学習
•
𝜕
𝜕𝑤𝑖𝑗
𝑞 𝑠∣𝒘 =−
1
• = 𝑢𝑖𝑠 𝑢𝑗𝑠 𝑞 𝑠 ∣ 𝒘
𝑇
1 𝜕𝐸𝑠
𝑇 𝜕𝑤𝑖𝑗
𝑞 𝑠 ∣ 𝒘 − 𝑞 𝑠 ∣ 𝒘 σ𝑠 ′ ∈𝑆 −
−𝑞 𝑠 ∣𝒘
1 𝜕𝐸𝑠′
𝑇 𝜕𝑤𝑖𝑗
𝑞 𝑠′ ∣ 𝒘
1
𝑠′ 𝑠′
σ𝑠 ′ ∈𝑆 𝑢𝑖 𝑢𝑗 𝑞 𝑠 ′ ∣ 𝒘
𝑇
𝐸𝑠 = − ෍ ෍ 𝑤𝑖𝑗 𝑢𝑖𝑠 𝑢𝑗𝑠
𝑖
•
𝜕𝐷
𝜕𝑤𝑖𝑗
= − σ𝑠∈𝑆 𝑝 𝑠
• = − σ𝑠∈𝑆 𝑝 𝑠
• = − σ𝑠∈𝑆 𝑝 𝑠
1
𝜕
𝑞 𝑠∣𝒘 𝜕𝑤𝑖𝑗
1
𝑞 𝑠∣𝒘
𝑞 𝑠∣𝒘
1
𝑢𝑖𝑠 𝑢𝑗𝑠 𝑞 𝑠 ∣ 𝒘
𝑇
− 𝑞 𝑠, 𝒘
1
𝑠′ 𝑠′
σ𝑠 ′ ∈𝑆 𝑢𝑖 𝑢𝑗 𝑞 𝑠 ′ ∣ 𝒘
𝑇
1
𝑠 𝑠
𝑠′ 𝑠′
𝑢𝑖 𝑢𝑗 − σ𝑠 ′ ∈𝑆 𝑢𝑖 𝑢𝑗 𝑞 𝑠 ′ ∣ 𝒘
𝑇
1
• = − σ𝑠∈𝑆 𝑝 𝑠 𝑢𝑖𝑠 𝑢𝑗𝑠 − σ𝑠∈𝑆 𝑝 𝑠
𝑇
𝑠′ 𝑠′
σ𝑠 ′ ∈𝑆 𝑢𝑖 𝑢𝑗 𝑞 𝑠 ′ ∣ 𝒘
෍𝑝 𝑠 = 1
• =−
1
𝑇
𝑠′
𝑠′
σ𝑠∈𝑆 𝑝 𝑠 𝑢𝑖𝑠 𝑢𝑗𝑠 − σ𝑠 ′ ∈𝑆 𝑢𝑖 𝑢𝑗 𝑞 𝑠 ′ ∣ 𝒘
𝑠∈𝑆
𝑗


# Page. 66

![Page Image](https://bcdn.docswell.com/page/DEY2Z388EM.jpg)

ネットワークの学習
•
𝜕
𝜕𝑤𝑖𝑗
• =−
𝑞 𝑠∣𝒘 =−
1
𝑇
𝑢𝑖𝑠 𝑢𝑗𝑠
−
1
𝑇
′
′
σ𝑠∈𝑆 𝑝 𝑠 𝑢𝑖𝑠 𝑢𝑗𝑠 − σ𝑠 ′ ∈𝑆 𝑢𝑖𝑠 𝑢𝑗𝑠 𝑞 𝑠 ′ ∣ 𝒘
𝑠′ 𝑠′
𝑢𝑖 𝑢𝑗
=−
1
𝑇
𝑢𝑖 𝑢𝑗
goal
− 𝑢𝑖 𝑢𝑗
model
• よって学習率を𝜆とすれば，重みの変化𝛿𝑤𝑖𝑗 は
• 𝛿𝑤𝑖𝑗 = 𝜆
𝑢𝑖 𝑢𝑗
goal
− 𝑢𝑖 𝑢𝑗
model
• となる．
• 𝑢𝑖 𝑢𝑗
goal
はネットワークの状態𝑠が取るべき （目標とする）確率 𝑝(𝑠) における
𝑢𝑖 𝑢𝑗 の期待値を表す．
• 𝑢𝑖 𝑢𝑗
model
は現在のネットワークにおける𝑢𝑖 𝑢𝑗 の期待値を表す．


# Page. 67

![Page Image](https://bcdn.docswell.com/page/VJN83VQ978.jpg)

全てのニューロンでパターンを再現する必要はない
• Hopfield networkではニューロン全てを使って，パターンを再現しようとした．
• これまでの説明の通り，Boltzmann machineでも同じことができる．
• しかし，Boltzmann machienは，パターンを再現するニューロン（可視ニュー
ロン，visible neuron）と隠れニューロン(hidden neuron)の2種類に分けること
もできる．
• ここで可視ニューロンの状態を𝑣，隠れニューロンの状態をℎで表す．
ℎ
隠れニューロン
𝑣
可視ニューロン
どちらも可能
全て可視ニューロン
隠れニューロン有り


# Page. 68

![Page Image](https://bcdn.docswell.com/page/YE9K96D3E3.jpg)

隠れニューロンがある場合のネットワークの学習
• ネットワークの状態𝑣が起こる理想的な確率を𝑝(𝑣)，現在のネットワークにお
いて状態𝑣が起こる確率を𝑞(𝑣 ∣ 𝒘)とする．𝒘 = 𝑤12 , 𝑤13 , … , 𝑤𝑖𝑗 , … はすべての
重みを表すベクトルとする．
• また， 現在のネットワークにおいて状態𝑣, ℎの同時確率は𝑞(𝑣, ℎ ∣ 𝒘)である．
状態𝑣が起こる確率は
1
𝐸
1
𝐸
𝑍
𝑇
𝑍
𝑇
• 𝑞 𝑣 𝒘 = σℎ 𝑞(𝑣, ℎ ∣ 𝑤) = σℎ exp(− 𝑣,ℎ ) = σℎ exp(− 𝑣,ℎ )
• 理想的な確率分布 𝑝(𝑣) とネットワークが作る確率分布 𝑞(𝑣 ∣ 𝒘)のKLダイバー
ジェンスは
• 𝐷 𝑝 𝑠 || 𝑞 𝑠 ∣ 𝒘
= σ𝑠∈𝑆 𝑝 𝑠 ln
𝑝 𝑠
𝑞 𝑠∣𝒘
• 𝐷 𝑝 𝑠 || 𝑞 𝑠 ∣ 𝒘 を𝒘を変えることで最小化する．


# Page. 69

![Page Image](https://bcdn.docswell.com/page/GE8R9Z3LJD.jpg)

ネットワークの学習
• KLダイバージェンス𝐷を𝑤𝑖𝑗 について偏微分すると
𝜕𝐷
𝜕
𝑝𝑣
𝜕
• 𝜕𝑤 = 𝜕𝑤 σ𝑣∈𝑉 𝑝 𝑣 ln 𝑞 𝑣∣𝒘 = − σ𝑣∈𝑉 𝑝 𝑣 𝜕𝑤 ln 𝑞 𝑣 ∣ 𝒘
𝑖𝑗
𝑖𝑗
𝑖𝑗
1
𝜕
• = − σ𝑣∈𝑉 𝑝 𝑣 𝑞 𝑣∣𝒘 𝜕𝑤 𝑞 𝑣 ∣ 𝒘
𝑖𝑗
𝑍
𝐸
𝜕
𝑞 𝑣∣𝒘
𝜕𝑤𝑖𝑗
=−
𝜕
𝜕
𝜕𝐸
𝐸
1𝜕𝐸𝑣,ℎ
σℎ 𝑣,ℎ exp − 𝑣,ℎ
𝑇 𝜕𝑤𝑖𝑗
𝜕𝑤𝑖𝑗
𝑇
𝑍
1
𝑇
𝐸 ′ ′
𝑖𝑗 σ
exp − 𝑣𝑇,ℎ
𝑣′ ,ℎ′
= 𝜕𝑤 σℎ 𝑞(𝑣, ℎ ∣ 𝒘) = 𝜕𝑤
𝑖𝑗
𝐸
−
σℎ exp − 𝑣,ℎ
𝑇
σℎ exp − 𝑣,ℎ
𝐸 ′ ′
1𝜕𝐸𝑣′ ,ℎ′
𝑣 ,ℎ
exp
−
𝑇 𝜕𝑤𝑖𝑗
𝑇
σ𝑣′,ℎ′ −
𝑍2
1 𝜕𝐸 ′ ′
𝜕𝐸
=
𝑣 ,ℎ
• = − 𝑇 σℎ 𝜕𝑤𝑣,ℎ 𝑞(𝑣, ℎ ∣ 𝒘) − 𝑞 𝑣 ∣ 𝒘 σ𝑣′,ℎ′ − 𝑇 𝜕𝑤
𝑞 𝐸𝑣′,ℎ′ ∣ 𝒘
𝑖𝑗
𝑖𝑗
𝜕𝐸
𝐸
𝐸
−𝑇 σℎ 𝜕𝑤𝑣,ℎ exp − 𝑣,ℎ
−σℎ exp − 𝑣,ℎ
𝑇
𝑇
𝑖𝑗
𝐸 ′ ′
1 𝜕𝐸𝑣′ ,ℎ′
𝑣 ,ℎ
exp
−
𝑇 𝜕𝑤𝑖𝑗
𝑇
σ𝑣′,ℎ′ −
𝐸 ′ ′
σ ′ ′ exp − 𝑣 ,ℎ
𝑣 ,ℎ
𝑇
2


# Page. 70

![Page Image](https://bcdn.docswell.com/page/LELKWDVQJR.jpg)

ネットワークの学習
•
𝜕
𝜕𝑤𝑖𝑗
1
𝜕𝐸𝑣,ℎ
𝑇
𝜕𝑤𝑖𝑗
𝑞 𝑣, ℎ ∣ 𝒘 = − σℎ
𝑞(𝑣, ℎ ∣ 𝒘) − 𝑞 𝑣 ∣ 𝒘 σ𝑣 ′ ,ℎ′ −
1
• = σℎ 𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ 𝑞(𝑣, ℎ ∣ 𝒘) − 𝑞 𝑣 ∣ 𝒘
𝑇
•
𝜕𝐷
𝜕𝑤𝑖𝑗
= − σ𝑣 𝑝 𝑣
• = − σ𝑣 𝑝 𝑣
• = − σ𝑣 𝑝 𝑣
• =−
• =−
1
𝑇
1
𝑇
1
𝑞 𝑣∣𝒘 𝜕𝑤𝑖𝑗
1
1
𝑞 𝑣∣𝒘
𝑇
1
𝑇
σ𝑣 𝑝 𝑣
𝜕
1 𝜕𝐸𝑣′ ,ℎ′
𝑇 𝜕𝑤𝑖𝑗
𝑞 𝐸𝑣 ′ ,ℎ′ ∣ 𝒘
1
𝑣 ′ ℎ′ 𝑣 ′ ℎ′
σ𝑣 ′ ,ℎ′ 𝑢𝑖 𝑢𝑗 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘
𝑇
𝑢𝑖𝑣ℎ ：これはユニット𝑖が可視ニューロンかも
しれないし，隠れニューロンかもしれないこ
とを表す．
𝑞 𝑣∣𝒘
1
′ ′
′ ′
σℎ 𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ 𝑞(𝑣, ℎ ∣ 𝒘) − 𝑞 𝑣 ∣ 𝒘 σ𝑣 ′ ,ℎ′ 𝑢𝑖𝑣 ℎ 𝑢𝑗𝑣 ℎ 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘
𝑇
′ ′
′ ′
σℎ 𝑞(ℎ ∣ 𝑣, 𝒘)𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ − σ𝑣 ′ ,ℎ′ 𝑢𝑖𝑣 ℎ 𝑢𝑗𝑣 ℎ 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘
σℎ 𝑞(ℎ ∣ 𝑣, 𝒘)𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ − σ𝑣 𝑝 𝑣
𝑣 ′ ℎ′ 𝑣 ′ ℎ′
σ𝑣 ′ ,ℎ′ 𝑢𝑖 𝑢𝑗 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘
′ ′
′ ′
σ𝑣 𝑝 𝑣 𝐸𝑞 ℎ 𝑣, 𝒘 𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ − σ𝑣 ′ ,ℎ′ 𝑢𝑖𝑣 ℎ 𝑢𝑗𝑣 ℎ 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘


# Page. 71

![Page Image](https://bcdn.docswell.com/page/4JM29PNKJW.jpg)

ネットワークの学習
•
𝜕
𝜕𝑤𝑖𝑗
• =−
𝑞 𝑣∣𝒘 =−
1
𝑇
1
𝑇
′ ′
′ ′
σ𝑣 𝑝 𝑣 𝐸𝑞 ℎ 𝑣, 𝒘 𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ − σ𝑣 ′ ,ℎ′ 𝑢𝑖𝑣 ℎ 𝑢𝑗𝑣 ℎ 𝑞 𝑣 ′ , ℎ′ ∣ 𝒘
𝐸𝑝 𝑣 𝐸𝑞 ℎ 𝑣, 𝒘
𝑢𝑖𝑣ℎ 𝑢𝑗𝑣ℎ
−
𝑣 ′ℎ′ 𝑣 ′ℎ′
𝑢𝑖 𝑢𝑗
=−
1
𝑇
𝑢𝑖 𝑢𝑗
goal
− 𝑢𝑖 𝑢𝑗
model
• よって学習率を𝜆とすれば，重みの変化𝛿𝑤𝑖𝑗 は
• 𝛿𝑤𝑖𝑗 = 𝜆
𝑢𝑖 𝑢𝑗
goal
− 𝑢𝑖 𝑢𝑗
model
隠れニューロンがどうなるかは指定されていな
いので，望む可視ニューロンのパターンを条件
とした分布𝑞 ℎ 𝑣, 𝒘 についての期待値を取る．
• となる．
• 𝑢𝑖 𝑢𝑗
goal
はネットワークの状態𝑠が取るべき （目標とする）確率 𝑝(𝑠) における
𝑢𝑖 𝑢𝑗 の期待値を表す．
• 𝑢𝑖 𝑢𝑗
model
は現在のネットワークにおける𝑢𝑖 𝑢𝑗 の期待値を表す．


# Page. 72

![Page Image](https://bcdn.docswell.com/page/PJRMG1D6E9.jpg)

Botlzmann machineの面白いところ
• ニューロンの応答が確率的に決まる．
• 人工ニューラルネットワークのニューロンの状態は，通常接続するニューロンの状
態が決まれば，決定論的に決まる．
• しかし，生物のニューロンは確率的な応答をする．
• ニューロンの確率的な応答はシグモイド関数で表現されることが多い．
• 例えば，シグモイド関数にニューロンの入力を与え，シグモイド関数の値を発火率とする．
• ボルツマンマシンの方が生物に近いのでは．
• ボルツマンマシンでは「学習とはネットワークの出力の確率分布を目標の確率
分布を近づけることだ」という考え方を導入した．
• 隠れ層は観測されない「潜在変数」を導入する役割を担っており，観測可能な
データの背後にある特徴や構造を表現する事ができる．


# Page. 73

![Page Image](https://bcdn.docswell.com/page/PEXVXY1D7X.jpg)

Boltzmann machineの問題
• 勾配の計算でネットワークの状態に関する期待値が出てくる．
• 期待値を求めるためにはネットワークが可能な全ての状態について総和をとる
必要がある．
• ネットワークの可能なすべての状態はニューロン数を𝑁とすると2𝑁 個にもなる
ため，少しニューロンを増やしただけで計算量が大幅に増える．


# Page. 74

![Page Image](https://bcdn.docswell.com/page/3EKQW32DED.jpg)

Restricted Boltzmann
Machine
Fischer and Igel (2012) An Introduction to Restricted Boltzmann Machines


# Page. 75

![Page Image](https://bcdn.docswell.com/page/L73P1G4PE5.jpg)

Restricted Boltzmann machine
• Restricted Boltzmann machine (Smolensky, 1986)は
• 可視層と隠れ層を完全に分離したBoltzmann machineである．
• 層間は全結合しているが，層内結合は無い．
• ここではバイナリーRBM（ニューロンは0か1の値を取る）とする．
• 可視層のニューロンを 𝑽 = 𝑉1 , … , 𝑉𝑚 ，隠れ層のニューロンを𝑯 = 𝐻1 , … , 𝐻𝑛
とする．
• 確率変数(𝑽, 𝑯)は 𝒗, 𝒉 ∈ 0,1 𝑚+𝑛 の値を取るとする．
ℎ𝑖
𝑐𝑖
隠れニューロン
𝑐𝑗
可視ニューロン
𝑣𝑗


# Page. 76

![Page Image](https://bcdn.docswell.com/page/87DLX1Q3EG.jpg)

ネットワークのエネルギー
• ネットワークの状態はカノニカル分布（ギブス分布）で記述できるとする．
1
• 𝑝 𝒗, 𝒉 = 𝑒 −𝐸 𝒗,𝒉
𝑍
• そうするとネットワークのエネルギーを次のように定義できる．
𝑀
𝑀
𝑁
σ
σ
σ
• 𝐸 = − σ𝑁
𝑤
ℎ
𝑣
−
𝑏
𝑣
−
𝑖=1 𝑗=1 𝑖𝑗 𝑖 𝑗
𝑗=1 𝑗 𝑗
𝑖=1 𝑐𝑖 ℎ𝑖
• 𝑏𝑖 , 𝑐𝑗 はバイアス項である．
ℎ𝑖
𝑐𝑖
隠れニューロン
𝑐𝑗
可視ニューロン
𝑣𝑗


# Page. 77

![Page Image](https://bcdn.docswell.com/page/VJP2PQLPJ8.jpg)

状態が起こる確率
• RBMのグラフは隠れニューロンと可視ニューロンの間のみ接続があるから，確
率で考えると，与えられた可視ニューロンの状態が与えられたとき，それぞれ
の隠れニューロンの独立である（条件付き独立，グラフィカルモデルを復習し
よう）．
• 𝑝 𝒉 𝒗 = ς𝑛𝑖 𝑝 ℎ𝑖 𝒗
• その逆も成り立つ．
• 𝑝 𝒗 𝒉 = ς𝑛𝑖 𝑝 𝑣𝑖 𝒉
ℎ𝑖
𝑐𝑖
隠れニューロン
𝑐𝑗
可視ニューロン
𝑣𝑗


# Page. 78

![Page Image](https://bcdn.docswell.com/page/2EVD25QVEQ.jpg)

可視層の状態
• 隠れニューロンの相互結合を除くことで，可視層の状態の周辺確率は次のよう
に書ける．
1
• 𝑝 𝒗 = σ𝒉 𝑝 𝒗, 𝒉
𝑍
1
𝑏 𝑗 𝑣 𝑗 ς𝑁
= ς𝑀
𝑒
𝑖=1
𝑍 𝑗=1
1+𝑒
𝑐𝑖 +σ𝑀
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
• この式は，RBMがproduct of experts modelであることを示す．
• 観測データの各成分に対し，個別に確率モデルを担当する“専門家”が複数存在し，そ
れらの専門家が確率的に掛け算されることによって，最終的な確率分布が決まる．


# Page. 79

![Page Image](https://bcdn.docswell.com/page/57GYR6W17L.jpg)

エネルギーの計算の詳細
隠れ層で周辺化する
1
1
1
σ𝑁
− − σ𝑀
𝑤𝑖𝑗 ℎ𝑖 𝑣𝑗 −σ𝑀
𝑏𝑗 𝑣𝑗 −σ𝑁
−𝐸
𝒑,𝒗
𝑖=1
𝑗=1
𝑗=1
𝑖=1 𝑐𝑖 ℎ𝑖
𝑝 𝒗 = ෍ 𝑝 𝒗, 𝒉 = ෍ 𝑒
= ෍𝑒
𝑍
𝑍
𝑍
𝒉
𝒉
𝒉
𝑁
1
ℎ𝑖 𝑐𝑖 +σ𝑀
σ𝑀
𝑏𝑗 𝑣𝑗
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
𝑗=1
= ෍෍…෍𝑒
ෑ𝑒
𝑍
ℎ1 ℎ2
ℎ𝑁
𝑖
1 σ𝑀 𝑏𝑗 𝑣𝑗
ℎ1 𝑐1 +σ𝑀
𝑤1𝑗 𝑣𝑗
ℎ2 𝑐2 +σ𝑀
𝑤2𝑗 𝑣𝑗
ℎ𝑁 𝑐𝑁 +σ𝑀
𝑗=1
𝑗=1
𝑗=1 𝑤𝑁𝑗 𝑣𝑗
𝑗=1
= 𝑒
෍𝑒
෍𝑒
…෍𝑒
𝑍
ℎ1
𝑁
ℎ2
1 σ𝑀 𝑏𝑗 𝑣𝑗
= 𝑒 𝑗=1
ෑ෍𝑒
𝑍
ℎ𝑖 𝑐𝑖 +σ𝑀
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
𝑖=1 ℎ𝑖
𝑀
𝑁
𝑗=1
𝑖=1
ℎ𝑁
1
𝑐𝑖 +σ𝑀
𝑏𝑗 𝑣𝑗
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
= ෑ𝑒
ෑ 1+𝑒
𝑍
ℎ𝑖 = 1 𝑜𝑟 0だから
ℎ 𝑐𝑖 +σ𝑀
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
෍𝑒 𝑖
ℎ𝑖
=𝑒
0× 𝑐𝑖 +σ𝑀
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
+𝑒
1× 𝑐𝑖 +σ𝑀
𝑗=1 𝑤𝑖𝑗 𝑣𝑗
𝑀
= 1 + 𝑒 𝑐𝑖 +σ𝑗=1 𝑤𝑖𝑗 𝑣𝑗


# Page. 80

![Page Image](https://bcdn.docswell.com/page/4EQMV43NJP.jpg)

発火率
• 単一の変数が1になる条件付き確率は，確率ニューロンの発火率とみなせる．
発火率はシグモイド活性化関数𝜎 𝑑 =
• 𝑝 𝐻𝑖 = 1 𝒗 = 𝜎 σ𝑚
𝑗=1 𝑤𝑖𝑗 𝑣𝑗 + 𝑐𝑖
• 𝑝 𝑉𝑗 = 1 𝒉 = 𝜎 σ𝑛𝑖=1 𝑤𝑖𝑗 ℎ𝑖 + 𝑏𝑗
1
1+𝑒 −𝑥
で表すことができる．


# Page. 81

![Page Image](https://bcdn.docswell.com/page/KJ4VMQ13E1.jpg)

Gibbsサンプリング
• 可視層の各ニューロンは独立であるから，簡単にギブスサンプリングをするこ
とができる．
• ニューロンの状態を順番にサンプリングする代わりに，一つの層内のすべてのニュ
ーロンの状態を同時にサンプリングできる．
• つまり，ギブスサンプリングは2つのステップで行われる．
• まず，𝑝 𝒉 𝒗 に基づき，隠れニューロンの新たな状態𝒉をサンプリングする．
• 次に，𝑝 𝒗 𝒉 に基づき，可視層の状態𝒗をサンプリングする．
• これはブロックギブスサンプリングと呼ばれる．


# Page. 82

![Page Image](https://bcdn.docswell.com/page/LE138PGZJG.jpg)

RBMはフィードフォワードニューラルネットワーク
• RBMは非線形処理ユニットを用いた1層の標準的なフィードフォワードニュー
ラルネットワークであると見なすことができる．
• この視点では，RBMは，入力𝒗 ∈ 0,1 𝑚 を𝑦𝑖 = 𝑝 𝐻𝑖 = 1 𝒗 とする𝒚 ∈ ℝ𝑛 にマ
ップする 0,1 𝑚 → ℝ𝑛 とする決定論的関数としてみなせる．
• つまり，入力𝑣は，それが与えられたときの隠れニューロンの期待値（𝐸𝑖 = 1 ×
𝑝 𝐻𝑖 = 1 𝒗 = 𝑝 𝐻𝑖 = 1 𝒗 ）にマップされる．


# Page. 83

![Page Image](https://bcdn.docswell.com/page/GEWPZ2K6J2.jpg)

対数尤度の勾配
• ネットワークのパラメタを𝜽とする．
• パラメタが𝜽のときの可視ニューロンのパターン𝒗が出現する確率は𝑝 𝒗 𝜽 で
ある．
• ここで，パターン𝒗が最も出やすいパラメタ 𝜽 を探す（ 𝑝 𝒗 𝜽 を最大化する
𝜽 を探す）．
• 𝑝 𝒗 𝜽 は尤度（パラメタの尤もらしさ） 𝐿 𝜽 ∣ 𝒗 と解釈できる．
• 尤度𝐿 𝜽 ∣ 𝒗 を最大とする 𝜽を勾配降下法で探すため，尤度の勾配を求める．


# Page. 84

![Page Image](https://bcdn.docswell.com/page/47ZK1DZR73.jpg)

対数尤度の勾配
訓練パターンが𝒗だけの場合の勾配を求める．
1
ln 𝐿 𝜽 ∣ 𝒗 = ln 𝑝 𝒗 𝜽 = ln ෍ 𝑝 𝒗, 𝒉 𝜽 = ln ෍ 𝑒 −𝐸 𝒗,𝒉 = ln ෍ 𝑒 −𝐸 𝒗,𝒉 − ln ෍ 𝑒 −𝐸 𝒗,𝒉
𝑍
𝒉
𝒉
𝜕 ln 𝐿 𝜽 ∣ 𝒗
𝜕
=
ln ෍ 𝑒 −𝐸 𝒗,𝒉
𝜕𝜽
𝜕𝜽
=
=
𝜕 σ𝒉
1
σ𝒉 𝑒 −𝐸 𝒗,𝒉
1
σ𝒉 𝑒 −𝐸 𝒗,𝒉
𝜕𝜽
෍
𝒗,𝒉
𝜕
−
ln ෍ 𝑒 −𝐸 𝒗,𝒉
𝜕𝜽
𝒗,𝒉
𝜕 σ𝒗,𝒉 𝑒 −𝐸 𝒗,𝒉
1
−
𝜕𝜽
σ𝒗,𝒉 𝑒 −𝐸 𝒗,𝒉
𝑒 −𝐸 𝒗,𝒉
𝒉
= −෍ 𝑝 𝒉 𝒗
𝒉
𝒉
𝑒 −𝐸 𝒗,𝒉
𝒉
𝜕𝐸 𝒗, 𝒉
𝜕𝜽
𝜕𝐸 𝒗, 𝒉
−
𝜕𝜽
1
− ෍ 𝑒 −𝐸 𝒗,𝒉
𝒁
+ ෍ 𝑝 𝒗, 𝒉
𝒉,𝒗
1 −𝐸 𝒗,𝒉
𝑒
𝑝 𝒗, 𝒉
𝑒 −𝐸 𝒗,𝒉
𝑍
𝑝 𝒉 𝒗 =
=
=
1
𝑝 𝒗
σℎ 𝑒 −𝐸 𝒗,𝒉
−𝐸
𝒗,𝒉
σℎ 𝑒
𝑍
𝒉,𝒗
𝜕𝐸 𝒗, 𝒉
𝜕𝜽
𝜕𝐸 𝒗, 𝒉
−
𝜕𝜽


# Page. 85

![Page Image](https://bcdn.docswell.com/page/YJ6QL1Z1JV.jpg)

対数尤度の勾配計算
𝜕 ln 𝐿 𝜽 ∣ 𝒗
= −෍ 𝑝 𝒉 𝒗
𝜕𝑤𝑖𝑗
𝒉
𝜕𝐸 𝒗, 𝒉
𝜕𝑤𝑖𝑗
+ ෍ 𝑝 𝒗, 𝒉
𝒉,𝒗
𝜕𝐸 𝒗, 𝒉
𝜕𝑤𝑖𝑗
= − ෍ 𝑝 𝒉 𝒗 ℎ𝑖 𝑣𝑗 + ෍ 𝑝 𝒗, 𝒉 ℎ𝑖 𝑣𝑗
𝒉
ベイズ定理
𝒉,𝒗
層内接続が無いから独立
𝑛
= − ෍ ෑ 𝑝 ℎ𝑘 𝒗 ℎ𝑖 𝑣𝑗 + ෍ 𝑝(𝒗) ෍ 𝑝 𝒉 ∣ 𝒗 ℎ𝑖 𝑣𝑗
𝒉
𝑘=1
𝒗
𝒉
𝑛
= − ෍ 𝑝 ℎ𝑖 𝒗 ℎ𝑖 𝑣𝑗 ෑ 𝑝 ℎ𝑘 𝒗
𝒉
𝑘=1,𝑘≠𝑖
= − ෍ 𝑝 ℎ𝑖 𝒗 ℎ𝑖 𝑣𝑗 ෍ 𝑝 𝒉−𝑖 𝒗
ℎ𝑖
+ ෍ 𝑝(𝒗) ෍ 𝑝 𝒉 ∣ 𝒗 ℎ𝑖 𝑣𝑗
𝒉𝑖
確率の総和は1
𝒗
+ ෍ 𝑝(𝒗) ෍ 𝑝 𝒉 ∣ 𝒗 ℎ𝑖 𝑣𝑗
𝒗
= −𝑝 𝐻𝑖 = 1 𝒗 𝑣𝑗 + ෍ 𝑝(𝒗)𝑝 𝐻𝑖 = 1 𝒗 𝑣𝑗
𝒗
𝒉
𝒉
ℎ𝑖 は0か1だからℎ𝑖 = 1の項だけ残る．


# Page. 86

![Page Image](https://bcdn.docswell.com/page/GJ5R14WL74.jpg)

対数尤度の勾配計算
• ここで，訓練セット𝑆 = 𝒗1 , … , 𝒗𝑙 があるとする．
• この訓練セットにおける対数尤度の導関数の平均は，
1
𝜕 ln 𝐿 𝜽 ∣ 𝒗
1
෍
= ෍ − ෍ 𝑝 𝒉 𝒗 ℎ𝑖 𝑣𝑗 + ෍ 𝑝 𝒗, 𝒉 ℎ𝑖 𝑣𝑗
𝑙
𝜕𝑤𝑖𝑗
𝑙
𝒗∈𝑆
𝒗∈𝑆
1
= ෍ −𝐸𝑝 𝒉 𝒗 ℎ𝑖 𝑣𝑗
𝑙
𝒗∈𝑆
𝒉
𝒉,𝒗
+ 𝐸𝑝 𝒗,𝒉 ℎ𝑖 𝑣𝑗 = ℎ𝑖 𝑣𝑗 𝑑𝑎𝑡𝑎 + ℎ𝑖 𝑣𝑗 𝑚𝑜𝑑𝑒𝑙


# Page. 87

![Page Image](https://bcdn.docswell.com/page/LE3P1G4DJ5.jpg)

対数尤度の勾配計算
𝜕 ln 𝐿 𝜽 ∣ 𝒗
= −෍ 𝑝 𝒉 𝒗
𝜕𝑏𝑗
𝒉
𝜕𝐸 𝒗, 𝒉
𝜕𝑏𝑗
+ ෍ 𝑝 𝒗, 𝒉
𝒉,𝒗
𝜕𝐸 𝒗, 𝒉
𝜕𝑏𝑗
= − ෍ 𝑝 𝒉 𝒗 𝑣𝑗 + ෍ 𝑝 𝒗, 𝒉 𝑣𝑗
𝒉
𝒉,𝒗
= −𝑣𝑗 ෍ 𝑝 𝒉 𝒗
𝒉
+ ෍ 𝑝(𝒗)𝑣𝑗 ෍ 𝑝 𝒉 ∣ 𝒗
𝒗
𝒉
= −𝑣𝑗 + ෍ 𝑝(𝒗)𝑣𝑗
𝒗
𝑁
𝑀
𝑀
𝑁
𝐸 = − ෍ ෍ 𝑤𝑖𝑗 ℎ𝑖 𝑣𝑗 − ෍ 𝑏𝑗 𝑣𝑗 − ෍ 𝑐𝑖 ℎ𝑖
𝑖=1 𝑗=1
𝑗=1
𝑖=1


# Page. 88

![Page Image](https://bcdn.docswell.com/page/8EDLX1Q2JG.jpg)

計算量が辛い
• RBMにおいても期待値計算の計算量は指数関数的に増加する．
• 勾配を求めるには期待値の計算をしなければならない．
• つまり，RBMも愚直に勾配を計算したのでは学習できない．
• どのように楽をするか？
• ギブスサンプリングを用い期待を近似する．
• しかし，このようなMCMCアプローチの計算コストは，効率的なアルゴリズムとし
ては，まだ重い．
• 𝑘 -step contrastive divergence learningを使う．


# Page. 89

![Page Image](https://bcdn.docswell.com/page/V7P2PQLL78.jpg)

𝑘 -step contrastive divergence learning
• 𝑘-step contrastive divergence learningでは，対数尤度の勾配の第2項をRBM
の分布からのサンプルで近似する代わりに，ギブス連鎖を𝑘ステップ（通常は
𝑘 = 1）だけ実行する．
• サンプリングで近似する場合，定常分布に達するまでマルコフ連鎖を実行する必要
がある．
• ギブス連鎖は，訓練セットの訓練サンプル𝒗 0 で初期化され，𝑘ステップ後に
サンプル𝒗 𝑘 を生成する．
• 各ステップ𝑡は，𝑝 𝒉 𝒗 𝑡 から𝒉 𝑡 をサンプリングし，その後𝑝 𝒗 𝒉 𝑡 から
𝒗 𝑡+1 をサンプリングする．
• 𝒗 𝑡 はRBMからサンプリングされたものであって，訓練セットからサンプルされたも
のではない．


# Page. 90

![Page Image](https://bcdn.docswell.com/page/2JVD25Q6JQ.jpg)

𝑘 -step contrastive divergence learning
• 訓練パターンが𝒗 0 のとき，パラメタ𝜽についての対数尤度の勾配は次のよう
に近似される．
CD𝑘 𝜽, 𝒗
0
= − σ𝒉 𝑝 𝒉 𝒗
0
𝜕𝐸 𝒗 0 ,𝒉
𝜕𝜽
+ σ𝒗 𝑝 𝒉 ∣ 𝒗
𝑘
𝜕𝐸 𝒗 𝑘 ,𝒉
𝜕𝜽
• この近似は，第２項の期待値を単一の標本𝒗 𝑘 によって推定している．
• また，パラメタ𝑤𝑖𝑗 については次のように近似される．
• CD𝑘 𝑤𝑖𝑗 , 𝒗 0
= −𝑝 𝐻𝑖 = 1 𝒗 0 𝑣𝑗
0
+ 𝑝 𝐻𝑖 = 1 𝒗 𝑘 𝑣𝑗
𝑘


# Page. 91

![Page Image](https://bcdn.docswell.com/page/5EGYR6W2EL.jpg)

𝑘 -step contrastive divergence learningのアルゴリズム
Input: RBM 𝑉1 , … , 𝑉𝑚 , 𝐻1 , … , 𝐻𝑛 , training batch 𝑆
Output: gradient approximation Δ𝑤𝑖𝑗 , Δ𝑏𝑗 and Δ𝑐𝑖 for 𝑖 = 1, … , 𝑛, 𝑗 = 1, … , 𝑚
Initialize Δ𝑤𝑖𝑗 = Δ𝑏𝑗 = Δ𝑐𝑖 = 0 for 𝑖 = 1, … , 𝑛, 𝑗 = 1, … , 𝑚
1. forall the 𝒗 ∈ 𝑆
2.
𝒗0 ←𝒗
3.
for 𝑡 = 0, … , 𝑘 − 1
4.
for 𝑖 = 1, … , 𝑛
5.
Sample ℎ𝑖 𝑡 ∼ 𝑝 ℎ𝑖 𝒗 𝑡
6.
for 𝑗 = 1, … , 𝑚
7.
Sample 𝑣𝑖 𝑡+1 ∼ 𝑝 𝑣𝑖 𝒉 𝑡
8.
for 𝑖 = 1, … , 𝑛, 𝑗 = 1, … , 𝑚
9.
Δ𝑤𝑖𝑗 ← Δ𝑤𝑖𝑗 + 𝑝 𝐻𝑖 = 1 𝒗 0 𝑣𝑗 0 − 𝑝 𝐻𝑖 = 1 𝒗 𝑘 𝑣𝑗 𝑘
10.
11.
Δ𝑏𝑗 ← Δ𝑏𝑗 + 𝑣𝑗 0 − 𝑣𝑗 𝑘
Δ𝑐𝑖 ← Δ𝑐𝑖 + 𝑝 𝐻𝑖 = 1 𝒗 0
− 𝑝 𝐻𝑖 = 1 𝒗 𝑘


