RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

88
東京工業大学 3年 八木 拓真 [email protected] @t_Signull

description

2014年11月13日開催の全脳アーキテクチャ若手の会 第3回Deep Learning勉強会の資料です。RBMの動作原理をポイントを押さえて解説しました。参考資料を後ろに纏めましたのでご自由にご活用ください。

Transcript of RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Page 1: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

東京工業大学 3年 八木 拓真

[email protected] @t_Signull

Page 2: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

自己紹介

• 八木 拓真(@t_Signull)

• 東京工業大学 情報工学科 3年

→ でエンジニア見習い中

• 将棋からゲームAI、人工汎用知能へ

• 週末は登山やスキーを

年中楽しんでます

Page 3: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

本日のテーマ

Restricted Boltzmann Machine(RBM)

あるいは 制限ボルツマンマシン

Pre-Training(事前学習)の代表的な方法の1つ

当初は統計力学における気体のエネルギー分布をモデルにしていたが、現在は直接の関係はない。

Page 4: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

今日話さないこと

• Deep Learningの概略

• RBMの数式の導出

• 神経科学的知見とRBM (知識不足…)

• RBMの実装にあたってのノウハウ

Page 5: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

今日話すこと

・RBMの歴史

・RBMの部品たち

・なぜRBMで学習できるのか?

・RBMを使ったDNN

・ディープラーニング勃興の理由

・人間と人工知能

・「学習」は万能ではない?

各手法の特徴・役割に注目していただければと思います

Page 6: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DNN1ページおさらい

「浅い」ネットワーク

順伝播(fo

rward

pro

p)

逆伝播(b

ackpro

p)

逆伝播法で重みを適切に調整できた

「深い」ネットワーク

順伝播(fo

rward

pro

p)

逆伝播させても性能が出ない!

局所解への収束が問題に

予め層ごとに最適(に近い)解を学習させる

→プレトレーニング

Page 7: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMとは?

• ボルツマンマシン(BM)の結合に制約を持たせた確率的無向グラフィカルモデルの一種

可視層(Visual Layer)

隠れ層(Hidden Layer)

可視素子𝑣𝑖 (Visual Unit)

結合重み𝑤𝑖𝑗 (Weight)

隠れ素子ℎ𝑗 (Hidden Unit)

Page 8: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMとBM(GBM)

BMが全結合なのに対し、RBMでは同じ階層間の結合がない

→計算量の大幅削減に(この効果は後述)

(R. salakhutdinov, G.Hinton, 2009)

Page 9: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMはプレトレーニング法の1種

・現在のプレトレーニング法の主流は2つ

① Autoencoder(AE)系

詳細は前の発表の通り、入力データを良く再現できるような重みを学習

→派生形としてStacked AE, Denoised AEなど

② Restricted Boltzmann Machine(RBM)系

これから説明

→派生形としてConditional RBM, Temporal RBMなど

Page 10: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの主要成果?

• 学習手法の1つなので、これと言える成果は見当たらない…

• 安定して良い結果を出すオールラウンダー

• 音声認識分野で良く使われている(らしい)

• Deep Learningの元祖はRBMを使ったもの

http://www.forbes.com/sites/briansolomon/2014/06/17/siri-is-for-sale-will-apple-samsung-fight-over-nuance/

Page 11: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの確率モデル

• 今回は2値モデルを扱う:𝑣𝑖 ∈ 0, 1 , ℎ𝑗 ∈ {0,1}

• エネルギー関数

𝐸 𝒗, 𝒉 = − 𝑏𝑖𝑣𝑖𝑖

− 𝑐𝑗ℎ𝑗𝑗

− 𝑣𝑖𝑊𝑖𝑗ℎ𝑗𝑗𝑖

• 確率分布(ボルツマン分布)の形を得る

𝑝 𝒗, 𝒉 =1

𝑍 𝑊exp(−𝐸 𝒗, 𝒉 )

• 目標:𝑝 𝒗 = 𝑝(𝒗, 𝒉)ℎ の最尤推定

Page 12: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの確率モデル

• BMより簡単な構造とはいえ、尤度の最大化(

対数尤度の微分)の計算量は指数的に増加してしまう

→サンプリングという手法が近似手法として取られる

• とはいえ、単純にサンプリングして平均を取るだけでは遅すぎるため、より計算が早く、精度の良い方法が求められた

→Contrastive Divergence法(CD法)

Page 13: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの系譜(DNN以前)

1962

Perceptron

1986

BP

1984

BM 1986

RBM

1952

Metropolis

1990

Graphical Model

1984

Gibbs Sampling

2002

Contrastive

Divergence

サンプリング手法の発達

ネットワーク構造の発達

1982

Hopfield

Network

計算量がネック

であったRBMの学習

スピード・精度を

実用レベルに!

NNの表現能力の発達 モデルの解析手法の

発達

Page 14: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの系譜(DNN以後)

2002

Contrastive

Divergence

2006

Deep Belief

Network

2009

Deep Boltzmann

Machine(DBM)

1989

Autoencoders

