SSII2014チュートリアル資料 - 電気電子工学科

機械学習法の基礎と
コンピュータビジョン応用
SSII 2014年6月11日
堀田 一弘
名城大学 理工学部 電気電子工学科
[email protected]
http://wwwre.meijo-u.ac.jp/labs/re003/
目的
•
CV, PR, MLの垣根が低くなる
•
最近の画像認識:
多くの多変量解析や機械学習法
⇒
これから始める人には分かりにくい
・どれを使ったら良いのか分からない
・各手法の性質を大雑把に知りたい
・自分の抱えている問題の参考にしたい
⇒ 具体的な応用例と共に説明
1
目次
・多変量解析法
主成分分析
判別分析
カーネル多変量解析
Partial Least Squares回帰
・機械学習法
Neural NetworkとDeep learning
Support Vector Machine
スカラーの平均と分散
平均:
1
x
N
N
x
i 1
i
分散:
1
2
 
N
 x  x 
2
N
i 1
i
2
平均ベクトルと共分散行列
n次元ベクトル
xi  xi1 ,..., xin 
T
平均ベクトル
1
x
N
N
x
i 1
i
平均ベクトルと共分散行列
共分散行列
X
•
•
1

N
 x
N
i 1
i

 x xi  x

T
  112  122 . .  1n 2 
 2

  21  222



X   .
.

 .

.
 2
2



nn 
 n1
共分散行列:対称行列 → 固有ベクトルは直交
対角成分:各次元の分散
3
主成分分析
主成分分析
2次元から1次元
の場合を考える
y  aT x
スコア
スコア
データの変動を最もよく表す低次元特徴量を求める
→ yの分散が最大となる方向
4
主成分分析(第1主成分の導出)
学習サンプル
分散最大
X  x1 ,, x N 
新特徴量
x
特徴空間
n
a
T
y
主成分空間
yi   a j xij  aT xi
j 1
1 N
1 N T
y   yi   (a xi )  aT x
N i 1
N i 1
N
1 N

2
T1
   ( yi  y )  a   (xi  x)(xi  x)T a  aT  X a
N i 1
 N i 1

2
y
主成分分析
・評価基準 = 新特徴の分散最大化
 y2  aT  X a
・制約条件
n
a
j 1
2
j
 aT a  1
・最適化問題(Lagrange乗数)
Q(a)   y2   (aT a  1)  aT  X a   (aT a  1)
5
主成分分析
パラメータで偏微分
Q(a)
 2 X a  2a  0
a
Xの分散共分散行列の固有値問題が得られる
 X a  a
第2主成分は第1主成分と直交するように取る
(過去のデータと無相関 = 効率の良い表現)
AT A  I
寄与率
・固有値(新しい軸の分散)の大きい順に軸をとる
・寄与率がある閾値以上となる次元までを使う
m

j

j
j 1
n
j 1
*
 0.9
全ての軸を使えば元と同じ
6
主成分分析の応用例
固有顔 (Eigenface1991)
手動で切り出した顔画像の主成分分析
主成分分析した空間で距離による識別
顔は同じような構造なので低次元空間で表現可能
y  A T ( x  x)
 xi1 


  
xi  
 


x 
 ihw 
全主成分を用いれば元の空間で距離を測ることと同じ
M. Turk and A. Pentland, “Eigenfaces for recognition,” Journal of Cognitive
Neuroscience, Vol.3, No.1, pp.71–86, 1991.
7
線形判別分析
判別分析の考え方
class2
この軸に射影すると
主成分分析では
2つのクラスが重な
これが第一主成分
ってしまいう
class1
y  aT x
8
判別基準
クラス内分散が小,クラス間分散が大
 B2
  2
W
判別力小
判別力大
線形判別分析(1次元の場合)
判別基準最大
学習サンプル
 x1, li | i  1,, N 
新特徴量
yi  a (xi  xT )
T
x
特徴空間
1
xT 
N
aT
y
判別空間
N
x
i 1
i
K
1 K

2
T1
   N k ( yk  yT )  a   N k (x k  xT )(x k  xT )T a  aT  Ba
N k 1
 N k 1

2
B
K
1 K

2
T1
   N k k  a   N k  k a  aT W a
N k 1
 N k 1

2
W
9
線形判別分析(導出1)
•
判別基準最大化
 B2 aT  Ba
 2  T
 W a W a
•
•
等価な問題
•
制約条件
•
最大化
 W2  aT W a  1
 B2  aT  Ba
