DL勉強会 01ディープボルツマンマシン

47
DL勉強会 第一回 ディープボルツマンマシン 前半 B4 宮崎亮輔 2014/10/20

Transcript of DL勉強会 01ディープボルツマンマシン

Page 1: DL勉強会 01ディープボルツマンマシン

DL勉強会 第一回

ディープボルツマンマシン前半

!

!

B4 宮崎亮輔

2014/10/20

Page 2: DL勉強会 01ディープボルツマンマシン

目次❖ データ生成モデル!

❖ データ生成モデルの再現!

❖ ボルツマンマシン!

❖ ホップフィールドモデル!

❖ モデル解釈!

❖ ボルツマンマシンの学習!

❖ 可視変数のみのボルツマンマシン学習!

❖ 最尤法!

❖ カルバック・ライブラー情報量からの学習方程式導出!

❖ ボルツマンマシンの計算困難性2

Page 3: DL勉強会 01ディープボルツマンマシン

データ生成モデル

3

Page 4: DL勉強会 01ディープボルツマンマシン

データ生成モデル

❖ あるn次元の{+1, -1}の2値の観測データ点があったとするx = {x1, x2, x3, …, xn}!

❖ データは通常不確実性をもつ(次にどのようなデータを受け取るかわからない)!

❖ 確率的に出現すると考える

4

Page 5: DL勉強会 01ディープボルツマンマシン

データ生成モデル

❖ n次元の確率分布Pg(X)から生成されたものと考える!

❖ X = {Xi ∈ {+1,-1} | i = 1,2,…,n} はn次元の確率変数!

❖ 確率分布Pg(X)に従ってサンプルされた1つの実現値がx!

❖ (確率変数Xiに対応するサンプル点がxi)

5

Page 6: DL勉強会 01ディープボルツマンマシン

データ生成モデル❖ Pg(X)は対象のデータの確率的な生成規則を規定する!

❖ Pg(X)はデータの生成モデル!

❖ データパターン毎に出現確率は異なる!

❖ +1, +1, +1は出やすいけど-1, -1, -1は出にくいみたいな!

❖ データパターン毎の出現確率を記述するのが生成モデル!

❖ 言語モデルも生成モデルの一つ?

6

Page 7: DL勉強会 01ディープボルツマンマシン

データ生成モデル❖ 観測データとして右のような2値画像の例を考える!

❖ 白が+1で黒が-1に対応、各画像中の各画素値をデータとする!

❖ データは画像の全画素数の次元!

❖ 1つのデータパターンxがある1つの2値画像となる!

❖ Pg(X)は白黒画像の生成確率を表すこととなる!

❖ (図の上の画像が出現する確率は○○%など)

7

Page 8: DL勉強会 01ディープボルツマンマシン

データ生成モデルの再現

❖ 現実のデータの生成モデルは一般には未知の分布!

❖ 未知の生成モデルを再現することが統計的機会学習理論の目的!

❖ 生成モデルからその確率に従ってデータが生成されているとする!

❖ 適当な学習モデルP(X|Θ)を仮定する

8

Page 9: DL勉強会 01ディープボルツマンマシン

データ生成モデルの再現❖ 観測データを利用し、学習モデル(のパラメータΘ)を調整することで未知の生成モデルの再現を試みる!

❖ 言語モデルは生成モデルというより学習モデルっぽい?

統計的機械学習理論のスキーム9

Page 10: DL勉強会 01ディープボルツマンマシン

データ生成モデルの再現

❖ ボルツマンマシンは受け取った観測データから生成モデルを統計的機械学習の方法で構築するための学習モデルの一つ!

❖ パラメトリック教師あり学習という位置づけ

10

Page 11: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン

11

Page 12: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン

❖ 連想記憶のモデルとして知られているホップフィールドモデルがあり、その決定論的ダイナミクスを確率論的ダイナミクスに拡張したモデル!

❖ ボルツマンマシンは多次元のボルツマン分布(あるいはギブス分布)と呼ばれる確率分布

12

❖ ????????????????????????

Page 13: DL勉強会 01ディープボルツマンマシン

ホップフィールド ネットワーク(モデル)

13

Page 14: DL勉強会 01ディープボルツマンマシン

ホップフィールドネットワーク

❖ 一つのネットワーク(行列)に複数の画像を埋め込める(記憶させる)ことができる(連想記憶)

参考:http://rishida.hatenablog.com/entry/2014/03/03/17433114

Page 15: DL勉強会 01ディープボルツマンマシン

ホップフィールドネットワーク❖ こんな無効グラフで表せるようなネットワーク!

❖ エッジに重みがついてる!

❖ ノードは出力値と内部状態を持っている!