2007

Stacked

Autoencoders

ここから“Deep Learning”

その他AE

の派生形へ

Deep LearningはRBMから始まった!

Page 15: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの地図

Energy-Based Model

BM

Generalized BM

RBM Lateral Conditions

Conditional RBM

Temporal RBM

Factored RBM

Etc..

RBMの派生形たち

Page 16: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

ここまで次々にと聞きなれない言葉が出て

きてしまった…という方、ご安心を!

生成モデル

サンプリング

無向グラフィカルモデル

1つずつ解決していきます

Page 17: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

What’s 生成モデル?

Page 18: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

識別モデル/生成モデル

識別モデル: 入力を特定のクラスに直接割り当て

識別モデルの例(下記の例は正確には識別関数に属する)

• Support Vector Machine(SVM) (Cortes & Vapnik, 1995)

• フィッシャーの線形判別(LDA)

• パーセプトロン(Perceptron)

生成モデル: 入力に対するクラスkの割り当て確率𝑝 𝐶𝑘 𝑥 を

持つ。さらには入力データ自体がどのように生成されるかモデル化(𝑝(𝑥))

生成モデルの例:

• Naïve Bayes(ナイーブベイズ):スパムメール判別が有名

• RBM(もちろん!)

Page 19: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

識別モデル

• SVMの場合 Class 1

Class 2

←の新しく与えられた点は自動的にクラス2に割り当てられる

識別モデルでは確率の概念はでてこない(決定論的)

マージン(最も近い訓練事例への距離)を最小化するような分離平面𝑦 𝒙 = 0を決定する

Page 20: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

生成モデル

• クラス事後確率𝑝 𝐶𝑘 𝑥 (

入力xが与えられたときクラス𝐶𝑘に属する確率)を求めることを目標にする

→出力結果は確率(確率的)

• ベイズの定理

𝑝 𝐶𝑘 𝑥 =𝑝 𝑥 𝐶𝑘 𝑝 𝐶𝑘𝑝 𝑥

• 入力の分布も計算可能

𝑝 𝑥 = 𝑝 𝑥 𝐶𝑘 𝑝(𝐶𝑘)

𝑘

Page 21: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

生成モデルの威力

• 入力データ𝑝(𝑥)そのものの分布もモデル化するので、訓練データそのものではない新しいサンプル𝑥𝑛𝑒𝑤を生成することが出来る

• 後述するDeep Belief Network(DBN)でも使われている

• 確率分布を議論のベースとして用いるため、システマティックに学習・推論できる

→モデル拡張の余地が大きい

Page 22: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

What’s サンプリング?

Page 23: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングとは?

• 状況:ある確率分布𝑝(𝑥)が存在するとき、その分布に従うサンプル 𝑥1, 𝑥2, … , 𝑥𝑘 を得たい

(e.g. サイコロを振ったときの出目を見たい)

→しかし、実際にサイコロを振って確かめることはできない

• 確率分布はあくまで

2以下の目が出る確率は1/3

といった情報しか与えてくれない。どうするか?

Page 24: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

① 力技:逆関数法

(1) 𝑝(𝑥)の累積分布関数𝑃 𝑥 = 𝑝 𝑥 𝑑𝑥𝑥

−∞を求める

(2) 𝑃 𝑥 の逆関数𝑃−1(𝑥)を導出

(3) 一様乱数𝑧 ∈ 0, 1 を発生させて、𝑃−1(𝑧)を計算

→サンプルを生成できた!

しかしながら、この方法は不定積分や逆関数を解析的に導出できないといけない

→解析的に計算できない場合はどうする?

Page 25: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

② スマートな方法:Metropolisアルゴリズム マルコフ連鎖モンテカルロ法(MCMC)という枠組みを用いる

(1) 初期値𝑧 0 をランダムに選ぶ

(2) 次のサンプル𝑧∗を提案分布𝑞(𝑧)に従って選ぶ

(3) 前のサンプル𝑧 𝜏 と比較して尤度が高ければ受理

(𝑧 𝜏+1 = 𝑧∗)、低い場合でも確率𝑝 𝑧∗

𝑝 𝑧 𝜏で受理

棄却された場合は𝑧 𝜏+1 = 𝑧 𝜏 として(2)に戻る

※提案分布:

①のような方法で(比較的)簡単にサンプリングできる分布のこと

適切な分布を選べば、少ない試行回数で良いサンプルが得られる

Page 26: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考:MCMCとは

マルコフ連鎖…1つ前の状態のみにより次の状態が決まる連鎖列

モンテカルロ法…乱数を数値計算に用いる手法のこと

次の制約を満たすことが条件(多くの事例にあてはまる)

・詳細釣り合い条件(Detailed balance)

・エルゴード性(Ergodicity)

MCMCの理念:試行錯誤

→複雑で高次元な分布であっても、試行錯誤しながらそれなりの計算量でランダム(に見える)サンプルを生成する

Page 27: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考:MCMCとは

• マルコフ連鎖の定義式:

𝑝 𝑧 𝑚+1 𝑧 1 , … , 𝑧 𝑚 = 𝑝 𝑧 𝑚+1 𝑧 𝑚

• 詳細釣り合い条件

遷移確率 𝑇𝑚 𝑧𝑚 , 𝑧 𝑚+1 ≡ 𝑝 𝑧 𝑚+1 𝑧 𝑚 を定義したとき、

𝑝∗ 𝑧 𝑇 𝑧, 𝑧′ = 𝑝∗ 𝑧′ 𝑇(𝑧′, 𝑧)

が満たされること。

この条件が満たされれば𝑝∗(𝑧)は不変分布である。

• エルゴード性

𝑚 → ∞のとき、初期分布𝑝(𝑧 0 )の選択に関わらず、分布

𝑝(𝑧 𝑚 )が求めたい不変分布𝑝∗(𝑧)に収束すること。

Page 28: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

② スマートな方法:Metropolisアルゴリズム

試行100回:また左側の山しか探索できていない

Page 29: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

② スマートな方法:Metropolisアルゴリズム

試行1000回:両端を除いて大分分布が近づいてきた

Page 30: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

② スマートな方法:Metropolisアルゴリズム

試行100000回:見事多峰性の確率分布のサンプリングに成功

Page 31: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

③ より便利に:Gibbs Sampling

Metropolis-Hastings法(Metropolisの改良)の特別な場合:簡単で効率が良い

確率分布𝑝(𝑧1, 𝑧2, 𝑧3, … , 𝑧𝑀)を考えたとき

(1) 𝑧𝑖: 𝑖 = 1,… ,𝑀 を初期化

(2) ステップ𝜏の時、𝑗 = 1,… ,𝑀について

𝑝 𝑧𝑗 𝑧1𝜏+1, … , 𝑧𝑗−1

𝜏+1, 𝑧𝑗+1𝜏, … , 𝑧𝑀

𝜏)をサンプリングし、𝑧𝑗

𝜏+1を得る

使用条件:条件付き分布の導出が簡単な場合

→RBMは適用可能なため、Gibbs Samplingを使用

Page 32: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

サンプリングメソッド

サンプリング法の弱点とその対策:

① 初期の遷移から得られたデータは、初期値の影響を受けすぎる

→burn-in:初期のサンプリングの値を排除

② 直前の状態の値を用いるため、サンプリングされた値は前後で若干の相関を持ってしまう

→n個毎にサンプリングされた値のみ使用する

少ない試行回数で相関を減らす努力を行う

Page 33: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

What’s

グラフィカルモデル?

Page 34: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

グラフィカルモデルとは?

• 条件付き独立性の議論を踏まえた、確率モデルの図式的表現法

• グラフィカルモデルを用いることで、視覚的に変数の関係性を見ることができる

“Pattern Recognition and Machine Learning” (Springer, 2006)

Page 35: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

有向グラフ

“Pattern Recognition and Machine Learning” (Springer, 2006)

Page 36: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

無向グラフ

• 目的は有向のそれと同じだが、無向グラフィカルモデルでは同時分布をいくつかの小さな同時分布の積に分解する

𝑝 𝒙 =1

𝑍 𝜓𝐶(𝒙𝐶)

𝐶

• ここで 𝜓𝐶 𝒙𝐶 = exp(−𝐸 𝒙𝐶 )

とすれば、RBMの確率分布の形

そのものになる

“Pattern Recognition and Machine Learning” (Springer, 2006)

Page 37: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

以上を踏まえて

RBMに戻ります

Page 38: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの確率モデル(再掲)

• 今回は2値モデルを扱う:𝑣𝑖 ∈ 0, 1 , ℎ𝑗 ∈ {0,1}

• エネルギー関数

𝐸 𝒗, 𝒉 = − 𝑏𝑖𝑣𝑖𝑖

− 𝑐𝑗ℎ𝑗𝑗

− 𝑣𝑖𝑊𝑖𝑗ℎ𝑗𝑗𝑖

• 確率分布(ボルツマン分布)の形を得る

𝑝 𝒗, 𝒉 =1

𝑍 𝑊exp(−𝐸 𝒗, 𝒉 )

• 目標:𝑝 𝒗 = 𝑝(𝒗, 𝒉)ℎ の最尤推定

Page 39: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMにおける最尤推定

• 最尤推定:対数尤度のパラメータ𝜃に関する最大化

• 今回のモデルにおけるパラメータは

𝑏𝑖 , 𝑐𝑗 ,𝑊𝑖𝑗

の3種類なので、対数尤度𝐽を最大化したければ、勾配 𝜕𝐽

𝜕𝑏𝑖,𝜕𝐽

𝜕𝑐𝑗,𝜕𝐽

𝜕𝑊𝑖𝑗

を計算して勾配法(Gradient Descent; GD)を行う

→実用上は

Stochastic GD, Mini-batch GDなどが用いられる

Page 40: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

勾配の計算

• 厳密な計算は省略(「Restricted Boltzmann Machineの導出に至る自分用まとめ」を参照)