最適化問題(Lagrange乗数)
Q(a)   B2   ( W2 1)  aT  Ba   (aT W a 1)
線形判別分析(導出2)
Qのパラメータに関する偏微分
Q(a)
 2 Ba  2W a  0
a
これから、一般化固有値問題が得られる
 Ba  W a
• 最適解:
最大n個の固有値に対応する固有ベクトルを列とする行列
 B A  W A,
AT W A  I
Yの次元mは行列のランクの関係から m  min( K
つまり、2クラスの場合は1次元になる
 1, n)
10
判別分析の応用例
Fisherface
•
輝度値をならべたベクトルとして表現し、画像集合
を線形判別分析して得られる固有ベクトル
•
識別に適した空間なのでEigen faceよりも高い精度
P.N.Belhumeur et al. “Eigenfaces vs Fisherfaces: Recognition Using Class
Specific Linear Projection”, IEEE Trans. on PAMI, Vol.19, pp.711-720, 1997.
11
カーネル多変量解析
線形主成分分析の問題点
分布が非線形だとうまく軸を引けない
カーネル主成分分析だと
非線形な主成分軸が引ける
12
カーネル主成分分析
カーネル主成分分析
•
非線形写像により高次元空間に射影 xi   (xi )
•
高次元空間で線形主成分分析
yi  aT  (xi )
重みベクトルの表現(φの張る空間内にある)
N
a    j (x j )
•
j 1
新特徴量
N
N
yi  a  (xi )   j (xi )  (x j )   j K (xi , x j )
T
T
j 1
j 1
13
カーネル主成分分析
yの分散
1
 
N
2
y
制約条件
評価関数
N
y
i 1
2
i

