ロボット情報工学特論 no.10

http://apple.ee.uec.ac.jp/isyslab
ロボット情報工学特論 no.10
Advanced Information Engineering for Robotics no.10
第10回: Deep Learning 1~ Convolutional Neural Network ~
電気通信大学大学院
情報理工学研究科
知能機械工学専攻
長井隆行
http://apple.ee.uec.ac.jp/isyslab
Story From the New York Times
 The
system, which comprises of a cluster
of 1,000 computers (totaling 16,000
processor cores), analyzes 10 million
200×200 still frames from YouTube. Over
3 days, the system’s software builds up
a network of hundreds of neurons and
thousands (millions?) of synapses.
http://www.nytimes.com/2012/06/26/technology/in-a-big-network-ofcomputers-evidence-of-machine-learning.html?pagewanted=2
http://apple.ee.uec.ac.jp/isyslab
そして顔
http://apple.ee.uec.ac.jp/isyslab
Outline
 Deep
Learning とは?
 Convolutional Neural Networks
 CNNを使った一般物体認識
 まとめ
http://apple.ee.uec.ac.jp/isyslab
Deep Learningとは

多層のニューラルネットワーク
新しい概念ではない
 誤差逆伝搬法(BP)で1980年代に大ブレーク

⇒ BPでは大規模なネットワークの学習が困難
学習方法(プレトレーニング)や高い性能で再注目されている
 GPUなどの計算パワーの向上も一つの要因


よく出てくる言葉







多層ニューラルネットワーク(Multi-layered Perceptron)
畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)
Deep Belief Network(DBN)
制約付きボルツマンマシン(Restricted Boltzmann Machine:RBN)
オートエンコーダ(Autoencoder)
疎表現(Sparse Coding)
辞書学習(Dictionary Learning)
次
の
機
会
http://apple.ee.uec.ac.jp/isyslab
多層ニューラルネットワーク




前回のお話
入力層で信号を入力し出力層で認識結果のラベルを出力する
学習サンプルを使ってBPで重みを学習
学習サンプルの出力と所望の出力との誤差の2乗和を最小化する
http://apple.ee.uec.ac.jp/isyslab
Convolutional Neural Network (CNN)

人間の視覚野を模擬
 特定の傾きの線分に反応するニューロン
 線分の検出
⇒ 画像のフィルタリング
⇒ 畳み込み (次のページ)
 どのようなカーネルがよいのか?
 画像処理では色々提案されている
 SIFTでは単純な微分フィルタが使われている
 サンプルがあるのであれば学習すればよい
http://apple.ee.uec.ac.jp/isyslab
畳み込み
オペレータ適用(フィルタリング・2次元畳み込み)の計算手順

足りないところはゼロで補う
出力画像
入力画像
オペレータ
-1 0
-1 0
1
1
0
0
1 1
0
0
1
7
-1 0
1
1
0
8
8
中心
0
1
8
9
-1
-1
-1
0
0
0
1
10
10
1
7
0-1 00 11
7
1
0
8
8
1
0
8
8
0
1
8
9
0
1
8
9
0
0
0
0
-1 0 1
1 01 1
-1
1-1 07 1
0
0
1 1
0
0
1
7
1
0
0
1
8-1
8-1
-1
08
09
0
1 1
0
-1 0 1
0-1 01 1
0-1 01 17
1
0
8
8
1
0
8
8
0
1
8
9
0
1
8
9
0
0
-1 0
-1 0
-1 01
10
10
1 1
0
1
7
0
10
8
0
1
8
2
2
8
8 -2
8
0-1
0-1
1-1
0 11 1
0 11 7
0 18 8
9
0
1
8
9
-1 0 1
0-1 00 11 1
0
0
2
0
2
0
9
0
2
8 -2
8 -2
1
1
1
右下
8
http://apple.ee.uec.ac.jp/isyslab
オペレータ