• 結論から言うと、パラメータ𝜃に対する勾配𝜕𝐽/𝜕𝜃は 𝜕𝐽

𝜕𝜃=

𝜕𝐸

𝜕𝜃

𝑝 ℎ 𝑣 𝑞 𝑣

𝑣

+ 𝜕𝐸

𝜕𝜃𝑝(𝑣, ℎ)

ℎ𝑣

と表せる

• 第1項・第2項共に総和(積分)を取る

第1項(条件付き分布)の計算は簡単(シグモイド関数)だが、

第2項(結合分布)の計算はほぼ不可能

→Gibbs Samplingを用いるContrastive Divergence法

簡単 不可能

Page 41: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Contrastive Divergence(CD)法

• RBMに対する現状最強の学習法

• 本来大量にループする必要のあるMCMCサンプリングを数回(!)で打ち切ってしまう

• それどころか、サンプリング回数を1回にした場合の方が良い性能が出ることが多い

Page 42: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Contrastive Divergence(CD)法

訓練データのbatch {𝑣1, v2, … , vBnum}を用いる

各𝑖 = 1,2,… , 𝐵𝑛𝑢𝑚に対して

(1) 初期値を訓練データ𝑣0𝑖とする

(2) 条件付き確率𝑝(𝒉|𝒗)を用いて、隠れ素子の状態ℎ1𝑖を求める

(3) (2)で得たℎ1𝑖を入力に𝑝(𝒗|𝒉)を計算、可視素子の状態𝑣1

𝑖を求める

(4)(2)~(3)を繰り返す。ステップ数がkならℎ𝑘𝑖 , 𝑣𝑘𝑖まで計算する

最後に

𝑝𝑚𝑜𝑑𝑒𝑙 𝒗, 𝒉 =1

𝑁 𝛿 𝒗 − 𝑣𝑘

𝑖 𝑝(𝒉|𝑣𝑘𝑖 )𝑖 として

近似的に第2項を得る

サンプリングの

0ステップ目を表す

例:10個目のデータの

2ステップ目

𝑣210

Page 43: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Contrastive Divergence(CD)法

可視層𝑣𝑖 隠れ層ℎ𝑗

𝒗𝟎

𝒗𝟏 𝒉𝟏

𝒉𝟐

𝒗𝒌 𝒉𝒌

𝑝(ℎ|𝑣)

𝑝(𝑣|ℎ)

𝑝(ℎ|𝑣)

𝑝(𝑣|ℎ)

Gibbs step

(Gibbs Samplingの

1ステップ)

𝑘 → ∞とすれば原理的には本来の期待値と同様の分布を与えてくれる

これをk回で打ち切るのがCD-k法

Page 44: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Contrastive Divergence(CD)法

• そういえば、通常のGibbs Samplingでは上手くいかないの?

→上手くいかなかった上、計算が非常に重かった

Bengio先生曰く、

→通常の勾配法とは違いサンプリングを用いるため、

対数尤度の分散が本来の期待値より増大する。その結果、本来勾配がゼロ=収束して欲しい点が平らになって上手くいかなくなる (Learning Deep Architectures for AI(Bengio, 2009)より)

非常に大ざっぱなイメージ: (青線の収束点が潰れてしまう)

Page 45: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Contrastive Divergence(CD)法

• なぜ1回だけのサンプリングで上手くいくのか?

① 勾配の更新に使用するため、進む方向さえあっていれば勾配の大きさそのものはずれていても良い

② データ点の分布は疎(sparse)なので、初期値をデータ点の1つとしてそこから1回だけ動くことで、丁寧に

サンプリングを繰り返すよりも強く進行方向を近似すると考えられる

Page 46: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

なぜRBMで学習ができるのか?

• 結局のところ、RBMは何をしているのか?

訓練データの分布にボルツマンマシンのパラメータをできる限り近づけようとしている

• なぜ可視変数と隠れ変数の2段構えなのか?

→表現力の向上のため

→データの一部が欠損している(本当は潜在的な情報がある)状況を考えることが出来る

Page 47: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考:モデルの表現力とは?

• 学習モデルは、高次元空間上においてある部分空間を為す。最もよくデータ点にあてはまるようにそのモデル上でパラメータを調整するが…

→モデルそのものの制約によって学習に失敗する可能性がある

“Pattern Recognition and Machine Learning” (Springer, 2006)

例:青い点にもっともよくあてはまる線を学習したいが、そのモデルが線形(直線)である限りいくら調整しても望む性能は出せない

Page 48: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考:モデルの表現力とは?

• 表現力を上げれば当然あてはまりは良くなるが、良すぎると過学習の状態になってしまううえ、計算量が増大する

• Deep Learningでは過学習

の問題を克服した上で、表現

力を大幅に上昇させた

“Pattern Recognition and Machine Learning” (Springer, 2006)

例:訓練データ点にはあてはまるが、期待された汎用的な分布とは程遠いものとなってしまっている(過学習)

Page 49: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Autoencoder vs. RBM

Autoencoder:

• 構造がシンプルで、ネットワーク構造に対する制約が少ない

