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の基礎と応用

31,776 views

Published on

第14回情報科学技術フォーラム (FIT2015) のイベント企画「ビッグデータ解析のための機械学習技術」におけるチュートリアル講演資料です。ニューラルネットの基礎(計算グラフとしての定式化、勾配法、誤差逆伝播法)をさらったあと、最近画像や自然言語などで注目されている応用・手法について広く浅く紹介しています。

Published in: Technology
  • Be the first to comment

Deep Learningの基礎と応用

  1. 1. Deep  Learning  の 基礎と応⽤用 第14回情報科学技術フォーラム 2015/09/17,  愛媛⼤大学 得居  誠也,  Preferred  Networks
  2. 2. ⾃自⼰己紹介 l  得居  誠也  (Seiya  Tokui)    @beam2d  (Twitter,  GitHub) l  PFI  (2012-‐‑‒2014)  -‐‑‒>  PFN  (2014-‐‑‒) l  専⾨門:機械学習 –  ⾃自然⾔言語処理理(品詞タグ付け)、近傍探索索のためのハッシング(修⼠士) –  ⼊入社後しばらくは分散機械学習基盤  Jubatus  のアルゴリズム開発 –  Deep  Learning(2012年年秋ごろ〜~)、画像・映像認識識 l  4  ⽉月に  Chainer(深層学習のフレームワーク)を作り始めて今はこれがメイン 2
  3. 3. 深層学習  (Deep  Learning)  は認識識タスクで成功した 3 ⾳音声:2011  年年に  GMM  より単語誤識識別率率率で  10%  前後も改善 画像:2012  年年に⼀一般物体認識識のコンテ スト  (ILSVRC)  で他⼿手法に誤識識別率率率で   10%  程度度の差をつけて勝利利 F. Seide, G. Li and D. Yu. Conversational Speech Transcription Using Context-Dependent Deep Neural Network, in INTERSPEECH, pp. 437-440 (2011) J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla and F.-F. Li . Large Scale Visual Recognition Challenge 2012. ILSVRC2012 Workshop.
  4. 4. 今は認識識タスクと並んで⽣生成や⾃自然⾔言語処理理の研究が盛ん l  機械翻訳、質問応答、キャプション⽣生成 l  アナロジー⽣生成 4 Sutskever, I., Vinyals, O. and Le, Q. V. Sequence to Sequence Learning with Neural Networks. NIPS 2014.
  5. 5. 今⽇日のおはなし l  ニューラルネットの基礎 –  ニューラルネットの技術的な基礎をかるく解説します –  計算グラフ、損失最⼩小化、誤差逆伝播、畳込みネット、リカレントネット l  ニューラルネットの応⽤用 –  様々な応⽤用と、そこで使われるキー技術をざっくり紹介します –  物体認識識、⾳音声認識識、機械翻訳、キャプション⽣生成、ゲームプレイ、⽣生成モ デル、アナロジー⽣生成、質問応答 –  時間が限られているので「何ができるようになったか」を中⼼心に広く浅くお 伝えします l  具体的な実践⽅方法は時間がなさそうなのでほぼ触れません(Chainer  について、 参考スライドを途中で紹介します) 5
  6. 6. ニューラルネットの基礎 6
  7. 7. ニューラルネット=⾏行行列列演算と⾮非線形関数からなる計算グラフ l  四⾓角で書かれたノード:ベクトル l  辺に沿ってデータを流流す l  辺には重み⾏行行列列が紐紐付いていて、辺を通るときに重み⾏行行列列をかける l  ノードに⼊入るときにバイアスを⾜足して活性化関数を適⽤用する x h1 h2 y W1 W2 W3 h1 = f1(W1x + b1), h2 = f2(W2h1 + b2), y = f3(W3h2 + b3). 7
  8. 8. ニューラルネット=⾏行行列列演算と⾮非線形関数からなる計算グラフ l  この計算グラフを書き下すと次のようになる(”⼀一時変数”は省省略略) x h1 h2 y W1 W2 W3 b1 b2 b3 + + + f1 f2 f3 Wi bi fi :重み⾏行行列列 :バイアス(ベクトル) :活性化関数   パラメータ (学習によって最適化される対象) 8
  9. 9. 学習の定式化:経験損失の最⼩小化 l  教師データをたくさん⽤用意する –  ⼊入⼒力力と、正しい出⼒力力のペア l  NN  の予測がどれくらい間違ってるかを測る:損失関数 l  教師データに対する損失が⼩小さくなるようにしたい l  →  教師データ全体での損失の平均(経験損失)を最⼩小化 9 x yNN (x1, t1), (x2, t2), . . . t loss :NN  の全パラメータ
  10. 10. 勾配法によるパラメータ最適化 l  勾配(関数の傾き)に沿ってパラメータを動かす=勾配降降下法 l  教師データが⼤大量量にあると、経験損失の勾配を求めるのは⾼高コスト l  →  ⼀一部のデータ(ミニバッチ)だけの損失和の勾配を求めてこまめに更更新 =確率率率的勾配降降下法(SGD) –  経験損失に対する正しい勾配法にはならないが、平均的に正しい⽅方向に更更新 されるので  OK 10 経験損失の等⾼高線 極⼩小点
  11. 11. 合成関数の勾配計算:連鎖律律から誤差逆伝播へ l  この計算グラフ(合成関数)で勾配は連鎖律律で求められる l  つまり合成関数の勾配はヤコビ⾏行行列列の積 l  NN  の最適化では、出⼒力力はスカラー値(損失)で、⼊入⼒力力は巨⼤大なベクトル –  ⾏行行列列・⾏行行列列の積より、⾏行行列列・ベクトルの積の⽅方が低コスト –       の⽅方から            に向かってヤコビ⾏行行列列をかけていくほうが低コスト =誤差逆伝播法  (backpropagation) 11 fw x g y h z z w = z y y x x w = Dh(y)Dg(x)Df (w) ヤコビ⾏行行列列 wz
  12. 12. 例例:多層パーセプトロンの実装 Chainer  での実装例例 layer1 = F.Linear(n_in, n_hidden) layer2 = F.Linear(n_hidden, n_out) h = F.relu(layer1(x)) y = layer2(h) loss = softmax_cross_entropy(y, t) 12 x W1 W2b1 b2 + +h y t loss Linear ReLU Linear f(x) = max(0, x) ReLU
  13. 13. 誤差逆伝播は⾃自動化できる(後退型⾃自動微分) l                                             からはじめて逆向きにヤコビ⾏行行列列をかけていく l  計算の順序さえ記録しておけば、単にヤコビ⾏行行列列を順にかけるだけなので、⾃自 動化できる(⾃自分でヤコビ⾏行行列列をかける順番を定義する必要はない) l  多くの  Deep  Learning  フレームワークは、この誤差逆伝播が⾃自動化できる枠組 みを与えている l  こうやって勾配を⾃自動的に求めるアルゴリズムを(後退型)⾃自動微分という 13 t 1 Linear ReLU Linear DD+D+ DD D y b2W2W1 b1 hx a = loss a ( a) loss = 1
  14. 14. 画像認識識のための演算:畳込み、プーリング 畳込み  (2D  convolution) l  画像の各位置の⼩小さな矩形を⼩小さな 画像とみなし、それぞれに同じ重み ⾏行行列列をかける l  線形演算の⼀一種で、微分可能 プーリング l  画像を(ほぼ)微分可能な式で縮⼩小する l  近傍ピクセルの平均値や最⼤大値などを使う l  これらの要素は、画像の空間的な構造を利利⽤用していて、単純な⾏行行列列積を使う場 合よりも圧倒的に学習が容易易になる 14 http://deeplearning.net/tutorial/lenet.html
  15. 15. 系列列データの処理理:リカレントネット  (RNN) l  ループがあるニューラルネット l  ループがあるので「時間」の概念念が ⼊入ってくる l  このままだと  DAG  でないので、誤差 逆伝播が定義できないように⾒見見える が…… 15 x W1 W2b1 b2 + +h y t loss Linear tanh Linear Linear Wr
  16. 16. リカレントネットの時間展開 16 f 1 x h g y 2 r fx1 gh1 y1 f g f g x2 x3 h3 h2 y2 y3 1 2r … … … 展開前 展開後
  17. 17. 具体的なニューラルネットの実装⽅方法は下スライド参照 17 Chainer  における基本的なニューラルネットやリカレントネットの書き⽅方、最適化 の⽅方法について現在最新の  v1.3  系をベースに解説しています ほかにも公式ドキュメントや⾊色んな⼈人が書いているサンプルなども参考に
  18. 18. ニューラルネットの応⽤用 18
  19. 19. ⼀一般物体認識識 l  ⾃自然画像(写真)から、何が写っているか当てる l  ILSVRCというコンテストが有名、現在は  1,000  クラス分類タス クで上位  5  候補に正解ラベルが含まれていない例例が  5%  を切切ると ころまで⾏行行っている(下表は去年年の結果) Team Year Place Error (top-5) Uses external data SuperVision 2012 - 16.4% no SuperVision 2012 1st 15.3% ImageNet 22k Clarifai 2013 - 11.7% no Clarifai 2013 1st 11.2% ImageNet 22k MSRA 2014 3rd 7.35% no VGG 2014 2nd 7.32% no GoogLeNet 2014 1st 6.67% no C.  Szegedy,  et  al.  GoogLeNet  team:  C.  Szegedy,  Going  Deeper  with  Convolutions.   ILSVRC  2014  workshop  (at  ECCV  2014).
  20. 20. 3  つの要素 l  ConvNet –  畳込みとプーリングを組合せて深い  ConvNet  を作る –  序盤はこれらを交互に⼊入れて、中盤は畳込みだけを繰り返す –  右図は  GoogLeNet(⻘青が畳込み、⾚赤がプーリング) l  ImageNet –  教師つきの⼤大規模データセット –  コンテストでは  128  万枚が使われ、ConvNet  成功の鍵に l  Data  augmentation –  学習時に、画像を少しずらしたり、⾊色味をランダムに摂動さ せたりする(データの「⽔水増し」) 20
  21. 21. ⾳音声認識識:双⽅方向リカレントネット,  Deep  Speech l  ⼊入⼒力力はスペクトログラム系列列 l  前向き  RNN  と後向き  RNN  を並 べて、両⽅方の出⼒力力を上の層に⼊入 ⼒力力する l  未来の情報もつかって予測する ことに相当 l  ⾳音声でもデータの作成⽅方法や   data  augmentation  が重要に なってきている –  ノイズやエコーを合成 –  ヘッドホンで雑⾳音環境を再現 しながらしゃべってもらう (ランバート効果) 21 A.  Hannun,  C.  Case,  J.  Casper,  B.  Catanzaro,  G.  Diamos,   E.  Elsen,  R.  Prenger,  S.  Satheesh,  S.  Sengupta,  A.   Coates,  A.  Y.  Ng.  Deep  Speech:  Scaling  up  end-‐‑‒to-‐‑‒end   speech  recognition.  arXiv:1412.5567
  22. 22. 機械翻訳:Encoder-‐‑‒Decoder  モデル l  ソース⾔言語の⽂文を  Encoder  RNN  に⼊入⼒力力して、その最終状態をもとにターゲッ ト⾔言語の⽂文を  Decoder  RNN  が出⼒力力する l  これを単純に教師あり学習 –  たとえば英語の⽂文をフランス語の⽂文に変換する  RNN  を学習 –  State  of  the  Art  に匹敵する性能を発揮しつつある l  オリジナルの論論⽂文では  LSTM  (Long  Short-‐‑‒Term  Memory)  を  4  層重ねた   RNN  を使⽤用 22 I.  Sutskever,  O.  Vinyals,  Q.  V.  Le.  Sequence  to   Sequence  Learning  with  Neural  Networks.  NIPS  2014.
  23. 23. 機械翻訳:Attention  による⼊入⼒力力の選択 l  “Decode”  するときに、⼊入⼒力力の⼀一部を⾒見見なお す l  どこを⾒見見直すか⾃自体も  RNN  が出⼒力力する –  ⼊入⼒力力データの⼀一部を選択して  forward  す ることを  attention  という l  左図では双⽅方向リカレントネットで各単語の ⽂文脈特徴をつくり、それに  attention  を当て て  decoder  RNN  に⼊入⼒力力している l  Attention  では⼊入⼒力力データの情報量量は増えな いが、すべてを  RNN  の状態に押し込む必要 がなくなるので、学習が  “楽になる” 23 D.  Bahdanau,  K.  Cho,  Y.  Bengio.  Neural   Machine  Translation  by  Jointly  Learning   to  Align  and  Translate.  ICLR  2015.
  24. 24. Encoder-‐‑‒Decoder  モデルの応⽤用:キャプション⽣生成 l  画像を⽂文章に「翻訳」 l  Encoder  は  ConvNet  (GoogLeNet)  で、 Decoder  は  リカレントネット 24 O.  Vinyals,  A.  Toshev,  S.  Bengio,  D.   Erhan.  Show  and  Tell  :A  Neural  Image   Caption  Generation.  arXiv:1411.4555v2
  25. 25. Attention  を⽤用いた  Encoder-‐‑‒Decoder  でのキャプション⽣生成 25 K.  Xu,  J.  L.  Ba,  R.  Kiros,  K.  Cho,   A.  Courville,  R.  Salakhutdinov,  R.   S.  Zemel,  Y.  Bengio.  Show,  Attent   and  Tell:  Neural  Image  Caption   Generation  with  Visual  Attention.   arXiv:1502.03044v2.
  26. 26. ゲームプレイ  (DQN):ConvNet+Q学習+勾配法 l  直近数フレームの画⾯面を⼊入⼒力力として、ど のボタンを押せばよいか  ConvNet  に予 測させる l  教師は与えず、スコアを報酬としてそれ を最⼤大化するように強化学習 l  右図はゲームごとのスコア⼀一覧 26 V.  Mnih,  et  al.  Human-‐‑‒level  control  through   deep  reinforcement  learning.  Nature,  vol.518,   Feb.  26,  2015. このラインから上は ⼈人間並  or  ⼈人間以上
  27. 27. DQN  の応⽤用:ロボットカーの制御 https://research.preferred.jp/2015/06/distributed-‐‑‒deep-‐‑‒reinforcement-‐‑‒ learning/  分散深層強化学習でロボット制御 27
  28. 28. ⽣生成モデル:変分  AutoEncoder l  潜在変数からデータを⽣生成する過程(⽣生成器)を  NN  であらわす l  逆にデータから潜在変数を推定する過程(認識識器)も別の  NN  であらわす l  この  2  つの確率率率モデル          と          がマッチするように学習 –  実際には  Decoder  モデルの最尤推定として定式化して、それを  Encoder   モデルを使った変分法によって学習する l  ⾃自由度度の⾼高い確率率率モデルで、たくさんの拡張が提案されている 28 NNx z NNx z q(x)q(z|x) p(z)p(x|z) Encoder (認識識器) Decoder (⽣生成器) p q
  29. 29. ⽣生成モデル:Attention+変分  AE  による逐次的な画像⽣生成 29 l  「キャンバス」に差分を次々⽣生成していく l  上の画像では、⻘青いピクセルが⽩白く塗る操作を、⾚赤いピクセルが⿊黒く塗る操作 を表していて、右に⾏行行くほど時間が進む l  確率率率モデルとしては、変分  AE  にリカレントネットを組み込んだもの l  上の画像は私が⾏行行った再現結果 K.  Gregor,  I.  Danihelka,  A.  Graves.  D.  J.  Rezende,  D.   Wierstra.  DRAW:  A  Recurrent  Neural  Network  For  Image   Generation.  ICML  2015.
  30. 30. ⽣生成モデル:敵対的ネットワークス l  ⽣生成器と識識別器という  2  つの  NN  を同時に学習する –  識識別器:⽣生データと⽣生成器がつくったデータを判別するのが⽬目標 –  ⽣生成器は識識別器に間違えさせる(=うまく⽣生データを模倣する)のが⽬目標 30 NN xz generator NN ⽣生成データ? ⽣生データ?   discriminator I.  J.  Goodfellow,  J.  P.-‐‑‒Abadie,  M.  Mirza,  B.  Xu,  D.  W.-‐‑‒Farley,  S.  Ozair,  A.  Courville,  Y.  Bengio.   Generative  Adversarial  Nets.  NIPS  2014.
  31. 31. ⼤大きな画像の⽣生成:解像度度を段階的に上げていく l  ラプラシアンピラミッド(各スケールでガウシアンフィルタをかけた画像の残 差)をつかって、低解像度度画像から⾼高解像度度画像との残差を⽣生成する l  スケールごとに⽣生成モデルがあり、敵対的ネットワークスで学習する l  従来⼿手法にくらべて、⼤大きな画像でもくっきりした画像が⽣生成できる –  まだ細部はキレイだが全体では変な画像になりがち 31 E.  Denton,  S.  Chintala,  A.  Szlam,  R.  Fergus.  Deep  Generative   Image  Models  using  a  Laplacian  pyramid  of  Adversarial  Networks.   arXiv:1506.05751v1
  32. 32. ⼤大きな画像の⽣生成:解像度度を段階的に上げていく 32 E.  Denton,  S.  Chintala,  A.  Szlam,  R.  Fergus.  Deep  Generative   Image  Models  using  a  Laplacian  pyramid  of  Adversarial  Networks.   arXiv:1506.05751v1
  33. 33. アナロジー⽣生成:表現を混ぜる l  NN  の中間層の値や、変分  AE  の推定された        を「表現」といったりする l  表現の⼀一部を固定したまま、ほかの部分を別のもの(例例えば別のデータの表 現)に差し替えたり似せたりすることで「アナロジー」ができる l  アナロジー表現を表すようなデータを求めることで、そのアナロジーを⽣生成で きる 33 z NNx u v NNx u v x ⽣生成部分は  NN  だったり、 誤差逆伝播による最適化だったり
  34. 34. アナロジー⽣生成:変分  AutoEncoder  によるラベル変更更 左端の画像を⼊入⼒力力としてラベルつき変分  AE  の        を認識識器で推定して、ラベルだけ 変えて⽣生成器に通すと右カラムの画像が⽣生成できる (つまり、左端の⽂文字のような雰囲気の別の字が⽣生成できる) 34 z D.  P.  Kingma,  D.  J.  Rezende,  S.  Mohamed,  M.  Welling.  Semi-‐‑‒Supervised  Learning  with   Deep  Generative  Models.  NIPS  2014.
  35. 35. アナロジー⽣生成:スタイル表現による画像のアート化 l  2つの画像の「表現」と「特徴 の相関(スタイル)」を同時に 真似るように画像を最適化 l  ImageNet  などで学習した   ConvNet  があれば適⽤用可能 l  詳細は弊社ブログ「画⾵風を変換 するアルゴリズム」参照 35 コンテンツ画像 スタイル画像 ⽣生成結果L.  A.  Gatys,  A.  S.  Ecker.  M.  Bethge.  A  Neural   Algorithm  of  Artistic  Style.  arXiv:1508.06576.
  36. 36. メモリー構造:世界に関する知識識をコードする l  「事実」を⽰示した⽂文を(表現の形で)たくさん記憶しておいて、それを使って 質問応答などのタスクを解く l  ⼊入⼒力力される問題(問いなど)に応じてどの記憶を取り出すかを予測 l  最近はこのような「知識識」や「記憶」に関する仕掛けの研究が盛ん –  より  AI  ⾊色の強いタスク 36 S.  Sukhbaatar,  A.  Szlam,  J.  Weston.  End-‐‑‒To-‐‑‒ End  Memory  Networks.  arXiv:1503.09985.
  37. 37. メモリー構造:⼈人⼯工データによる質問応答タスクの例例 37
  38. 38. まとめ l  Deep  Learning  は⾳音声・画像などの認知タスクで成功を収めた l  ニューラルネットが主役だが、最近は計算グラフとしての捉え⽅方が⼀一般的 l  計算グラフで書かれた関数は誤差逆伝播法によって勾配が計算でき、勾配法に よって最適化できる l  リカレントネットは時間展開することで  DAG  型の計算グラフに変換できる l  Encoder-‐‑‒Decoder  モデルは  attention  と組み合わさり、⾔言語と画像の両⽅方にま たがって研究が進んでいる l  ⽣生成モデルの研究では変分  AE  と敵対的ネットワークスがはやっている l  アナロジー⽣生成もホットなトピックで、⽣生成モデルによるアプローチと誤差逆 伝播法によるアプローチがある l  メモリー機構をどう作るかは、今後  AI  タスクを解けるようになるかの鍵になる 38
  39. 39. まとめ l  Chainer:  Deep  Learningのフレームワーク –  http://chainer.org  (公式サイト) –  https://github.com/pfnet/chainer  (GitHub  リポジトリ) –  http://docs.chainer.org  (公式ドキュメント) 39

×