1
αK 2α
N
aT a  αKα  1
Q
1
αK 2α   (αKα  1)
N
固有値問題
K 2 α  NKa  Kα  N α
カーネル多変量解析の応用例
向きの変化は非線形分布となる
→ カーネル多変量解析が向いている
坂野鋭他, “核非線形相互部分空間法による物体認識”, 信学論D-II ,
Vol. J84-D-II, No.8, pp.1549-1556, 2001.
14
カーネル判別空間
PCA space
KFD space
向きによる変動が低減
クラス間の違いも強調
Partial Least Squares 回帰
岐阜大の加藤研との勉強会により
得た知識も含まれております
15
PLS回帰
•
計量化学でよく使われる方法
•
Xとyの共分散を利用
(重回帰やPCA回帰との違う所)
•
入力変数間の相関が高い時に有効
⇒ 画像に有効
•
Computer VisionではICCV2009が最初
⇒ yを+1,-1として識別器のように利用
回帰にも識別にも利用可能
PLS回帰の概要
X
PCA:データの分布をよく表す部分空間
PLS: yを考慮した分別する部分空間
➡ 予測・識別に有効な部分空間を作成できる
16
PLSアルゴリズム
NIPALS
(Nonlinear Iterative Partial Least Squares)
入力
説明変数:X∈RN×n
目的変数:Y∈RN×1
(N:サンプル数,n:次元数)
一般的なPLSアルゴリズム
実装は容易
・PLS1…単出力
・PLS2…多出力
SIMPLS
特異値分解を用いた
アルゴリズム
出力
回帰係数:B
1. X,Yを標準化
2.
3.
4.
5.
6.
7.
8.
9.
w = YTX / ||YTX||2
t = Xw
c = YTt (tTt)-1
p = XTt (tTt)-1
X = X-tpT
Y = Y-tcT
2-8を繰り返す
B = W(PTW)-1CT
学習データ
サンプル数×次元数
学習サンプル:X∈R
サンプル数×1
ラベル:Y∈R
17
前処理
標準化(平均0, 分散1)
𝒀=
𝒀−𝒀
𝝈𝒚
中心化(平均0)
𝑿=𝑿−𝑿
𝒀=𝒀−𝒀
標準化もしくは中心化
アルゴリズムによってバラバラ…
YとXの相関を計算
XとYの共分散行列(相関行列)を求める
𝐰𝑖 = 𝐗 T𝑖 𝐘𝑖 /‖𝐗 T𝑖 𝐘𝑖 ‖
(※ iは繰り返し数)
18
スコアを求める
相関から得た係数WとXの内積
𝐭 𝑖 = 𝐗 𝑖 𝐖𝑖
Yの更新
射影されたスコアtよりYを
予測する回帰係数cを求める
argmin 𝐘𝑖 − 𝒄𝑖 𝐭 T𝑖
𝐜𝑖
Y
𝐜𝑖 = 𝐘𝑖𝑇 𝐭 𝑖 (𝐭 𝑇𝑖 𝐭 𝑖 )−1
𝐘𝑖+1 = 𝐘𝑖 − 𝐭 𝑖 𝐜𝑖𝑇
t
一度回帰に用いた情報を削除
した新たなYを得る
19
Xの更新
Xについても同じ処理
回帰係数pを求める
argmin 𝐗 𝑖 − 𝒑𝑖 𝐭 T𝑖
X
𝐩𝑖
𝐩𝑖 = 𝐗 𝑇𝑖 𝐭 𝑖 (𝐭 𝑇𝑖 𝐭 𝑖 )−1
𝐗 𝑖+1 = 𝐗 𝑖 − 𝐭 𝑖 𝐩𝑇𝑖
t
情報を削除した新たなXを得る
繰り返し
に戻り,繰り返す
繰り返し数(部分空間の次元数)はCross Validation
繰り返す度に得られるw, t, c, pを並べて行列を構成する
回帰係数Bは下記により計算
B = W(PTW)-1CT
20
公開されているプログラム
MATLAB:
plsregress関数(要 Statistics toolbox)
SIMPLS algorithm
(SVDにより回帰係数を求める)
PLS NIPALS ( C++ )
http://homepages.dcc.ufmg.br/~william/softwares.
html#detectorPLS
参考になる資料
Multivariate Data Analysis and Chemometrics
http://statmaster.sdu.dk/courses/ST02/
21
PLSの応用例
人検出への応用 (ICCV2009)
W.R. Schwartz et al., “Human Detection Using Partial Least Squares Analysis,” ICCV2009.
22
人検出への応用 (ICCV2009)
W.R. Schwartz et al., “Human Detection Using Partial Least Squares Analysis,” ICCV2009.
Vehicle検出への応用 (PAMI2011)
A.Kembhavi et al., “Vehicle Detection Using Partial Least
Squares,” IEEE Trans. on PAMI, Vol.33, No.6, 2011.
23
Vehicle検出への応用 (PAMI2011)
A.Kembhavi et al., “Vehicle
Detection Using Partial Least
Squares,” IEEE PAMI, Vol.33,
No.6, 2011.
人検出でPLSとSVMを比較
24
実験環境
INRIA Person Dataset
・学習画像
positive:2,416枚
negative:12,180枚
5-fold Cross Validation
• SVMのコスト / PLSの成分数最適化
・評価画像
positive:1,126枚
negative:4,530枚
・評価画像にnegative追加
SceneClass13 (36,140枚)
PLSによる人検出
説明変数
HOG特徴量(14,580次元)
目的変数
Positive : +1
Negative: -1
25
ROC曲線によるPLSとSVMの比較
ROC曲線によるPLSとSVMの比較
26
PLSの細胞内画像処理への応用
細胞内画像中に存在する粒子の計数への応用
S.Kumagai and K.Hotta, “Light Spot Counting in Intracellular Images Using
Partial Least Squares Regression and Correlation between Features,”
Proc. International Workshop on BioImage Recognition (BIR2013), 2013.
画像中に何個の脂肪滴がある?
回帰分析に基づく計数法の概要
特徴量間のHLAC特徴 +
PLS回帰
学習データ
HLAC
輝点数
輝
点
数
テストデータ
HLAC
HLAC 特徴
27
評価実験
脂肪滴画像データセット
• 99枚の脂肪滴画像
• 2人の専門家が正解を付与
名古屋大学 医学系研究科
藤本研究室 提供
学習画像:90 枚
パラメータ最適化:5 枚
評価:4 枚
×3データセット
評価指標
MAE(Mean Absolute Error)…絶対誤差の平均
𝜀𝑀𝐴𝐸 =
1
𝑁
𝑁
𝑖=1
𝑦𝑖 − 𝑦𝑖
MDE(Mean Deviation Error)…MAEを正解数で正規化
𝜀𝑀𝐷𝐸 =
1
𝑁
𝑁
𝑖=1
𝑦𝑖 − 𝑦𝑖
𝑦𝑖
28
評価実験
MAE
MDE
PLS回帰
(複数HLAC+Hellinger Kernel)
4.25
0.156
主成分回帰
(複数HLAC+Hellinger Kernel)
4.50
0.157
サポートベクター回帰
(複数HLAC+Hellinger Kernel)
8.833
0.237
ImageJ
12.92
0.24
計数結果
Ground Truth:29
Ground Truth:58
Ground Truth:98
Estimated Count:28 Estimated Count:60 Estimated Count:95
Ground Truth:76
Ground Truth:50
Ground Truth:86
Estimated Count:76 Estimated Count:54 Estimated Count:87
29
PLSの群集カウントへの応用
SSII2014で発表します(IS3-05)
⇒ 是非ポスターを見に来て下さい
何人いますか?
PLSまとめ
・CV分野では比較的新しい方法
⇒ データによってはSVMを上回る性能
・回帰にも識別にも利用可能
・多次元出力が可能
・カーネルPLSも既に提案されている
30
パーセプトロン
パーセプトロン (1958)
脳をヒントにした教師有り学習
• 機械学習の原点
• 小脳がパーセプトロン学習をしている説
(大脳:教師なし学習,大脳基底核:強化学習)
•
x
w
y
t
教師信号
31
パーセプトロンの学習
•
•
階層的にしても最終層のみ学習
1層のパーセプトロンの学習則(y = +1 or -1)
x
S  xi , yi | i  1,..., N 
f x  y
w
~T~
f (x)  wT x  b  w
x
~
~ T  w ,..., w , b
w
x T  x1 ,..., xn ,1
1
n
~T~
w
x0
線形の識別面のみ
パーセプトロンの学習則
間違えた時だけ識別面を修正
~T~
yi w
x が負の時に間違い(y = +1 or -1)
32
パーセプトロンの収束定理
線形分離可能な場合,有限回で学習が収束
t
R2
2
R: 学習サンプルが含まれる超球の最小半径
γ: 識別面から最も近いサンプルまでの距離
どんな識別面にな
るかは初期値依存
非線形分離は不可能
パーセプトロンの利点と欠点
利点
線形分離可能なデータの場合には,教師付きデー
タからそれを分離する識別器を有限回で学習
→
第一次ニューロブームの火付け役
欠点
線形分離不可能な場合にはうまく学習できない
階層化した時の学習則がない
→
第一次ニューロブームの終焉
33
多層パーセプトロン
多層パーセプトロン
多層の場合の学習則が完成(再発見?)
◎ 誤差逆伝播法(Rumelhart 1986)
→ 第二次ニューロブーム
線形分離不可能な場合でもOK
34
多層パーセプトロンの学習
微分可能なシグモイド関数を利用