• RBMと比べると性能が劣る

RBM:

• MCMCの手法を使用

• 生成モデルなので、入力のサンプルを生成したり、何を学んだか可視化することが出来る

Page 50: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

RBMの派生形(例)

• Conditional RBM

RBMのパラメータの一部がある関数によって制御される場合に拡張

→過去のデータを制御パラメータとして算入することで時系列分布の推定に使用(Taylor et al.,

2006)

• Lateral Connections

RBMでは結合していなかった可視層同士の結合を追加する

→計算は複雑になるが表現力が上がる

Page 51: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

そしてDeep Learningへ…

Page 52: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Belief Network(DBN)

プレトレーニング概観:

(1):一番下の2段をとり、入力データをRBMの可視層とみなして学習

→2段目に良い「表現」が学習される

(2):続いて1つ上の2段をとり、同様にRBMとして学習、

・1層目𝑣を(1)で求まった𝑝(𝑣)からサンプリング

・2層目ℎ1を(1)で求まった𝑝(ℎ1|𝑣)から計算

して得られたものを入力としてRBMを学習→生成モデルの強み

(3)~:上の段へ1段ずつ上がって行って良い初期値を学習させる

DBN: 最後の1層以外は有向

DBM: 全ての結合が無向

(R Salakhutdinov and G Hinton, 2009)

Page 53: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

𝑣

ℎ1 Step 1:

可視層に訓練データを入れて、

RBMを学習

訓練データ𝑆

RBM

𝑊1

Page 54: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

𝑣

ℎ1

Step 2:

1段目の隠れ層=2段目の可視層

として連結

Q:入力はどうするのか?

→入力層のモデル𝑝(𝑣)をサンプリングして𝑝(ℎ1|𝑣)を計算、ℎ1のサンプル(入力)を得る

RBMを学習

訓練データ𝑆

ℎ2

モデル分布𝑝(𝑣)

RBM

(sampling) 𝑊1

𝑊2

Page 55: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

𝑣

ℎ1

Step 3 and more: k段目の隠れ層=k+1段目の可視層

として連結

条件付き分布𝑝(ℎ𝑘+1|ℎ𝑘)から入力をサンプリング

RBMを学習

以下、1段ずつRBMを学習させつつ層を追加(Greedy training)

訓練データ𝑆

ℎ2

モデル分布𝑝(𝑣)

RBM

ℎ3

(sampling) 𝑊1

𝑊2

𝑊3

Page 56: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

𝑣

ℎ1

𝑝(ℎ1|𝑣)及び𝑝(ℎ𝑘+1|ℎ𝑘)は

𝑝 ℎ1 𝑣 =1

1+exp −𝑐𝑖−𝑊𝑖𝑣

= 𝜎 𝑐𝑖 +𝑊𝑖𝑥 (シグモイド関数)

の形で与えられるので

シグモイド関数を活性化関数とし

たネットワークが完成した!

Q:教師有り学習はどうするのか?

訓練データ𝑆

ℎ2

モデル分布𝑝(𝑣)

ℎ3

(sampling) 𝑊1

𝑊2

𝑊3

ℎ𝑁−1

Page 57: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

◆Fine-tuning ~手書き文字認識を例に~

𝑣

ℎ𝑁−1

1 2 3 4 5 6 7 8 9 0

教師有り学習を施して、

最終的なラベルを予測

Softmax Function exp 𝑎𝑖 exp 𝑎𝑗𝑛𝑗

隠れ層の最上位層を入力として、ロジスティック回帰を行う

ラベルミスを表す損失関数Lを最小化するようにパラメータを学習させればよい

Page 58: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBNの学習

◆Fine-tuning ~手書き文字認識を例に~

𝑣

ℎ𝑁−1

1 2 3 4 5 6 7 8 9 0

教師有り学習を施して、

最終的なラベルを予測

Linear Regression: 𝑤0 + 𝑤𝑗𝜙𝑗 𝑥𝑀−1𝑗=1

SVM

BackPropagation

etc… ここで用いるアルゴリズムは適当なものを選べばよい

その他のアプローチ:

Sleep-Wake Algorithm, Up-down法など

Page 59: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Boltzmann Machine(DBM)

DBFと異なり、すべての結合が無向に

→前後の層からフィードバックを受けることになり、モデルの表現力は上がるがその分学習コストも増える

プレトレーニングそのものはほぼ同じだが、真ん中の層は上下2層からの重みを受けるので、片方の条件付き確率分布の入力をもう一方のエネルギー関数の2倍にして

「雰囲気上下から学習している」

ように見せる DBN: 最後の1層以外は有向

DBM: 全ての結合が無向

Page 60: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBMの学習

(R Salakhutdinov and G Hinton, 2009)

本来であれば隠れ層ℎ1は𝑣とℎ2からの入力を受けるべきだが、欲しいℎ2のパラメーターは存在しないため仕方なく2つの𝑣から入力を受けていると仮定してパラメータを学習させる

Top-down

Bottom-up

Top-down

Bottom-up

