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と画像認識   ~歴史・理論・実践~

308,209 views

Published on

Deep Learningと画像認識   ~歴史・理論・実践~

Published in: Science

Deep Learningと画像認識   ~歴史・理論・実践~

  1. 1. Nakayama Lab. Machine Perception Group The University of Tokyo 東京大学 大学院情報理工学系研究科 創造情報学専攻 中山研究室 中山 英樹
  2. 2. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 2
  3. 3. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 3
  4. 4. Nakayama Lab. Machine Perception Group The University of Tokyo  機械学習(教師付) 4 “cat” (){}Niyii,...,1,,=xxy 未知のデータ(学習データに含まれない)を正しく認識させることが目標 大量のラベル付き訓練データ (x:画像,y:ラベル) … cat dog bird
  5. 5. Nakayama Lab. Machine Perception Group The University of Tokyo  ニューラルネットワークを用いた人工知能の 構築技術の総称 ◦ 脳(神経細胞)の働きを模した学習アルゴリズム  特に、深く大規模な構造を備えていることが特徴 5 cat cat dog horse
  6. 6. Nakayama Lab. Machine Perception Group The University of Tokyo  脳神経系を模した数学モデル  ネットワークを形成する多数の人工ニューロンのシナプ ス結合強度を変化させて問題解決能力を獲得する 6 ニューロンモデル 神経細胞(ニューロン) 閾値 入力2 入力1 出力 結合荷重 ニューロン(核) シナプス
  7. 7. Nakayama Lab. Machine Perception Group The University of Tokyo  単純パーセプトロン (1960s~) ◦ 入力値の線形結合 + 活性化関数による非線形変換 ◦ 例) 7 y2xnx1w2wnw1x(.)f () θ−= = xwTvvfy … 活性化関数 ()  > =otherwise001ηηf ステップ関数 → McCulloch & Pitts モデル (1943) Rosenblatt のMark 1 perceptron hardware (1960) ()()ηη −+ = exp11f シグモイド関数 実用上便利で最もよく用いられてきた (ロジスティック回帰と等価) 入力 出力 結合重み バイアス
  8. 8. Nakayama Lab. Machine Perception Group The University of Tokyo  線形識別平面を作ることに対応  訓練サンプルが正しく識別されるように 少しずつパラメータを更新 8 {}{}1,0,,∈iiiyyx i番目の訓練サンプル エラーに説明変数をかけたもの y2x1w2w1x(.)f () ()()iiTiiiifyyyyLxxwww θ−′−−= ∂ −∂ ⋅= ∂ ∂ ˆ ˆ 212 × × × × × × × × 1x2x θ=+2211xwxw()()ioldiTo ldiioldnewfyyxxwwwθη−′−+=ˆ wΔ
  9. 9. Nakayama Lab. Machine Perception Group The University of Tokyo  非線形な識別は原理的に不可能 ◦ 例: XOR 9 × × × × × × × × 1x2x ? 以降、第一次ニューラルネット ブームは急速に下火に…
  10. 10. Nakayama Lab. Machine Perception Group The University of Tokyo  多層パーセプトロン (1980s~1990s)  多数の単純パーセプトロンを階層的に組み合わせる ◦ パラメータ最適化はNP困難だが、誤差逆伝播法で局所解へ収束  十分な数のニューロンが隠れ層にあれば、任意の非線形連続関数は 3層のネットワークで近似できる 10 yxz 隠れ層 (陽に観測されない)
  11. 11. Nakayama Lab. Machine Perception Group The University of Tokyo 11 βαα∂ ∂Lβ∂ ∂Lyxhiddenfoutfz 2ˆ 21iiLyy−= i番目の訓練サンプル  やること自体は単純パーセプトロンと同じ  訓練サンプルをフィードフォワードし、得られた出力誤差を小さくす る方向へパラメータを更新  上層からのchain ruleで誤差を順に低層へフィードバック {}iiyx, 二乗誤差 (教師ラベルとのずれ) ixiyˆ フィードフォワード フィードバック
  12. 12. Nakayama Lab. Machine Perception Group The University of Tokyo  誤差逆伝播学習は実際にはあまりうまく働かず…  問題点 ◦ 入力に近い層の学習が遅い(層を遡る過程で誤差が多数のニューロンへ 拡散されてしまい、パラメータがほとんど更新されない) ◦ 過学習しやすい(訓練データのみに過度に適応する現象) 12 × × × × × × × ×
  13. 13. Nakayama Lab. Machine Perception Group The University of Tokyo  ある論文の冒頭 [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. 13
  14. 14. Nakayama Lab. Machine Perception Group The University of Tokyo  Deep learning (深層学習) (2006~) [Hinton and Salakhutdinov, Science, 2006]  従来扱われてきたよりもさらに多層のニューラルネット ◦ 2010年頃で7~8層程度。現在は20層以上のものも。  音声認識・画像認識・自然言語処理などさまざまな分野 で圧倒的な性能を達成  生データから目的変数に至るend-to-endの構造を学習 ◦ 従来の特徴量(に相当する構造)も自動的に獲得 ◦ パターン認識の文脈では表現学習(representation learning)と ほぼ同義で扱われることも 14
  15. 15. Nakayama Lab. Machine Perception Group The University of Tokyo 15 http://icml2011speechvision.files.wordpress.com/2011/06/visionaudio.pdf
  16. 16. Nakayama Lab. Machine Perception Group The University of Tokyo  ImageNet large-scale visual recognition challenge (ILSVRC) 2012 ◦ 1000クラスの物体画像識別コンペティション  Deep learning を用いたシステムが圧勝 ◦ トロント大学Hinton先生のチーム 16 [A. Krizhevsky et al., NIPS’12] エラー率が一気に10%以上減少! (※過去数年間での向上は1~2%)
  17. 17. Nakayama Lab. Machine Perception Group The University of Tokyo  ニューロン数 ◦ 人間: 約10^11 (1000億) ◦ AdamNet:約10^6 (100万) ◦ Google: 1兆個のニューロンによるニューラルネットを計画? 17 Source: Y. Bengio, Tutorial@KDD’14 http://www.wired.com/2013/05/hinton/
  18. 18. Nakayama Lab. Machine Perception Group The University of Tokyo  領域分割 (シーンラベリング) ◦ ピクセルレベルで物体領域を認識 ◦ [Farabet et al., PAMI’13] RGB-D物体認識 ◦[Socher et la., NIPS’13] 18
  19. 19. Nakayama Lab. Machine Perception Group The University of Tokyo  RGB-Dシーンラベリング ◦ [Wang et al., ECCV’14] 映像 認識 ◦487クラスのビデオカテゴリ認識 [Karpathy., CVPR’14] 19
  20. 20. Nakayama Lab. Machine Perception Group The University of Tokyo  Deep Q-learning [Mnih et al, NIPS’13] ◦ 強化学習の報酬系の入力に畳み込みネットワークを利用(生画像を入力) ◦ アタリのクラッシックゲームで人間を超える腕前  RNN + LSTM による深い意味構造の理解 ◦ プログラムコードの理解 [Zaremba, 2014] ◦ if、for等の意味はおろか、 文字・数字の違いすら教えていない! 20
  21. 21. Nakayama Lab. Machine Perception Group The University of Tokyo 21
  22. 22. Nakayama Lab. Machine Perception Group The University of Tokyo  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 氏がトップ 22 AI研究者Yoshua Bengio氏の見方によ ると、世界にディープラーニングの優れ た専門家が50人くらいしかいないという。 でも以下の特許例からも推測できるよう に、DeepMindが優れたディープラーニ ング研究者を擁していることが,AIコミュ ニティー内では知られていた。 DeepMindを買収すれば、世界のトップ 研究者50人のうち12人を一気に抱える ことができるのだ。 http://www.huffingtonpost.jp/zenichiro- tanaka/google-manhattan- plan_b_4701358.html
  23. 23. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 23
  24. 24. Nakayama Lab. Machine Perception Group The University of Tokyo  制約をおかない実世界環境の画像を単語で記述 ◦ 一般的な物体やシーン、形容詞(印象語) ◦ 2000年代以降急速に発展(コンピュータビジョンの人気分野) ◦ 幅広い応用先 デジタルカメラ、ウェアラブル、画像検索、ロボット、…
  25. 25. Nakayama Lab. Machine Perception Group The University of Tokyo 25 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” ・・・ 人手で設計 人手で設計/教師なし学習
  26. 26. Nakayama Lab. Machine Perception Group The University of Tokyo 26 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]
  27. 27. Nakayama Lab. Machine Perception Group The University of Tokyo 1. 局所特徴抽出 ◦ SIFT, SURF, HOG, etc. ◦ Dense sampling (回転、スケールの 正規化なし)         1.02.15.0 e.g. SIFT記述子       0.05.0000.1        0.00.05.05.00        0.10000  …  画像中の局所特徴の分布(統計情報)を表現する 大域的特徴ベクトルを抽出 2. エンコーディング ◦ ベクトル量子化 ◦ 多項式特徴(要素積) 3. プーリング ◦ 最大値プーリング ◦ 平均値プーリング
  28. 28. Nakayama Lab. Machine Perception Group The University of Tokyo  ベクトル量子化により局所特徴のヒストグラムを作成 28 学 習 用 画 像 局所特徴 Codebook 前 処 理 Source: K. Yanai K-means クラスタリング ixixixixixixixixixix
  29. 29. Nakayama Lab. Machine Perception Group The University of Tokyo  つまり… ◦ 最近傍のvisual wordに対応するコードに対してのみ1、 それ以外に0を埋める最も単純な局所特徴エンコーディング ◦ 平均値プーリング 29       00001         00100        01000  … M次元 (visual wordsの数)       3.09.01.05.02.0  画像中の全局所特徴 平均ベクトル [Wang et al., CVPR’10]
  30. 30. Nakayama Lab. Machine Perception Group The University of Tokyo  ベクトル量子化のreconstruction error を低減させる ◦ 局所特徴の空間はサンプル数の割に高次元 ◦ 複数の基底(visual words)を用いてエンコーディング ◦ 最大値プーリングと合わせて用いる場合が多い 30 [Wang et al., CVPR’10] [Yang et al., CVPR’09]
  31. 31. Nakayama Lab. Machine Perception Group The University of Tokyo M: visual wordの数 d: 局所特徴量の次元数 手法 統計量 特徴ベクトルの次元数 BoVW 個数(割合) M VLAD [Jegou+,CVPR’10] 平均 Md Super vector [Zhou+, ECCV’10] 割合+平均 M(d+1) Fisher vector [Perronnin+, ECCV’10] 平均+分散 2Md Global Gaussian [Nakayama+, CVPR’10] 平均+分散共分散 d(d+1)/2 (M=1) VLAT [Picard+ ICIP’11] 平均+分散共分散 Md(d+1)/2 基本的には、局所特徴分布のさまざまな統計量を素性として特徴ベクトル化 していると解釈できる
  32. 32. Nakayama Lab. Machine Perception Group The University of Tokyo  VLAD [Jegou et al., CVPR’10] ◦ 各visual wordに属する局所特徴の平均ベクトルを列挙 ◦ 1次の統計量  Fisher vector [Perronnin et al., ECCV’10] ◦平均に加え、分散も利用 ◦混合正規分布と情報幾何を 用いたエンコーディング ◦1次, 2次の統計量 32 1b2b3b() () () ()       − − ΣΣ= =  21: 2: 1bxxbxxbxbxNNNN L2正規化 http://people.rennes.inria.fr/Herve.Jegou/courses/2012_cpvr_tutorial/ 4-new-patch-agggregation.pptx.pdf
  33. 33. Nakayama Lab. Machine Perception Group The University of Tokyo  いずれも、多項式特徴を用いたエンコーディング + 平均値プーリングであると解釈できる  VLAD ◦ 各局所特徴 について  Fisher vector ◦ 同様に、 に加え の項を対応するvisual wordの場所へ列挙 (※厳密には、Fisher情報行列による変換が入る) 33 diR∈xix()Tcdid cicibxbxbx0000000000002211−−− d個 d個 d個 最近傍のvisual word (c番目 とする)との差分 ik x()2ik x
  34. 34. Nakayama Lab. Machine Perception Group The University of Tokyo  Fisher vectorなど、高次統計量(多項式特徴によるエンコーディング) を利用した手法が強力  ただし、非常に高次元な特徴ベクトルとなる ◦ 例えば、ILSVRC’11で用いられたシステムでは (64 + 64) * 256 * 8 = 262,144次元 34 Fisher vector 平均 分散 領域数 Visual words数 (GMMの 混合数) K. Chatfield, V. Lempitsky, A. Vedaldi, A. Zisserman, “The devil is in the details: an evaluation of recent feature encoding methods”, In Proc. BMVC, 2011.
  35. 35. Nakayama Lab. Machine Perception Group The University of Tokyo  畳み込みニューラルネットワーク ◦ 脳の視覚野の構造を取り入れた多層パーセプトロン ◦ ニューロン間の結合を局所に限定(パラメータ数の大幅な削減) 最初に基本構造が提案されたのは実はかなり昔 ◦ネオコグニトロン (福島邦彦先生、1980年代前後) 35 [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.
  36. 36. Nakayama Lab. Machine Perception Group The University of Tokyo  局所領域(受容野)の畳み込みとプーリングを繰り返す 多層ネットワーク ◦ 段階的にスケールを変えながら、局所的な相関パターンを抽出 ◦ プーリングにより、局所的な平行移動不変性を確保 36 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. 最終的に、識別したいクラス数 と同数のニューロンへ
  37. 37. Nakayama Lab. Machine Perception Group The University of Tokyo  一般的なフィルタだと… ◦ 例)エッジ抽出  識別に有効なフィルタ(カーネル)をデータから学習 ◦ 係数をチューニング 37 Source: M. Ranzato, CVPR’14 tutorial slides
  38. 38. Nakayama Lab. Machine Perception Group The University of Tokyo  色の違いは異なる畳み込みフィルタを示す ◦ 各フィルタのパラメータは全ての場所で共有 38 ※もちろん入力は生画像のみ とは限らない(中間層など) ()θφ−∗=hwr 非線形活性化関数(とても重要) フィルタの係数 例えば、5x5の畳み込み、 10チャンネルの入力の場合、 5x5x10=250個 入力 バイアス Source: M. Ranzato, CVPR’14 tutorial slides
  39. 39. Nakayama Lab. Machine Perception Group The University of Tokyo  一定領域内の畳み込みフィルタの反応をまとめる ◦ 領域内での平行移動不変性を獲得 39 Source: M. Ranzato, CVPR’14 tutorial slides 平均値プーリング、 最大値プーリングなど
  40. 40. Nakayama Lab. Machine Perception Group The University of Tokyo  フリーパラメータが存在するのは畳み込み層、全結合層 ◦ 大半は全結合層に集中  誤差逆伝播法で最適化 ◦ 実際には、ミニバッチ法で誤差をある程度まとめてパラメータを更新 (100枚単位など)  初期値はランダムに与える場合が多い ◦ ただし、大量の教師付データが必要 40 LΔ()iiLyx, 訓練サンプル ixiyˆ Source: [Smirnov et al., 2014]
  41. 41. Nakayama Lab. Machine Perception Group The University of Tokyo  層を上るにつれ、クラスの分離性能が上がる 41 第1層 第6層 ILSVRC’12 の validation data (色は各クラスを示す) J. Donahue et al., “DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition”, In Proc. ICML, 2014.
  42. 42. Nakayama Lab. Machine Perception Group The University of Tokyo 42 Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
  43. 43. Nakayama Lab. Machine Perception Group The University of Tokyo 43 Matthew D. Zeiler and Rob Fergus, “Visualizing and Understanding Convolutional Networks”, In Proc. ECCV, 2014.
  44. 44. Nakayama Lab. Machine Perception Group The University of Tokyo  エンコーディング+プーリングの構造自体は同じ(活性化関数が違う) ◦ 例えばSIFT-BoVWの場合、4x4の畳み込みと解釈できる ◦ スパースコーディングに代表されるようなアサインメント の工夫は活性化関数の工夫と解釈できる BoVW ◦線形射影 + 非線形な活性をとる点で全く同じ ◦Coatesらのエンコーディング方法 (2012) これは, 活性化関数にReLU(後述)を用いた場合の畳み込みに他ならない 44 球面k-meansの場合 エンコーディング: A. Coates, A. Ng, “Learning Feature Representations with K-Means”, Neural Networks: Tricks of the Trade, pp.561-580, 2012.  = 01)(ijs
  45. 45. Nakayama Lab. Machine Perception Group The University of Tokyo  勾配が出やすいように関数の設計を工夫  区分線形関数が良好な性能を示すことが分かってきた 45 シグモイド関数 Rectified linear units (ReLU) [Nair & Hinton, 2010] Maxout [Goodfellow, 2013] 多数の線形関数のmax (任意の閾値関数を近似) ()x,0max()x−+exp11 サチると勾配が 出ない!
  46. 46. Nakayama Lab. Machine Perception Group The University of Tokyo 46 [山下隆義先生、MIRU’14 チュートリアルスライドより]  複数のカーネル(畳み込みフィルタ)を束ね、最大値をとる
  47. 47. Nakayama Lab. Machine Perception Group The University of Tokyo  現在、画像認識において最も性能がよいアーキテクチャ ◦ ILSVRC’14トップのGoogleチームもNINがベース  活性化関数自体を多層パーセプトロンで学習(Maxoutの一般化)  最後に全結合層をおかなくても十分な性能 ◦ 見た目は複雑だが実はパラメータ数は減っている 47 Maxoutはここで最大値 をとるだけ(固定的) Min Lin et al., “Network In Network”, arXiv preprint, 2013.
  48. 48. Nakayama Lab. Machine Perception Group The University of Tokyo  実装上、1x1の畳み込み層を重ねることと等価 (本来の意味で畳み込みではないが)  Deep learning的にはこちらの解釈の方が自然か 48 Min Lin et al., “Network In Network”, arXiv preprint, 2013. 活性化関数はいずれもReLU http://www.image- net.org/challenges/LSVRC/2014/slides/ILSVRC2014_NUS_release.pdf
  49. 49. Nakayama Lab. Machine Perception Group The University of Tokyo  Fisher vector、VLAD等は受容野内の特徴の低次多項式表現を 入力とする活性化関数を設計していると解釈できる ◦ これは、普通のConvNetでは得られない構造  比較的小規模な多層ネットワークにより、多項式表現はモデル化可能 ◦ Andoni et al., “Learning Polynomials with Neural Networks”, ICML’14. つまり、NINでは活性化関数自体を多層ネットワークに分解すること により、Fisher vectorやVLADと同じ(あるいはさらに高次の)構造を、 識別の点でより効率よく学習できていると期待できる ◦結局、どこまでを活性化関数と考えるかの問題 49
  50. 50. Nakayama Lab. Machine Perception Group The University of Tokyo  全結合ネットワーク ◦ 極めて多くのパラメータ ◦ 最適化が困難  収束まで時間がかかる  そもそもメモリにのらない MNISTデータセット(28x28ピクセル)のような小さい画像を 用いて古くから研究されているが、今のところConvNetには遠 く及ばない 50 Source: M. Ranzato, CVPR’14 tutorial slides
  51. 51. Nakayama Lab. Machine Perception Group The University of Tokyo  局所結合ネットワーク ◦ 構造はConvNetと同じだが、フィルタの パラメータに場所ごとで異なる ◦ つまり、平行移動不変性がない  入力画像の正確なアラインメントが前提となっている場合、 state-of-the-artの場合もある ◦ DeepFace [Taigman et al., CVPR’14]  一般的な画像認識ではまだConvNetに劣る 51 Source: M. Ranzato, CVPR’14 tutorial slides
  52. 52. Nakayama Lab. Machine Perception Group The University of Tokyo  局所的な畳み込み + poolingという基本構造は今までの画像認識 (BoVW)と変わらない。 ◦ 正確には、BoVW系が2000年代に一旦追いつき追い越し、 再び逆転されたと見るべきか ◦ 多層化、活性化関数の工夫、結合パラメータの全層最適化  より一般的な全結合・局所結合ネットワークなどはいまひとつ ◦ おそらく構造に不変性がないのがネック ◦ 今後の発展に期待(データがもっと増えればよくなる?) 52 深さ 活性化関数 学習 BoVW 1層(デスク リプタは除く) 複雑 (多くは) 生成的 ConvNet 多層 シンプル (ReLU) 識別的
  53. 53. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 53
  54. 54. Nakayama Lab. Machine Perception Group The University of Tokyo  やっていること自体は本質的に同じ ◦ 繰り返しの深さ、活性化関数の性質が異なる 54 SIFT等に相当 (第一畳み込み層) BoVWに相当(線形射影+非線形活性化関数) (第二畳み込み層) 構造を深くすることの意味は何だろうか?
  55. 55. Nakayama Lab. Machine Perception Group The University of Tokyo ある表現能力を得ようとした場合に…  深いモデルの方が必要なパラメータ数が少なくて済むと考 えられている [Larochelle et al., 2007] [Bengio, 2009] [Delalleau and Bengio, 2011] (※単純なケース以外では完全に証明されていない) 55 (ちゃんと学習 できれば)  汎化性能  計算効率  スケーラビリティ 反論もある: “Do Deep Nets Really Need to be Deep?” [Ba & Caruana, 2014]
  56. 56. Nakayama Lab. Machine Perception Group The University of Tokyo  Sum-product network [Poon and Domingos, UAI’11] ◦ 各ノード(ニューロン)が入力の和か積を出力するネットワーク  同じ多項式関数を表現するために必要なノード数の増加が ◦ 浅いネットワークでは指数的 ◦ 深いネットワークでは線形 56 [Delalleau & Bengio, NIPS’11]
  57. 57. Nakayama Lab. Machine Perception Group The University of Tokyo  AlexNet (ILSVRC’12) ◦ 約6000万  Network in Network (ILSVRC’13) ◦ 約750万(全結合層を省略しているので少ない)  Fisher vector (ILSVRC’11) ◦ 26万次元 × 1000クラス = 約2億6000万  計算コストは“相対的に軽い”のではないか ◦ 同じレベルのパフォーマンスをshallowなアーキテクチャで達成 しようとしたらもっと大変になる(はず) 57
  58. 58. Nakayama Lab. Machine Perception Group The University of Tokyo  シンプルな活性化関数 を繰り返して少しずつ 非線形性を加える  都度識別的な方向へ 引っ張る(次元削減)  究極の非線形変換 を得たいとして、どのように持っていくか? ◦ 膨大な空間の中のほんの一点 58 ()xΦ=y 入力 ()xΦ 非線形性の強さ 入力 Shallow Deep  一度の非線形変換を作り込 み、行けるところまで行く  必ずしも識別的でないが、 広さでカバー
  59. 59. Nakayama Lab. Machine Perception Group The University of Tokyo  根本的に昔と何かが変わったわけではない(と思う…) ◦ 地道に一つ一つ問題を潰していった結果  復習:昔多層パーセプトロンが失敗した主な理由 ◦ 入力に近い層の学習が遅い (Vanishing gradient) ◦ 過学習しやすい (Overfitting) 59
  60. 60. Nakayama Lab. Machine Perception Group The University of Tokyo  ブレークスルー:個人的に重要と思う順番 ◦ 0.データの増加、計算機の高速化 ◦ 1.活性化関数:Rectified linear units (ReLU)の発明 ◦ 2.過学習回避手法:Dropoutの発明 ◦ 3.その他、最適化に関する手法の発達 ◦ (4.教師なし事前学習手法の発明)  深層学習のトレンドは急速に変化し続けている ◦ もともと、教師なし事前学習手法こそが深層学習が ブレイクしたきっかけであったが… 60
  61. 61. Nakayama Lab. Machine Perception Group The University of Tokyo  深層学習ブームの火付け役となった成果 ◦ Hinton and Salakhutdinov, “Reducing the dimensionality of data with neural networks”, Science, Vol. 313, No. 5786, pp. 504 - 507, 2006. ◦ 一層ごとに、restricted Boltzmann machine (RBM)を用いて生成的に初期化 ◦ 全層通した学習を収束させやすくなる&過学習しにくくなる効果がある? 単純なパーセプトロンでない、さまざまな生成モデルネットワークが提案され、 一時代を築く 61 可視層 隠れ層 () {}1,0,...,1∈ = lTLvvvv() {}1,0,...,1∈ = mTMhhhhvhW RBM
  62. 62. Nakayama Lab. Machine Perception Group The University of Tokyo 尤度 を最大とするようにパラメータを 勾配法で学習 CD法(Contrasive Divergence) による近似を用いる  Restricted Boltzmann machine (RBM) ◦ 可視層(入力)と隠れ層(圧縮表現)からなる無向二部グラフ 62 可視層 隠れ層 () {}1,0,...,1∈ = lTLvvvv() {}1,0,...,1∈ = mTMhhhhvhW 同時確率分布: ()()() ZEphvhv,exp, − = ()WhvhcvbhvTTTE−−−=, エネルギー: ()Wcb,,=θ パラメータ ()()Σ=hhvv,pp
  63. 63. Nakayama Lab. Machine Perception Group The University of Tokyo  Autoencoder ◦ 入力を復元する二層のニューラルネット ◦ 隠れ層のニューロン数は入力層より少ない ◦ 正則化が重要(Sparse AE, Denoising AE, etc.) 63 入力層 隠れ層 出力層(復元) xzy()bWxz+=f()bzWy′+′=f Encoder: Decoder: TWW=′ とすることが多い (tied weights)
  64. 64. Nakayama Lab. Machine Perception Group The University of Tokyo  9層のautoencoder  1000万枚のYouTube画像から教師なし事前学習  これを初期状態として識別的学習を始める ことで識別精度向上  64 Le et al., “Building High-level Features Using Large Scale Unsupervised Learning”, ICML’12. 人の顔に特異的に反応するニューロンが 自動的に獲得された (他、猫なども) ≒“おばあちゃんニューロン”?
  65. 65. Nakayama Lab. Machine Perception Group The University of Tokyo  しかしながら…  最近ではほとんど用いられていない  理由: ◦ Dropoutのようなすぐれた正則化方法がその後登場した ◦ 教師付データが十分あれば、ランダムな初期値から十分学習可能 (現在でも、教師付データが少ない場合はある程度有効とされる)  現在は、より古典的な多層パーセプトロンへ回帰しつつある 65
  66. 66. Nakayama Lab. Machine Perception Group The University of Tokyo  ブレークスルー:個人的に重要と思う順番 ◦ 0.データの増加、計算機の高速化 ◦ 1.活性化関数:Rectified linear units (ReLU)の発明 ◦ 2.過学習回避手法:Dropoutの発明 ◦ 3.その他、最適化に関する手法の発達 ◦ (4.教師なし事前学習手法の発明) 66
  67. 67. Nakayama Lab. Machine Perception Group The University of Tokyo  ちなみに、GoogLeNet (ILSVRC’14のwinner)の人は、 昔との本質的な違いはReLUだけだと断言していました 67 シグモイド関数 ()x,0max()x−+exp11 サチると勾配が 出ない! Rectified linear units (ReLU) [Nair & Hinton, 2010] ()()ioldiTo ldiioldnewfyyxxwwwθη−′−+=ˆ (プラスなら)どこでも 一定の勾配 例)単純パーセプトロン の更新式
  68. 68. Nakayama Lab. Machine Perception Group The University of Tokyo  各訓練データ(バッチ)のフィードバックの際に、 一定確率(0.5)で中間ニューロンを無視  認識時は全ニューロンを使うが、結合重みを半分にする  多数のネットワークを混ぜた構造 ◦ 訓練データが各ニューロンで異なるため、 バギングと同様の効果 (ただしパラメータは共有)  L2正則化と等価 ◦ [Wager et al., NIPS’13]  以前と比較して大幅な精度向上 ◦ ほぼ必須のテクニック 68 LΔ()iiLyx,
  69. 69. Nakayama Lab. Machine Perception Group The University of Tokyo  Drop connect [Wan et al., ICML’13] ◦ ニューロンではなく、結合をランダムに落とす ◦ Dropoutよりよいらしい  Adaptive dropout [Ba et al., NIPS’13] ◦ Dropoutで落とすニューロンをランダムでなく適応的に選択する 69
  70. 70. Nakayama Lab. Machine Perception Group The University of Tokyo  データの前処理(実はかなり重要) ◦ ZCA whitening (白色化) コントラスト正規化など ◦ 最終的な識別性能に大きく影響する 深層学習のまだ美しくないところその1  Data augmentation ◦アフィン変換、クロップなど、人工的に さまざまな変換を学習データに加える ◦不変性を学習させる 深層学習のまだ美しくないところその2 70 [Zeiler and Fergus, 2013] [Dosovitskiy et al., 2014]
  71. 71. Nakayama Lab. Machine Perception Group The University of Tokyo  実際に学習を実行するのは非常に困難 ◦ 設定すべきハイパーパラメータが極めて多い!  Y. Bengio (2012), “Practical recommendations for Gradient-based training of deep architectures” ◦ 学習率のスケジューリング、early stopping ◦ ミニバッチサイズ ◦ ドロップアウトのパラメータ ◦ パラメータ初期化方法 ◦ 隠れ層のニューロン数 ◦ L1/L2 weight decay ◦ Sparsity regularization …などなど  最初は、オープンソフトウェアのチュートリアルに従うのが無難(後述) 71
  72. 72. Nakayama Lab. Machine Perception Group The University of Tokyo  シンプルな活性化関数 を繰り返して少しずつ 非線形性を加える  都度識別的な方向へ 引っ張る(次元削減)  究極の非線形変換 を得たいとして、どのように持っていくか? ◦ 膨大な空間の中のほんの一点 72 ()xΦ=y 入力 ()xΦ 非線形性の強さ 入力 Shallow Deep  一度の非線形変換を作り込 み、行けるところまで行く  必ずしも識別的でないが、 広さでカバー
  73. 73. Nakayama Lab. Machine Perception Group The University of Tokyo  ある程度広さを確保しながら 非線形変換を加える  層ごとに識別的な次元削減を 行う  任意の活性化関数を利用可能 73 入力 ()xΦ 非線形性の強さ Intermediate? メリット  BPがいらないので学習コストが軽い  確立された技術を組み合わせることが できるため見通しが立てやすい  比較的少数のサンプルから学習可能
  74. 74. Nakayama Lab. Machine Perception Group The University of Tokyo 従来から画像認識分野で経験的に用いられて来た Hyperfeatures [Agarwal et al., ECCV’06] ◦BoVWを階層的に抽出 Deep Fisher Network [Simonyan et al., NIPS’13] Deep Sparse Coding [He et al., SDM’14] 74
  75. 75. Nakayama Lab. Machine Perception Group The University of Tokyo 75 フィッシャー重みマップ (空間構造の制約を 加えた線形判別分析)  識別的解析解を用いたlayer-wiseな 畳み込みニューラルネットワーク [Nakayama, BMVC’13]  先行研究に匹敵する性能 ◦ 特にデータが学習データ少ない場合  Fine-tuningも可能(これから)
  76. 76. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 76
  77. 77. Nakayama Lab. Machine Perception Group The University of Tokyo  自分の問題について、どのようにdeep learningを使う べきか? ◦ 十分な効果を得るには、かなり多くの教師付データが必要 ◦ 必ずしもフルスクラッチから学習することが賢いとは限らない  そもそもdeep learningを利用できる問題か? 77
  78. 78. Nakayama Lab. Machine Perception Group The University of Tokyo  あらかじめ汎用性の高い大規模教師付データセットでネット ワークを学習しておき、これを初期値としてターゲットタスク の学習データでさらに細かい学習を進める(=Fine-tuning) (Unsupervised pre-trainingとは違う概念であることに注意)  例えば… 78 ImageNet ILSVRC’12 130万枚、1000クラス PASCAL VOC 2007 5千枚、20クラス
  79. 79. Nakayama Lab. Machine Perception Group The University of Tokyo 79 Pre-trained network 出力層だけ つけかえ 適用先 データセット LΔ()iiLyx,
  80. 80. Nakayama Lab. Machine Perception Group The University of Tokyo  Pre-trainedネットワークを特徴抽出器として用いる ◦ 中間層の出力を利用して識別器を構築 最終層だけfine-tuningしているとも解釈できる 80 Pre-trained network ロジスティック回帰, SVM,etc.
  81. 81. Nakayama Lab. Machine Perception Group The University of Tokyo  ILSVRC 2012 → VOC 2007 の例 (検出成功率、mAP%) ◦ フルスクラッチConvNet: 40.7 ◦ Pre-trained feature: 45.5 ◦ Fine tuning: 54.1 81 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クラス
  82. 82. Nakayama Lab. Machine Perception Group The University of Tokyo  Pre-trainingに用いる外部データセットが、所望のタス クを内包するものでなければ効果が薄い(むしろ悪化) ◦ ImageNetはあくまで物体認識のデータセット  参考:Fine-grained competition 2013 82 https://sites.google.com/site/fgcomp2013/ Fisher vector ConvNet (fine- tuning) 飛行機、車、靴データセットなど、ImageNet上にあまりデータが 存在しないドメインに関してはターゲットの学習データのみ用いた Fisher vectorの方が良かった
  83. 83. Nakayama Lab. Machine Perception Group The University of Tokyo 83 教師付データが十分あるか? (少なくとも数万サンプル) ImageNetに含まれそうなタスクか? Yes No No Yes  教師なし事前学習  Stackingによる深層モデル  あきらめてshallow learning  フルスクラッチCNN ◦ ランダムに初期化  Pre-trained feature (一番簡単)  Fine tuning
  84. 84. Nakayama Lab. Machine Perception Group The University of Tokyo  ハードウェア ◦ 学習にはGPU計算機が必要 (CUDAを利用) ◦ ビデオメモリの容量がボトルネックになる場合が多い  メインメモリとの通信は遅い  ネットワークのパラメータはもちろん、できるだけ多くの学習サンプル をビデオメモリに積みたい  Titan Black (約15万円) ◦ コストパフォーマンス的にお薦め ◦ 当研究室では、これを積んだPCが6台ほど  Tesla K20 (約40万円), K40 (約80万円) ◦ より信頼性が高い 84
  85. 85. Nakayama Lab. Machine Perception Group The University of Tokyo  2012年頃から、著名な研究チームによる主導権争い ◦ Caffe/Decaf: UC Berkeley ◦ Theano/Pylearn2: Univ. Montreal ◦ Torch7: Univ. New York ◦ Cuda-convnet2: Univ. Toronto (Alex Krizhevsky)  いずれも、複数の便利な環境を提供 ◦ C++, Python, Matlabインタフェース ◦ CPUとGPUの切り替えによる開発効率化 ◦ ネットワークパラメータの設定・探索フレームワーク ◦ Pre-trainedモデル ◦ 自分で誤差逆伝播アルゴリズムなどを実装する必要は基本的に ないはず(よほど先端的な研究をしない限り…) 85
  86. 86. Nakayama Lab. Machine Perception Group The University of Tokyo  頭一つ抜けた印象(個人的な感想ですが) ◦ トップクラスに高速 ◦ オープンソースコミュニティとして確立しつつある  多くの研究者が既に自分の研究に利用 ◦ Oxford visual geometry group など  Model Zoo ◦ 各研究者の学習済みネットワークを共有 ◦ AlexNetはもちろん、Oxford model, Network-in-network モデルなども ◦ 最新の成果を極めて容易に試せる  NVIDIAの手厚いサポート ◦ cuDNNのいち早い実装 86
  87. 87. Nakayama Lab. Machine Perception Group The University of Tokyo  Webドキュメントが充実 http://caffe.berkeleyvision.org/ ◦ ImageNet等の結果を再現可能 ◦ IPython notebookによる コード実例多数 ECCV 2014でのチュートリアル ◦http://tutorial.caffe.berkeleyvision.org/ 87
  88. 88. Nakayama Lab. Machine Perception Group The University of Tokyo 88 ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
  89. 89. Nakayama Lab. Machine Perception Group The University of Tokyo 89 ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
  90. 90. Nakayama Lab. Machine Perception Group The University of Tokyo 90 ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
  91. 91. Nakayama Lab. Machine Perception Group The University of Tokyo 91 ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
  92. 92. Nakayama Lab. Machine Perception Group The University of Tokyo 92 ECCV’14 チュートリアルスライド「DIY Deep Learning for Vision: a Hands-On Tutorial with Caffe」より引用
  93. 93. Nakayama Lab. Machine Perception Group The University of Tokyo  1.Deep learning(深層学習)とは?  2.一般画像認識:Deep learning 以前と以後で何が変わったか ◦ Bag-of-visual-words (VLAD, Fisher Vector) ◦ Convolutional neural network (ConvNets)  3.Deep learningの数理 ◦ なぜ優れた性能が実現できるのか? ◦ ブレークスルーを生んだ各要素技術 ◦ 中山研究室での研究紹介  4.実践するにあたって ◦ 適切利用するために必要な知識 ◦ 汎用ソフトウェア:Caffe  5.最新の動向・今後の展望 93
  94. 94. Nakayama Lab. Machine Perception Group The University of Tokyo  2012年のブレークスルー以降も、毎年識別性能が倍に… ◦ まだ頭打ちの気配が見えない ◦ ネットワークを深く、大きく すればするほど性能向上 2014年 ◦優勝チーム(Google)は 1000クラス識別タスクでの誤識別率が6.8% 人間2人に同じタスクを試させたところ、それぞれ約5.1%、12.0%であった 既に人間なみ? ◦良かったチーム Google, Oxford, NUS ◦Network-in-networkで、とにかく深く大きくしたところが勝った ◦多数のモデルのアンサンブル 94 http://www.image- net.org/challenges/LSVRC/2014/slides/ILSVRC2014_09_12_14_det.pdf
  95. 95. Nakayama Lab. Machine Perception Group The University of Tokyo 95 Zeiler-Fergus Architecture (AlexNetとほぼ同じ) Convolution Pooling Softmax Other http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx
  96. 96. Nakayama Lab. Machine Perception Group The University of Tokyo  DistBeliefと呼ばれるGoogle独自の並列分散フレームワークで学習 ◦ CPUベース ◦ メモリの心配をしなくてよいのが大きい? 96 Zeiler-Fergus Architecture (AlexNetとほぼ同じ) Convolution Pooling Softmax Other http://www.image-net.org/challenges/LSVRC/2014/slides/GoogLeNet.pptx GoogLeNet (22層)
  97. 97. Nakayama Lab. Machine Perception Group The University of Tokyo  R-CNN [Girshick et al., CVPR’2014] ◦ 物体の領域候補を多数抽出(これ自体は別手法) ◦ 無理やり領域を正規化し、CNNで特徴抽出 (領域用のCNNをfine-tuning) ◦ SVMで各領域を識別 97 R-CNNもCaffeと同じチームが開発・提供 (比較的簡単に試せます)
  98. 98. Nakayama Lab. Machine Perception Group The University of Tokyo 98 ランダムに選んだテスト画像の認識結果 (いいところだけ見せているのではない!) Girshick et al., “Rich feature hierarchies for accurate object detection and semantic segmentation”, In arXiv, 2014.
  99. 99. Nakayama Lab. Machine Perception Group The University of Tokyo  基本構造はR-CNNと同じで、CNN部分をGoogLeNetに置き換え 検出率(mAP) ◦ILSVRC 2013 winner: 22.6% ◦R-CNN: 31.4% ◦GoogLeNet: 43.9% 99
  100. 100. Nakayama Lab. Machine Perception Group The University of Tokyo  ConvNetの深層化、巨大化による性能向上はまだまだ続きそう ◦ 一般的には、GPUのビデオメモリがボトルネック ◦ データが少ない領域(映像、3次元物体認識等)では発展途上 (最近は急速にデータが増えつつあるが)  しかしながら、依然としてConvNetの構造に依存している ◦ 全結合ネットワークなどは今後成功するか? ◦ 真の意味でブラックボックスになるか?  より汎用的な人工知能へ近づくことはできるか? ◦ 深い意味構造の理解、記憶、思考、計画、創造… 100

×