ノイズ除去のための平滑化と組み合わせる
平滑化によって色々なパターンがある
3×3がよく用いられる
横方向微分
prewitt
sobel
-1 0
-1 0
-1 0
1
1
1
-1 0
-2 0
-1 0
1
2
1
縦方向平均
中心を重視
した平均
横方向平均
-1 -1 -1
0 0 0
1 1 1
縦方向微分
-1 -2 -1
0 0 0
1 2 1
9
http://apple.ee.uec.ac.jp/isyslab
オペレータ適用の例(畳み込みの例)
prewitt
sobel
10
http://apple.ee.uec.ac.jp/isyslab
プーリングとネットワーク化

非線形関数


複数のカーネル関数


受容野で様々な方向に反応する細胞があるのと同じ
プーリング(pooling)




パーセプトロントと同じ
ある小領域内で情報を集約する
いろいろな意味(解釈)がある ⇒ 不変性の担保、情報量の圧縮
平均プーリング、マックスプーリング、Lpプーリング(p乗ノルム)
多層接続


上記の仕組みを多層に接続
最後の層にはMNN(非線形識別関数)を入れる
http://apple.ee.uec.ac.jp/isyslab
CNN 全体像

前述の仕組みをつなげると次のようになる

CNNのポイントは
疎な結合
⇒ パラメータが少ない
重みの共有
⇒不変性の実現
http://apple.ee.uec.ac.jp/isyslab
CNNの応用

文字認識では昔から高い性能を出すことが知られていた


あまり注目されなかった(NN自体が下火だったため)
大規模な一般認識ベンチマークテストで2012年に大差でトップ
Large Scale Visual Recognition Challenge 2012
 http://www.image-net.org/challenges/LSVRC/2012/results.html#t2
⇒Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, “ImageNet Classification
with Deep Convolutional Neural Networks”, in Proc. NIPS 2012

SuperVision
test-rect-preds-144-cloc-141146.2009-131-137-145-
0.335463
Using extra training data for
classification from ImageNet
Fall 2011 release
SuperVision
test-rect-preds-144-cloc-131137-145-135-145f.txt
0.341905
Using only supplied training
data
0.500342
Re-ranked DPM detection over
Mixed selection from HighLevel SVM scores and
Baseline Scores, decision is
performed by looking at the
validation performance
OXFORD_VGG
test_adhocmix_detection.txt
http://apple.ee.uec.ac.jp/isyslab
Large Scale Visual Recognition Challenge 2012
http://apple.ee.uec.ac.jp/isyslab
画像の例 1/2
http://apple.ee.uec.ac.jp/isyslab
画像の例 2/2
http://apple.ee.uec.ac.jp/isyslab
トップチームの手法
CNNを比較的素直に使っている
 CNNの構造



1:11×11×3のカーネル48個+Max pooling 2:5×5×48のカーネル256個+Max
pooling
学習を高速化するノウハウ
GPUの利用
 並列化


過学習を防ぐノウハウ
学習サンプル ⇒ 変形させたものをたくさん用意する
 ドロップアウト ⇒ 重みを変えずに、50%の確率でニューロンの出力をゼロにする

http://apple.ee.uec.ac.jp/isyslab
結果
 昨年の優勝アルゴリズム(SIFTを利用)に比べ
10%近く性能を向上
 結果の例
http://apple.ee.uec.ac.jp/isyslab
何が学習されたのか?
 最下層で学習されたカーネル
 Sparse Coding との関連性
http://apple.ee.uec.ac.jp/isyslab
まとめ
 Deep
Learningの最初としてCNNを概説
 最新のテストではCNNが大幅に記録を塗り替えた
 画像だけではなく音声認識などでもかなり注目さ
れている
 よくわかっていないことも多い
 タスクによって使い分けが必要?
 小規模な認識や特定物体認識で有効か?
 パラメータの選び方にどれだけ影響を受けるのか?