DBNと比べて係数が半分になる

Page 61: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBMの学習

(R Salakhutdinov and G Hinton, 2009)

プレトレーニング後、出力を計

算する際もℎ1は両側から入力

を受ける(2倍の入力)が必要

になるため、生データ𝑣に加え

事後確率𝑞 ℎ2 𝑣 を用いて計

算されたものを追加の入力と

する

Fine-tuningでは

BackPropagationなどを用い

ればよい

Page 62: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

結局RBMで出てきたものは何か?

• RBMは「教師なし学習」

• 可視素子ごとの相関を直接取らず、隠れ層が可視素子の相関を持つ

→結果として隠れ層で可視素子の特徴及び相関(抽象化された特徴)を表現できるようになるのではないか?

プレトレーニングに懐疑的な意見もあるが、データ量の追加だけでは解決できない不適切な解への収束を抑止する実験的証拠なども出ている(D Erhan et al., 2010)

Page 63: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

DBMの性能を上げるには

• 普通のNNより見えにくいが、過学習によって性能が落ちる可能性がある

→Dropout、正則化によるSparse(疎)なネットワークの構築(神経科学的知見から)

• 結局、隠れ層の段数や素子数はデータの複雑度に合わせて設定する必要がある

→Deep Learningの唯一にして最大の弱点

Page 64: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

後半戦に

入ります

Page 65: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Learning勃興の理由

• きっかけはGreedy layer-wise Training(Hinton, 2006)

• しかしながら、

AutoEncoder(Rumelhart et al. 1986)

RBM(Hinton, Sejnowski & Ackley, 1984)

いずれも30年前の技術(しかもNNの学習法が改善された1986

年の時点で存在していた!)

• では、何故今になって成果が出たのだろう?

→計算機の進歩、最適化手法の発達、データ収集コストの減少

Page 66: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Learning勃興の理由

• Deep Learning周りの計算速度は、やはり識別モデルより遅い

• 「Googleの猫」の学習には1000台(16000コア)のマシンで3日間かかっている

→これを1990年頃の水準に直せば750000倍、6000年以上かかることになる! (1990年のスパコン(23.2GFLOPS)と2012年のスパコン(17.510PFLOPS)の大ざっぱな比較)

→その計算コストの高さから、

今でも実用上はSVMやロジスティック回帰で十分という見方も多い

Page 67: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Learning勃興の理由

10年で1000倍という進歩スピード

Page 68: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Deep Learning勃興の理由

(Le, Quoc V. 2013)より:

「研究者は概して、限られた時間内でネットワークを学習させようとするあまり、データセットやモデルの規模を減らそうとした。削減の結果、高次元の特徴抽出の土台を削り取ってしまった。」 →Googleの猫では、画像サイズを32×32→200×200にすることで成功した

(C Cortes, V Vapnik, 1995) (Le, et al. , 2012)

取り扱えるデータの規模がとてつもなく大きくなった

Page 69: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

画像認識コンテストの舞台裏

DNNの威力を見せ付けたILSVRC(2010年より開催)

これまでのどの画像認識コンテストよりも大規模なデータ量

画像分類タスクの場合、

• カテゴリ数4096

• 訓練用データ128万枚、検証用データ5万枚、テスト用データ10万枚(全てラベル付き!)

当然、100万枚以上の画像の収集作業があり、最終的に人手によってラベリングされた

Page 70: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

ILSVRC(2010-現在)

ILSVRCで出題された問題の例

Page 71: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

画像認識コンテストの舞台裏

人間の能力が必要なタスクをクラウド(Crowd)ソーシング

Amazon Mechanical Turk(AWT):

Page 72: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

画像認識コンテストの舞台裏

Amazon Mechanical Turk(AWT):

• 際立って目新しいというわけではないが、時給100~300円ほどで千人、万人単位の人 数を集めることが可能

• 画像のラベリング、スペルミスの収集、心理学の実験などに利用され、多数の報告例がある

Page 73: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

画像認識コンテストの舞台裏

DNNの威力を見せ付けたILSVRC(2010年より開催)

これまでのどの画像認識コンテストよりも大規模なデータ量

画像分類タスクの場合、

• カテゴリ数4096

• 訓練用データ128万枚、検証用データ5万枚、テスト用データ10万枚(全てラベル付き!)

当然、100万枚以上の画像の収集作業があり、最終的に人手によってラベリングされた

(Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., ... & Fei-Fei, L. (2014). ImageNet Large Scale

Visual Recognition Challenge. arXiv preprint arXiv:1409.0575.)

Page 74: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

画像認識コンテストの舞台裏

• 教師なし学習ではデータの自動収集により既に千万枚レベルのデータを用意・学習させることが出来るようになった。ノイズに強い特徴抽出法も進んで研究されている

• 一方で、教師有り学習を行うためには相変わらず良質な教師データが求められており、データの収集には手間がかかっている

→人間は教師からの学習が不可欠、応用範囲を拡げ

るにあたってどのように教師データを収集・統合していくべきか?

Page 75: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Pepperから見る「身体」の大切さ

