機械学習法の基礎と コンピュータビジョン応用 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 T1 ( 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 2a 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 T1 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 T1 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 2W 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 α NKa 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 x0 線形の識別面のみ パーセプトロンの学習則 間違えた時だけ識別面を修正 ~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 iSV i i T i xb 閾値 こんなデータだと分離する 線形識別面がない 60 非線形識別するには? 非線形への拡張 非線形写像を用いて高次元空間に移す x x 高次元空間で線形SVMを適用 非線形写像 x f x t (x ) iSV 高次元空間へ i i i T (x) b なぜ高次元空間だと識別できるの? 次元数 +1個のサンプル数まで線形識別可能 どんなラベルを つけても識別可能 カーネルトリック 毎回高次元空間で計算するのは大変 f x t (x ) (x) b t K ( x , x) b T iSV i i iSV 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 42 feature x x ei log x xsech e i log x 2x 1 1 42 x x d x ei 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 iSV 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
© Copyright 2024 ExpyDoc