z  S vT y
S u  


y  S wT x
1
1  exp(-u)

S ' u   S u 1  S u 
t 教師信号
z
v
y
w
x
多層パーセプトロンの学習
t 教師信号

z  S vT y
E


y  S wT x

1
1
2


z

t

 l2


l
l.
2 l 1
2 l 1
L
L
E
v  v 
 v   l zl 1  zl y
v
w i  w i 
z
v
y
w
x
E
 w i   l zl 1  zl vi yi 1  yi x
w i
35
なぜ非線形分離が可能か?
中間層の1素子がパーセプトロン
(線形識別器)
→ 線形の組み合わせで非線形識別
z
v
y
w
x
識別器としての応用例
初期の顔検出
局所解、過学習等の問題
→
SVM
Rowley, Baluja and Kanade: Neural Network-Based
Face Detection, IEEE Trans. PAMI, 1998.
36
多層パーセプトロンの利点と欠点
利点:
•
多クラス(多出力)を自然に扱える
欠点:
・局所解しか得られない
・いつ学習をやめたら良いのか不明(過学習)
・最適な素子数、層の数が不明(問題依存)
・層の数が多いと本質的な学習ができない
Deep Learning
37
Deep Learning
•
今一番注目されている方法
•
New York Timesで紹介
•
ILSVRC2012で圧倒的1位
•
情報検索会社がDeep learningの研究所
顔や猫に反応する細胞 [ICML2012]
•
•
•
1000万枚の200x200画素の画像(Youtube/Web)
1000台のPC(16000 core)で1週間学習
パラメタ数:1.15 billion
Face 及び cat detector の 最適刺激
Q.V.Le, et al. (A.Y. Ng), “Building High-level Features Using Large Scale
Unsupervised Learning”, Proc. ICML 2012.
38
ILSVRC2012で1位
Team name
Error Rate (5 Guesses)
SuperVision
15.315%
ISI
Oxford_VGG
XRCE/INRIA
Univ. of Amsterdam
26.172%
26.979%
27.058%
29.576%
1000カテゴリの識別課題で圧倒的1位
(学習:1000枚 / class)
2013年もdeep learningが1位
情報関連の大手企業もDNNに着手
•
Google
•
•
Baidu
•
•
DNN research(Hinton)を買収
Deep learningの研究所設立 (Kai Yu)
Facebook
•
AI Labを設立 (LeCun)
39
どのように深い階層の学習を実現?
どのように深い階層の学習を実現?