Q:脳を模倣したアーキテクチャが実現したとして、それは本当に人間と同等の能力を実現できるのか?

私の考え: 全脳アーキテクチャだけでは不十分なのではないか

Page 76: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

Pepperから見る「身体」の大切さ

人間的なタスクは、何も物体や音声の認識だけに留まらない

社会のルールの多くは、文章や画像で教えられるのではなく、「経験」として教わるもの

→「身体」の検討も全脳アと

同等の重要度で行ってもよいのでは?

http://nlab.itmedia.co.jp/nl/articles/1411/07/news162.html

タクシーを止めるPepper

Page 77: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

知能は「身体」から生まれる?

• 単純な思考しかできない小さな生き物でも、環境との相互作用を上手く利用することで高度な知能を持っているような振る舞いを生み出すことがある

→地上で行動する汎用人工知能であれば、周辺の環境を利用することを前提とした「身体」の存在を想定するのが自然

• 生物には、その身体の構造故に発達した生得的知能がある

→例:幼児に存在する生まれつきの数的感覚

→身体が知能を解明するきっかけになるかもしれない!

Page 78: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

四脚ロボット”Puppy”

犬を模した非常に単純な構造のロボット

・足裏のみのセンサ

・関節12個

・腿のばね

から成るが、その構造のシンプルさとは裏腹に非常に自然な歩行を見せる (Iida and Pfeifer, 2004)

知能は「身体」から生まれる?

Page 79: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

「学習」は万能ではない?

• 現在注目されている「学習」は、本質的なものではあるが、「知能」の要素の1つに過ぎない

(1)知的行動に関するあらゆる教師データの収集

(2)プログラムと環境を媒介する「身体」のアーキテクチャの検討・設計

についても議論が深めていく必要があるのではないだろうか

Page 80: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料オススメPickup

◆Deep Learning全般

Bengio, Y. (2009). Learning deep architectures for AI. Foundations and trends®

in Machine Learning, 2(1), 1-127.

(上の日本語解説)

http://www.slideshare.net/alembert2000/learning-deep-architectures-for-ai-3-deep-

learning

Kyunghyun Choの「Deep Learning: Past, Present and Future (?)」

https://drive.google.com/file/d/0B16RwCMQqrtdb05qdDFnSXprM0E/view?sle=true&pli=1

◆RBM・DBN

UCL Tutorials on Deep Belief Net(G Hinton)(考案者自身のチュートリアルスライド)

http://www.cs.toronto.edu/~hinton/ucltutorial.pdf

「Restricted Boltzmann Machineの導出に至る自分用まとめ(齋藤真樹)」

https://dl.dropboxusercontent.com/u/2048288/RestrictedBoltzmannMachine.pdf

Tutorial on Deep Learning and Applications(Honglak Lee)

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-

tutorial-final.pdf

Page 81: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料オススメPickup

◆Contrastive Divergenceを取り上げている論文

・スライド中も引用があったBengio先生のサーベイ

Bengio, Y. (2009). Learning deep architectures for AI. Foundations and trends® in

Machine Learning, 2(1), 1-127

・CD法の持つ基本的な性質を分析

Carreira-Perpinan, M. A., & Hinton, G. E. (2005, January). On contrastive divergence

learning. In Proceedings of the tenth international workshop on artificial intelligence and

statistics (pp. 33-40). NP: Society for Artificial Intelligence and Statistics.

・CD法及びその拡張が実際に効果を上げていることを実験によって証明

Fischer, A., & Igel, C. (2010). Empirical analysis of the divergence of Gibbs sampling

based learning algorithms for restricted Boltzmann machines. In Artificial Neural

Networks–ICANN 2010 (pp. 208-217). Springer Berlin Heidelberg.

・CD法を直接取り上げているわけではないが、実際にRBMで学習させる際のコツを述べている

Hinton, G. (2010). A practical guide to training restricted Boltzmann machines.

Momentum, 9(1), 926.

Page 82: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料

◆Slideshare

「Deep Learning 三戸智浩」http://www.slideshare.net/tomohiromito/deep-learning-

22425259

「一般向けのDeep Learning(PFI 岡野原大輔)」

http://www.slideshare.net/pfi/deep-learning-22350063

