SlideShare a Scribd company logo
Deep Learning の技術と未来
PFI 全体セミナー
得居 誠也  2013 年 6 月 6 日
2
先週は「一般向けの Deep Learning 」でした
http://www.slideshare.net/pfi/deep-learning-22350063
もくじ
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
今日は Deep Learning の技術について話します。
3
Section 1
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
4
1 層のモデル
5
入力ベクトル 出力
• 各出力ユニットは、単純な関数で表される
• 例 : 線形分類器
入力ユニット
出力ユニット
2 層のモデル
6
• 1 層目の出力ユニットが 2 層目の入力になる
• 例 : 多層パーセプトロン、
   Random Forest 、カーネル分類器
深層モデル
7
• 3 層以上が重なったモデル
• 文脈によっては 2 層でも Deep と言ったりまちまち
• 例 : Deep Neural Network 、
   Random Recursive SVMs [Vinyals+, ‘12]
隠れユニット
深層ニューラルネットワーク
Deep Neural Network (DNN)
8
隠れ層
• 各層 : 線形演算→非線形関数
• 関数 を活性化関数とい
う
• バイアス項もよく使う
: 学習するべきパラメータ
活性化関数いろいろ
9
シグモイド関数 , tanh
昔から使われている
サチると学習が止まる
( 勾配の消滅 )
Rectified Linear Unit (ReLU)
最近流行り , 学習が速い
Maxout( 区分線形凸関数 )
ReLU より表現力が高い、
勾配が消えない、
勾配がスパース
Section 2
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
10
ニューラルネットワークの学習
11
全体をまとめて と書くことにします
学習 = 最適化
12
• 教師データ が与えられる
• 以下を最小化したい。 Loss: 間違うと正になる関数。
確率的勾配降下法
Stochastic Gradient Descent (SGD)
 各教師データに対して以下を繰り返す
 偏微分は誤差逆伝播法 (backpropagation) で計算する
13
誤差逆伝播法
Back Propagation (backprop, bprop)
14
• 出力層で Loss の微分を求める
• 「行き」と同じ重みで逆向きに計算していく
• 各隠れユニットでは活性化関数のかわりに、活性化関数の
微分をかける
• 各エッジの勾配 = 入力値 × 出力側の伝播された誤差
( デルタルール )
ロス関数の種類
15
• タスクや出力ユニットの性質によって異なる
• 多クラス分類でよく用いられるのはエントロピー誤差
• つまり出力層が多クラスのロジスティック回帰
• ( 二乗 ) ヒンジロスの方が精度が上がるという報告も
• 出力層が線形 SVM [Tang, ‘13]
SGD とその亜種
 Deep Learning ではよく、一度に複数の教師データを使う
ミニバッチ SGD が用いられる(実装によって速くなる)
 単純な SGD より効率的なアルゴリズムが研究されている
 AdaGrad [Duchi+, ‘10]: パラメータごとに学習率を調節する

これを使ってる論文は多い
 vSGD [Schaul+, ’13ab]: 二次微分に相当する情報を用いて効率化す
る、目的関数の変化に追随する
 ギリギリまで精度が欲しい場合、モーメンタムと L2 正則化(重み
減衰)を使いながら学習率は手で調節する、という場合も多い
(コンテストなどでよく見る)
16
Section 3
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
17
過学習
 教師データに含まれるノイズを学習してしまう
 新しい入力データには違うノイズが乗るので、精度が落ちる
 モデルの表現力が高いと起きやすい
 深層ニューラルネットワークは表現力が非常に高い
 過学習もしやすい
 一般的な対策 : 正則化
 SGD の場合よくやる方法 : 毎回重みに 1 より少し小さな値 (0.9995
とか ) をかける

重み減衰といわれる。 L2 正則化に対応する。
18
Dropout [Hinton+, 2012]
19
 Deep Learning に関する最も重要な技術の一つ
 学習時、毎回ランダムに選んだ入力・隠れユニットを一旦取り除い
て学習する(サボらせる)
 ユニット間、パラメータ間の依存関係が減る
 アンサンブル学習の近似になる
20%
50% 50% %: 脱落させる確率
( よく用いられる値 )
Dropout の問題点と改良
 Dropout を用いると学習が遅くなる
 サンプリングが重い
 たくさん更新しないと学習が進まない

パラメータを半分しか使わない

勾配のバリアンスが大きくなり、更新がノイジーになる
 Fast dropout [Wang&Manning, ‘13]
 ランダムに dropout する部分を積分消去したり、より少ない変数の
