Building High-level Features Using Large Scale Unsupervised Learning

29,031 views

Published on

2012/10/20名古屋CV/PRML勉強会発表資料
"Building High-level Features Using Large Scale Unsupervised Learning"

Published in: Technology
0 Comments
64 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
29,031
On SlideShare
0
From Embeds
0
Number of Embeds
6,396
Actions
Shares
0
Downloads
524
Comments
0
Likes
64
Embeds 0
No embeds

No notes for slide

Building High-level Features Using Large Scale Unsupervised Learning

  1. 1. 名古屋CV・PRML勉強会 発表資料Building High-level Features UsingLarge Scale Unsupervised Learning 2012/10/20 takmin
  2. 2. はじめに
  3. 3. ILSVRC 2012 大規模物体認識のコンテスト http://www.image-net.org/challenges/LSVRC/2012/Classification Localization Team name Error Team name Error1 Super Vision 0.15315 1 Super Vision 0.3354632 Super Vision Deep LearningVision 0.16422 2 Super 0.3419053 ISI 0.26172 3 OXFORD_VGG 0.5003424 ISI 0.26602 4 OXFORD_VGG 0.501395 ISI 0.26646 5 OXFORD_VGG 0.5221896 ISI 0.26952 6 OXFORD_VGG 0.5294827 OXFORD_VGG 0.26979 7 ISI 0.5364748 XRCE/INRIA 0.27058 8 ISI 0.536546
  4. 4. Super Vision Our model is a large, deep convolutional neural network trained on raw RGB pixel values. The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three globally-connected layers with a final 1000-way softmax. It was trained on two NVIDIA GPUs for about a week. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of convolutional nets. To reduce overfitting in the globally-connected layers we employed hidden-unit "dropout", a recently-developed regularization method that proved to be very effective.
  5. 5. ざわつくCVクラスタ
  6. 6. 僕が抱いたイメージ Deep Learning 機械学習屋 CV屋
  7. 7. Deep Learningとは?
  8. 8. 物体認識の流れ 入力画像 特徴量抽出 機械学習 入力画像 画像特徴 物体認識/検出 (SIFT、HOG、etc) Hand-Crafted Feature
  9. 9. Deep Learning Hand-craftedな特徴量を 用いず、特徴量を画素か ら統計的に学習する。 低レベル特徴から高レベ ル特徴までの階層構造。 低レベルな特徴ほど、 様々なタスクで共有可能 主な手法  Deep Belief Networks  Deep Bolzmann Machines  Deep Neural Networks Super Vision (Image from Lee. H in CVPR2012 Tutorial)
  10. 10. 本題
  11. 11. 紹介する論文 Building High-level Features Using Large Scale Unsupervised Learning  International Conference on Machine Learning (ICML) 2012  Quac V. Le (Stanford)  Marc’ Aurelio Ranzato (Google)  Rajat Monga (Google)  Matthieu Devin (Google)  Kai Chen (Google)  Greg S. Corrado (Google)  Jeff Dean (Google)  Andrew Y. Ng (Stanford)
  12. 12. 紹介する論文 Building High-level Features Using Large Scale Unsupervised Learning  ラベルがついていない画像だけを使って、特定 の種類の物体に反応する、高レベルの特徴検出 器を生成できないか?  例:顔認識  「おばあさんニューロン」  Deep Learningは莫大な時間がかかる  1000万枚の画像を16コアのマシン1000台で学習  Deep Neural Network
  13. 13. 結構話題になりました WIRED  「猫を認識できるGoogleの巨大頭脳」  http://wired.jp/2012/07/06/google-recognizes-kittens/ RBB Today  「Google、脳のシミュレーションで成果……猫を認識」  http://www.rbbtoday.com/article/2012/06/27/90985.html IT Pro  「Google、大規模人工ニューロンネットワークを用いた研究成 果を紹介」  http://itpro.nikkeibp.co.jp/article/NEWS/20120627/405501/
  14. 14. Architecture Objects 3rd layer 2nd layer Object Parts 特徴との類似度 1st layer Low level Features 入力画像(カラー) 特徴マップ (Image from Lee. H in CVPR2012 Tutorial)
  15. 15. Architecture 3rd layer 2nd layer 1st layer 入力画像(カラー) (Image from Lee. H in CVPR2012 Tutorial)
  16. 16. Architecture 3rd layer 正規化 2nd layer 普遍化 特徴選択 1st layer 入力ベクトル 入力画像(カラー) (Image from Lee. H in CVPR2012 Tutorial)
  17. 17. 1st Sub Layer 特徴選択 h(x)  W x T 第1層 重み(疎) 入力ベクトル の出力 位置毎に異なる重みを用いる(≠ 畳み込みNN) 第1層 ・・・ 入力 ・・・ 特徴1 特徴2
  18. 18. 2nd Sub Layer 普遍化  L2 Pooling h ( i 1) 2 h x, y  (i ) x u , y  v ( u ,v )N ( x , y ) 第2層の 出力 第2層 ・・・ 第1層 ・・・ 特徴A 特徴B
  19. 19. 3rd Sub Layer 正規化  Local Constraint Normalization ( i 1) h (i )  mN ( x , y )  x, y h  N ( x, y ) x, y 第2層の出力 mN ( x, y ) ,  N ( x, y ) : 周辺領域のガウス平均/分散 第3層 ・・・ m,  第2層 ・・・ 特徴A 特徴B
  20. 20. 学習 教師ありニューラルネットワークの場合 順伝播 ( ) hn xn W E (h n , t n ) 学習データ エンコード 出力 誤差関数 tn 教師信号
  21. 21. 学習 教師ありニューラルネットワークの場合 逆伝播 En ( ) h W E (h n , t n ) 誤差の 誤差関数 勾配
  22. 22. 学習 教師ありニューラルネットワークの場合 逆伝播 En En h W E (h n , t n ) 誤差の 誤差関数 勾配 ( 1) ( ) En W W  W
  23. 23. 学習 教師ありニューラルネットワークの場合 逆伝播 En ( 1) h W E (h n , t n ) 誤差の 誤差関数 勾配 ( 1) ( ) En W W  W
  24. 24. 学習 教師なしニューラルネットワークの場合 順伝播 ( ) hn xn W E (h n , t n ) 学習データ エンコード 出力 誤差関数 × tn 教師信号
  25. 25. 学習 教師なしニューラルネットワークの場合 ( ) hn ( ) xn xn W 1 W 2 E (x n , xn )学習データ エンコード 出力 デコード 誤差関数 E (x n , x )  x  x n   h n 2 n n 二乗和誤差 出力を疎にする ための正則化項 (L1ノルム)
  26. 26. 学習 min x  x n   h n 2 n w 二乗和誤差 出力を疎にする ための正則化項 (L1ノルム)第2層 h ・・・ H第1層 ・・・ W入力 ・・・ 特徴1 x 特徴2
  27. 27. 学習 m  k T (i ) 2 arg min   W2 W1 x  x      H j ( W1 x )  T (i ) 2 (i )   W1W2 i 1  j 1  二乗和誤差 第2層の出力のL1ノルム第2層 h ・・・ H第1層 ・・・ W 入力 ・・・ 特徴1 x 特徴2
  28. 28. 学習 各層の学習 1st Layer 2nd Layer 3rd Layer エンコード 誤差 学習 デコード
  29. 29. 学習 各層の学習 1st Layer 2nd Layer 3rd Layer エンコード エンコード 誤差 学習 デコード
  30. 30. 学習 各層の学習 1st Layer 2nd Layer 3rd Layer エンコード エンコード エンコード 誤差 学習 デコード
  31. 31. 学習環境 学習データ  YouTubeからランダムに1000万枚の画像を取得  画像を200x200のサイズに調整(カラー)  そのうち、顔画像は3%程度  10万枚の60x60のランダムパッチを取得し、OpenCVの顔検出器で 確認 ハードウェア/ソフトウェア  16コアのマシン×1000台  自作ソフトウェアDistBeliefを用いて複数のマシンを連動  パラメータ最適化は非同期確率的勾配降下法を用いる  学習に約3日間
  32. 32. 学習画像の例
  33. 33. 学習の流れ ニューロン全体をロケーションを元に169個に分割し、そ れぞれを別々のマシンへ割り振り。
  34. 34. 学習の流れ  学習データセットを5つに分割し、それぞれにモデルレプ リカを用意。  モデルレプリカ=分割されたモデルが格納されたマシン群モデルレプリカ ・・・・・ 学習 データ
  35. 35. 学習の流れ  パラメータサーバー群を用意し、各モデルレプリカ間での パラメータ更新を仲介させる パラメータサーバー Wモデルレプリカ ・・・・・
  36. 36. 学習の流れ  パラメータサーバー群を用意し、各モデルレプリカ間での パラメータ更新を仲介させる パラメータサーバー E Wモデルレプリカ ・・・・・
  37. 37. 学習の流れ  パラメータサーバー群を用意し、各モデルレプリカ間での パラメータ更新を仲介させる パラメータサーバー Wモデルレプリカ ・・・・・
  38. 38. 学習の流れ  パラメータサーバー群を用意し、各モデルレプリカ間での パラメータ更新を仲介させる パラメータサーバー E Wモデルレプリカ ・・・・・
  39. 39. 実験1:顔認識 試験画像37,000枚  顔画像:13,026枚  Labeled Faces In the Wild  非顔画像:残り  ImageNet 各ニューロンの出力 最大値と最小値を 求め、等間隔に20 分割した閾値を求 める。 最も精度の高い閾 試験画像例 値を元に評価。
  40. 40. 実験1:顔認識手法 精度Random guess 64.8%Same architecture withrandom weights 67.0%Best linear filter 74.0%Best first layer neuron 71.0%Best neuron 81.7%Best neuron withoutcontrast normalization 78.5%
  41. 41. 実験1:顔認識 テスト画像中高いスコアを出したTop48
  42. 42. 実験1:顔認識 顔ニューロンに対して最適化された刺激 x  arg max f (x; W, H) * subject to x 2 1 x
  43. 43. 実験1:普遍性 入力顔画像を平行移動/スケール変化/回転(3D)させた 時の精度変化を見る  10枚の顔テスト画像を選択し、それぞれに編集を加える 顔の回転画像
  44. 44. 実験1:普遍性 入力顔画像をスケール変化/回転(3D)させた時の精度 変化
  45. 45. 実験1:普遍性 入力顔画像を平行移動させた時の精度変化
  46. 46. 実験2:猫と人体の認識 猫と人の映像はYouTubeでも一般的なため、ニューロン がこれらを学習していないかを調べる  猫の顔画像データセット  Zhang et al., “Cat head detection – how to effectively exploit shape and texture features”, ECCV2008  10,000枚の正解画像、18,409枚の非正解画像  人体データセット  Keller et al., “A new bench-mark for stereo-based pedestrian detection”, the IEEE Intelligent Vehicles Symposium 2009  上記データセットのサブセットを使用  13,026枚の正解画像、23,974枚の非正解画像  実験方法は顔と同じ
  47. 47. 実験2:猫と人体の認識 手法 猫 人体 Random guess 64.8% 64.8% Same architecture with random weights 66.0% 66.5% Best linear filter 67.2% 68.1% Best first layer neuron 67.1% 67.2% Best neuron 74.6% 76.8% Best neuron without contrast normalization 69.3% 71.8%
  48. 48. 実験2:猫と人体の認識 猫と人体ニューロンに最適化された信号 猫 人体
  49. 49. 実験2:猫と人体の認識 テスト画像中高いスコアを出したTop48 猫 人体
  50. 50. 実験2:猫と人体の認識 他のUnsupervised Learning手法との比較 手法 顔 人体 猫 Out network 81.7% 76.7% 74.8% Deep autoencoders 3 layers 72.3% 71.2% 67.5% Deep autoencoders 6 layers 70.9% 69.8% 68.3% K-means on 40x40 images 72.5% 69.3% 68.5%
  51. 51. 実験3:ImageNetでの物体認識 既に学習したネットワークの最上層の出力に対してone- versus-allのロジスティック識別器を設置する。 ImageNetのラベル付きデータで識別器を学習後、ネット ワーク全体を調整 (fine-tunning)Dataset version 2009 2011 (9M images, 10K categories) (14M images, 22K categories)State-of-the-art 16.7% 9.3% (Sanchez & Perronnin,2011) (Weston et al., 2011)Our method 16.1% 13.6%without pretrainingOur method 19.2% 15.8%with pretraining
  52. 52. おまけ脳とDeep Learning
  53. 53. 視覚皮質の画像処理プロセス 背側経路(dorsal stream) 腕を伸ばして何かを掴むな どの際に利用される、行動 に関わる経路。”Where”経 路 腹側経路(ventral stream) それが犬か、猫か、などを 認識する、知覚に関わる経 路。”What”経路
  54. 54. “瞬間的な認識”の画像処理モデル 霊長類は、目の動きや注意が働かない程度の短い 時間(100msec)画像を見せただけで、認識すること ができる。 瞬間的な認識(Rapid Categorization)では腹側経路の フィードフォワードパスのみ使用される  画像が十分な時間提示された場合、「注意」が働きフィー ドバックパスが活性化される。 色情報は瞬間的な認識においては重要ではない。
  55. 55. 腹側経路のフィードフォワードパス
  56. 56. 腹側経路の階層構造
  57. 57. 腹側経路の階層構造 階層が上位に位置するほど、複雑な刺激に対して選択 性を持つようになる。 階層が上位になるほど、位置、サイズなどに対する普遍 性が上がる。  カバーする受容野の大きさも同時に広くなる。 上位の階層ほど可塑性が高い。  学習に対して早く柔軟に対応する。
  58. 58. 視覚皮質の計算モデルHubel & Wieselの階層モデル: 単純型細胞(Simple Cell)  ある形状に対して選択的に反応 複雑型細胞(Complex Cell)  単純細胞からの出力を受け取る。  位置とスケールの選択性を除去する。 単純型細胞と複雑型細胞で交互に処理される。
  59. 59. 単純型細胞 ある特定の信号(位置、大きさ、 形状)に対して最も強く反応する。  テンプレートマッチング 信号の形が変わると、それに 伴って反応も減っていく。  ガウス関数で近似。 しばしばガボールフィルタで近 似される
  60. 60. 複雑型細胞 ある領域内、あるスケール範囲内にある、同一の形状に 対する選択性を持つ単純型細胞からの信号受け取る。  そのうち最大の入力を選択する 位置とサイズに対する普遍性実現の例
  61. 61. “Deep Learning” vs “Ventral Stream” Deep Learningは腹側経路における画像処理に類似  階層構造  階層が上がる毎に受容野が広くなる。  選択性と普遍性が交互に現れる  単純型細胞≒DLのサブレイヤー 一層目  複雑型細胞≒DLのサブレイヤー二層目  階層が上がる毎に複雑な特徴へ反応するようになる。  おばあさんニューロン  ニューロンが形状に対してスパースに反応
  62. 62. 参考資料 R. Fergus et al., “Deep Learning Methods for Vision”, CVPR2012 Tutorial  http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/ T. Serre, “Learning a Dictionary of Shape-Components in Visual Cortex: Comparison with Neurons, Humans and Machines”, Brain and Cognitive Science, 2006
  63. 63. Any Questions?

×