「Deep Learning技術の今(PFI 得居誠也」(全脳アーキテクチャ勉強会第2回 資料)

http://www.slideshare.net/beam2d/deep-learning20140130

「DeepLearning 実装の基礎と実践(PFI 得居誠也)」

http://www.slideshare.net/beam2d/deep-learningimplementation

「Learning Deep Architectures for AI(日本語解説)」(全脳アーキテクチャ勉強会第3回 資料)

http://www.slideshare.net/alembert2000/learning-deep-architectures-for-ai-3-deep-

learning

「ディープボルツマンマシン入門」

http://www.slideshare.net/yomoyamareiji/ss-36093633

「文書校正を究める WITH DEEP LEARNING」

http://www.slideshare.net/kmt-t/ss-40706560

Page 83: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料

◆サーベイ・発表スライドなど 「Restricted Boltzmann Machineの導出に至る自分用まとめ(齋藤真樹)」

https://dl.dropboxusercontent.com/u/2048288/RestrictedBoltzmannMachine.pdf

「Deep Learning: Past, Present and Future(?)」

https://drive.google.com/file/d/0B16RwCMQqrtdb05qdDFnSXprM0E/view?sle=true&pli=1

「ディープラーニング チュートリアル(もしくは研究動向報告)」

http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf

「Tera-scale deep learning(Googleの猫)」

http://static.googleusercontent.com/media/research.google.com/ja//archive/unsupervised_learning_talk_2012.pdf

「統計的機械学習入門(上田修功)」

http://www.nii.ac.jp/userdata/karuizawa/h23/111104_3rdlecueda.pdf

「Tutorial on Deep Learning and Applications(Honglak Lee)」

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

「ImageNet Classification with Deep Convolutional Neural Networks」

http://www.image-net.org/challenges/LSVRC/2012/supervision.pdf

「マルコフ連鎖モンテカルロ法(山道真人)」

http://tombo.sub.jp/doc/esj55/MCMC.pdf

An Efficient Learning Algorithms for Deep Boltzmann Machine

https://www.cs.toronto.edu/~hinton/absps/efficientDBM.pdf

UCL Tutorials on Deep Belief Net(G Hinton)

http://www.cs.toronto.edu/~hinton/ucltutorial.pdf

「生成モデルに対するディープラーニング]

http://www.slideshare.net/yonetani/sec4-34880884

Page 85: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料

◆論文 Ackley, D. H., Hinton, G. E., & Sejnowski, T. J. (1985). A learning algorithm for boltzmann machines*.

Cognitive science, 9(1), 147-169.

Bengio, Y. (2009). Learning deep architectures for AI. Foundations and trends® in Machine Learning,

2(1), 1-127.

Bengio, Y., Lamblin, P., Popovici, D., & Larochelle, H. (2007). Greedy layer-wise training of deep

networks. Advances in neural information processing systems, 19, 153.

Carreira-Perpinan, M. A., & Hinton, G. E. (2005, January). On contrastive divergence learning.

In Proceedings of the tenth international workshop on artificial intelligence and statistics (pp. 33-40).

NP: Society for Artificial Intelligence and Statistics.

Erhan, D., Bengio, Y., Courville, A., Manzagol, P. A., Vincent, P., & Bengio, S. (2010). Why does

unsupervised pre-training help deep learning?. The Journal of Machine Learning Research, 11, 625-

660.

Fischer, A., & Igel, C. (2010). Empirical analysis of the divergence of Gibbs sampling based learning

algorithms for restricted Boltzmann machines. In Artificial Neural Networks–ICANN 2010 (pp. 208-

217). Springer Berlin Heidelberg.

Fischer, A., & Igel, C. (2012). An introduction to restricted Boltzmann machines. In Progress in Pattern

Recognition, Image Analysis, Computer Vision, and Applications (pp. 14-36). Springer Berlin

Heidelberg.

Page 86: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料

Hinton, G. E., & Salakhutdinov, R. (2009). Replicated softmax: an undirected topic model. In Advances

in neural information processing systems (pp. 1607-1614).

Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. R. (2012). Improving

neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580.

Hinton, G. (2010). A practical guide to training restricted Boltzmann machines. Momentum, 9(1), 926.

Lee, H., Ekanadham, C., & Ng, A. Y. (2008). Sparse deep belief net model for visual area V2.

In Advances in neural information processing systems (pp. 873-880).

Le Roux, N., & Bengio, Y. (2008). Representational power of restricted Boltzmann machines and deep

belief networks. Neural Computation, 20(6), 1631-1649.

Le, Q. V. (2013, May). Building high-level features using large scale unsupervised learning. In

Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on (pp.

8595-8598). IEEE.

Montufar, G., & Ay, N. (2011). Refinements of universal approximation results for deep belief networks

and restricted Boltzmann machines. Neural Computation, 23(5), 1306-1319.

Pfeifer, R., Lungarella, M., & Iida, F. (2007). Self-organization, embodiment, and biologically inspired

robotics. science, 318(5853), 1088-1093.

Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., ... & Fei-Fei, L. (2014). ImageNet

Large Scale Visual Recognition Challenge. arXiv preprint arXiv:1409.0575.

Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine learning, 20(3), 273-297.

Page 87: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

参考資料

Salakhutdinov, R. (2009). Learning in Markov random fields using tempered transitions. In Advances

in neural information processing systems (pp. 1598-1606).

Salakhutdinov, R., & Hinton, G. E. (2009). Deep boltzmann machines. In International Conference on

Artificial Intelligence and Statistics (pp. 448-455).

Smolensky, P. (1986). Information processing in dynamical systems: Foundations of harmony theory.

Taylor, G. W., Hinton, G. E., & Roweis, S. T. (2006). Modeling human motion using binary latent

variables. In Advances in neural information processing systems (pp. 1345-1352).

Page 88: RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)

ご清聴ありがとうございました