deep fried convnets

22
2016/02/06 CV勉強会@関東 ICCV2015読み会 発表資料 2016/02/06 @peisuke

Upload: fujimoto-keisuke

Post on 14-Apr-2017

1.697 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Deep Fried Convnets

2016/02/06 CV勉強会@関東ICCV2015読み会 発表資料

2016/02/06

@peisuke

Page 2: Deep Fried Convnets

自己紹介

名前:藤本敬介

研究:ロボティクス、コンピュータビジョン

点群:形状統合、メッシュ化、認識

画像:画像認識、SfM・MVS

ロボット:自律移動、動作計画

Page 3: Deep Fried Convnets

本発表の概要

•発表論文• Deep Fried Convnets

•本論文に至るまでの経緯

• 2008年 Random Kitchen SinkがNIPSで発表される

• 2013年 Random Kitchen SinkをベースにFast Food TransformがGoogleから発表される(※猫画像のあの人)

• 2015年 Fast Food Transformを用いたDeep Fried Convnetsが発表される

• どんな論文?• ニューラルネットワークの全結合層のパラメータ削減・高速化

Page 4: Deep Fried Convnets

Deep Fried Convnets

Z. Yang, M. Moczulski, M. Denil

N. Freitas, A. Smola, L. Song, Z. Wang

画像出典:http://makopi.sakura.ne.jp/images/1004/10040303.jpg

Page 5: Deep Fried Convnets

Convolutional Neural Network

•高性能な画像認識を実現

•畳み込み層、プーリング層、全結合層から構成

畳み込み層:画像から様々な特徴を抽出

プーリング層:特徴を消さないようにサイズを縮小

全結合層:残った特徴と認識対象を紐づけ

𝑦 = 𝑓 𝑊𝑇𝑥 + 𝑏

𝑦 = 𝑓 𝑤 ∗ 𝑥 + 𝑏

Page 6: Deep Fried Convnets

Convolutional Neural Networkの課題

•全結合層におけるパラメータ数・計算負荷が大きい

•全パラメータの99.9%以上を占める

※Caffe reference modelの場合

パラメータ数:

58,621,952個!!パラメータ数:

27,232個𝑦 = 𝑓 𝑤 ∗ 𝑥 + 𝑏 𝑦 = 𝑓 𝑊𝑇𝑥 + 𝑏

局所特徴量のサイズに依存

特徴量の次元数に依存

Page 7: Deep Fried Convnets

Deep Fried Convnets

• Fastfood TransformをNN用に改良し、全結合層の行列計算を少数のパラメータで近似

パラメータ数:

計算量:

O(nd) O(n)

O(nd) O(nlogd)

𝑦 = 𝑓 𝑊𝑇𝑥 + 𝑏

これ

※xがd次元、yがn次元

Page 8: Deep Fried Convnets

𝑤𝑙𝑇

Fastfood Transform

• SVM等のカーネル法を高速近似手法• Random Kitchen Sinkを高速化する手法として提案された

参考・・・Random Kitchen Sinkとは• カーネルと等価な特徴ベクトルをサンプリングで算出• データ数に依存しない計算量での予測が可能

𝑦 =

𝑖

𝛼𝑖𝑘 𝑥, 𝑥𝑖

カーネル関数kを用いた予測

データ数に依存

𝑘 𝑥, 𝑥′ = 𝑝 𝑤 exp 𝑖𝑤𝑇 𝑥 − 𝑥′ 𝑑𝑤

Bochnerの定理

※ガウシアンカーネルであればwはガウス分布

Page 9: Deep Fried Convnets

= 𝑝 𝑤 cos 𝑤𝑇 𝑥 − 𝑥′ 𝑑𝑤

Random Kitchen Sink (cond.)

カーネルは実数として

= 𝑝 𝑤 cos 𝑤𝑇𝑥 cos 𝑤𝑇𝑥′ + sin 𝑤𝑇𝑥 sin 𝑤𝑇𝑥′ 𝑑𝑤

≈1

𝐿 cos 𝑤𝑙

𝑇𝑥 cos 𝑤𝑙𝑇𝑥′ + sin 𝑤𝑙

𝑇𝑥 sin 𝑤𝑙𝑇𝑥′

= φ 𝑥 φ 𝑥′ , φ 𝑥 =1

𝐿cos 𝐖T𝒙 sin 𝐖T𝒙

𝑇

サンプル数𝐿に依存するφ 𝑥 を基底として計算

𝑦 =

𝑙

𝛽𝑙φ𝑙 𝑥

積分をサンプリングによって近似すると

Page 10: Deep Fried Convnets

Fastfood Transform

• SVM等のカーネル法を高速化するための近似手法

• Random Kitchen Sinkを高速化

𝑤𝑙𝑇

Random Kitchen Sink

φ 𝑥 =1

𝐿cos 𝐖T𝒙 sin 𝐖T𝒙

𝑇特徴ベクトル:

O(Ld)

𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵

• RKSの行列Wを下記計算で近似

• 各行列は対角行列や置換行列など、計算が容易• パラメータ数:O(Ld)→O(L)• 計算量:O(Ld)→O(Llogd)

※Wは各要素をガウス分布でサンプリングしたランダム行列