層が深いと何でも表現できてしまう
⇒ 本質的な学習ができない(性能がでない)

解決策:
1.学習法の確立:プレトレーニング,CNNの復活
2.汎化能力の向上策:Dropout, DropConnect
3.新ユニット関数:Rectified linear unit, maxout
40
プレトレーニング

層毎に学習したBoltzman machineを積み上げる
Deep Belief Network (Hinton 2006)

Autoencoderでも同じ事が可能(Bengio 2007)
プレトレーニング

層毎の学習後、それらをつなげてfine tuning

Autoencoderでも同じ事が可能(Bengio 2007)
41
Convolutional neural networkの復活


Neocognitron(福島1979)と類似
層間の結合が局所的
⇒ 結合数が少なくなり,BP法でもうまく学習可
位置不変性
Filterによる
特徴抽出
Y. LeCun et al. “Backpropagation applied to handwritten zip code
recognition,” Neural Computation, Vol.1, No.4, pp.541-551, 1989.
Convolutional neural network
Y.LeCun, Computer Perception With Deep Learning, http://web.mit.edu/
course/other/i2course/www/vision_and_learning/lecun-20131025-mit.pdf
42
SuperVisionもCNN
•
7つの隠れ層を持つConvolution Neural Network
•
学習にDropoutを利用
•
Data augmentation(位置ずれした画像も学習)
http://image-net.org/challenges/LSVRC/2012/supervision.pdf
どのように深い階層の学習を実現?

解決策:
1.学習法の確立:プレトレーニング,CNNの復活
2.汎化能力の向上策:Dropout, DropConnect
3.新ユニット関数:Rectified linear unit, maxout
43
Dropout
•
使用する素子をランダムに選択し、学習
テストでは全ノードを使い、出力を1/2にする
•
性能が向上する理由:
•
•
制約を課して本質を抽出
•
識別器の統合
•
フィルタがスパースになる
y
x
Dropoutの効果 (autoencoder)
N.Srivastava “Improving neural networks with dropout”, Master thesis, Univ. of Toronto, 2013
44
DropConnect
Dataset
DropConnect
Dropout
MNIST
0.21
0.27
CIFAR10
9.32
9.83
SVHN
1.94
1.96
NORB-full-2fold
3.23
3.03
L.Wan et al. (LeCun)“Regularization of Neural Network using DropConnect,”
Proc. International Conference on Machine Learning, 2013.
どのように深い階層の学習を実現?

解決策:
1.学習法の確立:プレトレーニング,CNNの復活
2.汎化能力の向上策:Dropout, DropConnect
3.新ユニット関数:Rectified linear unit, maxout
45
新しいユニット関数
•
•
•
Sigmoid関数
Rectfied Linear Unit (ReLU)
(学習が速い)
Maxout
Sigmoid
ReLU
1
T
h

max
w
z,0
hi 
i
1  exp( w T z )


Maxout
hi  max zij
j
ReLUの精度
•
MNISTを用いた評価
(28x28画素,学習:60000, テスト:10000)
•
•
data augumentationなし
5個のネットワークを学習
⇒ 5個の平均誤差
Unit
w/o drop out
Error rate (%)
ReLU
No Dropout
1.62±0.037
ReLU
Dropout
1.28±0.040
ReLU
Drop connect
1.20±0.034
Sigmoid
No Dropout
1.78±0.037
Sigmoid
Dropout
1.38±0.039
Sigmoid
Drop connect
1.55±0.046
L.Wan et al. (LeCun)“Regularization of Neural Network using DropConnect,”
Proc. International Conference on Machine Learning, 2013.
46
Maxoutの精度
•
•
MNISTを用いた評価
Maxoutの有効性を示しているが
直接比較はしていない
(論文からの数字の引用)
Methods
ReLU MLP + Dropout
(Srivastava2013)
Maxout MLP + Dropout
Error Rate
1.05%
0.94%
I.J.Goodfellow et al. (Bengio), “Maxout Networks”, Proc. International Conference
on Machine Learning, pp.1319-1327, 2013.
Network in network
M.Lin, Q.Chen and S.Yan, “Network in network”, Proc. ICLR, 2014.
47
Network in network
CIFAR10を用いた評価:
Method
Test Error
Maxout + Dropout
11.68%
NIN + Dropout
10.41%
Maxout + Dropout +
Data Augmentation
9.38%
NIN + Dropout +
Data Augumentation
8.81%
Data Augmentationの効果が結構大きい
(平行移動、拡大、回転したサンプルも学習)
M.Lin, Q.Chen and S.Yan, “Network in network”, Proc. ICLR, 2014.
ディープラーニングはなぜうまくいく?
48
ディープラーニングはなぜうまくいくか?
1.特徴抽出と識別器が一体化
 識別に良い特徴量が得られる可能性有