❖ このネットワークにデータを記憶させる

参考:http://rishida.hatenablog.com/entry/2014/03/03/17433115

Page 16: DL勉強会 01ディープボルツマンマシン

ホップフィールドネットワーク

❖ ノイズありの画像から記憶させた元々のノイズなしの画像を復元できる

参考:http://rishida.hatenablog.com/entry/2014/03/03/17433116

Page 17: DL勉強会 01ディープボルツマンマシン

ホップフィールドネットワーク❖ 古典的な評価関数(エネルギー関数)がある←ボルツマンマシンにも使われてる!

❖ 記憶させたデータとの誤差が大きければエネルギーが大きくなる、小さければ小さく!

❖ エネルギー関数を微分すると次の時刻での出力(要するにノイズなしの画素値)を求められる!

❖ 相互に結合のあるネットワークに情報を記憶させるのが ホップフィールドネットワーク

参考:http://rishida.hatenablog.com/entry/2014/03/03/17433117

Page 18: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン❖ よくわからないけど!

❖ ホップフィールドネットワークという前身があって!

❖ 決定論的な部分を確率論的な感じにしたやつ!

❖ 局所解に陥らないように(焼きなまし法的な)!

❖ 無向グラフで考えることができて!

❖ エネルギー関数ってのがある

18

Page 19: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン❖ いくつかのノードΩ = {1,2,…,|Ω|}と

いくつかの無効リンクEからなる無向グラフG(Ω, E)!

❖ ノートiとノードjのリンクを(i, j) = (j, i) (←無効リンクなので)!

❖ i番目のノードに確率変数xi ∈ {+1, -1}を対応

この無向グラフ上に定義する確率モデル

19

Page 20: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン

❖ Φ(X|θ, ω)がエネルギー関数(ポテンシャル関数)!

❖ バイアス項と相互作用項の和で表される

❖ θiが各ノードiのバイアスパラメータ

ωijは各リンク(i,j)の重み(相互作用)パラメータ20

Page 21: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン

❖ ZB(θ,ω)はxに関する総和∑xPB(X|θ,ω)を1にするための規格化定数

❖ ∑xとは確率変数Xの実行可能パターン全てに関する総和

21

Page 22: DL勉強会 01ディープボルツマンマシン

ボルツマンマシン

❖ この確率モデルがボルツマンマシン!

❖ グラフ表現と確率モデルを対応させたものを

(確率的)グラフィカルモデルと呼ぶ

22

Page 23: DL勉強会 01ディープボルツマンマシン

モデル解釈

23

Page 24: DL勉強会 01ディープボルツマンマシン

モデル解釈

❖ 指数関数の引数がエネルギー関数の負になってる

→エネルギーの低いXのパターンがより高確率で  出現するようになっている

24

Page 25: DL勉強会 01ディープボルツマンマシン

モデル解釈

❖ θi > 0 : Xi=+1でエネルギーを低くする(確率が高くなる)!

❖ θi < 0 : Xi=-1でエネルギーを低くする!

❖ →θiの正負によってXiの値の出現確率に偏りが出る!

❖ θはバイアス25

Page 26: DL勉強会 01ディープボルツマンマシン

モデル解釈

❖ ωij > 0 : Xi == Xjでエネルギーを低くする!

❖ ωij < 0 : Xi != Xjでエネルギーを低くする!

❖ →ωはリンクで結ばれた変数同士の値の

関連性(そろいやすさ・そろい難さ)を調整する

26

Page 27: DL勉強会 01ディープボルツマンマシン

モデル解釈❖ 2値画像で考える!

❖ 確率変数Xiは白(+1)か黒(-1)をとり、各ピクセルに対応!

❖ 最も近いピクセル同士は強く依存しあうであろう仮定のもと

ピクセルの4近傍にリンクを張る

27

Page 28: DL勉強会 01ディープボルツマンマシン

モデル解釈❖ 2値画像で考えるバイアスパラメータθ! ピクセルの色の偏り(白になりやすさ, 黒になりやすさ)!

重みパラメータω! 隣同士のピクセルの色の揃いやすさ

28

Page 29: DL勉強会 01ディープボルツマンマシン

ボルツマンマシンの学習

29

Page 30: DL勉強会 01ディープボルツマンマシン

ボルツマンマシンの学習❖ 実際に観測したデータの出現確率に沿うように

パラメータ{θ,ω}の値を調整する!

❖ 可視変数のみの学習, 隠れ変数ありの学習がある!

❖ 可視変数:データに対応している変数!

❖ 隠れ変数:データに直接対応しない変数!

❖ 画素値は可視変数, ピクセルに欠損があったら隠れ変数

30

Page 31: DL勉強会 01ディープボルツマンマシン