Page 11: Deep Fried Convnets

Fastfood Transform (cond.)

• RKSの行列を下記計算で近似

𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵

S:スケール調整用の対角行列G:ガウス分布から値を生成した対角行列B:{±1}からランダムに値を生成した対角行列Π:ランダムに生成された置換行列H:アダマール変換

Page 12: Deep Fried Convnets

参考:アダマール変換

元画像 既定行列スペクトル画像

高い周波数をカットカットする周波数無し

• フーリエ変換の一つ、周波数領域に変換

•バタフライ演算により高速に計算可能

Page 13: Deep Fried Convnets

Fastfood Transform (cond.)

•詳しい証明は省略するが、下記条件を満たすことからWの要素はガウス分布となる

𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵

• なぜ行列Wを近似できるのか?

1. 𝐻𝐺Π𝐻𝐵の各行は同じスケール2. 𝐻𝐺Π𝐻𝐵の各行内の各要素は独立のガウス分布3. 𝑆𝐻𝐺Π𝐻𝐵の各行はガウシアンである

Page 14: Deep Fried Convnets

CNNへのFastfood Transformの適用

• Fastfood Transformのパラメータを誤差逆伝播で算出

•調性するパラメータはS,B,G

𝑦 = 𝑓 𝑊𝑇𝑥 + 𝑏 𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵CNNの全結合層の計算

パラメータの計算

Page 15: Deep Fried Convnets

Deep Learningへの適用•全結合層をAdaptive Fastfood Transformで置き換え

• 最後の畳み込み層と全結合層間の変換を置き換え

• 全結合層が複数ある場合は、それらの間も置き換え

• 最終層については従来通り

Page 16: Deep Fried Convnets

Random Projectionとの関係• Random Projection・・・ランダム行列による次元削減

• ランダムな行列を掛けるだけで、高次元データをデータ間の距離関係を保ったまま低次元化できる

参考:さかな前線「魚でもわかるRandom Projection」、 http://daily.belltail.jp/?p=737

• RPと比べて必要な記憶容量・計算量も低い• 学習可能な次元削除法であり精度が高い

Page 17: Deep Fried Convnets

カーネル法との関係•特徴ベクトルの内積とカーネルは双対関係

RBF Networkにおけるカーネル版NNと特徴版NNの関係性

同様にReLUはarc-cosineカーネルと双対関係

𝑦 = 𝑎𝑖𝑘 𝑥, 𝑐𝑖𝑎0𝑐0 𝑐1 𝑐2

𝑎1 𝑎2𝑏0 𝑏1 𝑏2

𝐖cos, sin

𝑦 = 𝑏𝑖𝜙 𝑊𝑥

• Fastfood TransformのNNへの適用はカーネルベースのNNの近似と見なせる

Page 18: Deep Fried Convnets

実験

•MINIST•全結合層1024層・2048層のFastfood, Adaptive

Fastfoodと、Reference Modelを比較

Model Error Params

Fastfood 1024 0.71% 38,821

Adaptive Fastfood 1024 0.72% 38,821

Fastfood 2048 0.71% 52,124

Adaptive Fastfood 2048 0.73% 52,124

Reference Model 0.87% 430,500

Fastfoodが性能が一番良かった・・・

Page 19: Deep Fried Convnets

実験

• ImageNet•畳み込み層のパラメータを固定、全結合層のみ学習しての比較

Model Top-1 Error Params

Fastfood 16,384 50.09% 16.4M

Adaptive Fastfood 16,384 45.30% 16.4M

Fastfood 32,768 50.53% 32.8M

Adaptive Fastfood 32,768 43.77% 32.8M

MLP 47.76% 58.6M

Adaptive Fastfoodが性能が一番良い!

※MLP:ReferenceモデルのMLPを再学習

Page 20: Deep Fried Convnets

実験

• ImageNet•畳み込み層も含めて全パラメータを学習

Model Top-1 Error Params

Fastfood 16,384 46.88% 16.4M

Adaptive Fastfood 16,384 42.90% 16.4M

Fastfood 32,768 46.63% 32.8M

Adaptive Fastfood 32,768 41.93% 32.8M

Reference Model 42.59% 58.7M

Page 21: Deep Fried Convnets

実験

• SVDによる次元削除法との比較• 学習済みReference ModelについてSVDでパラメータ数を削減したもの、削減後に追加学習したものと比較

Model Top-1 Error Params

SVD-half 43.61% 46.6M

SVD-half-Fine tune 42.73% 46.6M

Adaptive Fastfood 32,768 41.93% 32.8M

SVD-quarter 46.12% 23.4M

SVD-quarter-Fine tune 43.81% 23.4M

Adaptive Fastfood 16,384 42.90% 16.4M

Half:9216-2048-4096-2048-4096-500-1000Quarter:Half:9216-1024-4096-1024-4096-250-1000

※パラメータ数

Page 22: Deep Fried Convnets

まとめ•畳み込みニューラルネットの全結合層のパラメータ削減手法を提案

•行列計算をFastfood Transformでの置き換え

•学習可能としたAdaptive Fastfood Transform

•パラメータ数を削減しつつ精度は向上

•速度に関する実験は無し

•なぜFastfood・Friedであるかは不明