Lee[ICML2009]
2.構造が大事
Jarret [ICCV2009]
3.スパースな特徴抽出が大事
Coates [NIPS Workshop 2010]
特徴抽出と識別器が一体化
H.Lee et al. “Convolutional Deep Belief Networks for Scalable Unsupervised
Learning of Hierarchical Representation”, Proc. ICML 2009.
49
ディープラーニングはなぜうまくいくか?
2.構造が大事
Jarret [ICCV2009]
構造が大事 (Jarrett ICCV2009)
ランダムフィルタ
と最適刺激
学習したフィルタ
と最適刺激
K.Jarrett et al. (LeCun), “What is the Best Multi-Stage Architecture for
Object Recognition?”, Proc. International Conference on Computer Vision, 2009.
50
構造が大事 (Jarrett ICCV2009)
Caltech101 (30 training images/class)
Method
Accuracy
Method
Accuracy
Unsupervised + 54.2%
U+ U+
65.5%
Random +
54.8%
R+ R+
64.7%
Unsupervised
52.2%
UU
63.7%
Random
53.3%
RR
62.9%
Gabor
52.3%
Gabor + Template
55.8%
Single Stage
Second Stage
(R+: Random filterを初期値として教師有学習)
RandomとUnsupervised filterで精度に差がない
2層にした時の改善の方が大きい
ディープラーニングはなぜうまくいくか?
3.スパースな特徴抽出が大事
Coates [NIPS Workshop 2010]
51
Sparseな特徴抽出が大事
•
1層のスパースフィルタ学習による認識法
A.Coates, H.Lee and A.Y.Ng, “An Analysis of Single-Layer Networks in
Unsupervised Feature Learning,” NIPS Workshop on Deep Learning, 2010.
Coates’s method
1. Local patchesを学習画像から切り出す
2. 各local patchを正規化
(mean = 0, variance = 1)
3. 主成分分析を適用し,各軸の分散を正規化
4. k-meansを適用
52
Effectiveness of Whitening
n
Non-whitening
Whitening はスパースフィルタを得るのに重要
Whitening
Comparison with other approaches
53
識別のための特徴量
 x1 


 x2 
 


 





 


 x4 K 

Linear
SVM
フィルタ出力
の局所的な平均
(位置不変)
CIFAR10を用いた評価
・10 classの対象識別:
•
Training: 5000 / class
•
Test: 1000 / class
Method
Accuracy
K-means (Triangle)
K-means (Hard)
Sparse RBM
Sparse auto-encoder
77.9%
68.6%
72.4%
73.4%
K-means + Whitening がベスト
54
CIFAR10を用いた評価
・10 classの対象識別:
•
Training: 5000 / class
•
Test: 1000 / class
Method
K-means + Whitening
Conv. DBN
CNN (8つの隠れ層)
Network in network
Accuracy
79.6%
78.9%
80.49%
91.2%
Deep learningは何を学習し,
どこを重要視しているか?
A.Zisserman, “Deep Inside Convolutional Networks: Visualising Image
Classification Models and Saliency Maps,” ILSVRC2013
http://image-net.org/challenges/LSVRC/2013/iccv2013.php
55
Deep learningは何を学習している?
ILSVRC2013データで学習したCNN
⇒ クラススコアが最大となる画像
arg max Sc I    I
I
2
2
CNNが対象の何を学習しているか分かる
Deep learningは何を学習している?
Fox
56
Deep learningはどこを重要視?
ILSVRC2013データで学習したCNN
⇒ クラススコアが最大となる近似重み
Sc I   wT I  b
重みの絶対値 = 画像中の重要度
Grayscale
M ij  wij
Color(RGB)
M ij  max wijc
c
Deep learningはどこを重要視?
57
Saliency Mapを用いたSegmentation
このSaliency Map+Graph Cut
1. Saliency Mapを2値化
2. Graphcut color segmentationを適用
Deep learningのソフトウエア
下記に多数あります
http://deeplearning.net/software_links/
・DeepLearnToolbox(Matlab)
https://github.com/rasmusbergpalm/
DeepLearnToolbox
・A.Krizhevskyによるソース(GPU)
http://www.cs.toronto.edu/~kriz/
58
DeepLearnToolbox(Matlab)の使用例
•
MNISTを用いた比較
• 3層パーセプトロン
• Convolutional neural network
• Stacked autoencoder
• Deep belief network
NN(3層) CNN(7層) SAE(5層) DBN(5層)
識別率[%]
91.46
98.87
98.37
97.19
・ディープラーニングの方が精度が良い
⇒ ただし、パラメタ依存度高い
・CPUでは学習が大変(GPUが良い)
Deep Learningのまとめ
•
•
利点:
•
うまくやれば精度が高い
•
学習法が少し確立(auto-encoder, drop-out)
•
今後はこの研究が伸びそう
欠点:
•
学習に時間がかかる
•
パラメタ数が多く,設定法が不明
•
SVMのように最適解が得られるわけではない
59
サポートベクターマシン
サポートベクターマシンの概略
汎化能力(未学習に対する性能)が良い
マージンが最大
となる識別面
教師信号±1
重み
マージン
識別面
f x  
 t x
