Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

35,305 views

Published on

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

Published in: Technology
  • Be the first to comment

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

  1. 1. 東京工業大学 3年 八木 拓真 yagi.t.ad@m.titech.ac.jp @t_Signull
  2. 2. 自己紹介 • 八木 拓真(@t_Signull) • 東京工業大学 情報工学科 3年 → でエンジニア見習い中 • 将棋からゲームAI、人工汎用知能へ • 週末は登山やスキーを 年中楽しんでます
  3. 3. 本日のテーマ Restricted Boltzmann Machine(RBM) あるいは 制限ボルツマンマシン Pre-Training(事前学習)の代表的な方法の1つ 当初は統計力学における気体のエネルギー分 布をモデルにしていたが、現在は直接の関係 はない。
  4. 4. 今日話さないこと • Deep Learningの概略 • RBMの数式の導出 • 神経科学的知見とRBM (知識不足…) • RBMの実装にあたってのノウハウ
  5. 5. 今日話すこと ・RBMの歴史 ・RBMの部品たち ・なぜRBMで学習できるのか? ・RBMを使ったDNN ・ディープラーニング勃興の理由 ・人間と人工知能 ・「学習」は万能ではない? 各手法の特徴・役割 に注目していただけ ればと思います
  6. 6. DNN1ページおさらい 「浅い」ネットワーク 順 伝 播 (forwardprop) 逆 伝 播 (backprop) 逆伝播法で重みを適切に調整できた 「深い」ネットワーク 順 伝 播 (forwardprop) 逆 伝 播 さ せ て も 性 能 が 出 な い ! 局所解への収束が問題に 予め層ごとに最適(に近 い)解を学習させる →プレトレーニング
  7. 7. RBMとは? • ボルツマンマシン(BM)の結合に制約を持た せた確率的無向グラフィカルモデルの一種 可視層(Visual Layer) 隠れ層(Hidden Layer) 可視素子 𝑣𝑖 (Visual Unit) 結合重み 𝑤𝑖𝑗 (Weight) 隠れ素子ℎ𝑗 (Hidden Unit)
  8. 8. RBMとBM(GBM) BMが全結合なのに対し、RBMでは同じ階層間の結合がない →計算量の大幅削減に(この効果は後述) (R. salakhutdinov, G.Hinton, 2009)
  9. 9. RBMはプレトレーニング法の1種 ・現在のプレトレーニング法の主流は2つ ① Autoencoder(AE)系 詳細は前の発表の通り、入力データを良く再現できる ような重みを学習 →派生形としてStacked AE, Denoised AEなど ② Restricted Boltzmann Machine(RBM)系 これから説明 →派生形としてConditional RBM, Temporal RBMなど
  10. 10. RBMの主要成果? • 学習手法の1つなので、これと言える成果は見当たらない… • 安定して良い結果を出すオールラウンダー • 音声認識分野で良く使われている(らしい) • Deep Learningの元祖はRBMを使ったもの http://www.forbes.com/sites/briansolomon/2014/06/17/siri-is-for-sale-will-apple-samsung-fight-over-nuance/
  11. 11. RBMの確率モデル • 今回は2値モデルを扱う: 𝑣𝑖 ∈ 0, 1 , ℎ𝑗 ∈ {0,1} • エネルギー関数 𝐸 𝒗, 𝒉 = − 𝑏𝑖 𝑣𝑖 𝑖 − 𝑐𝑗ℎ𝑗 𝑗 − 𝑣𝑖 𝑊𝑖𝑗ℎ𝑗 𝑗𝑖 • 確率分布(ボルツマン分布)の形を得る 𝑝 𝒗, 𝒉 = 1 𝑍 𝑊 exp⁡(−𝐸 𝒗, 𝒉 ) • 目標:𝑝 𝒗 = 𝑝(𝒗, 𝒉)ℎ の最尤推定
  12. 12. RBMの確率モデル • BMより簡単な構造とはいえ、尤度の最大化( 対数尤度の微分)の計算量は指数的に増加 してしまう →サンプリングという手法が近似手法として取 られる • とはいえ、単純にサンプリングして平均を取る だけでは遅すぎるため、より計算が早く、精度 の良い方法が求められた →Contrastive Divergence法(CD法)
  13. 13. 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の表現能力の発達 モデルの解析手法の 発達
  14. 14. 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から始まった!
  15. 15. RBMの地図 Energy-Based Model BM Generalized BM RBMLateral Conditions Conditional RBM Temporal RBM Factored RBM Etc.. RBMの派生形たち
  16. 16. ここまで次々にと聞きなれない言葉が出て きてしまった…という方、ご安心を! 生成モデル サンプリング 無向グラフィカルモデル 1つずつ解決していきます
  17. 17. What’s 生成モデル?
  18. 18. 識別モデル/生成モデル 識別モデル: 入力を特定のクラスに直接割り当て 識別モデルの例(下記の例は正確には識別関数に属する) • Support Vector Machine(SVM) (Cortes & Vapnik, 1995) • フィッシャーの線形判別(LDA) • パーセプトロン(Perceptron) 生成モデル: 入力に対するクラスkの割り当て確率𝑝 𝐶 𝑘 𝑥 を 持つ。さらには入力データ自体がどのように生成されるかモデル 化(𝑝(𝑥)) 生成モデルの例: • Naïve Bayes(ナイーブベイズ):スパムメール判別が有名 • RBM(もちろん!)
  19. 19. 識別モデル • SVMの場合 Class 1 Class 2 ←の新しく与えられた点は自動 的にクラス2に割り当てられる 識別モデルでは確率の概念 はでてこない(決定論的) マージン(最も近い訓練事例 への距離)を最小化するよう な分離平面𝑦 𝒙 = 0を決定す る
  20. 20. 生成モデル • クラス事後確率𝑝 𝐶 𝑘 𝑥 ( 入力xが与えられたときク ラス𝐶 𝑘に属する確率)を求 めることを目標にする →出力結果は確率(確率的) • ベイズの定理 𝑝 𝐶 𝑘 𝑥 = 𝑝 𝑥 𝐶 𝑘 𝑝 𝐶 𝑘 𝑝 𝑥 • 入力の分布も計算可能 𝑝 𝑥 = 𝑝 𝑥 𝐶 𝑘 𝑝(𝐶 𝑘) 𝑘
  21. 21. 生成モデルの威力 • 入力データ𝑝(𝑥)そのものの分布もモデル化 するので、訓練データそのものではない新し いサンプル𝑥 𝑛𝑒𝑤 を生成することが出来る • 後述するDeep Belief Network(DBN)でも使 われている • 確率分布を議論のベースとして用いるため、 システマティックに学習・推論できる →モデル拡張の余地が大きい
  22. 22. What’s サンプリング?
  23. 23. サンプリングとは? • 状況:ある確率分布𝑝(𝑥)が存在するとき、そ の分布に従うサンプル 𝑥1, 𝑥2, … , 𝑥 𝑘 を得たい (e.g. サイコロを振ったときの出目を見たい) →しかし、実際にサイコロを振って確かめること はできない • 確率分布はあくまで 2以下の目が出る確率は1/3 といった情報しか与えてくれない。どうするか?
  24. 24. サンプリングメソッド ① 力技:逆関数法 (1) 𝑝(𝑥)の累積分布関数𝑃 𝑥 = 𝑝 𝑥 𝑑𝑥 𝑥 −∞ を求める (2) 𝑃 𝑥 の逆関数𝑃−1(𝑥)を導出 (3) 一様乱数𝑧 ∈ 0, 1 を発生させて、𝑃−1 (𝑧)を計算 →サンプルを生成できた! しかしながら、この方法は不定積分や逆関数を 解析的に導出できないといけない →解析的に計算できない場合はどうする?
  25. 25. サンプリングメソッド ② スマートな方法:Metropolisアルゴリズム マルコフ連鎖モンテカルロ法(MCMC)という枠組みを用いる (1) 初期値𝑧 0 をランダムに選ぶ (2) 次のサンプル𝑧∗を提案分布𝑞(𝑧)に従って選ぶ (3) 前のサンプル𝑧 𝜏 と比較して尤度が高ければ受理 (𝑧 𝜏+1 = 𝑧∗)、低い場合でも確率 𝑝 𝑧∗ 𝑝 𝑧 𝜏 で受理 棄却された場合は𝑧 𝜏+1 = 𝑧 𝜏 として(2)に戻る ※提案分布: ①のような方法で(比較的)簡単にサンプリングできる分布のこと 適切な分布を選べば、少ない試行回数で良いサンプルが得られる
  26. 26. 参考:MCMCとは マルコフ連鎖…1つ前の状態のみにより次の状態が決まる連鎖列 モンテカルロ法…乱数を数値計算に用いる手法のこと 次の制約を満たすことが条件(多くの事例にあてはまる) ・詳細釣り合い条件(Detailed balance) ・エルゴード性(Ergodicity) MCMCの理念:試行錯誤 →複雑で高次元な分布であっても、試行錯誤しながらそれなりの 計算量でランダム(に見える)サンプルを生成する
  27. 27. 参考:MCMCとは • マルコフ連鎖の定義式: 𝑝 𝑧 𝑚+1 𝑧 1 , … , 𝑧 𝑚 = 𝑝 𝑧 𝑚+1 𝑧 𝑚 • 詳細釣り合い条件 遷移確率 𝑇 𝑚 𝑧 𝑚 , 𝑧 𝑚+1 ≡ 𝑝 𝑧 𝑚+1 𝑧 𝑚 を定義したとき、 𝑝∗ 𝑧 𝑇 𝑧, 𝑧′ = 𝑝∗ 𝑧′ 𝑇(𝑧′, 𝑧) が満たされること。 この条件が満たされれば𝑝∗ (𝑧)は不変分布である。 • エルゴード性 𝑚 → ∞のとき、初期分布𝑝(𝑧 0 )の選択に関わらず、分布 𝑝(𝑧 𝑚 )が求めたい不変分布𝑝∗(𝑧)に収束すること。
  28. 28. サンプリングメソッド ② スマートな方法:Metropolisアルゴリズム 試行100回:また左側の山しか探索できていない
  29. 29. サンプリングメソッド ② スマートな方法:Metropolisアルゴリズム 試行1000回:両端を除いて大分分布が近づいてきた
  30. 30. サンプリングメソッド ② スマートな方法:Metropolisアルゴリズム 試行100000回:見事多峰性の確率分布のサンプリングに成功
  31. 31. サンプリングメソッド ③ より便利に:Gibbs Sampling Metropolis-Hastings法(Metropolisの改良)の特別な場 合:簡単で効率が良い 確率分布𝑝(𝑧1, 𝑧2, 𝑧3, … , 𝑧 𝑀)を考えたとき (1)⁡ 𝑧𝑖: 𝑖 = 1, … , 𝑀 を初期化 (2) ステップ𝜏の時、𝑗 = 1, … , 𝑀について 𝑝 𝑧𝑗 𝑧1 𝜏+1 , … , 𝑧𝑗−1 𝜏+1 , 𝑧𝑗+1 𝜏 , … , 𝑧 𝑀 𝜏 )をサンプリングし、𝑧𝑗 𝜏+1 を得る 使用条件:条件付き分布の導出が簡単な場合 →RBMは適用可能なため、Gibbs Samplingを使用
  32. 32. サンプリングメソッド サンプリング法の弱点とその対策: ① 初期の遷移から得られたデータは、初期値の 影響を受けすぎる →burn-in:初期のサンプリングの値を排除 ② 直前の状態の値を用いるため、サンプリングさ れた値は前後で若干の相関を持ってしまう →n個毎にサンプリングされた値のみ使用する 少ない試行回数で相関を減らす努力を行う
  33. 33. What’s グラフィカルモデル?
  34. 34. グラフィカルモデルとは? • 条件付き独立性の議論を踏まえた、確率モデ ルの図式的表現法 • グラフィカルモデルを用いることで、視覚的に 変数の関係性を見ることができる “Pattern Recognition and Machine Learning” (Springer, 2006)
  35. 35. 有向グラフ “Pattern Recognition and Machine Learning” (Springer, 2006)
  36. 36. 無向グラフ • 目的は有向のそれと同じだが、無向グラフィカルモデルでは 同時分布をいくつかの小さな同時分布の積に分解する 𝑝 𝒙 = 1 𝑍 𝜓 𝐶(𝒙 𝐶) 𝐶 • ここで 𝜓 𝐶 𝒙 𝐶 = exp⁡(−𝐸 𝒙 𝐶 ) とすれば、RBMの確率分布の形 そのものになる “Pattern Recognition and Machine Learning” (Springer, 2006)
  37. 37. 以上を踏まえて RBMに戻ります
  38. 38. RBMの確率モデル(再掲) • 今回は2値モデルを扱う: 𝑣𝑖 ∈ 0, 1 , ℎ𝑗 ∈ {0,1} • エネルギー関数 𝐸 𝒗, 𝒉 = − 𝑏𝑖 𝑣𝑖 𝑖 − 𝑐𝑗ℎ𝑗 𝑗 − 𝑣𝑖 𝑊𝑖𝑗ℎ𝑗 𝑗𝑖 • 確率分布(ボルツマン分布)の形を得る 𝑝 𝒗, 𝒉 = 1 𝑍 𝑊 exp⁡(−𝐸 𝒗, 𝒉 ) • 目標:𝑝 𝒗 = 𝑝(𝒗, 𝒉)ℎ の最尤推定
  39. 39. RBMにおける最尤推定 • 最尤推定:対数尤度のパラメータ𝜃に関する最大化 • 今回のモデルにおけるパラメータは 𝑏𝑖, 𝑐𝑗, 𝑊𝑖𝑗 の3種類なので、対数尤度 𝐽を最大化したければ、勾配 𝜕𝐽 𝜕𝑏𝑖 , 𝜕𝐽 𝜕𝑐𝑗 , 𝜕𝐽 𝜕𝑊𝑖𝑗 を計算して勾配法(Gradient Descent; GD)を行う →実用上は Stochastic GD, Mini-batch GDなどが用いられる
  40. 40. 勾配の計算 • 厳密な計算は省略(「Restricted Boltzmann Machineの導出に至る自分用まとめ」を参照) • 結論から言うと、パラメータ𝜃に対する勾配𝜕𝐽/𝜕𝜃は 𝜕𝐽 𝜕𝜃 = 𝜕𝐸 𝜕𝜃 ⁡ ℎ 𝑝 ℎ 𝑣 𝑞 𝑣 𝑣 + 𝜕𝐸 𝜕𝜃 𝑝(𝑣, ℎ) ℎ𝑣 と表せる • 第1項・第2項共に総和(積分)を取る 第1項(条件付き分布)の計算は簡単(シグモイド関数)だが、 第2項(結合分布)の計算はほぼ不可能 →Gibbs Samplingを用いるContrastive Divergence法 簡単 不可能
  41. 41. Contrastive Divergence(CD)法 • RBMに対する現状最強の学習法 • 本来大量にループする必要のあるMCMCサ ンプリングを数回(!)で打ち切ってしまう • それどころか、サンプリング回数を1回にした 場合の方が良い性能が出ることが多い
  42. 42. 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ステップ目 𝑣2 10
  43. 43. Contrastive Divergence(CD)法 可視層 𝑣𝑖 隠れ層ℎ𝑗 𝒗 𝟎 𝒗 𝟏 𝒉 𝟏 𝒉 𝟐 𝒗 𝒌 𝒉 𝒌 𝑝(ℎ|𝑣) 𝑝(𝑣|ℎ) 𝑝(ℎ|𝑣) 𝑝(𝑣|ℎ) Gibbs step (Gibbs Samplingの 1ステップ) 𝑘 → ∞とすれば原理的に は本来の期待値と同様の 分布を与えてくれる これをk回で打ち切るの がCD-k法
  44. 44. Contrastive Divergence(CD)法 • そういえば、通常のGibbs Samplingでは上手くいか ないの? →上手くいかなかった上、計算が非常に重かった Bengio先生曰く、 →通常の勾配法とは違いサンプリングを用いるため、 対数尤度の分散が本来の期待値より増大する。その 結果、本来勾配がゼロ=収束して欲しい点が平らにな って上手くいかなくなる (Learning Deep Architectures for AI(Bengio, 2009)より) 非常に大ざっぱなイメージ: (青線の収束点が潰れてしまう)
  45. 45. Contrastive Divergence(CD)法 • なぜ1回だけのサンプリングで上手くいくのか? ① 勾配の更新に使用するため、進む方向さえあって いれば勾配の大きさそのものはずれていても良い ② データ点の分布は疎(sparse)なので、初期値をデ ータ点の1つとしてそこから1回だけ動くことで、丁寧に サンプリングを繰り返すよりも強く進行方向を近似する と考えられる
  46. 46. なぜRBMで学習ができるのか? • 結局のところ、RBMは何をしているのか? 訓練データの分布にボルツマンマシンのパラメ ータをできる限り近づけようとしている • なぜ可視変数と隠れ変数の2段構えなのか? →表現力の向上のため →データの一部が欠損している(本当は潜在的 な情報がある)状況を考えることが出来る
  47. 47. 参考:モデルの表現力とは? • 学習モデルは、高次元空間上においてある部分空 間を為す。最もよくデータ点にあてはまるようにその モデル上でパラメータを調整するが… →モデルそのものの制約によって学習に失敗する可 能性がある “Pattern Recognition and Machine Learning” (Springer, 2006) 例:青い点にもっともよくあてはま る線を学習したいが、そのモデル が線形(直線)である限りいくら調整 しても望む性能は出せない
  48. 48. 参考:モデルの表現力とは? • 表現力を上げれば当然あてはまりは良くなるが、良 すぎると過学習の状態になってしまううえ、計算量 が増大する • Deep Learningでは過学習 の問題を克服した上で、表現 力を大幅に上昇させた “Pattern Recognition and Machine Learning” (Springer, 2006) 例:訓練データ点にはあてはまるが、 期待された汎用的な分布とは程遠いも のとなってしまっている(過学習)
  49. 49. Autoencoder vs. RBM Autoencoder: • 構造がシンプルで、ネットワーク構造に対す る制約が少ない • RBMと比べると性能が劣る RBM: • MCMCの手法を使用 • 生成モデルなので、入力のサンプルを生成し たり、何を学んだか可視化することが出来る
  50. 50. RBMの派生形(例) • Conditional RBM RBMのパラメータの一部がある関数によって制御 される場合に拡張 →過去のデータを制御パラメータとして算入する ことで時系列分布の推定に使用(Taylor et al., 2006) • Lateral Connections RBMでは結合していなかった可視層同士の結合を 追加する →計算は複雑になるが表現力が上がる
  51. 51. そしてDeep Learningへ…
  52. 52. 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)
  53. 53. DBNの学習 𝑣 ℎ1 Step 1: 可視層に訓練データを入れて、 RBMを学習 訓練データ𝑆 RBM 𝑊1
  54. 54. DBNの学習 𝑣 ℎ1 Step 2: 1段目の隠れ層=2段目の可視層 として連結 Q:入力はどうするのか? →入力層のモデル𝑝(𝑣)をサンプ リングして𝑝(ℎ1|𝑣)を計算、ℎ1の サンプル(入力)を得る RBMを学習 訓練データ𝑆 ℎ2 モデル分布⁡𝑝(𝑣) RBM (sampling) 𝑊1 𝑊2
  55. 55. DBNの学習 𝑣 ℎ1 Step 3 and more: k段目の隠れ層=k+1段目の可視層 として連結 条件付き分布𝑝(ℎ 𝑘+1 |ℎ 𝑘 )から入 力をサンプリング RBMを学習 以下、1段ずつRBMを学習させ つつ層を追加(Greedy training) 訓練データ𝑆 ℎ2 モデル分布⁡𝑝(𝑣) RBM ℎ3 (sampling) 𝑊1 𝑊2 𝑊3
  56. 56. DBNの学習 𝑣 ℎ1 𝑝(ℎ1|𝑣)及び𝑝(ℎ 𝑘+1|ℎ 𝑘)は 𝑝 ℎ1 𝑣 = 1 1+exp −𝑐 𝑖−𝑊 𝑖 𝑣 = 𝜎 𝑐𝑖 + 𝑊𝑖 𝑥 (シグモイド関数) の形で与えられるので シグモイド関数を活性化関数とし たネットワークが完成した! Q:教師有り学習はどうするのか? 訓練データ𝑆 ℎ2 モデル分布⁡𝑝(𝑣) ℎ3 (sampling) 𝑊1 𝑊2 𝑊3 ℎ 𝑁−1
  57. 57. DBNの学習 ◆Fine-tuning ~手書き文字認識を例に~ 𝑣 ℎ 𝑁−1 1 2 3 4 5 6 7 8 9 0 教師有り学習を施して、 最終的なラベルを予測 Softmax Function exp 𝑎 𝑖 exp 𝑎 𝑗 𝑛 𝑗 隠れ層の最上位層を入力として、ロジ スティック回帰を行う ラベルミスを表す損失関数Lを最小化 するようにパラメータを学習させれば よい
  58. 58. 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法など
  59. 59. Deep Boltzmann Machine(DBM) DBFと異なり、すべての結合が無 向に →前後の層からフィードバックを受 けることになり、モデルの表現力 は上がるがその分学習コストも増 える プレトレーニングそのものはほぼ 同じだが、真ん中の層は上下2層 からの重みを受けるので、片方の 条件付き確率分布の入力をもう一 方のエネルギー関数の2倍にして 「雰囲気上下から学習している」 ように見せる DBN: 最後の1層以外は有向 DBM: 全ての結合が無向
  60. 60. DBMの学習 (R Salakhutdinov and G Hinton, 2009) 本来であれば隠れ層ℎ1 は𝑣とℎ2 からの入力を受 けるべきだが、欲しいℎ2 のパラメーターは存在し ないため仕方なく2つの𝑣から入力を受けていると 仮定してパラメータを学習させる Top-down Bottom-up Top-down Bottom-up DBNと比べて 係数が半分に なる
  61. 61. DBMの学習 (R Salakhutdinov and G Hinton, 2009) プレトレーニング後、出力を計 算する際もℎ1 は両側から入力 を受ける(2倍の入力)が必要 になるため、生データ𝑣に加え 事後確率𝑞 ℎ2 𝑣 を用いて計 算されたものを追加の入力と する Fine-tuningでは BackPropagationなどを用い ればよい
  62. 62. 結局RBMで出てきたものは何か? • RBMは「教師なし学習」 • 可視素子ごとの相関を直接取らず、隠れ層が可視素 子の相関を持つ →結果として隠れ層で可視素子の特徴及び相関(抽象 化された特徴)を表現できるようになるのではないか? プレトレーニングに懐疑的な意見もあるが、データ量の 追加だけでは解決できない不適切な解への収束を抑止 する実験的証拠なども出ている(D Erhan et al., 2010)
  63. 63. DBMの性能を上げるには • 普通のNNより見えにくいが、過学習によっ て性能が落ちる可能性がある →Dropout、正則化によるSparse(疎)なネット ワークの構築(神経科学的知見から) • 結局、隠れ層の段数や素子数はデータの複 雑度に合わせて設定する必要がある →Deep Learningの唯一にして最大の弱点
  64. 64. 後半戦に 入ります
  65. 65. Deep Learning勃興の理由 • きっかけはGreedy layer-wise Training(Hinton, 2006) • しかしながら、 AutoEncoder(Rumelhart et al. 1986) RBM(Hinton, Sejnowski & Ackley, 1984) いずれも30年前の技術(しかもNNの学習法が改善された1986 年の時点で存在していた!) • では、何故今になって成果が出たのだろう? →計算機の進歩、最適化手法の発達、データ収集コストの減少
  66. 66. Deep Learning勃興の理由 • Deep Learning周りの計算速度は、やはり識 別モデルより遅い • 「Googleの猫」の学習には1000台(16000コア )のマシンで3日間かかっている →これを1990年頃の水準に直せば750000倍、 6000年以上かかることになる! (1990年のスパコン(23.2GFLOPS)と2012年のスパコン(17.510PFLOPS)の大ざっぱな比較) →その計算コストの高さから、 今でも実用上はSVMやロジスティック回帰で十分という見方も多い
  67. 67. Deep Learning勃興の理由 10年で1000倍という進歩スピード
  68. 68. Deep Learning勃興の理由 (Le, Quoc V. 2013)より: 「研究者は概して、限られた時間内でネットワークを学習さ せようとするあまり、データセットやモデルの規模を減らそう とした。削減の結果、高次元の特徴抽出の土台を削り取っ てしまった。」 →Googleの猫では、画像サイズを32×32→200×200にすることで成功した (C Cortes, V Vapnik, 1995) (Le, et al. , 2012) 取り扱えるデータの規模がとてつもなく大きくなった
  69. 69. 画像認識コンテストの舞台裏 DNNの威力を見せ付けたILSVRC(2010年より開催) これまでのどの画像認識コンテストよりも大規模なデータ量 画像分類タスクの場合、 • カテゴリ数4096 • 訓練用データ128万枚、検証用データ5万枚、 テスト用データ10万枚(全てラベル付き!) 当然、100万枚以上の画像の収集作業があり、最終的に人手 によってラベリングされた
  70. 70. ILSVRC(2010-現在) ILSVRCで出題された問題の例
  71. 71. 画像認識コンテストの舞台裏 人間の能力が必要なタスクをクラウド(Crowd)ソーシング Amazon Mechanical Turk(AWT):
  72. 72. 画像認識コンテストの舞台裏 Amazon Mechanical Turk(AWT): • 際立って目新しいというわけではないが、時 給100~300円ほどで千人、万人単位の人 数を集めることが可能 • 画像のラベリング、スペルミスの収集、心理 学の実験などに利用され、多数の報告例が ある
  73. 73. 画像認識コンテストの舞台裏 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.)
  74. 74. 画像認識コンテストの舞台裏 • 教師なし学習ではデータの自動収集により既に千 万枚レベルのデータを用意・学習させることが出来 るようになった。ノイズに強い特徴抽出法も進んで 研究されている • 一方で、教師有り学習を行うためには相変わらず良 質な教師データが求められており、データの収集に は手間がかかっている →人間は教師からの学習が不可欠、応用範囲を拡げ るにあたってどのように教師データを収集・統合してい くべきか?
  75. 75. Pepperから見る「身体」の大切さ Q:脳を模倣したアーキテクチャが実現したとし て、それは本当に人間と同等の能力を実現でき るのか? 私の考え: 全脳アーキテクチャだけでは不十分 なのではないか
  76. 76. Pepperから見る「身体」の大切さ 人間的なタスクは、何も物体 や音声の認識だけに留まら ない 社会のルールの多くは、文章 や画像で教えられるのでは なく、「経験」として教わるもの →「身体」の検討も全脳アと 同等の重要度で行ってもよい のでは? http://nlab.itmedia.co.jp/nl/articles/1411/07/news162.html タクシーを止めるPepper
  77. 77. 知能は「身体」から生まれる? • 単純な思考しかできない小さな生き物でも、環境との 相互作用を上手く利用することで高度な知能を持って いるような振る舞いを生み出すことがある →地上で行動する汎用人工知能であれば、周辺の環境を 利用することを前提とした「身体」の存在を想定するの が自然 • 生物には、その身体の構造故に発達した生得的知能が ある →例:幼児に存在する生まれつきの数的感覚 →身体が知能を解明するきっかけになるかもしれない!
  78. 78. 四脚ロボット”Puppy” 犬を模した非常に単 純な構造のロボット ・足裏のみのセンサ ・関節12個 ・腿のばね から成るが、その構 造のシンプルさとは 裏腹に非常に自然な 歩行を見せる (Iida and Pfeifer, 2004) 知能は「身体」から生まれる?
  79. 79. 「学習」は万能ではない? • 現在注目されている「学習」は、本質的なもの ではあるが、「知能」の要素の1つに過ぎない (1)知的行動に関するあらゆる教師データの収 集 (2)プログラムと環境を媒介する「身体」のアー キテクチャの検討・設計 についても議論が深めていく必要があるのでは ないだろうか
  80. 80. 参考資料オススメ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
  81. 81. 参考資料オススメ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.
  82. 82. 参考資料 ◆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
  83. 83. 参考資料 ◆サーベイ・発表スライドなど 「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
  84. 84. 参考資料 ◆Webサイト 「ニューラルネットの逆襲(岡野原大輔)」 http://research.preferred.jp/2012/11/deep-learning/ 「ゼロから始めるDeepLearning_その4_Restrictedボルツマンマシンとは」 http://rishida.hatenablog.com/entry/2014/03/08/111330 「APIが提供されている海外マイクロタスク型クラウドソーシングサービスまと め」 http://hurutoriya.tumblr.com/post/97873974476/crowdservise- microtask-research
  85. 85. 参考資料 ◆論文 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.
  86. 86. 参考資料 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.
  87. 87. 参考資料 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).
  88. 88. ご清聴ありがとうございました

×