mathematical foundation of statistical learningwatanabe-2016/1/7 mathematical learning theory 6...

30
情報学習理論 渡辺澄夫 東京工業大学

Upload: others

Post on 03-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

情報学習理論

渡辺澄夫

東京工業大学

Page 2: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

競合学習

自己組織化

ボルツマンマシン

教師なし学習

深層学習

サポートベクタマシン

教師あり学習

ニューラルネットワーク

Page 3: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

教師なし学習

学習データ

X1, X2, …, Xn

テストデータ

X

真の情報源

情報源を学習すると世界を思い出せるようになる・・・

Page 4: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 4

連想記憶

Page 5: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 5

連想記憶 赤くて丸い・・・・・・りんごを思い出します

p(x|w)

q(x)

Page 6: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 6

ボルツマンマシンとは

外界からの情報があるとき(起きているとき)の平衡状態と情報がないとき(寝ているとき)の平衡状態が同じになるように学習する。

確率分布を多数のスピン変数の平衡状態によって実現しようとするモデルがボルツマンマシンである。

ボルツマンマシンは教師あり学習にも教師なし学習にも使うことができる。逆推論もできる。

今日は、外界からの情報の一部分から全体を思い出す(連想記憶)について考える。

Page 7: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 7

脳型システムと連想記憶

外界

外界から隠れている部分

外界を観測する部分(思い出す)

外界を観測する部分の一部(連想の元)

外界を観測する部分の一部から全体を思い出す

Page 8: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 8

制限つきボルツマンマシン

外を観測する部分

隠れている部分

外界連想するときの元になる部分

Page 9: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 9

制限つきボルツマンマシン

外を観測するユニット Visible units : N 個

隠れているユニット Hidden Units : H個

wij

i

j

θi バイアス

結合荷重

y = (s1,s2,…sH)

x = (sH+1,sH+2,…,sH+N)

Page 10: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 10

ボルツマンマシン

y = (s1,s2,…sH) x = (sH+1,sH+2,…,sH+N)

両方のユニット (全て0または1)

s = (x,y)= ( s1,s2,…sH, sH+1,sH+2,…,sH+N)

結合荷重 wij とバイアス θi は実数値

H(s,w,θ) = - (1/2) Σ wijsisj – Σ θisi

エネルギー (s=(x,y))

ii≠j

スピン系は磁石のモデル量子時空の離散化でもある

1984, ヒントンは脳のモデルを考えた

Page 11: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 11

平衡状態とは

エネルギー関数 H(s) が与えられたとき、確率分布

p(s)=(1/Z) exp( - H(s))

を平衡状態といい、Zを分配関数という

Z = Σs exp( -H(s))

ボルツマンマシンは s=(x,y) の平衡状態で定義される

(1) (w,θ) で定まる二つの平衡状態がある(2) 平衡状態の作り方(3) 平衡状態の学習のさせ方 = (w,θ) の決め方

Page 12: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 12

平衡状態I 眠る

p(x,y|w,θ) = (1/Z(w,θ)) exp(-H(x,y,w,θ) )

眠り平衡状態 (外界からの情報なし:s=(x,y) が確率的に変動)

Z(w,θ)= Σx,y exp(-H(x,y,w,θ) )

眠り分配関数

◎ (x,y) の分布なのでギブス法(後述)で作る◎ 眠り平衡状態の平均値を E[ |w,θ] と書く

Page 13: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 13

平衡状態II 目覚めている

p(y|x,w,θ) = (1/Z(x,w,θ)) exp(-H(x,y,w,θ) )

目覚め平衡状態(外界から情報あり:x は固定で y だけ変動)

Z(x,w,θ)= Σy exp(-H(x,y,w,θ) )

目覚め分配関数

◎ x が固定されているので、繰り返しなしで作れる.◎ 目覚め平衡状態の平均値を E[ |x,w,θ] と書く

Page 14: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 14

眠り平衡状態の作り方

眠り平衡状態はギブス法を用いて作る

ギブス法(ギブスサンプラー)

1. s=(s1,s2,…,sn) を初期化2. k をランダム(等確率)に選ぶ3. sk以外を固定してp(sk|s≠sk)から sk をサンプリング4. (2,3)を繰り返す

目覚め平衡状態は直接に作れる

Page 15: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

15

ギブス法p(x,y) からのサンプリング: p(y|x) と p(x|y) を繰り返す

ギブス メトロポリス

Page 16: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 16

平衡状態の確率の比

H(s,w,θ)|sk=1 = - (1/2) Σ wijsisj – Σ θisi

H(s,w,θ)|sk=0 = - (1/2) Σ wijsisj – Σ θisi

sk 以外を固定したとき sk=1 と sk=0 のエネルギーは

sk=1

sk=0

H(s,w,θ)|sk=1 - H(s,w,θ)|sk=0 = - Σ wkjsj - θkj≠k

その差は

sk=0 と sk=1 の確率の比を1 : exp(Σ wkjsj + θk ) にして更新すればよい

Page 17: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 17

制限つきボルツマンマシン

外を観測するユニット

隠れているユニット

制限つきボルツマンマシンでは一方を固定すれば相手のユニット同士は独立になるのでギブス法が使いやすい

目覚め平衡状態は一回で作れる

Page 18: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 18

問1

次の確率分布をギブス法で近似しやすい順に並べよ