iSV
i i
T
i
xb
閾値
こんなデータだと分離する
線形識別面がない
60
非線形識別するには?
非線形への拡張
非線形写像を用いて高次元空間に移す
 x
x
高次元空間で線形SVMを適用
非線形写像  x 
f x  
  t  (x )
iSV
高次元空間へ
i i
i
T
 (x)  b
なぜ高次元空間だと識別できるの?
次元数 +1個のサンプル数まで線形識別可能
どんなラベルを
つけても識別可能
カーネルトリック
毎回高次元空間で計算するのは大変
f x  
 t  (x )  (x)  b
   t K ( x , x)  b
T
iSV
i i
iSV
i
i i
i
カーネル関数
実際に高次元空間に移さなくても学習&識別可能
どんなカーネルがあるの?

RBFカーネル
K  x, y   exp  x  y
多項式カーネル
K  x, y   1  x T y


2
 p2

d
61
カーネル関数のΦは?
多項式カーネル

K  x, y   1  x T y

d
入力が2次元、d=2の場合のφ
1  x1 y1  x2 y2 2  1  2x1 y1  2x2 y2  x12 y12  2x1 y1x2 y2  x22 y22


2 T
 1 2x1 2 x2 x1 2 x1x2 x2 1 2 y1 2 y2 y1 2 y1 y2 y2

2
 x  1 2x1 2 x2 x1 2 x1x2 x2
2
2
2

2

2次元の入力特徴 → 6次元空間に射影
n次元 → (n+1)(n+2)/2次元
線形SVMは重要
認識課題が大規模化
→ カーネルSVMでは計算コストが問題
→ 線形SVMの重要性が増大
線形SVMで非線形に対応できない?
→ Homogeneous kernel map
(代表例:Hellingerカーネル)
A.Vedaldi and A. Zisserman, “Efficient Additive Kernels via Explicit
Feature Maps,” IEEE Trans. PAMI, Vol.34, No.3, pp.480-492, 2011.
62
Hellingerカーネル
分布間の距離のBhattacharyya係数と一致
(BoW等の識別に有効)
K n (x1 , x 2 )  x1
→
T
n
x 2   x1i
i 1
x2i
事前に特徴ベクトルの各要素の√を
取れば線形SVMで解ける
x1 
→

x11 , x12 ,..., x1n

T
高速で高精度
カーネルの比較例
Stanford40
静止画像から40 Actionsの識別
dense SIFT + BoW (1,000 words)
1-vs-1 SVM
カーネル
Linear
RBF
χ+RBF
Hellinger Poly
精度
24.03 23.92 26.72 26.08
Norm
poly
23.12 23.97
63
Homogeneous kernel mapの実例
Kernel
k(x,y)
Hellinger
K(ω)
k(λ)
xy
1
  
xy
x y
sech /2 
sech  
χ二乗
2
intersection
min x, y
e
 w /2
2
1
 1  42
feature x 
x
ei log x xsech  
e i log x
2x
1
 1  42
x  x  d x   ei log x x  

k x, y   

