Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Improving neural networks by preventing co adaptation of feature detectors

論文紹介です。

  • Als Erste(r) kommentieren

Improving neural networks by preventing co adaptation of feature detectors

  1. 1. Improving neural networks by preventing co-adaptation of feature detectors [arXiv 2013] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever and R. R. Salakhutdinov (University of Toronto) 斎藤 淳哉 間違い等ありましたらご連絡ください junya【あっと】fugaga.info 論文紹介
  2. 2. 概要 Dropout + 実装技術 みんな知ってるDeepLearningの必須技術Dropoutを テキトーに実装したらうまくいかなかったのまとめてみた(`・ω・´) arXivのだけど、この論文が一番詳しく書かれている 1/13
  3. 3. 目次 • Dropout • 適用事例 – 手書き数字認識データMNIST • データ仕様 • ニューラルネットワーク+Dropout – 実装技術 » 【実装技術1】Cross-Entropy » 【実装技術2】Momentum » 【実装技術3】重み正則化 – 実験 • Fine-Tuning+Dropout • まとめ 2/13
  4. 4. Dropout • Dropoutとは – ニューラルネットワークの過学習を防ぐ手法 • アルゴリズム – 学習時:各学習データに対して、隠れノードを ランダムに50%なかったことにして重み𝑤を学習 – 推定時:重み𝑤を1/2にする 𝑤 3/13
  5. 5. 手書き数字認識データMNIST データ仕様 • 特徴ベクトル – 28×28 pixcel グレースケール画像(連続値) • ラベル – 数字(0~9) • データ数 – 学習用:60,000 – テスト用:10,000 4/13
  6. 6. ニューラルネットワーク+Dropout 実装技術 • SGD with minibatch • Cross-Entropy • Momentum • 重み正則化 𝑤 よい重み𝑤を速く求めるための技術 5/13
  7. 7. 【実装技術1】Cross-Entropy • ニューラルネットワーク学習の目的関数 – ふつう:MSE(二乗誤差) – 本論文:Cross-Entropy MSEより速く、しかも、いい感じに収束してくれる 𝐸 𝑤 = 1 𝑁 𝑦 𝑥 𝑛, 𝑤 − 𝑡 𝑛 2 𝑁 𝑛=1 𝐸 𝑤 = − 1 𝑁 𝑡 𝑛 ln 𝑦 𝑥 𝑛, 𝑤 + 1 − 𝑡 𝑛 ln 1 − 𝑦 𝑥 𝑛, 𝑤 𝑁 𝑛=1 6/13
  8. 8. 【実装技術2】 Momentum • 勾配法の高速化手法 – Momentum[Polyak 1964] 𝑤 𝑡 = 𝑤 𝑡−1 + ∆𝑤 𝑡 ∆𝑤 𝑡 = 𝜇∆𝑤 𝑡−1 − 𝜖𝛻𝐸 𝑤 𝜇:Momentum係数 重みの振動を抑えてくれる 7/13 𝑤 𝑡 𝑤 𝑡−1 𝑤 𝑡−2 𝑤 𝑡 𝑤 𝑡−1 𝑤 𝑡−2
  9. 9. 【参考】Weight Decay • 汎化能力向上手法 – Weight Decay(L2正則化と同じ) 𝑤 𝑡 = 𝑤 𝑡−1 + ∆𝑤 𝑡 ∆𝑤 𝑡 = −𝜖𝜆𝑤 𝑡−1 − 𝜖𝛻𝐸 𝑤 𝜆:Weight Decay係数 8/13 本論文では、この正則化は行わず、 次スライドの正則化を行う
  10. 10. 【実装技術3】重み正則化 • 汎化能力向上手法 – ノードに入力する重みのL2ノルムが 𝑙を超えないように正則化 重みのL2ノルムが𝑙を超えたら、𝑙になるように線形スケーリング 𝑤 9/13
  11. 11. 【実装技術まとめ】重み更新式 100-sized minibatch で求める 学習率: Momentum係数: Epoches 𝑡 = 1, … , 3000で、Dropoutしつつ以下で更新 𝑤0←平均0.0,標準偏差0.01で初期化 (各ノードに入力する重みのL2ノルムが𝑙 = 15を超えないように正則化) 10/13 𝑤 𝑡 = 𝑤 𝑡−1 + ∆𝑤 𝑡 ∆𝑤 𝑡 = 𝑝 𝑡 𝑤 𝑡−1 − 1 − 𝑝 𝑡 𝜖 𝑡 𝛻𝐸 𝑤
  12. 12. MNIST実験結果 784-800-800-10 units 784-1200-1200-10 units 784-2000-2000-10 units 784-1200-1200-1200-10 units without dropout 11/13
  13. 13. Fine-Tuning+Dropout • Deep Brief Network – Pre-Training • 784-500-500-2000 units • RBM learned by Contrastive Divergence – Fine-Tuning • Dropout:50% dropout in hidden layers and 20% in input layer • 学習率:𝜖 = 1.0(固定) • 重み正則化:なし • Epoches:1,000 • その他のパラメータ:前スライドと同じ MNIST実験結果: 118 error → 92 error (Fine-Tuning by standard back prop) (by back prop with dropout) 12/13前スライドのDropoutのみの結果と大きな差がない(というよりむしろDropoutが強力)
  14. 14. まとめ • Dropout+実装技術 – 【実装技術1】Cross-Entropy – 【実装技術2】Momentum – 【実装技術3】重み正則化 • Dropoutの効果 – DBNと組み合わせなくても強力に効果を発揮 – 実装コスパがよい 13/13 本論文には、MNISTの他に、音声認識データTIMITなどへの 適用事例も載っているので、気になる方は読んでみてください

×