cvpr 2011 imagenet challenge 文献紹介
Post on 07-Jul-2015
1.233 Views
Preview:
DESCRIPTION
TRANSCRIPT
CVPR/ICCV 2011 輪講2012/5/14なりひら
紹介内容
●ImageNet challengeの2010,2011 Winnerの報告● 2010 NEC-UIUC (CVPR2011) 紹介● 2011 XRCE(CVPR2011) 概要紹介
●ImageNet Challenge 2012● Fine-Grained classificationが追加● 多分有力:Yao Bangpeng, Fei-Fei Liら
ImageNet Challenge● 大規模データセットImageNetを使った画像認識コンペ
–
とんでもないクラス数
とんでもないサンプル数
評価方法
● Ground Truth– N classes labels / image
● アルゴリズム
– Top 5 classes labels / image● 評価
– [ sum [5 classesとも当たっていなければペナ1 for n=1:N] for i=1:numImage ]
j
ImageNet Challenge 2010 Winner
(Published in CVPR 2011)
The Contribution of this paper
新しいアルゴリズムは目的じゃない
中規模データセット(PASCAL VOCなど)の時と同等の性能で
効率的大規模データセット問題を解くこと
1. Hadoopによる特徴抽出並列化2. 大規模データでのSVMの効率的な学習
中規模データセットでのState-of-the-art
HoG (Shape), LBP (Texture)Multi-scale 16, 24, 32
LCC: Sparse codingより改善Super-vector: 高次特徴量
Poolingになんとなく位置情報
Feature mapping次第で線形でいける
大規模に適用しようとすると(1.2M画像、1000クラス)
〜208日(一枚〜15秒)
250日 Liblinear, svnlight etc.
No more than 500px at either side
ScSPM: Sparse coding + Spatial pyramid pooling
spatial max pooling CVPR2009 average pooling
Histogram max pooling multiscale max pooling
LCC JinJun Wang et al, CVPR2010
Sparse codingよりも速く性能も高いcoding方法
解析的に係数が求まるので速い
Super-vector coding
特徴量の規模
ぐぬぅ…
Feature extractionをHadoopで配列化
● 特徴量計算はサンプルで独立だから並列化しやすい
● 流行のHadoop使ってやったぜ
208日 → 2日(120 workers)
詳しくはWEBで ぽち
SVM学習
1000 クラス 1-vs-all binary classifiersを学習
前述のとおり特徴量はとんでもないサイズ
SVN^light LibSVMなどはBatch最適化だから無理
Stochastic Gradient DescentでやるAveragingバージョンは更に良い
1000クラスでmemory sharingするとI/O効率的
SVMのコスト関数
正則化+ヒンジロス
コスト関数の偏微分
Stochastic Gradient Descent (SGD)
サンプルごとの勾配でwを更新
Averaging Stochastic Gradient Descent (ASGD)
超シンプル大規模データでないと上手くいかないらしい
2次のSGDと同様な収束性能Hesseの計算の必要なし
ちょっとした計算テクニックも紹介
ASGD SVMの並列化
● File I/Oがボトルネック(Readだけで19 hours)
● Bin classifier x 1000 を並列化
● データセットをメモリ共有
250日 → 4日(6x12 workers)
Results
セット5の結果
ASGD v.s. SGD● ASGD converged
very fast!
性能
● Classification accuracy: 52.9%
● Top 5 hit rate: 71.8%
ImageNet Challenge 2011 Winner (Published in CVPR 2011)
ポイント
高次元特徴量(+線形識別器)を使うと性能良いのは知られている
しかし、高次元(Fisher Vector)を扱うのは大変
良い特徴量圧縮方法Product quantizationを使うHash Kernelよりも性能が落ちない
力尽き…
top related