Convolutional Neural Network @ CV勉強会関東

17,371 views

Published on

Published in: Data & Analytics
0 Comments
25 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
17,371
On SlideShare
0
From Embeds
0
Number of Embeds
7,022
Actions
Shares
0
Downloads
189
Comments
0
Likes
25
Embeds 0
No embeds

No notes for slide

Convolutional Neural Network @ CV勉強会関東

  1. 1. 第23回 コンピュータビジョン勉強会@関東 Convolutional Neural Network 東大 学際情報学府 M1 加賀谷 北斗
  2. 2. 第23回 コンピュータビジョン勉強会@関東 自己紹介 ★ 加賀谷 北斗(@hokkun_cv / @Fried_garlicHKT) ★ 東京大学大学院学際情報学府学際情報学専攻先端表現情報学コース ! ★ 卒論:食事画像認識/検出 ★ Interest of research:機械学習,一般物体認識,Deep Learning ! ★ @ketsumedo_yarou先輩の紹介で参加させていただきます 2
  3. 3. 第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 3
  4. 4. 第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 4
  5. 5. 第23回 コンピュータビジョン勉強会@関東 ILSVRC 2012 5 チーム Result 手法 SuperVision 15.3% Deep CNN ISI 26.1% FV + PA OXFORD_VGG 26.7% FV + SVM XRCE/INRIA 27.1% FV + SVM Univ. of Amsterdam 29.6% FV + SVM LEAR-XRCE 34.5% FV + NCM 1. Introduction to Convolutional Neural Network
  6. 6. 第23回 コンピュータビジョン勉強会@関東 ILSVRC 2013 6 チーム Result 手法 Clarifai 11.7% Deep CNN NUS 13.0% SVM based + Deep CNN ZF 13.5% Deep CNN Andrew Howard 13.6% Deep CNN OverFeat-NYU 14.1% Deep CNN UvA-Euvison 14.2% Deep CNN 1. Introduction to Convolutional Neural Network
  7. 7. 第23回 コンピュータビジョン勉強会@関東 Other dataset.. • CIFAR-10 • CIFAR-100 • Network in Network , ICLR 2014 ! • MNIST • Regularization of Neural Networks using DropConnect , ICML, 2013 7 全てCNN (が基にある) 1. Introduction to Convolutional Neural Network
  8. 8. 第23回 コンピュータビジョン勉強会@関東 知識の流れ Hubel and Wiesel [1962] (単純細胞,複雑細胞,局所受容野) ! ! Fukushima [1980] (Neocognitron) ! ! LeCun [1989, 1998] (Convolutional Neural Network→手書き文字認識への応用) 8 1. Introduction to Convolutional Neural Network
  9. 9. 第23回 コンピュータビジョン勉強会@関東 基本構造 9 2 3 5 6 7 4 1 7 3 Convolution(畳み込み) 2 3 5 6 7 4 1 7 3 2 3 5 6 7 4 1 7 3 Pooling(プーリング,適切な日本語訳なし?) ※画像はイメージです 2 3 5 6 7 4 1 7 3 1. Introduction to Convolutional Neural Network ※画像はイメージです いわゆる移動フィルタの形で,画像を移動しながら注目画素の周 辺の画素値を用いて計算.このフィルタをたくさん用意する (フィルタ=重み行列が局所的)
  10. 10. 第23回 コンピュータビジョン勉強会@関東 10 1. Introduction to Convolutional Neural Network
  11. 11. 第23回 コンピュータビジョン勉強会@関東 11 http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf 1. Introduction to Convolutional Neural Network
  12. 12. 第23回 コンピュータビジョン勉強会@関東 全体構造 • 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類 問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い. 12 1. Introduction to Convolutional Neural Network LeNet-5 [LeCun, 1998]
  13. 13. 第23回 コンピュータビジョン勉強会@関東 学習 Stochastic Gradient Descend (SGD, Batch training) ! + ! Back Propagation (誤差逆伝搬法) 13 1. Introduction to Convolutional Neural Network
  14. 14. 第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 14
  15. 15. 第23回 コンピュータビジョン勉強会@関東 全体構造(再掲) • 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類 問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い. 15 1. Introduction to Convolutional Neural Network LeNet-5 [LeCun, 1998]
  16. 16. 第23回 コンピュータビジョン勉強会@関東 Convolutionは先ほど説明したとおりだが… ! ☆いくつカーネル(フィルタ)を用意する? ☆カーネルのサイズは? ☆「端っこ」の扱いは? ☆活性化関数は? ☆重みやバイアスの決定は? ☆フィルタの動かし方は? Convolution 16 2. The Detail of Conventional CNN Techniques [conv] type=conv inputs=data channels=3 filters=32 padding=4 stride=1 filterSize=9 neuron=logistic initW=0.00001 initB=0.5
  17. 17. 第23回 コンピュータビジョン勉強会@関東 • 直感的にはある程度の領域を「まとめる」ことで位置情報を捨て, 変化に対してロバストにする作業のこと. • 広義では,抽出した生の特徴表現を,認識に必要な部分だけ残す ような新たな表現に変換すること. ! ! • 無意識に多く使われている • 「最大値をとる」「平均をとる」「(語弊あるが)まとめる」 • 要素技術しかり,アルゴリズム全体然り • ex)                        SIFT[Lowe 99], Bag of Features[], Spatial Pyramid[], Object Bank[2010], Pooling 17 2. The Detail of Conventional CNN Techniques
  18. 18. 第23回 コンピュータビジョン勉強会@関東 Pooling 18 2. The Detail of Conventional CNN Techniques • Max pooling ! ! ! • Avg. pooling (平均プーリング) ! ! ! • (一般の) Pooling hi,k+1 = max j2Pi,k hj hi,k+1 = 1 |Pi| X j2Pi hj hi,k+1 = ✓ 1 |Pi| X j2Pi hp j ◆1 p p=1 avg p= max ※実際にはavg∼maxのつなぎ方は他にもあり,詳細は[Boureau, ICML 2010]を参照
  19. 19. 第23回 コンピュータビジョン勉強会@関東 Pooling 19 2. The Detail of Conventional CNN Techniques • 結局どれがいいのか • [Boureau, CVPR 2010及びICML 2010]に詳しい議論 • Cardinality(プーリングサイズ)による • 直感的には・・ • 元画像に対し,広い部分を扱うときは平均プーリング,小さい部分 の時はmaxの方が良い?
  20. 20. 第23回 コンピュータビジョン勉強会@関東 ☆プーリング開始画素は? ☆プーリングサイズは?(Overlap) ☆動かす幅は?(Overlap) ☆活性化関数は? ☆プーリングの種類は? Pooling 20 2. The Detail of Conventional CNN Techniques [pool] type=pool pool=max inputs=local32 start=0 sizeX=4 stride=2 outputsX=0 channels=32 neuron=relu
  21. 21. 第23回 コンピュータビジョン勉強会@関東 局所コントラスト正規化 21 2. The Detail of Conventional CNN Techniques • 発端は?:計算神経科学(哺乳類の初期視覚野のモデル) • 脳のニュートンによる情報伝達はパルス数によって制限(有限) • どうやってやる?:減算初期化と除算初期化 • どちらかというと除算が重要か(?) ! • 意味は?: • ①上記の脳の初期視覚野のモデルを表現 • ②複雑視覚野におけるニュ―ロンの選択性がコントラストに非 依存であることの説明
  22. 22. 第23回 コンピュータビジョン勉強会@関東 局所コントラスト正規化 22 2. The Detail of Conventional CNN Techniques • 減算正規化 ! ! ! ! • 除算正規化 ¯hi,j,k = hj,k X i,p,q wp,qhi,j+p,k+q h : 前層の出力 j, k : 画素 i : フィルタ番号 w : 平均を調整するための重み c : 定数 h0 i,j,k = ¯hi,j,k q c + P i,p,q wp,q ¯h2 i,j+p,k+q 文献によっては,減算をしていないもの [Krizhevsky 2012]もある また,いくつかのフィルタにまたがる場合(across map)とまたがらない場合がある
  23. 23. 第23回 コンピュータビジョン勉強会@関東 局所コントラスト正規化 23 2. The Detail of Conventional CNN Techniques • 具体的な効果は?: • improves invariance • improves optimization • increase sparsity [以上,Ranzato, CVPR 2013 Tutorial]
  24. 24. 第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 24
  25. 25. 第23回 コンピュータビジョン勉強会@関東 なぜ学習がうまくいくのか? • Bengio「Although deep supervised neural networks were generally found too difficult to train before the use of unsupervised pre-training, there is one notable exception: convolutional neural networks.」[Bengio, 2009] ! • 一般に多層のNNは過学習を起こす • なぜCNNはOK? ! • One untested hypothesis by Bengio • 入力数(fan-in)が少ないと誤差なく勾配伝搬する? • 局所的に接続された階層構造は認識タスクに向いている? • FULL < Random CNN < Supervised CNN 25 3. Other Topic
  26. 26. 第23回 コンピュータビジョン勉強会@関東 DropOut • DropOut [Hinton et al., 2012] • 学習時に,中間層の出力の50%をrandomに0にする • 一時的に依存関係を大幅に減らすことで,強い正則化の効果があ る • 一般化→DropConnect [Wan et al., 2013] • 50% -> (1-p)% • Sparseな接続の重み行列に 26 3. Other Topic
  27. 27. 第23回 コンピュータビジョン勉強会@関東 CNNの問題点 •ただただパラメータが多い 27 3. Other Topic
  28. 28. 第23回 コンピュータビジョン勉強会@関東 CNNの問題点 28 http://www.slideshare.net/yurieoka37/ss-28152060 3. Other Topic ←最初に決めるが,一番難しい…
  29. 29. 第23回 コンピュータビジョン勉強会@関東 Convolutionは先ほど説明したとおりだが… ! ☆いくつカーネル(フィルタ)を用意する? ☆カーネルのサイズは? ☆「端っこ」の扱いは? ☆活性化関数は? ☆重みやバイアスの決定は? Convolution(再掲) 29 [conv] type=conv inputs=data channels=3 filters=32 padding=4 stride=1 filterSize=9 neuron=logistic initW=0.00001 initB=0.5 3. Other Topic
  30. 30. 第23回 コンピュータビジョン勉強会@関東 ☆プーリング開始画素は? ☆プーリングサイズは?(Overlap) ☆動かす幅は?(Overlap) ☆活性化関数は? ☆プーリングの種類は? Pooling(再掲) 30 [pool] type=pool pool=max inputs=local32 start=0 sizeX=4 stride=2 outputsX=0 channels=32 neuron=relu 3. Other Topic
  31. 31. 第23回 コンピュータビジョン勉強会@関東 いわゆるハイパパラメータ • いくつかの決定手法は提案されてはいる • ランダムサーチのほうが性能がいい?[Bergstra, 2012] • 基本的には層は多くあるべき? [Bengio, 2013] • http://www.slideshare.net/koji_matsuda/practical- recommendation-fordeeplearning ! ! • しかし基本的に問題依存とされる • 経験則しか頼りづらいBlack-box tool 31 3. Other Topic
  32. 32. 第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 32
  33. 33. 第23回 コンピュータビジョン勉強会@関東 cuda-convnet • LSVRC2012優勝のSupervisionのコード • GPU利用が前提 • 演算部分はC++ / CUDA, UI部分はPython ! • @hokkun_cvの卒論にて利用 33 4. Implementation
  34. 34. 第23回 コンピュータビジョン勉強会@関東 cuda-convnet • 基本的なCNNの機能を網羅 • ただし自分たちで使ってるDropOutの実装はない • (Forkして公開している人はいる) ! • UI部分はPythonなのでいじりやすい ! • 欠点: • 画像を読み込ませるためにデータ加工するコードを自分で書かな ければならない • 並列処理ライブラリCUDAを用いているので,重要な処理の部分 を変更するにはそれなりの知識が必要 34 4. Implementation
  35. 35. 第23回 コンピュータビジョン勉強会@関東 まとめ • CNNはConvolutionとPoolingの繰り返しでできている • アイデア自体はかなり古い ! • 同じ層分だけあるフル接続NNよりも性能が良い • なぜかはまだ理論的説明がない ! • 局所的な正規化を行うことで性能向上 ! • あらゆる場所でコンテストを行っても上位独占 • 特にSupervisionの快挙は2013年にその改良を行う論文が多く執 筆されたことからもわかる 35
  36. 36. 第23回 コンピュータビジョン勉強会@関東 • ご清聴ありがとうございました. 36

×