Convolutional Neural Network @ CV勉強会関東

50 %
50 %
Information about Convolutional Neural Network @ CV勉強会関東
Data & Analytics

Published on May 25, 2014

Author: hokutokagaya

Source: slideshare.net

第23回 コンピュータビジョン勉強会@関東 Convolutional Neural Network 東大 学際情報学府 M1 加賀谷 北斗

第23回 コンピュータビジョン勉強会@関東 自己紹介 ★ 加賀谷 北斗(@hokkun_cv / @Fried_garlicHKT) ★ 東京大学大学院学際情報学府学際情報学専攻先端表現情報学コース ! ★ 卒論:食事画像認識/検出 ★ Interest of research:機械学習,一般物体認識,Deep Learning ! ★ @ketsumedo_yarou先輩の紹介で参加させていただきます 2

第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 3

第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 4

第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

第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

第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

第23回 コンピュータビジョン勉強会@関東 知識の流れ Hubel and Wiesel [1962] (単純細胞,複雑細胞,局所受容野) ! ! Fukushima [1980] (Neocognitron) ! ! LeCun [1989, 1998] (Convolutional Neural Network→手書き文字認識への応用) 8 1. Introduction to Convolutional Neural Network

第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 ※画像はイメージです いわゆる移動フィルタの形で,画像を移動しながら注目画素の周 辺の画素値を用いて計算.このフィルタをたくさん用意する (フィルタ=重み行列が局所的)

第23回 コンピュータビジョン勉強会@関東 10 1. Introduction to Convolutional Neural Network

第23回 コンピュータビジョン勉強会@関東 11 http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf 1. Introduction to Convolutional Neural Network

第23回 コンピュータビジョン勉強会@関東 全体構造 • 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類 問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い. 12 1. Introduction to Convolutional Neural Network LeNet-5 [LeCun, 1998]

第23回 コンピュータビジョン勉強会@関東 学習 Stochastic Gradient Descend (SGD, Batch training) ! + ! Back Propagation (誤差逆伝搬法) 13 1. Introduction to Convolutional Neural Network

第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 14

第23回 コンピュータビジョン勉強会@関東 全体構造(再掲) • 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類 問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い. 15 1. Introduction to Convolutional Neural Network LeNet-5 [LeCun, 1998]

第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

第23回 コンピュータビジョン勉強会@関東 • 直感的にはある程度の領域を「まとめる」ことで位置情報を捨て, 変化に対してロバストにする作業のこと. • 広義では,抽出した生の特徴表現を,認識に必要な部分だけ残す ような新たな表現に変換すること. ! ! • 無意識に多く使われている • 「最大値をとる」「平均をとる」「(語弊あるが)まとめる」 • 要素技術しかり,アルゴリズム全体然り • ex)                        SIFT[Lowe 99], Bag of Features[], Spatial Pyramid[], Object Bank[2010], Pooling 17 2. The Detail of Conventional CNN Techniques

第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]を参照

第23回 コンピュータビジョン勉強会@関東 Pooling 19 2. The Detail of Conventional CNN Techniques • 結局どれがいいのか • [Boureau, CVPR 2010及びICML 2010]に詳しい議論 • Cardinality(プーリングサイズ)による • 直感的には・・ • 元画像に対し,広い部分を扱うときは平均プーリング,小さい部分 の時はmaxの方が良い?

第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

第23回 コンピュータビジョン勉強会@関東 局所コントラスト正規化 21 2. The Detail of Conventional CNN Techniques • 発端は?:計算神経科学(哺乳類の初期視覚野のモデル) • 脳のニュートンによる情報伝達はパルス数によって制限(有限) • どうやってやる?:減算初期化と除算初期化 • どちらかというと除算が重要か(?) ! • 意味は?: • ①上記の脳の初期視覚野のモデルを表現 • ②複雑視覚野におけるニュ―ロンの選択性がコントラストに非 依存であることの説明

第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 2. The Detail of Conventional CNN Techniques • 具体的な効果は?: • improves invariance • improves optimization • increase sparsity [以上,Ranzato, CVPR 2013 Tutorial]

第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 24

第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

第23回 コンピュータビジョン勉強会@関東 DropOut • DropOut [Hinton et al., 2012] • 学習時に,中間層の出力の50%をrandomに0にする • 一時的に依存関係を大幅に減らすことで,強い正則化の効果があ る • 一般化→DropConnect [Wan et al., 2013] • 50% -> (1-p)% • Sparseな接続の重み行列に 26 3. Other Topic

第23回 コンピュータビジョン勉強会@関東 CNNの問題点 •ただただパラメータが多い 27 3. Other Topic