*
Hellinger
LIBSVM
Map + Chi2
Accuracy
47.0%
48.3%
49.4%
Training Time
7.7s
More than 1h
22.6s
A.Vedaldi and A. Zisserman, “Efficient Additive Kernels via Explicit
Feature Maps,” IEEE Trans. PAMI, Vol.34, No.3, pp.480-492, 2011.
Homogeneous kernel mapを用いた実験
A.Vedaldi, ECCV2012 tutorial
https://sites.google.com/site/additivekerneltutorial/home/part2
64
サポートベクター回帰
サポートベクター回帰
ε以内に入っていれば良い
εからみ出すことも許すが、少なくなるように解く
カーネルを使えば非線形回帰も可能
f x  
 
iSV

i
  i  ti K (xi , x)  b
65
サポートベクター回帰の応用例
1.細胞内画像の粒子追跡
M.Shimomura and K.Hotta, "Melanosome Tracking Using
Prediction by Support Vector regression and Revision by
Appearance Features," Proc. SPPRA2013.
2.シーンから車の位置予測
T.Ishihara and K.Hotta, “Estimation of Object Position Based
on Color and Shape Contextual Information,” Proc. ICIAP2009.
SVRを用いた粒子追跡
1.SVRによる位置予測
2.見え情報による位置補正
?
Tracking
target ?
Tracking
target
Detection
time t-1
?
Predicted
position
Revision
time t
66
SVRによる予測器の学習
Haar-like 特徴  次の時刻の位置
a
b
location
at time
t-1
time t-1
time t
見え情報による位置補正
Compute the intensity difference
predicted position
location
at time t-1
time t-1
Detection
time t
67
実験
学習
5video中の12個の正常なメラノソーム
テスト
正常 :
31個(14ビデオ中)
Griscelli症候群:
13個(6ビデオ中)
Normal
Griscelli syndrome
1時刻先の(t-1からt)予測精度
SVRによる予測精度
7
7
Allowable
Normal
Griscelli
error (pixels) melanosome melanosome
Average
79.0%
52.9%
71.1%
90.5%
68.9%
84.0%
94.7%
76.1%
89.1%
予測+位置補正の精度
Allowable
Normal
Griscelli
error (pixels) melanosome melanosome
Average
98.5%
88.6%
95.5%
98.6%
95.5%
97.7%
98.6%
95.9%
97.8%
68
追跡精度
指定したメラノソームを最後まで追跡できるか?
Comparison result
Normal
Griscelli
melanosome melanosome
Convention
al method
Our
method
Average
78.4%
66.5%
74.9%
94.0%
68.1%
86.2%
SVRを用いたシーンから車の位置予測
69
シーンと対象には関係があり、
シーンから対象が予測できる
従来手法のコンピュータの識別
これだけ見ても
何だかわからない
車だ!
シーン情報から推定可能
シーンから車位置への関数の推定
シーンをガボール特徴で記述
シーン → 車の位置への関数推定
この間の関数を
SVRで学習
70
テスト画像の例
シーン情報だけでも割と予測できる
Latent SVM
71
Latent SVM
隠れ変数を持つSVM
f x   max w x, z 
z
zは隠れ変数、xは入力特徴、wは重み
アルゴリズム:
1. zを固定してwの最大化
2. wを固定してzの最大化
3. 1-2を繰り返す
Latent SVMの応用例
Object Detection by deformable part models
・Partsの位置が隠れ変数
P. Felzenszwalb et al. “Object Detection with Discriminatively Trained
Part Based Models,” IEEE Trans. on PAMI, Vol. 32, No. 9, 2010
72
Latent SVMの応用例
識別のための重み推定
・Spatial Pyramidの各領域の重みが隠れ変数
G.Sharma et al., “Discriminative Spatial Saliency for
Image Classification,” Proc. CVPR2012.
Latent SVMの応用例
識別のための重み推定
G.Sharma et al., “Discriminative Spatial Saliency for
Image Classification,” Proc. CVPR2012.
73
まとめ
・多変量解析、機械学習法をコンピュー
タビジョンの応用例と共に紹介
・新しい研究・開発のためのきっかけに
なれば幸いです
・技術相談,共同研究も歓迎です
その他の参考文献
機械学習全般:
[1] C.M.ビショップ,パターン認識と機械学習,Springer.
[2]杉山,イラストで学ぶ機械学習,講談社.
[3]高橋,堀田,学習理論,コロナ社.
ディープラーニング:
[1] 岡谷,第4章 ディープラーニング「コンピュータビジョ
ン最先端ガイド6」アドコムメディア.
[2] 人工知能学会誌 連載解説 Deep learning(深層学習),
2013年5月号~連載中.
74