(1)

x

y

(2)

x

y

(3)

x

y

(4)

x

y

Page 19: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 19

Page 20: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 20

学習の目標

p(x|w,θ) = Σy (1/Z(w,θ)) exp(-H(x,y,w,θ) )

眠り平衡状態での x の分布(y について周辺化)は

ボルツマンマシンの学習の目標

外界が未知の確率分布 q(x) に従うときうまく (w,θ) を調節することで、眠り平衡状態での x の分布が外界の分布を近似する q(x) ≒ p(x|w,θ) ようにしたい.

= (1/Z(w,θ)) Σy exp(-H(x,y,w,θ) )

眠り状態が目覚め状態と同じになるように学習する

Page 21: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 21

学習の方法

データ x が与えられるたびに

L(w,θ) = - log p(x|w,θ)

を小さくしていくと

「眠り状態の x →外界のx」になっていく。

◎ なぜこの方法で q(x) を p(x|w,θ) で学習できるのか?相対エントロピーの最小化と等価であるから

◎ 確率分布 p(x) にとって –log p(x) は、x に出会ったときの驚きの度合い(情報量)に相当する.珍しいほど驚きます。

Page 22: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 22

確率降下法

w := w + η∂w log p(x|w,θ)

θ := θ + η∂θ log p(x|w,θ)

最急降下法 (η>0 として)を用いる

# (w,θ)はベクトルであり ∂w ∂θはベクトルとしての偏微分

L(w,θ)を小さくしていくために

次と次々ページは偏微分の計算。数式が苦手な人は2ページスキップ。

Page 23: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 23

偏微分の計算

∂wij log p(x|w,θ) =

= - (∂wij (Σx,y exp(-H(x,y,w,θ) ) ) / ( Σx,y exp(-H(x,y,w,θ) )

+ (∂wij (Σy exp(-H(x,y,w,θ) ) ) / (Σy exp(-H(x,y,w,θ) )

眠り平衡状態 p(x|w,θ) について

log p(x|w,θ)

= - log ( Z(w,θ)) ) + log (Σy exp(-H(x,y,w,θ) )

= - log (Σx,y exp(-H(x,y,w,θ) ) + log (Σy exp(-H(x,y,w,θ) )

パラメータについて偏微分すると

Page 24: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 24

偏微分の計算の続き

∂wij log p(x|w,θ) =

= - ((Σx,y sisj exp(-H(x,y,w,θ) ) ) / ( Σx,y exp(-H(x,y,w,θ) )

+ ((Σy sisj exp(-H(x,y,w,θ) ) ) / (Σy exp(-H(x,y,w,θ) )

偏微分の計算を続けると

∂wij log p(x|w,θ) = - E[sisj|w,θ] + E[sisj|x,w,θ]

前者は眠り平衡状態での平均後者は目覚め平衡状態での平均なので

∂θi log p(x|w,θ) = - E[si|w,θ] + E[si|x,w,θ]

同様にして

Page 25: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 25

ボルツマンマシンの学習則

wij := wij + η ( - E[sisj|w,θ] + E[sisj|x,w,θ])

θi := θi + η ( − E[si|w,θ] + E[si|x,w,θ])

ボルツマンマシンの学習則

#1980年代にHintonが提案。当時は演算量が大きすぎてあまり使われていなかったが 30年を経て Deep Learning で使われいま流行になっている。

目標「眠り平衡状態≒外界」を実現するためには、目覚め状態と眠り状態の差を使ってパラメータを調整すればよい。目覚め状態と眠り状態が同じになると学習が終わる。

Page 26: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 26

(余談)伝説の剣・相対エントロピー

◎ 確率分布 q(x) から p(x) までの相対エントロピーはK(q||p)= ∫ q(x)log (q(x)/p(x))dx によって定義される。

◎ どんなモデル p(x|w) の学習も K(q||p) の最小化を目標としていると考えてよい。

相対エントロピー伝説

◎ 1800年代末、ボルツマンは「時間の矢」の問題を考える過程で相対エントロピーの概念を発見した。

◎ 1920頃、フィッシャーは相対エントロピーの2回微分が最尤推定量の漸近分布を与えることを示した。

◎ 1950頃、シャノンは相対エントロピーは情報圧縮限界であることを示した。

Page 27: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 27

Page 28: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 28

ボルツマンマシンの応用

1. 連想記憶 (x の一部を見ると全体を思いだせる)

2. たくさんつないで deep learning

3. Visible ユニットを二つX=(X1,X2)にわけて(X1→X2)の推論および逆推論(X2→X1)

(x の一部を見せて全体が思い出せるか)

あるいは deep learning のための事前情報処理

Page 29: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 29

連想記憶

一部を見る

全体を思い出す

Page 30: Mathematical Foundation of Statistical Learningwatanabe-2016/1/7 Mathematical Learning Theory 6 ボルツマンマシンとは 外界からの情報があるとき(起きているとき)の平衡状態と

2016/1/7 Mathematical Learning Theory 30

問2ボルツマンマシンについて実験して次のことを調べよ。

1.連想記憶として、どのくらいの情報があれば復元できるか?

2.各学習例でギブスサンプラの回数をどのくらい減らしても大丈夫か?Deep Learning では、1回でもOKと言われています。

提示ユニット数

連想記憶状況

ギブス繰り返し数

連想記憶状況