サンプリングに帰着させる
20
Fast dropout の実験例 [Wang&Manning, ‘13]
21
Section 4
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
22
意味のあるデータには構造がある
23
大きなパターンは、
小さなパターンを組み合わせた
パターンになっている
畳み込みニューラルネットワーク
Convolutional Neural Network (CNN)
24
畳み込み層 プーリング層
• 近いユニットとしかつながらない(局所受容野)
• 同じ色のエッジには同じパラメータを使いまわす
• プーリング層では、複数の入力を一つにまとめる( max や L2 平均などが主
流)
• パラメータ数が減るので学習しやすい、平行移動不変性が得られる
• 畳み込み + プーリングで、小さなパターンを学習できる
LeNet-5 [LeCun+, ’98]
25
• 手書き文字認識のデータセット (MNIST) で 99% の精度を出していた
• CNN はパラメータが少なく、音声や画像に対する事前知識の入れ方として
とても強力
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
事前学習 : 大量データから事前知識を得る
Pretraining
26
• 入力データを復元するような重みを学習
• 代表的な手法 :
• (Denoising) Auto Encoder [Vincent+, ’08]
• ニューラルネットワークとして学習
• Contrastive Divergence [Hinton, ’02]
• 確率モデル (RBM) の学習
Denoising Auto Encoder 近くなるように学習
事前学習 : 大量データから事前知識を得る
Pretraining
27
• 1 層目を学習し終えたら、 1 層目を固定して 2 層目を学習する
• これを繰り返して Deep Neural Network の初期重みを決定する
• 過学習が減る、「良い局所解」が得られる
近くなるように学習
固定
Section 5
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
28
複雑なタスクは直接解けない
[Gulcehre&Bengio, 2013]
29
• 表示されたペントミノがすべて同じかどうかの二値分類
• 「ペントミノの検出」と「同じかどうかの判別」という
2 つの非線形タスクの組合せになっている
複雑なタスクは直接解けない
[Gulcehre&Bengio, 2013]
30
• 既存の手法では直接解けない
複雑なタスクは直接解けない
[Gulcehre&Bengio, 2013]
31
• 既存の手法では直接解けない
• ペントミノを検出するタスク ( 教師あり ) を学習して
、できた NN の上に「同じかどうか」の判別タスクを
解く NN をのせて学習すると、解ける ( 上図 : IKGNN)
複雑なタスクを解くには、簡単なタスクを与える必
要がある
 カリキュラム学習と呼ばれる [Bengio+, ‘09]
 人が勉強するのに似てる
 直接解く場合より良い局所解を得る
 サブタスクは外から与えなければならない
 人間みたいに、サブタスクも自動で与えられないか?
32
33
• 入力を共有している人から、発火している有用なニューロン (=
言葉 ) をもらう
• その言葉のニューロンが発火するように NN を学習
推測 : 言葉を介して NN の教師あり学習をする
[Bengio, ‘12]
生物的進化と遺伝子、文化的進化とミーム
[Bengio, ‘12]
34
 生物は遺伝子を使って学習している
 コピー時にノイズを乗せて探索空間を広げる
 2 人の遺伝子を混ぜて、組合せ的に探索空間を広げる
 人間は「ミーム」を使って学習している
 ミーム : 文化的進化における「遺伝子」(『利己的な遺伝子』)
 言語を通じて知識を交換する
 交換時にノイズが乗る : 言葉を自分の NN 上で再学習すると、もと
の意味から少しずれる=ノイズ
 いろんな人からミームを受け取って混ぜる=組み合わせ的な探索空
間の拡大
35
• 良いミームを持った人は長く生き延び、多くの人と交流すること
でそのミームが優先的に広がる(自然淘汰)
• 一人では到達できない良い局所解を目指す
集団による並列探索
[Bengio, ’12]
Section 6
 多層モデルとニューラルネットワーク
 学習手法
 過学習への対策
 事前知識の活用、獲得
 より複雑なタスクを解くには
 まとめ
36
まとめ
 Deep Learning の技術的基礎について紹介しました
 深層モデルとニューラルネットワーク
 SGD と誤差逆伝播法
 良く使われる / 有望そうな技術について紹介しました
 (Fast) Dropout
 畳み込みニューラルネット
 事前学習
 未来の話として、 Bengio の論文群から一部を紹介しました
 サブタスクの重要性、カリキュラム学習
 他の学習者から言語を通じて教師データを受け取る
 良い局所解を得るための並列学習とミームによる探索
 最新のサーベイは [Bengio, ‘13] にまとまっています