第23回 コンピュータビジョン勉強会@関東 CNNの問題点 28 http://www.slideshare.net/yurieoka37/ss-28152060 3. Other Topic ←最初に決めるが,一番難しい…

第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

第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

第23回 コンピュータビジョン勉強会@関東 いわゆるハイパパラメータ • いくつかの決定手法は提案されてはいる • ランダムサーチのほうが性能がいい?[Bergstra, 2012] • 基本的には層は多くあるべき? [Bengio, 2013] • http://www.slideshare.net/koji_matsuda/practical- recommendation-fordeeplearning ! ! • しかし基本的に問題依存とされる • 経験則しか頼りづらいBlack-box tool 31 3. Other Topic

第23回 コンピュータビジョン勉強会@関東 アウトライン 1. Introduction to Convolutional Neural Network 2. The Detail of Conventional CNN Techniques 3. Other Topic 4. Implementation 32

第23回 コンピュータビジョン勉強会@関東 cuda-convnet • LSVRC2012優勝のSupervisionのコード • GPU利用が前提 • 演算部分はC++ / CUDA, UI部分はPython ! • @hokkun_cvの卒論にて利用 33 4. Implementation

第23回 コンピュータビジョン勉強会@関東 cuda-convnet • 基本的なCNNの機能を網羅 • ただし自分たちで使ってるDropOutの実装はない • (Forkして公開している人はいる) ! • UI部分はPythonなのでいじりやすい ! • 欠点: • 画像を読み込ませるためにデータ加工するコードを自分で書かな ければならない • 並列処理ライブラリCUDAを用いているので,重要な処理の部分 を変更するにはそれなりの知識が必要 34 4. Implementation

第23回 コンピュータビジョン勉強会@関東 まとめ • CNNはConvolutionとPoolingの繰り返しでできている • アイデア自体はかなり古い ! • 同じ層分だけあるフル接続NNよりも性能が良い • なぜかはまだ理論的説明がない ! • 局所的な正規化を行うことで性能向上 ! • あらゆる場所でコンテストを行っても上位独占 • 特にSupervisionの快挙は2013年にその改良を行う論文が多く執 筆されたことからもわかる 35

第23回 コンピュータビジョン勉強会@関東 • ご清聴ありがとうございました. 36

Add a comment

Comments

財布専門 | 08/06/15
ありがとうございます乾杯 ...私の心| 近くに近くに これは話題です! ここであなたの連絡先の詳細はし​​かしありますか? [url=http://www.rimpasekmek.com]財布専門通販店[/url]

Related presentations

Research/ Dissertation on “How online selling has changed the marketing perspectiv...

مشروع قانون يتعلق بالقضاء على كل أشكال العنف ضد المرأة

Remedial geo

Remedial geo

November 6, 2014

nnn

This brief examines 2013 demographic data recently released by the U.S. Census Bur...

Introduction into Big data

Introduction into Big data

October 22, 2014

This presentation shows you the advantages and the importance of Big Data in these...

Info om powerpoint

Info om powerpoint

November 10, 2014

Powerpoint

Related pages

Convolutional neural network - Wikipedia, the free ...

Convolutional neural network; Theory. ... Convolutional networks exploit spatially local correlation by enforcing a local connectivity pattern between ...
Read more

uno mondo: Convolutional Neural Network - blogspot

uno mondo: Convolutional Neural Network - blogspot
Read more

Convolutional Neural Networks (LeNet) — DeepLearning 0.1 ...

Convolutional Neural Networks (CNN) ... Sparse, convolutional layers and max-pooling are at the heart of the LeNet family of models.
Read more

Convolutional Neural Networks - TensorFlow

Convolutional Neural Networks. NOTE: ... The goal of this tutorial is to build a relatively small convolutional neural network (CNN) for recognizing images.
Read more

* Google ResearchのInceptionism関係の論文を流し読み

Google Research Blogに載っていたNeural Network ... Neural Network @ CV勉強会関東 ... Chairs with Convolutional Neural Networks ...
Read more

Notes on Convolutional Neural Networks - Cogprints

Notes on Convolutional Neural Networks Jake Bouvrie Center for Biological and Computational Learning Department of Brain and ... 3 Convolutional Neural ...
Read more

2014/05/25 CV勉強会@関東 CV最先端ガイド6「ディープラーニング」 - takminの書きっぱなし備忘録

2014/05/25 CV勉強会@関東 CV ... Convolutional Neural Network @ CV ...
Read more

Neural networks and deep learning

Convolutional neural networks use three basic ideas: local receptive fields, shared weights, and pooling. Let's look at each of these ideas in turn.
Read more