可視変数のみの ボルツマンマシン学習

31

Page 32: DL勉強会 01ディープボルツマンマシン

可視変数のみの学習

❖ 全ての確率変数が可視変数→Xiの代わりにviを使用!

!

!

❖ n次元の観測データ点がそれぞれ統計的に独立に

同分布からN個手に入ったとき(データセット)

32

Page 33: DL勉強会 01ディープボルツマンマシン

可視変数のみの学習❖ 白黒画像を観測データ点とすると、画像1枚が

各観測データ点x(μ)に対応する

各データ点中のxi(μ)に対してそれぞれ!1つの確率変数を対応させるとすると!ボルツマンマシンは観測データ点と!同じn次元の確率変数!!を持つ確率モデルとなる

観測データセット D={x(μ) | μ=1,2,…,N} 33

Page 34: DL勉強会 01ディープボルツマンマシン

最尤法

34

Page 35: DL勉強会 01ディープボルツマンマシン

最尤法❖ ボルツマンマシンの学習では最尤法(MLE)を用いる!

❖ 観測データセットD={x(μ) | μ=1,2,…,N}に対して尤度関数を定義する!

!

❖ PB(x(μ)|θ,ω)はボルツマンマシンが観測データx(μ)を生成する確率!

❖ 各観測データ点は独立→PB(x(μ)|θ,ω)の積である尤度関数は

観測データセットDをボルツマンマシンが生成する確率!

❖ この尤度を最大とするパラメータの値(最尤解)を求める(観測データセットを生成する一番尤もらしい分布を求める)

35

Page 36: DL勉強会 01ディープボルツマンマシン

最尤法

❖ 実際には対数尤度関数を使う!

❖ 対数関数は単調増加なので最尤解は一致する

36

Page 37: DL勉強会 01ディープボルツマンマシン

最尤法❖ 最大点を求める→対数尤度関数のパラメータで偏微分

❖ EB[…|θ,ω]はボルツマンマシンに関する期待値

❖ 確率変数v全ての実現パターンに関する総和を実行して得られる

37

Page 38: DL勉強会 01ディープボルツマンマシン

最尤法❖ よって、次の連立方程式が成り立つ

❖ ボルツマンマシンの学習方程式と呼ばれる!

❖ 最尤解はこの方程式の解!

❖ 別名、モーメントマッチングと呼ばれ、多くの確率モデルの学習で現れる

38

Page 39: DL勉強会 01ディープボルツマンマシン

カルバック・ライブラー 情報量

39

Page 40: DL勉強会 01ディープボルツマンマシン

カルバック・ライブラー情報量❖ 確率変数Xに対する2つの確率分布P0(X)とP1(X)の間の近さを考える量!

!

❖ KL情報量は0以上!

❖ P0(X) == P1(X)のときのみD(P0||P1)=0となる!

❖ 2つの確率分布間の距離のようなものとして扱える

40

Page 41: DL勉強会 01ディープボルツマンマシン

KL情報量から

学習方程式の導出

41

Page 42: DL勉強会 01ディープボルツマンマシン

KL情報量から導出

❖ 観測データセットDに対する経験分布(観測データ点の頻度分布)を定義!

❖ QD(v)>=0 を満たし、かつ規格化条件∑vQD(v)=1を満たすので確率分布である

42

Page 43: DL勉強会 01ディープボルツマンマシン

KL情報量からの導出

❖ 経験分布とボルツマンマシンの間のKL情報量は

❖ このKL情報量を最小にするパラメータを求める

43

Page 44: DL勉強会 01ディープボルツマンマシン

KL情報量からの導出❖ 微分したとき0となる条件から、最尤法と同様にボルツマンマシンの学習方程式が成り立つ

❖ KL情報量の観点で見ると、最尤法は観測データセットの経験分布とボルツマンマシンを最も近づける方法

SDは観測データセットのエントロピーで、パラメータには依存しない

44

Page 45: DL勉強会 01ディープボルツマンマシン

計算困難性

45

Page 46: DL勉強会 01ディープボルツマンマシン

計算困難性❖ 学習方程式を見ると、期待値の計算が必要!

❖ この計算は確率変数の全実現可能パターンに関する和!

❖ n次元のボルツマンマシンでは2n個の多重和演算!

❖ 計算量爆発

46

Page 47: DL勉強会 01ディープボルツマンマシン

計算困難性❖ でも最近では!

❖ 有用な近似学習法の開発!

❖ 確率伝搬法!

❖ 擬似最尤法 ←実装簡単、高い学習性能、よく利用される!

❖ 複合最尤法!

❖ スコアマッチング!

❖ コントラクティブ・ダイバージェンス法

47