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.

Deep Learningの技術と未来

43,000 views

Published on

PFIセミナー2013年6月6日分です。Deep Learningの技術的基礎からBengioの怪しげな妄想まで。

Published in: Technology
  • Be the first to comment

Deep Learningの技術と未来

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

×