37
Copyright © 2013
Preferred Infrastructure All Right Reserved.
Reference
 Bengio, Y., Louradour, J., Collobert, R., Weston, J. Curriculum Learning. ICML, 2009.
 Bengio, Y. Evolving Culture vs Local Minima. arXiv, 2012.
 Bengio, Y. Deep Learning of Representations: Looking Forward. arXiv, 2013.
 Duchi, J., Hazan, E., Singer, Y. Adaptive Subgradient Methods for Online Learning and
Stochastic Optimization. COLT, 2010.
 Gulcehre, C., Bengio, Y. Knowledge Matters: Importance of Prior Information for
Optimization. arXiv, 2013.
 Hinton, G. E. Training Products of Experts by Minimizing Contrastive Divergence. Neural
Computation, 2002.
 Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., Salakhutdinov, R. R.
Improving neural networks by preventing co-adaptation of feature detectors. arXiv, 2012.
39
Reference
40
 LeCun, Y., Bottou, L., Bengio, Y., Haffner, P. Gradient based learning applied to
document recognition. Proc. IEEE, 1998.
 Schaul, T., Zhang, S., LeCun, Y. No More Pesky Learning Rates. ICML, 2013a.
 Schaul, T., LeCun, Y. Adaptive learning rates and parallelization for stochastic, sparse,
non-smooth gradients. ICLR, 2013b.
 Tang, Y. Deep Learning using Support Vector Machines. arXiv, 2013.
 Vincent, P., Larochelle, H., Bengio, Y., Manzagol, P.-A. Extracting and Composing
Robust Features with Denoising Autoencoders. ICML, 2008.
 Vinyals, O., Jia, Y., Deng, L., Darrell, T. Learning with Recursive Perceptual
Representations. NIPS, 2012.
 Wang, S. I., Manning, C. D. Fast dropout training. ICML, 2013.
付録 : 再帰的ニューラルネットワーク
Recursive Neural Network [Socher+, ‘11]
41
• 各ノードを同じ次元のベクトルで表現する
• 2 つのベクトルを入力として、 1 つのベクトルを
出力するニューラルネットワークを学習する
• 勾配計算は木に沿った誤差逆伝播を使う
(Back Propagation through Structure)
付録 : 再帰的ニューラルネットワーク (2)
画像の分割 [Socher+, ‘11]
42
付録 : Elman 型循環ニューラルネットワーク
Recurrent Neural Network (Elman Network)
[Elman, ‘90]
43
• 系列を順に入力する
• 一つ前の入力に対する隠れ層の値を覚えておき、
次の入力のときにそれらも隠れ層への入力として使う
• Elman Network ともいう
付録 : Jordan 型循環ニューラルネットワーク
Recurrent Neural Network (Jordan Network)
[Jordan, ’86]
44
• 出力層を覚えておき、次のステップで入力として使う
• RNN の最近の応用例 : [Mesnil+, ‘13]
付録 : 循環ニューラルネットワークは深層モデルの
一種とみなせる
45
時間方向に展開すると、
深層モデルになるt=T-1
t=T
t=T+1
付録 : 循環ニューラルネットワークを用いた
文字単位の言語モデルから文章を生成
[Sutskever+, ‘11]
46
• 機械学習の論文を読ませた後、” Recurrent” を初期値
として文章を生成
付録 : Referrence
47
 Elman, J. Finding structure in time. Cognitive Science, 1990.
 Jordan, M. Serial order: A parallel distributed processing aproach. Tech. Rep., 1986.
 Mesnil, G., He, X., Deng, L., Bengio, Y. Investigation of Recurrent-Neural-Network
Architectures and Learning Methods for Spoken Language Understanding.
INTERSPEECH, 2013.
 Socher, R., Lin, C. C.-Y., Ng, A. Y., Manning, C. D. Parsing Natural Scenes and Natural
Language with Recursive Neural Networks. ICML, 2011.
 Sutskever, I., Martens, J., Hinton, G. Generating Text with Recurrent Neural Networks.
ICML, 2011.

More Related Content

Deep Learningの技術と未来

Editor's Notes

  1. 1:00
  2. 2:00
  3. 3:00
  4. 4:00
  5. 5:00
  6. 6:00 さくっと飛ばす
  7. 7:00
  8. 8:00
  9. 9:00
  10. 10:00, 軽く説明
  11. 11:00
  12. 12:00 ここは軽くスキップ
  13. 13:00
  14. 14:00
  15. 15:00
  16. 16:00, ロジスティック回帰 , 20-newsgroup subtask alt.atheism vs. religion.misc, Batch GD
  17. 17:00
  18. 18:00
  19. 19:00
  20. 20:00
  21. 21:00
  22. 23:00
  23. 24:00
  24. 25:00
  25. 26:00
  26. 28:00
  27. 30:00 リチャード・ドーキンス
  28. 32:00
  29. 33:00