Más contenido relacionado La actualidad más candente (20) Similar a Image net classification with Deep Convolutional Neural Networks (20) Image net classification with Deep Convolutional Neural Networks3. Object Recognition
応用例:
• カメラの顔認識
• 自動レジ
• ロボットの目
• etc…
近年の傾向:
• クラス数
• 訓練画像数
• 特徴量の複雑化
Cat?
Leopard?
4. ILSVRC2012
IM GENET Large Scale Visual Recognition Challenge
• 世界最大規模の画像認識コンテスト
カテゴリ数 訓練画像 検査画像 テスト画像
1000 120万枚 50000枚 150000枚
※ ↑をダウンロードするだけで一週間かかる
Difficulty:
– データサイズの問題
– 訓練画像の数の多さの問題
– 識別の複雑さの問題
6. Proposal Approach
訓練画像
Deep クラスラベル
Conventional
Neural
クラスラベル
テスト画像 Networks
• 内部で自動で特徴抽出
• 各層の間に荷重付き枝を持つようなNeural
Network
7. Result of ILSVRC 2012
Error Rate
0.4
34%
0.3 29%
27% 27% 26%
0.2
16%
0.1
0
わけが
わからない
よ
8. Agenda
• Overview
• ImageNet
• Architecture
– Deep Learning
– Convolutional NNs
– Acceleration
– Reducing Overfitting
• Learning
• Result and Evaluation
10. Overview
why? 実世界におけるクラス分類に耐える識別機を作
る
史上最大規模のNeural Network
how?
それを動かせるGPU
what? Reasonableな時間で圧倒的な性能を出した
Reasonableな時間で圧倒的な性能を出した
contrib.
GPU用のコードを公開した
14. Deep Learning
Output
Traditional Approach Greedy Layer-wise Training[1]
• まとめて学習 識別機 • 一層ずつ学習
• 多層autoencoder • 一層のautoencoder
× 時間 時間
× 効率 効率
× Vanishing Gradient × Overfitting
Problem
Input
16. Convolutional NNs[2]
• NNsの問題
各ユニットへの入力を制限
• 前の層の一部のユニットの出力だけを受け取る
フィルタのようなもの
• 提案1 → 入力の誤差を全体に伝搬させない
• 入力範囲はオーバーラップするように選ぶ
• 提案2 データの欠損に対応するため
• 提案3
17. Convolutional NNs[2]
• NNsの問題
重みを共有
• 入力範囲の同じ入力座標は同じ重みをもつ
• 提案1 • 同じフィルタを使って圧縮するイメージ
→ フィルタに対する入力の傾向を学習
→ 入力のズレ,ノイズに対応
• 提案2
問題: 1つのフィルタについてしか学習できない
• 提案3
19. Architecture of CNNs
5層のCNNs + 3層のNNs
• 入力:150,528次元
• ニューロン:約66万個,GPU2台に配置
253,440 – 186,624 – 64,896 – 64,896 – 43,264 –
4096 – 4096
• 出力:1000次元
21. Acceleration
ReLU Local Response Overlapping
GPU2台の学習 Pooling
非線形変換 正規化
ニューロンのモデ
ル 入力 x : 前の層の出力を各枝ごとに重み付けしたも
の
出力 f(x): 入力に非線形な変形を加えたもの
ex.) f(x) = tanh(x), (1 + e-x)-1
f(x)
問題点 : 莫大な回数行うとなると遅すぎる
-> もっと単純な変形で出力を決定したい
ReLU 非線形変換
f(x) = max(0, x)
予備実験において6倍速くネットワークを収束
22. Acceleration
ReLU Local Response Overlapping
GPU2台の学習 Pooling
非線形変換 正規化
GPU間のデータのやり取りを制限
- 2,3層間,5,6層間,6,7層間だけ
23. Acceleration
ReLU Local Response Overlapping
GPU2台の学習 Pooling
非線形変換 正規化
• ReLU非線形変換の入力は全部負だとダメ
→ 近傍のフィルタの同じ座標の重みで正規
化
予備実験では約2%の性能向上
厚み:N
この範囲で正規化す
24. Acceleration
ReLU Local Response Overlapping
GPU2台の学習 Pooling
非線形変換 正規化
• 近傍の出力をまとめる
出力: 平均,最大値,etc…
• 一般的には範囲を分ける
図:Poolingのイメージ
→Overlapさせることでズレを
吸収
図:3×3, Overlap 1の例 0.3~0.4%の性能向上
26. Reducing Overfitting
データの拡張
バリエーションを増やす
Dropout
ラベルを保存するような変換
1. トリミング+鏡像
訓練時:ランダムに切り取る
テスト時:中央+4隅
2. 輝度の変更
主成分分析を利用
ガウス分布から固有値を抽出
固有値と乱数で輝度を変更
約1%の性能向上
27. Reducing Overfitting
Dropoutなし
データの拡張
バリエーションを増やす
Dropout[3]
ラベルを保存するような変換
• 出力の半分を0にする
1. トリミング+鏡像
CNNsなので重みは共有
訓練時:ランダムに切り取る
→ 他の部分で学習は可能
テスト時:中央+4隅
Dropoutあり
2. 輝度の変更
• 他ニューロン任せをやめる
主成分分析を利用
ガウス分布から固有値を抽出
NNsは影響度の高いニューロン
に 固有値と乱数で輝度を変更
学習をまかせてしまうことがあ
約1%の性能向上
る
図:手書き数字画像から得た特徴
31. Result
error rate
図:ILSVRCの結果 圧倒的なエラー率の低さ
37. Refference
[1]Deep Learning:
A fast learning algorithm for deep belief nets, GE Hinton, S Osindero, YW Teh -
Neural computation, 2006.
[2]CNNs:
Face recognition: A convolutional neural-network approach, S Lawrence, CL
Giles,et al. Neural Networks, IEEE Transactions on 1997
参考http://ceromondo.blogspot.jp/2012/09/convolutional-neural-network.html
[3]Dropout:
Improving neural networks by preventing co-adaptation of feature detectors, GE
Hinton, N Srivastava, A Krizhevsky, et al. 2012