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.

20150930

21,355 views

Published on

ディープラーニングの 基礎技術と今後の課題・展望  ~画像認識分野を中心に~

Published in: Technology
  • Be the first to comment

20150930

  1. 1. 東京大学 大学院情報理工学系研究科 創造情報学専攻 講師 中山 英樹
  2. 2.  1. 導入:Deep Learning (深層学習)とは? ◦ 1.1 ニューラルネットワークの歴史 ◦ 1.2 画像認識におけるブレークスルー ◦ 1.3 最近の情勢  2. 一般画像認識:Deep Learningのもたらしたパラダイムシフト ◦ 2.1 一般画像認識の紹介 ◦ 2.2 Deep Learning以前の手法: Bag-of-visual-words ◦ 2.3 Deep Learning以後の手法: 畳み込みニューラルネット ◦ 2.4 各手法の比較・考察  3. Deep Learningの数理 ◦ 3.1 ニューラルネットワークの学習法 ◦ 3.2 なぜ優れた性能が実現できるのか? ◦ 3.3 ブレークスルーを産んだコア技術  4. 実践方法 ◦ 4.1 学習アプローチの比較: ◦ 4.2 Caffe, Torch7, Theano ◦ 4.3 パラメータチューニングの勘所  5. 最新の研究動向 ◦ 5.1 より高度な画像理解へ ◦ 5.2 他分野との融合 ◦ 5.3 まとめ・今後の展望 2
  3. 3.  機械学習(教師付) 3 “cat”   Niyii ,...,1,, x x y 未知のデータ(学習データに含まれない)を正しく認識させることが目標 大量のラベル付き訓練データ (x:画像,y:ラベル) … cat dog bird  xf
  4. 4.  タスクに応じて設計された損失関数を最小化するように、 関数 のパラメータを最適化する  損失関数の例 ◦ 回帰・識別: 平均二乗誤差 ◦ 識別: クロスエントロピー誤差  学習法 ◦ 解析的に解く (ごく簡単な問題のみ) ◦ サンプリング (MCMCなど) ◦ 勾配法による最適化 4  xf    2 2 1 ii fL xy
  5. 5.  少しずつ損失関数の勾配方向へパラメータを更新 ◦ : 関数 のパラメータ ◦ : 微小な正の実数 (学習率)  パラメータを更新するタイミングはいろいろ ◦ 最近の手法では、基本的には1サンプルごとに更新 5  xf  w   w w ww   L   wL w   w w  L
  6. 6.  ニューラルネットワークを用いた人工知能の 構築技術の総称 ◦ 脳(神経細胞)の働きを模した学習アルゴリズム  特に、深く大規模な構造を備えていることが特徴 6 cat cat dog horse
  7. 7.  脳神経系を模した数学モデル  ネットワークを形成する多数の人工ニューロンのシナプス結 合強度を変化させて問題解決能力を獲得する 7 ニューロンモデル神経細胞(ニューロン) 閾値 入力2 入力1 出力 結合荷重ニューロン(核) シナプス
  8. 8.  単純パーセプトロン (1960s) ◦ 入力値の線形結合 + 活性化関数による非線形変換 ◦ 例) 8 y2x nx 1w 2w nw 1x (.)f     xwT v vfy … 活性化関数        otherwise0 01  f ステップ関数 → McCulloch & Pitts モデル (1943) Rosenblatt のMark 1 perceptron hardware (1960)        exp1 1 f シグモイド関数 実用上便利で最もよく用いられてきた (ロジスティック回帰と等価) 入力 出力 結合重み バイアス
  9. 9.  線形識別平面を作ることに対応  訓練サンプルが正しく識別されるように 少しずつパラメータを更新 9    1,0,, iii yyxi番目の訓練サンプル エラーに説明変数をかけたもの y 2x 1w 2w 1x (.)f       ii T ii ii fyy yyL xxw ww       ˆ ˆ 2 1 2 × × × × × × × × 1x 2x  2211 xwxw    ioldi T oldiioldnew fyy xxwww   ˆ w ii fy xˆ← ※
  10. 10.  非線形な識別は原理的に不可能 ◦ 例: XOR 10 × × × × × × × × 1x 2x ? 以降、第一次ニューラルネット ブームは急速に下火に…
  11. 11.  多層パーセプトロン (1980s~1990s)  多数の単純パーセプトロンを階層的に組み合わせる ◦ パラメータ最適化はNP困難だが、誤差逆伝播法で局所解へ収束  十分な数のニューロンが隠れ層にあれば、任意の非線形連続関数は3 層のネットワークで近似できる 11 y x z 隠れ層 (陽に観測されない)
  12. 12. 12 β α α L β L y x hiddenf outf z 2 ˆ 2 1 iiL yy  i番目の訓練サンプル  やること自体は単純パーセプトロンと同じ  訓練サンプルをフィードフォワードし、得られた出力誤差を小さくする方向へ パラメータを更新  上層からのchain ruleで誤差を順に低層へフィードバック  ii yx , 二乗誤差 (教師ラベルとのずれ) ix iyˆ フィードフォワード フィードバック
  13. 13. 13   2 ii yfL  x iji j L   ,2        k ijiijk j k j x LL ,2           z z  i T j ji xβ  exp1 1 ,   iii yf  x y x 評価関数(二乗誤差): 隠れ層の活性化関数を シグモイド関数とすると β α α L β L 発生した誤差に対し、前層での出力が強いニューロンが大きく更新される   2 ii yfL  x z Chain rule
  14. 14.  誤差逆伝播学習は実際にはあまりうまく働かず…  問題点 ◦ 入力に近い層の学習が遅い(層を遡る過程で誤差が多数のニューロンへ拡散 されてしまい、パラメータがほとんど更新されない) ◦ 過学習しやすい(訓練データのみに過度に適応する現象) 14 × × × × × × × ×
  15. 15.  ある論文の冒頭 [Simard et al., ICDAR 2003] After being extremely popular in the early 1990s, neural networks have fallen out of favor in research in the last 5 years. In 2000, it was even pointed out by the organizers of the Neural Information Processing System (NIPS) conference that the term “neural networks” in the submission title was negatively correlated with acceptance. In contrast, positive correlations were made with support vector machines (SVMs), Bayesian networks, and variational methods. 15
  16. 16.  小さな画像を用いた基礎研究が主流 ◦ MNISTデータセット [LeCun]  文字認識、28 x 28ピクセル、6万枚 ◦ CIFAR-10/100 データセット [Krizhevsky]  物体認識、32 x 32ピクセル、5万枚  一般的な画像の場合はデータが足りず、パラメータ学習の 効果がほとんど発揮されなかった ◦ Caltech-101にCNNを適応した場合、ランダム結合と大差なし [Jarrette, ICCV’09]  ビジョン系ではあまり受け入れられず… 16
  17. 17. “We are withdrawing it for three reasons: 1) the scores are so low, and the reviews so ridiculous, that I don't know how to begin writing a rebuttal without insulting the reviewers; 2) we prefer to submit the paper to ICML where it might be better received. (中略) Getting papers about feature learning accepted at vision conference has always been a struggle, and I‘ve had more than my share of bad reviews over the years. Thankfully, quite a few of my papers were rescued by area chairs. (中略) This time though, the reviewers were particularly clueless, or negatively biased, or both. (中略) So, I‘m giving up on submitting to computer vision conferences altogether. CV reviewers are just too likely to be clueless or hostile towards our brand of methods. Submitting our papers is just a waste of everyone’s time (中略) Regardless, I actually have a keynote talk at [Machine Learning Conference], where I'll be talking about the results in this paper.” 17
  18. 18. 18 Figure from [Ramanan et al, ICCV’09] 2004 カテゴリ数:10^2 サンプル数: 10^3~10^4
  19. 19. 19 Figure from Russakovsky et al., ILSVRC’14 slides. 2010 カテゴリ数:10^3~10^4 サンプル数: 10^6~10^7
  20. 20.  Deep learning (深層学習) (2006~) [Hinton and Salakhutdinov, Science, 2006]  従来扱われてきたよりもさらに多層のニューラルネット ◦ 2010年頃で7~8層程度。現在は20層以上のものも。  音声認識・画像認識・自然言語処理などさまざまな分野で圧 倒的な性能を達成  生データから目的変数に至るend-to-endの構造を学習 ◦ 従来の特徴量(に相当する構造)も自動的に獲得 ◦ パターン認識の文脈では表現学習(representation learning)と ほぼ同義で扱われることも 20
  21. 21. 21 http://icml2011speechvision.files.wordpress.com/2011/06/visionaudio.pdf
  22. 22.  ImageNetのデータの一部を用いたフラッグシップコンペティション (2010年より開催) ◦ ImageNet [Deng et al., 2009]  クラウドソーシングにより構築中の大規模画像データセット  1400万枚、2万2千カテゴリ(WordNetに従って構築)  コンペでのタスク ◦ 1000クラスの物体カテゴリ分類  学習データ120万枚、検証用データ5万枚、テストデータ10万枚 ◦ 200クラスの物体検出  学習データ45万枚、検証用データ2万枚、テストデータ4万枚 22 Russakovsky et al., “ImageNet Large Scale Visual Recognition Challenge”, 2014.
  23. 23.  ImageNet large-scale visual recognition challenge (ILSVRC) 2012 ◦ 1000クラスの物体画像識別コンペティション  Deep learning を用いたシステムが圧勝 ◦ トロント大学Hinton先生のチーム 23 [A. Krizhevsky et al., NIPS’12] エラー率が一気に10%以上減少! (※過去数年間での向上は1~2%)
  24. 24. 0 5 10 15 20 25 30 2010 2011 2012 2013 2014 2015 (Baidu) Human 2015 (MS) 2015 (Google)  エラー率が 16% (2012) → 4.8% (2015) 24 Ioffe et al., “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”, arXiv, 2015. He et al., “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification”, arXiv, 2015. Classificationerror(%) 28% 26% 16% 6.6% 12% 5.98% 5.1% 4.94% 4.82%
  25. 25.  映像 認識 ◦ 487クラスの スポーツカテゴリ認識 [Karpathy., CVPR’14]  RGB-D物体認識 ◦ [Socher et la., NIPS’13] 25
  26. 26.  領域分割 (シーンラベリング) ◦ ピクセルレベルで物体領域を認識 ◦ [Long et al., 2014]  RGB-Dシーンラベリング ◦ [Wang et al., ECCV’14] 26
  27. 27.  デノイジング・インペインティング [Xie et al., NIPS’12] ◦ 画像のノイズ除去 ◦ Stacked denoising auto-encoder  超解像 [Dong et al., ECCV’14] ◦ 低解像度画像から 高解像度画像を復元(推定)  ボケ補正 [Xu et al., NIPS’14] 27
  28. 28.  Google ◦ DNNresearch (ILSVRC’12 winnerの会社) 買収 (G. Hinton) ◦ Google brain project (A. Ng) ◦ DeepMind 買収 (4億ドル!) (2013) →Oxford VGG (A. Zissermanらの グループ)も参画 (2014)  Facebook ◦ AI Lab 設立 (2013) Y. LeCun (所長)  Baidu ◦ シリコンバレーAI研究所設立 (2014) A. Ng 氏がトップ 28 AI研究者Yoshua Bengio氏の見方によ ると、世界にディープラーニングの優れ た専門家が50人くらいしかいないという。 でも以下の特許例からも推測できるよう に、DeepMindが優れたディープラーニ ング研究者を擁していることが,AIコミュ ニティー内では知られていた。 DeepMindを買収すれば、世界のトップ 研究者50人のうち12人を一気に抱える ことができるのだ。 http://www.huffingtonpost.jp/zenichiro- tanaka/google-manhattan- plan_b_4701358.html
  29. 29.  1. 導入:Deep Learning (深層学習)とは? ◦ 1.1 ニューラルネットワークの歴史 ◦ 1.2 画像認識におけるブレークスルー ◦ 1.3 最近の情勢  2. 一般画像認識:Deep Learningのもたらしたパラダイムシフト ◦ 2.1 一般画像認識の紹介 ◦ 2.2 Deep Learning以前の手法: Bag-of-visual-words ◦ 2.3 Deep Learning以後の手法: 畳み込みニューラルネット ◦ 2.4 各手法の比較・考察  3. Deep Learningの数理 ◦ 3.1 ニューラルネットワークの学習法 ◦ 3.2 なぜ優れた性能が実現できるのか? ◦ 3.3 ブレークスルーを産んだコア技術  4. 実践方法 ◦ 4.1 学習アプローチの比較: ◦ 4.2 Caffe, Torch7, Theano ◦ 4.3 パラメータチューニングの勘所  5. 最新の研究動向 ◦ 5.1 より高度な画像理解へ ◦ 5.2 他分野との融合 ◦ 5.3 まとめ・今後の展望 29
  30. 30.  制約をおかない実世界環境の画像を単語で記述 ◦ 一般的な物体やシーン、形容詞(印象語)→ 作りこみが難しい! ◦ 2000年代以降急速に発展(コンピュータビジョンの人気分野) ◦ 幅広い応用先 デジタルカメラ、ウェアラブルデバイス、画像検索、ロボット、…
  31. 31. 31 Low-level image feature Mid-level image feature “Car” SIFT, HOG, SURF, etc. BoVW, VLAD, Fisher Vector, etc. Supervised Classifier: SVM, Logistic Regression, etc. 生の画素値から、識別に至る階層構造を直接的に学習 伝統的 方法論 (“Shallow” learning) Deep learning “Car”・・・ 人手で設計 人手で設計/教師なし学習
  32. 32. 32 Low-level image feature Mid-level image feature “Car” SIFT, HOG, SURF, etc. BoVW, VLAD, Fisher Vector, etc. Supervised Classifier: SVM, Logistic Regression, etc. 生の画素値から、識別に至る階層構造を直接的に学習 従来の特徴量に相当する構造が中間層に自然に出現 伝統的 方法論 (“Shallow” learning) Deep learning “Car”・・・ 人手で設計 人手で設計/教師なし学習 [Zeiler and Fergus, 2013]
  33. 33. 1. 局所特徴抽出 ◦ SIFT, SURF, HOG, etc. ◦ Dense sampling (回転、スケールの 正規化なし)                   1.0 2.1 5.0 e.g. SIFT記述子                     0.0 5.0 0 0 0.1                      0.0 0.0 5.0 5.0 0                      0.1 0 0 0 0 …  画像中の局所特徴の分布(統計情報)を表現する大 域的特徴ベクトルを抽出 2. エンコーディング ◦ ベクトル量子化 ◦ 多項式特徴(要素積) 3. プーリング ◦ 最大値プーリング ◦ 平均値プーリング
  34. 34.  ベクトル量子化により局所特徴のヒストグラムを作成 34 学 習 用 画 像 局所特徴 前 処 理 K-means クラスタリング ・ ・ ・ Visual words Visual words 頻度
  35. 35.  つまり… ◦ 最近傍のvisual wordに対応するコードに対してのみ1、 それ以外に0を埋める最も単純な局所特徴エンコーディング ◦ 平均値プーリング 35                     0 0 0 0 1                      0 0 1 0 0                      0 1 0 0 0 … M次元 (visual wordsの数)                     3.0 9.0 1.0 5.0 2.0  画像中の全局所特徴 平均ベクトル [Wang et al., CVPR’10]
  36. 36.  畳み込みニューラルネットワーク (ConvNet) ◦ 脳の視覚野の構造を模倣した多層パーセプトロン ◦ ニューロン間の結合を局所に限定(パラメータ数の大幅な削減)  最初に基本構造が提案されたのは実はかなり昔 ◦ ネオコグニトロン (福島邦彦先生、1980年代前後) 36 [A. Krizhevsky et al., NIPS’12] Kunihiko Fukushima, “Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position“, Biological Cybernetics, 36(4): 93-202, 1980.
  37. 37.  局所領域(受容野)の畳み込みとプーリングを繰り返す多層 ネットワーク ◦ 段階的に解像度を落としながら、局所的な相関パターンを抽出 ◦ 要するに、さまざまな解像度での特徴の共起をみている ◦ 誤差逆伝播法による全体最適化 37 Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, 1998. 最終的に、識別したいクラス数 と同数のニューロンへ
  38. 38.  各フィルタのパラメータは全ての場所で共有 ◦ 色の違いは異なる畳み込みフィルタを示す ◦ 38 ※もちろん入力は生画像のみ とは限らない(中間層など)    hwr 非線形活性化関数(とても重要) フィルタの係数 例えば、5x5の畳み込み、 10チャンネルの入力の場合、 5x5x10=250個 入力 バイアス Source: M. Ranzato, CVPR’14 tutorial slides
  39. 39.  一定領域内の畳み込みフィルタの反応をまとめる ◦ 領域内での平行移動不変性を獲得 39 Source: M. Ranzato, CVPR’14 tutorial slides 平均値プーリング、 最大値プーリングなど
  40. 40.  層を上るにつれ、クラスの分離性能が上がる 40 第1層 第6層 ILSVRC’12 の validation data (色は各クラスを示す) J. Donahue et al., “DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition”, In Proc. ICML, 2014.
  41. 41. 41 Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
  42. 42. 42 Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
  43. 43. 43 非 線 形 変 換 フ ィ ル タ (畳 み 込 み ) プ ー リ ン グ 識 別 器 非 線 形 変 換 フ ィ ル タ (畳 み 込 み ) プ ー リ ン グ 輝度勾配 量子化 ヒスト グラム K-means Sparse coding SIFT, HOG, etc. Bag of visual words SVM, etc. 識 別 層 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ … 従来の方法 (特徴量ベース) 畳み込みニューラルネット
  44. 44. 従来から画像認識分野で経験的に用いられて来た  Hyperfeatures [Agarwal et al., ECCV’06] ◦ BoVWを階層的に抽出  Deep Fisher Network [Simonyan et al., NIPS’13]  Deep Sparse Coding [He et al., SDM’14] 44
  45. 45.  End-to-endでパラメータを最適化  誤差逆伝播法 45 識 別 層 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ … w ww    L oldnew   iiL yx , 訓練サンプル ix iyˆ
  46. 46.  確率的勾配降下法 (stochastic gradient descent, SGD) ※深層学習のために出てきたものではない ◦ 1サンプルごとに目的関数の勾配を出し、重みを更新 ◦ 学習が圧倒的に高速化 (注意)学習サンプルはシャッフルしておくこと 最急降下法 確率的勾配降下法 46     N i iL 1 w ww  w ww    iL 
  47. 47.  ある程度サンプルを束ねて更新  バッチ内のサンプルの評価は並列化可能 ◦ 一般にSGDの並列化は難しいが、GPUの実装法まで含めて研究が 進められている Coates et al., “Deep learning with COTS HPC systems”, ICML’13 47     B i iL B 1 1 w ww 
  48. 48.  非線形変換(活性化関数)の設計が重要 ◦ 少なくとも微分可能でないといけない 48 識 別 層 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ … w ww    L oldnew   iiL yx , 訓練サンプル ix iyˆ
  49. 49.  勾配が出やすいように関数の設計を工夫  区分線形関数が良好な性能を示すことが分かってきた 49 シグモイド関数 Rectified linear units (ReLU) [Nair and Hinton, 2010] Maxout [Goodfellow, ICML’13] 多数の線形関数のmax (任意の閾値関数を近似) ※パラメータ数は増える…  x,0max  x exp1 1 サチると勾配が 出ない!
  50. 50. 50  複数のカーネル(畳み込みフィルタ)を束ね、最大値をとる  パラメータ数が増えるのが欠点           max
  51. 51.  現在、画像認識において最も性能がよいアーキテクチャ ◦ ILSVRC’14トップのGoogleチームもNINがベース  活性化関数自体を多層パーセプトロンで学習(Maxoutの一般化)  最後に全結合層をおかなくても十分な性能 ◦ 見た目は複雑だが実はパラメータ数は減っている 51 Maxoutはここで最大値 をとるだけ(固定的) Min Lin et al., “Network In Network”, In Proc. ICLR, 2014.
  52. 52.  実装上、1x1の畳み込み層を重ねることと等価 (本来の意味で畳み込みではないが)  Deep learning的にはこちらの解釈の方が自然 52 活性化関数はいずれもReLU http://www.image- net.org/challenges /LSVRC/2014/slide s/ILSVRC2014_NUS _release.pdf Min Lin et al., “Network In Network”, In Proc. ICLR, 2014.
  53. 53.  GoogLeNet (22層) ◦ NINベース ◦ ILSVRC 2014 で優勝 ◦ 独自の並列分散フレームワークで学習 53 Convolution Pooling Softmax Other http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx Szegedy et al., “Going Deeper with Convolutions”, In Proc. CVPR, 2015.
  54. 54.  できるだけ少ないパラメータで深い非線形性を与える ◦ 一つのレイヤ内(線形変換)の パラメータを増やすのは効率が悪い  例)畳み込み層 ◦ 7 x 7 の畳み込みは、3 x 3の畳み込み層を3つ積めば意味的に等価  Maxoutは一層内でパラメータを増やす工夫 ◦ NINのように1 x 1の畳み込み層+ReLUを積む方が効率的(?) 54 ≒ 活 性 化 関 数 ( 非 線 形 ) 畳 み 込 み ( 線 形 ) プ ー リ ン グ 7×7 = 49 3×(3×3) = 27 より少ないパラメータで、 より深い非線形性!
  55. 55.  ILSVRC 2014 で第二位 55 Simonyan and Zisserman, “Very deep convolutional networks for large-scale image recognition”, In Proc. ICLR, 2015. 3x3の畳み込み層 を積み上げ 段階的に層を追加
  56. 56.  Inception アーキテクチャ (GoogLeNet) ◦ 複数の畳み込みフィルタを並列に用いる ◦ 1x1のフィルタでよりdeepに + 次元削減 56 Szegedy et al., “Going Deeper with Convolutions”, In Proc. CVPR, 2015.
  57. 57. 57 Liao and Carneiro, “On the Importance of Normalisation Layers in Deep Learning with Piecewise Linear Activation Units”, arXiv, 2015.
  58. 58.  全結合ネットワーク ◦ 極めて多くのパラメータ ◦ 最適化が困難  収束まで時間がかかる  そもそもメモリにのらない MNISTデータセット(28x28ピクセル)のような小さい画像を用いて古く から研究されているが、今のところConvNetには遠く及ばない 58 Source: M. Ranzato, CVPR’14 tutorial slides
  59. 59.  局所結合ネットワーク ◦ 構造はConvNetと同じだが、フィルタの パラメータに場所ごとで異なる ◦ つまり、平行移動不変性がない  入力画像の正確なアラインメントが前提となっている場合、state- of-the-art を達成している場合もある ◦ DeepFace [Taigman et al., CVPR’14]  一般的な画像認識ではまだConvNetに劣る 59 Source: M. Ranzato, CVPR’14 tutorial slides
  60. 60.  “局所的な畳み込み(フィルタバンク) → 非線形変換 → プーリング” という基本構造は今までの画像認識(BoVW)と変わらない。 ◦ 正確には、BoVW系が2000年代に一旦追いつき追い越し、再び逆転された ◦ 多層化、活性化関数の工夫、パラメータの最適化等の技術が進展  より一般的な全結合・局所結合ネットワークなどはいまひとつ ◦ おそらく構造に不変性がないのがネック ◦ 今後の発展に期待(データがもっと増えればよくなる?) 60 深さ 活性化関数 学習 BoVW 1層(デスクリ プタは除く) 複雑 識別層以外は (多くの場合)生成的 識別層を独立に構築 ConvNet 多層 シンプル(ReLU) 識別的、end-to- endの学習
  61. 61.  1. 導入:Deep Learning (深層学習)とは? ◦ 1.1 ニューラルネットワークの歴史 ◦ 1.2 画像認識におけるブレークスルー ◦ 1.3 最近の情勢  2. 一般画像認識:Deep Learningのもたらしたパラダイムシフト ◦ 2.1 一般画像認識の紹介 ◦ 2.2 Deep Learning以前の手法: Bag-of-visual-words ◦ 2.3 Deep Learning以後の手法: 畳み込みニューラルネット ◦ 2.4 各手法の比較・考察  3. Deep Learningの数理 ◦ 3.1 ニューラルネットワークの学習法 ◦ 3.2 なぜ優れた性能が実現できるのか? ◦ 3.3 ブレークスルーを産んだコア技術  4. 実践方法 ◦ 4.1 学習アプローチの比較: ◦ 4.2 Caffe, Torch7, Theano ◦ 4.3 パラメータチューニングの勘所  5. 最新の研究動向 ◦ 5.1 より高度な画像理解へ ◦ 5.2 他分野との融合 ◦ 5.3 まとめ・今後の展望 61
  62. 62. ある一定の表現能力を得ようとした場合に…  深いモデルの方が必要なパラメータ数が少なくて済むと考えら れている [Larochelle et al., 2007] [Bengio, 2009] [Delalleau and Bengio, 2011] (※単純なケース以外では完全に証明されていない) 62 (ちゃんと学習 できれば)  汎化性能  計算効率  スケーラビリティ 反論もある: “Do Deep Nets Really Need to be Deep?” [Ba & Caruana, 2014]
  63. 63.  細かく分割できるほどより表現能力が高い  浅いモデルでは、パラメーター数に 対し線形に領域数が増加 ◦ クラスタリング、最近傍法、 カーネル密度推定、SVM、etc. 63 Bengio, “Deep Learning for AI” (http://www.iro.umontreal.ca/~bengioy/talks/AGI-2aug2014.pdf) より一部引用
  64. 64.  深いモデルでは、パラメーター数に 対し指数的に領域数が増加  複数の潜在ノードの活性の 組み合わせで領域を表現可能  一つの入力の情報が複数の ノード(特徴)に分散して表現される = 分散表現 (distributed representation) 64 Bengio, “Deep Learning for AI” (http://www.iro.umontreal.ca/~bengioy/talks/AGI-2aug2014.pdf) より一部引用
  65. 65.  Sum-product network [Poon and Domingos, UAI’11] ◦ 各ノード(ニューロン)が入力の和か積を出力するネットワーク  同じ多項式関数を表現するために必要なノード数の増加が ◦ 浅いネットワークでは指数的 ◦ 深いネットワークでは線形 65 [Delalleau & Bengio, NIPS’11]
  66. 66.  できるだけ少ないパラメータで深い非線形性を与える ◦ 一つのレイヤ内(線形変換)の パラメータを増やすのは効率が悪い  例)畳み込み層 ◦ 7 x 7 の畳み込みは、3 x 3の畳み込み層を3つ積めば意味的に等価  Maxoutは一層内でパラメータを増やす工夫 ◦ NINのように1 x 1の畳み込み層+ReLUを積む方が効率的(?) 66 ≒ 活 性 化 関 数 ( 非 線 形 ) 畳 み 込 み ( 線 形 ) プ ー リ ン グ 7×7 = 49 3×(3×3) = 27 より少ないパラメータで、 より深い非線形性!
  67. 67.  CNNのパラメータの大半は全結合層に集中 ◦ あくまで一層内の線形結合。非線形性は増えない。 ◦ ないよりはあった方がよいが、割に合わない?(タスクによりそう)  NIN, GoogLeNet は全結合層を持たない ◦ 最終層の平均値プーリングをとり、そのままsoft maxへ入力 67 Min Lin et al., “Network In Network”, In Proc. ICLR, 2014.
  68. 68.  GoogLeNetのパラメータ数は、AlexNet (2012) の 1/10以下  全結合層を省略したことが大きい 68 Convolution Pooling Softmax Other http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx GoogLeNet (22層)
  69. 69.  Fisher vector (ILSVRC’11) ◦ 26万次元 × 1000クラス = 約2億6000万  AlexNet (ILSVRC’12) ◦ 約6000万  Network in Network (ILSVRC’13) ◦ 約750万  Deep model の計算コストは“相対的には軽い”! ◦ 同じレベルのパフォーマンスをshallowなアーキテクチャで達成しようと したらもっと大変になる(はず) 69
  70. 70. 70 非 線 形 変 換 フ ィ ル タ (畳 み 込 み ) プ ー リ ン グ 識 別 器 非 線 形 変 換 フ ィ ル タ (畳 み 込 み ) プ ー リ ン グ 輝度勾配 量子化 ヒスト グラム K-means Sparse coding SIFT, HOG, etc. Bag of visual words SVM, etc. 識 別 層 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ 非 線 形 変 換 フ ィ ル タ ( 畳 み 込 み ) プ ー リ ン グ … 従来の方法 (特徴量ベース) 畳み込みニューラルネット • できるだけ作りこむ • いかにして一層の表現能力を上げるか • パラメータを増やし、非線形変換を作りこむ • できるだけ余計なことをしない • 一層一層は極限までシンプルに、パラメー タを減らす • 多層化し、全てをデータに任せる
  71. 71.  根本的に昔と何かが変わったわけではない ◦ 地道に問題を潰していった結果  昔、多層パーセプトロンが失敗した主な理由 ◦ Vanishing gradient:層を遡る過程で誤差が多数のニューロンへ拡散さ れてしまい、パラメータがほとんど更新されない ◦ Overfitting (過学習):訓練データのみに過度に適応する現象 71 × × × × × × × ×
  72. 72.  個人的に重要と思う順番 ◦ 0.データの増加、計算機の高速化 ◦ 1.活性化関数:Rectified linear units (ReLU)の発明 ◦ 2.過学習回避手法:Dropoutの発明 ◦ 3.その他、最適化に関する手法・ノウハウの発達  既に時代遅れなりつつある技術も多い ◦ 教師なし事前学習手法 ◦ 局所コントラスト正規化 ◦ 全結合層、プーリング層もいらないかも? 72
  73. 73.  深層学習ブームの火付け役となった成果 ◦ Hinton and Salakhutdinov, “Reducing the dimensionality of data with neural networks”, Science, Vol. 313, No. 5786, pp. 504 - 507, 2006. ◦ 一層ごとに、restricted Boltzmann machine (RBM)を用いて生成的に初期化 ◦ 全層通した学習を収束させやすくなる&過学習しにくくなる効果がある?  単純なパーセプトロンでない、さまざまな生成モデルネットワークが提案され、 一時代を築く 73 可視層 隠れ層    1,0 ,...,1   l T L v vvv    1,0 ,...,1   m T M h hhh v hWRBM
  74. 74. 尤度 を最大とするようにパラメータを 勾配法で学習 CD法(Contrasive Divergence) による近似を用いる  Restricted Boltzmann machine (RBM) ◦ 可視層(入力)と隠れ層(圧縮表現)からなる無向二部グラフ 74 可視層 隠れ層    1,0 ,...,1   l T L v vvv    1,0 ,...,1   m T M h hhh v hW 同時確率分布:      Z E p hv hv ,exp ,     Whvhcvbhv TTT E , エネルギー:  Wcb ,,パラメータ     h hvv ,pp
  75. 75.  Autoencoder ◦ 入力を復元する二層のニューラルネット ◦ 隠れ層のニューロン数は入力層より少ない ◦ 正則化が重要(Sparse AE, Denoising AE, etc.) 75 入力層 隠れ層 出力層(復元)x z y  bWxz  f  bzWy  f Encoder: Decoder: T WW  とすることが多い (tied weights) 最終的にはここだけ使う
  76. 76.  9層のautoencoder  1000万枚のYouTube画像から教師なし事前学習  これを初期状態として識別的学習を始める ことで識別精度向上  76 Le et al., “Building High-level Features Using Large Scale Unsupervised Learning”, ICML’12. 人の顔に特異的に反応するニューロンが 自動的に獲得された (他、猫なども) ≒“おばあちゃんニューロン”?
  77. 77.  しかしながら…  画像系では最近はほとんど用いられていない  理由: ◦ Dropoutのようなすぐれた正則化方法がその後登場した ◦ 教師付データが十分あれば、ランダムな初期値から十分学習可能 (現在でも、教師付データが少ない場合はある程度有効とされる) 77
  78. 78.  個人的に重要と思う順番 ◦ 0.データの増加、計算機の高速化 ◦ 1.活性化関数:Rectified linear units (ReLU)の発明 ◦ 2.過学習回避手法:Dropoutの発明 ◦ 3.その他、最適化に関する手法・ノウハウの発達 78
  79. 79. 79 シグモイド関数  x,0max  x exp1 1 サチると勾配が 出ない! Rectified linear units (ReLU) [Nair & Hinton, 2010]     ioldi T oldiioldnew fyy xxwww   ˆ (プラスなら)どこでも 一定の勾配 例)単純パーセプトロン の更新式
  80. 80.  すべての入力データが負になると、常に微分がゼロとなる ◦ → パラメータが二度と更新されなくなる 80     ioldi T oldiioldnew fyy xxwww   ˆ 入力データ集合 “死んだ” ニューロン aw bw
  81. 81.  負の側にも少し勾配を与えたReLU  MSR (2015) ◦ PReLU: 負側の勾配係数もパラメータの一つとしてチューニング ◦ ILSVRC’2014 のデータセットで 4.94% error 81 He et al., “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification”, arXiv preprint, 2015. Xu et al., “Empirical Evaluation of Rectied Activations in Convolution”, arXiv preprint, 2015.
  82. 82.  各訓練データ(バッチ)のフィードバックの際に、 一定確率(0.5)で中間ニューロンを無視  認識時は全ニューロンを使うが、結合重みを半分にする  多数のネットワークを混ぜた構造 ◦ 訓練データが各ニューロンで異なるため、 バギングと同様の効果 (ただしパラメータは共有)  L2正規化に近い効果 ◦ [Wager et al., NIPS’13]  以前と比較して大幅な精度向上 ◦ ほぼ必須のテクニック 82 L  iiL yx ,
  83. 83.  Drop connect [Wan et al., ICML’13] ◦ ニューロンではなく、結合をランダムに落とす  Adaptive dropout [Ba et al., NIPS’13] ◦ Dropoutで落とすニューロンをランダムでなく適応的に選択する 83
  84. 84.  各層で、ミニバッチごとに入力を正規化 ◦ 低層の変化に伴う入力の共変量シフトに追従 ◦ 学習を約14倍高速化、精度向上 (特に最近の超多層モデルで効果を発揮) 84 Ioffe and Szegedy, “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”, In Proc. ICML, 2015. 学習
  85. 85.  データの前処理 (かなり重要) ◦ 平均画像の減算 ZCA whitening (白色化) コントラスト正規化など ◦ 最終的な識別性能に大きく影響する  Data augmentation ◦ アフィン変換、クロップなど、人工的に さまざまな変換を学習データに加える ◦ 平行移動以外の不変性を学習させる ◦ GoogLeNetでは144倍にデータ拡張 85 [Zeiler and Fergus, 2013] [Dosovitskiy et al., 2014]
  86. 86.  実際に学習を実行するのは非常に困難 ◦ 設定すべきハイパーパラメータが極めて多い!  Y. Bengio (2012), “Practical recommendations for Gradient-based training of deep architectures” ◦ 学習率の設定・スケジューリング、early stopping ◦ ミニバッチサイズ ◦ ドロップアウトのパラメータ ◦ Early stopping ◦ パラメータ初期化方法 ◦ 隠れ層のニューロン数 ◦ L1/L2 weight decay ◦ Sparsity regularization …などなど 86 最重要! どれか一つチューニング するとしたらこれ
  87. 87.  1. 導入:Deep Learning (深層学習)とは? ◦ 1.1 ニューラルネットワークの歴史 ◦ 1.2 画像認識におけるブレークスルー ◦ 1.3 最近の情勢  2. 一般画像認識:Deep Learningのもたらしたパラダイムシフト ◦ 2.1 一般画像認識の紹介 ◦ 2.2 Deep Learning以前の手法: Bag-of-visual-words ◦ 2.3 Deep Learning以後の手法: 畳み込みニューラルネット ◦ 2.4 各手法の比較・考察  3. Deep Learningの数理 ◦ 3.1 ニューラルネットワークの学習法 ◦ 3.2 なぜ優れた性能が実現できるのか? ◦ 3.3 ブレークスルーを産んだコア技術  4. 実践方法 ◦ 4.1 学習アプローチの比較: ◦ 4.2 Caffe, Torch7, Theano ◦ 4.3 パラメータチューニングの勘所  5. 最新の研究動向 ◦ 5.1 より高度な画像理解へ ◦ 5.2 他分野との融合 ◦ 5.3 まとめ・今後の展望 87
  88. 88.  自分の問題について、どのようにdeep learningを使うべきか? ◦ 十分な効果を得るには、かなり多くの教師付データが必要 ◦ 必ずしもフルスクラッチから学習することが賢いとは限らない  そもそもdeep learningを利用可能な問題か? ◦ (使わない方が幸せなことも多い…) 88
  89. 89.  転移学習 ◦ 新規タスクの効果的な仮説を効率的に見つけ出すために, 一つ以上の別のタスクで学習された知識を得て,それを適用する 問題 [神嶌, 2010]  画像認識の場合 ◦ あるドメイン(データセット)で学習した識別器(特徴抽出器)を 他ドメインでの識別器構築に役立てる 89 ImageNet ILSVRC’12 130万枚、1000クラス PASCAL VOC 2007 5千枚、20クラス
  90. 90.  学習済ネットワークを転用 ◦ 転用先のタスクと何らかの関係がある(と期待できる)十分 に大規模なデータセットで学習したネットワーク  大きく分けると二つのアプローチ ◦ 特徴抽出器として利用 (Pre-trained feature) ◦ Fine-tuning 90
  91. 91.  学習済ネットワークを特徴抽出器として用いる ◦ 中間層の出力を利用して識別器を構築 ◦ どの層を選ぶかは重要(タスク依存?) 91
  92. 92. 92 出力層だけ つけかえ L  iiL yx ,  学習済ネットワークを初期値とし、適用先データセットで さらに学習を進める  教師なし事前学習とは異なる概念であることに注意
  93. 93.  ILSVRC 2012 → VOC 2007 の例 (検出成功率、mAP%) ◦ フルスクラッチCNN: 40.7 ◦ Pre-trained feature: 45.5 ◦ Fine tuning: 54.1 93 Agrawal et al., “Analyzing the Performance of Multilayer Neural Networks for Object Recognition”, In Proc. ECCV, 2014. ImageNet ILSVRC’12 130万枚、1000クラス PASCAL VOC 2007 5千枚、20クラス
  94. 94.  2012年以降も劇的な向上が続いている 94 AlexNet (8層) VGG (19層) GoogLeNet (22層)
  95. 95. 95  ILSVRC 2012 → VOC 2007 でfine-tuningをした場合の 性能比較 (検出成功率、mAP%) ◦ AlexNet : 58.5 ← ILSVRC’12 winner, エラー率16% ◦ Small VGG: 60.2 ◦ VGG-16: 66.0 ← ILSVRC’14 二位, エラー率7.4% Redmon et al., “You Only Look Once : Unied, Real-Time Object Detection”, arXiv preprint, 2015.
  96. 96.  Pre-trainingに用いる外部データセットが、所望のタスクを内包 するものでなければ効果が薄い(むしろ悪化?) ◦ ImageNetはあくまで物体認識のデータセット  参考:Fine-grained competition 2013 96 https://sites.google.com/site/fgcomp2013/ Fisher vector ConvNet (fine- tuning) 飛行機、車、靴データセットなど、ImageNet上にあまりデータが 存在しないドメインに関してはターゲットの学習データのみ用いた Fisher vector (既存特徴量)の方が良かった
  97. 97. 97 教師付データが十分あるか? (少なくとも数万サンプル) ImageNetに含まれそうなタスクか? Yes No No Yes  Deep learning はあきらめる?  頑張るなら: ◦ 教師なし事前学習 ◦ Stackingによる深層モデル  フルスクラッチCNN ◦ ランダムにパラメータ初期化  Pre-trained feature (一番簡単)  Fine tuning (逆でもいいかも)
  98. 98.  2012年頃から、著名な研究チームによる主導権争い ◦ Caffe/Decaf: UC Berkeley ◦ Theano/Pylearn2: Univ. Montreal ◦ Torch7: Univ. New York ◦ Cuda-convnet2 : Univ. Toronto (Alex Krizhevsky) ◦ Chainer : PFI/PFN  いずれも、複数の便利な環境を提供 ◦ C++, Python, Matlabインタフェース ◦ CPUとGPUの切り替えによる開発効率化 ◦ ネットワークパラメータの設定・探索フレームワーク 98 Y. Jia et al., “Caffe: Convolutional Architecture for Fast Feature Embedding”, ACM Multimedia Open Source Competition, 2014.
  99. 99.  画像系では最初にデファクトスタンダードとなった ◦ トップクラスに高速 (C++ベース) ◦ ACM Multimedia のオープンソースコンペティションで優勝 ◦ 現在リファクタリング中とのこと (Caffe2)  Model Zoo ◦ 各研究者の学習済みネットワークを共有 ◦ AlexNetはもちろん、Network in Network、GoogLeNet なども ◦ 最新の成果を極めて容易に試せる ◦ 他のフレームワークからも読み込み可能 99
  100. 100.  Pythonベース  柔軟なネットワーク設計、 効率的なプロトタイピン グが可能 100 http://docs.chainer.org/en/latest/comparison.html
  101. 101.  ネットワーク構造(層、ニューロン数) ◦ ベストの構造を探り当てるのは大変だが、 一般的なものに従えば大外れはしない(と思う) ◦ Fine-tuningならほぼ全て流用  オンライン学習 (SGD) ◦ 学習率、モメンタム、重み減衰率 101 11 1     ttt tt VWW LVV  W tV L   調整必須 マジック ナンバー?
  102. 102.  訓練誤差・予測誤差、過学習・正規化 についての理解が重 要 ◦ 訓練誤差:学習サンプルに対する誤差 ◦ 予測誤差(汎化誤差):未知の入力に対する誤差 検証用のサンプルで評価 102 × × × × × × × × 過学習: 訓練誤差は小さいが、予測 誤差が著しく大きい状況 =訓練サンプルに過度に適応 正規化: 訓練サンプルに過度に適応 しないような制約条件を加える操作
  103. 103. I1120 11:27:09.007803 537 solver.cpp:160] Solving CaffeNet I1120 11:27:09.007859 537 solver.cpp:247] Iteration 0, Testing net (#0) I1120 11:27:17.979998 537 solver.cpp:298] Test net output #0: accuracy = 0.0048 I1120 11:27:17.980051 537 solver.cpp:298] Test net output #1: loss = 5.01857 (* 1 = 5.01857 loss) I1120 11:27:18.068891 537 solver.cpp:191] Iteration 0, loss = 5.38866 I1120 11:27:18.068940 537 solver.cpp:206] Train net output #0: loss = 5.38866 (* 1 = 5.38866 loss) I1120 11:27:18.068958 537 solver.cpp:403] Iteration 0, lr = 0.001 I1120 11:27:19.620609 537 solver.cpp:247] Iteration 10, Testing net (#0) I1120 11:27:28.556694 537 solver.cpp:298] Test net output #0: accuracy = 0.1096 I1120 11:27:28.556756 537 solver.cpp:298] Test net output #1: loss = 4.34054 (* 1 = 4.34054 loss) I1120 11:27:28.634579 537 solver.cpp:191] Iteration 10, loss = 5.02612 I1120 11:27:28.634629 537 solver.cpp:206] Train net output #0: loss = 5.02612 (* 1 = 5.02612 loss) I1120 11:27:28.634642 537 solver.cpp:403] Iteration 10, lr = 0.001 I1120 11:27:30.183964 537 solver.cpp:247] Iteration 20, Testing net (#0) I1120 11:27:39.118187 537 solver.cpp:298] Test net output #0: accuracy = 0.2762 I1120 11:27:39.118242 537 solver.cpp:298] Test net output #1: loss = 3.7547 (* 1 = 3.7547 loss) I1120 11:27:39.196316 537 solver.cpp:191] Iteration 20, loss = 3.64996 I1120 11:27:39.196364 537 solver.cpp:206] Train net output #0: loss = 3.64996 (* 1 = 3.64996 loss) I1120 11:27:39.196377 537 solver.cpp:403] Iteration 20, lr = 0.001 I1120 11:27:40.746333 537 solver.cpp:247] Iteration 30, Testing net (#0) I1120 11:27:49.677788 537 solver.cpp:298] Test net output #0: accuracy = 0.4078 I1120 11:27:49.677836 537 solver.cpp:298] Test net output #1: loss = 2.97932 (* 1 = 2.97932 loss) I1120 11:27:49.755615 537 solver.cpp:191] Iteration 30, loss = 3.5529 I1120 11:27:49.755662 537 solver.cpp:206] Train net output #0: loss = 3.5529 (* 1 = 3.5529 loss) I1120 11:27:49.755676 537 solver.cpp:403] Iteration 30, lr = 0.001 I1120 11:27:51.304983 537 solver.cpp:247] Iteration 40, Testing net (#0) I1120 11:28:00.235947 537 solver.cpp:298] Test net output #0: accuracy = 0.5382 I1120 11:28:00.236030 537 solver.cpp:298] Test net output #1: loss = 2.32026 (* 1 = 2.32026 loss) I1120 11:28:00.313851 537 solver.cpp:191] Iteration 40, loss = 2.67447 I1120 11:28:00.313899 537 solver.cpp:206] Train net output #0: loss = 2.67447 (* 1 = 2.67447 loss) ) 103 予測誤差 訓練誤差
  104. 104.  訓練精度・予測精度がバランスよく上昇し、収束 104 エポック (データを何周したか) 識別精度 予測精度 訓練精度 緩やかな指数関数的 カーブ (数十~百エポックの間で 目に見える程度がよい) 予測精度が訓練精 度のやや下で推移
  105. 105. ① 訓練誤差が減っていない ◦ 学習そのものが破綻 ② 訓練誤差は減っているが、予測誤差が非常に大きい ◦ 過学習(オーバーフィッティング) ③ 訓練誤差と予測誤差がほとんど変わらない ◦ アンダーフィッティング ◦ 致命的ではないが、もったいない(もっと精度を上げられる) 105
  106. 106.  学習そのものが破綻している (gradient explosion) → 学習率を小さくする 106 エポック 誤差
  107. 107.  しかし一筋縄ではいかない…  学習率が大きすぎる例 ◦ すぐ頭打ちになる ◦ 途中で突然で破綻する ことも多い  学習率が小さすぎる例 ◦ おおむね線形に見える場合 ◦ 最終的にいいところまで行くが、 時間がかかりすぎる 107
  108. 108.  過学習(オーバーフィッティング) → 1. 正規化を強くする (dropout の割合を増やす) 2. ネットワークを小さくする(層、ニューロン数を減らす) (3. データを増やす) 108 予測精度 訓練精度 大きな ギャップ
  109. 109.  アンダーフィッティング  モデルの表現能力が足りない → ネットワークを大きくする 層数、ニューロン数を増やす 109 予測精度 訓練精度
  110. 110.  時間の経過 (=学習の進行) に伴い、 学習率を小さくしていく操作  例)cuda-convnet チュートリアル (Krizhevsky) ◦ 0.001 (150エポック) → 0.0001 (10エポック) → 0.00001 (10エポック) ◦ 精度向上が頭打ちになったら下げてみる?  あるいは、単純に時間減衰させることもある ◦ 1/t, exp(-t) など  学習率を自動的に調整する最適化手法も有効 ◦ Adam [Kingma+, 2015], AdaGrad [Duchi+, 2011] など ◦ 多くの実用的な問題でよい性能を出すが、 しっかり学習率をスケジューリングされたSGDの方が優れているとされる 110
  111. 111.  1. 導入:Deep Learning (深層学習)とは? ◦ 1.1 ニューラルネットワークの歴史 ◦ 1.2 画像認識におけるブレークスルー ◦ 1.3 最近の情勢  2. 一般画像認識:Deep Learningのもたらしたパラダイムシフト ◦ 2.1 一般画像認識の紹介 ◦ 2.2 Deep Learning以前の手法: Bag-of-visual-words ◦ 2.3 Deep Learning以後の手法: 畳み込みニューラルネット ◦ 2.4 各手法の比較・考察  3. Deep Learningの数理 ◦ 3.1 ニューラルネットワークの学習法 ◦ 3.2 なぜ優れた性能が実現できるのか? ◦ 3.3 ブレークスルーを産んだコア技術  4. 実践方法 ◦ 4.1 学習アプローチの比較: ◦ 4.2 Caffe, Torch7, Theano ◦ 4.3 パラメータチューニングの勘所  5. 最新の研究動向 ◦ 5.1 より高度な画像理解へ ◦ 5.2 他分野との融合 ◦ 5.3 まとめ・今後の展望 111
  112. 112.  Categorization (カテゴリ識別) ◦ 映ってる物体の名称を答える ◦ 物体の位置を答える必要はない  Detection (物体検出) ◦ 矩形で物体の位置を切り出す  Semantic Segmentation ◦ ピクセルレベルで物体領域を認識 112 horse human horse human horse human 易 難
  113. 113.  R-CNN [Girshick et al., CVPR’2014] ◦ 物体の領域候補を多数抽出(これ自体は別手法) ◦ 無理やり領域を正規化し、CNNで特徴抽出 ◦ SVMで各領域を識別 113 Girshick et al., “Rich feature hierarchies for accurate object detection and semantic segmentation”, In Proc. CVPR, 2014.
  114. 114. 114 ランダムに選んだテスト画像の認識結果 (いいところだけ見せているのではない!) Girshick et al., “Rich feature hierarchies for accurate object detection and semantic segmentation”, In Proc. CVPR, 2014.
  115. 115.  基本構造はR-CNNと同じで、 CNN部分をGoogLeNetに置き換え  検出率(mAP、200クラス) ◦ ILSVRC 2013 winner: 22.6% ◦ R-CNN: 31.4% ◦ GoogLeNet: 43.9% ◦ Googleチームの続報(2014年12月): 55.7% 115 Szegedy et al., “Scalable, High-Quality Object Detection”, arXiv, 2014.
  116. 116.  Fast R-CNN [Girshick, 2015] ◦ Region warping を各領域ごとの pooling操作に置換 ◦ 識別速度を数百倍高速化 ◦ 学習の効率化  Faster R-CNN [Ren et al., 2015] ◦ 物体候補領域生成から識別層までend-to-endで学習 ◦ より少ない候補から高精度な認識 116
  117. 117.  Fully-connected CNN ◦ ピクセルレベルで物体カテゴリを予測するモデル ◦ [Long et al., CVPR’15]  Segmentation + Detection (同時最適化) ◦ [Hariharan et al., ECCV’14] 117
  118. 118.  Hypercolumns [Hariharan et al., CVPR’15] ◦ 各ピクセルについて、位置的に対応する中間層の反応を すべてとり特徴量として用い、識別器を学習 118
  119. 119.  2014年11月、同時多発的にいろんなグループが発表 ◦ arXivで公開 (CVPR 2015へ投稿) ◦ Recurrent Neural Network (RNN) が言語モデルとして大人気  Google ◦ O. Vinyals et al., “Show and Tell: A Neural Image Caption Generator”, 2014.  Microsoft ◦ H. Fang et al., “From Captions to Visual Concepts and Back”, 2014.  Stanford ◦ A. Karpathy and L. Fei-Fei, “Deep Visual-Semantic Alignments for Generating Image Descriptions”, 2014.  UC Berkeley ◦ J. Donahue et al., “Long-term Recurrent Convolutional Networks for Visual Recognition and Description”, 2014.  Univ. Toronto ◦ R. Kiros et al., “Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models”, 2014 119
  120. 120.  Microsoft COCO [Lin et al., 2014] 30万枚以上  SBU Captioned Photo Dataset [Ordonez et al., 2011] 100万枚 120
  121. 121.  自分の一個前の隠れ状態を再入力するネットワーク  隠れ状態は、入力系列の記憶を全て保持した分散表現となる  理論的には、任意のタイムスケールでの入出力依存関係を表現可能 121 hhW tx ty th 1th xhW hyW    thyyt txhthhht W WW hy xhh     1 入力 出力
  122. 122.  静的なネットワークとして書ける ◦ 普通のパーセプトロンと同様、誤差逆伝播による学習が可能  他の深層モデル同様、誤差消失により実際には遠い依存関係の 学習が困難であったが、LSTM [Hochreiter+, 1997] により大幅な進展 122 1Th Th0h 1h 0x 1x 1Tx Tx 0y 1y 1Ty Ty ・・・ hhW xhW hyW hhW xhW hyW hhW xhW hyW hyW xhW hhW
  123. 123.  Sequence two sequence [Sutskever+, NIPS’14] ◦ 二つのRNN (LSTM) を接続し、英語・フランス語単語列の 入出力関係を学習 123 Sutskever et al., “Sequence to Sequence Learning with Neural Networks”, In Proc. NIPS, 2014. (英語) (フランス語) 入力用ネットワーク 出力用ネットワーク
  124. 124.  CNN (画像側)の出力をRNN(言語側)へ接続 ◦ RNN側の誤差をCNN側までフィードバック 124 O. Vinyals et al., “Show and Tell: A Neural Image Caption Generator”, In Proc. CVPR, 2015.
  125. 125.  領域ベース (RCNNを利用) 125 A. Karpathy and L. Fei-Fei, “Deep Visual-Semantic Alignments for Generating Image Descriptions”, In Proc. CVPR, 2015.
  126. 126. 126  共通の上位レイヤ(潜在空間)へマッピング [Kiros et al., 2014] ◦ 異なるモダリティ間での“演算”が可能 R. Kiros et al., “Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models”, TACL, 2015.
  127. 127. 127 [Kiros et al., 2014]
  128. 128. 128 [Kiros et al., 2014]
  129. 129.  LSTMを用いた質問入力と回答の対応関係学習 129 H. Gao et al., “Are You Talking to a Machine? Dataset and Methods for Multilingual Image Question Answering”, 2015. M. Ren et al., “Image Question Answering: A Visual Semantic Embedding Model and a New Dataset”, 2015.
  130. 130.  NNを使った機械翻訳モデルの応用  質問文に加え、CNN対象画像の特徴抽出を行い、 回答文生成のRNNへ入力 130 H. Gao et al., “Are You Talking to a Machine? Dataset and Methods for Multilingual Image Question Answering”, 2015.
  131. 131.  入力の“どこ”へ注目するか ◦ 画像認識に限らず、深層学習全体でホットなトピック 131 Mnih et al., “Recurrent Models of Visual Attention”, In Proc. NIPS, 2014. 注目領域(中心) の遷移
  132. 132.  RNNによる文章生成において、各単語の出力に対応する画像領域に アテンションをかける 132 Xu et al., “Show, Attend and Tell: Neural Image Caption Generation with Visual Attention”, In Proc. ICML, 2015.
  133. 133. 133 Xu et al., “Show, Attend and Tell: Neural Image Caption Generation with Visual Attention”, In Proc. ICML, 2015.
  134. 134.  認識しやすいように入力を変形させるモジュールを追加 ◦ Attention に領域正規化の要素を加えた一般化 134 Jaderberg et al., “Spatial Transformer Networks”, arXiv preprint, 2015.
  135. 135.  Deep Q-learning [Mnih et al, NIPS’13, Nature’15] ◦ DeepMind (Googleに買収されたベンチャー)の発表 ◦ 強化学習の報酬系に畳み込みネットワークを接続(生画像を入力) ◦ アタリのクラッシックゲームで人間を超える腕前 135 Mnih et al., “Human-Level Control Through Deep Reinforcement Learning”, Nature, 518(7540):529–533, 2015.
  136. 136.  人工的に生成した、各カテゴリに強い反応を示す画像の例  学習した知識の隙を突くことでたやすく騙せる(脆弱性?) 136 Nguyen et al., “Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images”, In Proc. CVPR, 2015. ≧ 99.6% certainty
  137. 137.  入力画像をわずかに変化させることで、CNNの認識結果を変化させる ことができる ◦ ワーストケースの方向へ引っ張る 137 Goodfellow et al., “Explaining and harnessing adversarial examples”, In Proc. of ICLR, 2015.
  138. 138. 138 Szegedy et al., “Intriguing properties of neural networks”, 2014. Correct “Ostrich”Perturbation Correct “Ostrich”Perturbation
  139. 139.  ニューロンの反応を強化するように入力画像を変形 ◦ 各場所で“見えているもの”をより極端に 139 http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html
  140. 140.  完全なランダムノイズ画像から出発させた例 140 http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html
  141. 141.  生成モデルの構築にDNNを利用 [Kingma et al., NIPS’14] 141 クエリ 自動生成された画像 Kingma et al., “Semi-supervised Learning with Deep Generative Models”, In Proc. of NIPS, 2014.
  142. 142.  Generative adversarial nets [Goodfellow et al., 2014] [Denton et al., 2015] ◦ 訓練サンプル集合とできるだけ“見分けにくい”画像を作る生成モデルを学習 142 Facebook AI Researchの 最新の発表(6月)では、 生成したサンプルの約40%が 人間の評価者に本物の画像と 間違われる! Denton et al., “Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks”, arXiv preprint, 2015.
  143. 143.  生成的CNNを使った補間画像生成 [Dosovitskiy et al., 2015] 143 モデル1 モデル2生成された補間画像 Dosovitskiy et al., “Learning to Generate Chairs with Convolutional Neural Networks”, In Proc. CVPR, 2015. クラス、角度、 etc.
  144. 144.  格子状にRNN-LSTM素子を配置し、縦横に操作  CNNと同様の構造が自然に入るが、画像全体の情報を加味して畳み込 みフィルタが学習される点が異なる  最新のCNNと互角の識別性能 144 Visin et al., “ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks”, arXiv, 2015.
  145. 145.  映像認識 ◦ 487クラスの スポーツカテゴリ認識 [Karpathy., CVPR’14]  RGB-D物体認識 ◦ [Socher et la., NIPS’13] 145
  146. 146. 146 Karpathy et al., “Large-scale video classification with convolutional neural networks”, In Proc. CVPR, 2014.
  147. 147. 147
  148. 148. 148
  149. 149. 149
  150. 150. 150 Simonyan et al., “Two-stream convolutional networks for action recognition in videos”, In Proc. NIPS, 2014.
  151. 151. 151
  152. 152. 152
  153. 153. 153 Ji et al., “3D convolutional neural networks for human action recognition”, TPAMI, 2013.
  154. 154. 154 Molchanov et al., “Hand Gesture Recognition with 3D Convolutional Neural Networks”, In Proc. CVPR Workshop on Hand gesture recognition, 2015
  155. 155. 155
  156. 156. 156 Donahue et al., “Long-term recurrent convolutional networks for visual recognition and description”, In Proc. CVPR, 2015.
  157. 157.  マルチモーダル映像認識 157
  158. 158. 158 モダリティA (RGB画像) モダリティB (オプティカルフロー) モダリティC (デプス画像)
  159. 159. 159
  160. 160. 160
  161. 161. 161
  162. 162.  画像認識分野で deep learning がもたらした変化 ◦ Bag-of-words → CNN ◦ 一層ごとの基本的な構造は同じ ◦ “作りこみ”から“データ任せ”へ  Deep learning の本質 ◦ 構造を深くすることにより、少ないパラメータで強い非線形変換を表現できる ◦ 一層一層はできるだけシンプルにして、積み重ねるのが結局近道  実践方法 ◦ フルスクラッチ vs fine-tuning & pre-trained feature ◦ 訓練誤差・予測誤差の挙動をみながら、 学習率に特に気を付けてチューニング 162 活 性 化 関 数 ( 非 線 形 ) 畳 み 込 み ( 線 形 ) プ ー リ ン グ
  163. 163.  CNNの性能向上・新タスク応用はまだ続きそう ◦ 入出力がきっちり定義されるタスクは基本的に得意  ただし、十分な学習データの有無がボトルネック ◦ Deep learningは画像認識で特に華々しく成功しているように見えるが、 実はImageNet絡み以外ではそこまで圧倒的というわけではない ◦ 動画像認識等ではまだ発展途上(データが足りない?) ◦ その時々で流行る手法もデータ量との関係に注意すべき  CNNは本当に最良の構造なのか? ◦ 全結合ネットワークなどは今後成功するか ◦ 真の意味でブラックボックスになるか  より汎用的な人工知能へ近づくことはできるか? ◦ 分散表現はどこまで行けるのか ◦ 深い意味構造の理解、記憶、思考、計画、創造… 163

×