SlideShare a Scribd company logo
1 of 22
Download to read offline
2016/02/06 CV勉強会@関東
ICCV2015読み会 発表資料
2016/02/06
@peisuke
自己紹介
名前:藤本 敬介
研究:ロボティクス、コンピュータビジョン
点群:形状統合、メッシュ化、認識
画像:画像認識、SfM・MVS
ロボット:自律移動、動作計画
本発表の概要
• 発表論文
• Deep Fried Convnets
• 本論文に至るまでの経緯
• 2008年 Random Kitchen SinkがNIPSで発表される
• 2013年 Random Kitchen SinkをベースにFast Food
TransformがGoogleから発表される(※猫画像のあの人)
• 2015年 Fast Food Transformを用いた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
Convolutional Neural Network
• 高性能な画像認識を実現
• 畳み込み層、プーリング層、全結合層から構成
畳み込み層:画像から様々な特徴を抽出
プーリング層:
特徴を消さないように
サイズを縮小
全結合層:残った特徴と
認識対象を紐づけ
𝑦 = 𝑓 𝑊 𝑇 𝑥 + 𝑏
𝑦 = 𝑓 𝑤 ∗ 𝑥 + 𝑏
Convolutional Neural Networkの課題
• 全結合層におけるパラメータ数・計算負荷が大きい
• 全パラメータの99.9%以上を占める
※Caffe reference modelの場合
パラメータ数:
58,621,952個!!
パラメータ数:
27,232個
𝑦 = 𝑓 𝑤 ∗ 𝑥 + 𝑏 𝑦 = 𝑓 𝑊 𝑇 𝑥 + 𝑏
局所特徴量の
サイズに依存
特徴量の次元数に依存
Deep Fried Convnets
• Fastfood TransformをNN用に改良し、全結
合層の行列計算を少数のパラメータで近似
パラメータ数:
計算量:
O(nd) O(n)
O(nd) O(nlogd)
𝑦 = 𝑓 𝑊 𝑇
𝑥 + 𝑏
これ
※xがd次元、yがn次元
𝑤𝑙
𝑇
Fastfood Transform
• SVM等のカーネル法を高速近似手法
• Random Kitchen Sinkを高速化する手法として
提案された
参考・・・Random Kitchen Sinkとは
• カーネルと等価な特徴ベクトルをサンプリングで算出
• データ数に依存しない計算量での予測が可能
𝑦 =
𝑖
𝛼𝑖 𝑘 𝑥, 𝑥𝑖
カーネル関数kを用いた予測
データ数に依存
𝑘 𝑥, 𝑥′
= 𝑝 𝑤 exp 𝑖𝑤 𝑇
𝑥 − 𝑥′ 𝑑𝑤
Bochnerの定理
※ガウシアンカーネルであればwはガウス分布
= 𝑝 𝑤 cos 𝑤 𝑇 𝑥 − 𝑥′ 𝑑𝑤
Random Kitchen Sink (cond.)
カーネルは実数として
= 𝑝 𝑤 cos 𝑤 𝑇
𝑥 cos 𝑤 𝑇
𝑥′
+ sin 𝑤 𝑇
𝑥 sin 𝑤 𝑇
𝑥′
𝑑𝑤
≈
1
𝐿
cos 𝑤𝑙
𝑇
𝑥 cos 𝑤𝑙
𝑇
𝑥′ + sin 𝑤𝑙
𝑇
𝑥 sin 𝑤𝑙
𝑇
𝑥′
= φ 𝑥 φ 𝑥′ , φ 𝑥 =
1
𝐿
cos 𝐖T 𝒙 sin 𝐖T 𝒙
𝑇
サンプル数𝐿に依存するφ 𝑥 を基底として計算
𝑦 =
𝑙
𝛽𝑙φ𝑙 𝑥
積分をサンプリングによって近似すると
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は各要素をガウス分布で
サンプリングしたランダム行列
Fastfood Transform (cond.)
• RKSの行列を下記計算で近似
𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵
S:スケール調整用の対角行列
G:ガウス分布から値を生成した対角行列
B:{±1}からランダムに値を生成した対角行列
Π:ランダムに生成された置換行列
H:アダマール変換
参考:アダマール変換
元画像 既定行列
スペクトル画像
高い周波数をカット
カットする周波数無し
• フーリエ変換の一つ、周波数領域に変換
• バタフライ演算により高速に計算可能
Fastfood Transform (cond.)
• 詳しい証明は省略するが、下記条件を満たすこと
からWの要素はガウス分布となる
𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵
• なぜ行列Wを近似できるのか?
1. 𝐻𝐺Π𝐻𝐵の各行は同じスケール
2. 𝐻𝐺Π𝐻𝐵の各行内の各要素は独立のガウス分布
3. 𝑆𝐻𝐺Π𝐻𝐵の各行はガウシアンである
CNNへのFastfood Transformの適用
• Fastfood Transformのパラメータを誤差逆伝播で算出
• 調性するパラメータはS,B,G
𝑦 = 𝑓 𝑊 𝑇
𝑥 + 𝑏 𝑊 ≈ 𝑆𝐻𝐺Π𝐻𝐵
CNNの全結合層の計算
パラメータの計算
Deep Learningへの適用
• 全結合層をAdaptive Fastfood Transformで置き換え
• 最後の畳み込み層と全結合層間の変換を置き換え
• 全結合層が複数ある場合は、それらの間も置き換え
• 最終層については従来通り
Random Projectionとの関係
• Random Projection・・・ランダム行列による次元削減
• ランダムな行列を掛けるだけで、高次元データをデータ間
の距離関係を保ったまま低次元化できる
参考:さかな前線「魚でもわかるRandom Projection」、 http://daily.belltail.jp/?p=737
• RPと比べて必要な記憶容量・計算量も低い
• 学習可能な次元削除法であり精度が高い
カーネル法との関係
• 特徴ベクトルの内積とカーネルは双対関係
RBF Networkにおけるカーネル版NNと特徴版NNの関係性
同様にReLUはarc-cosineカーネルと双対関係
𝑦 = 𝑎𝑖 𝑘 𝑥, 𝑐𝑖𝑎0
𝑐0 𝑐1 𝑐2
𝑎1 𝑎2
𝑏0 𝑏1 𝑏2
𝐖
cos, sin
𝑦 = 𝑏𝑖 𝜙 𝑊𝑥
• Fastfood TransformのNNへの適用はカーネル
ベースのNNの近似と見なせる
実験
•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が性能が一番良かった・・・
実験
•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を再学習
実験
•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
実験
•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-1000
Quarter:Half:9216-1024-4096-1024-4096-250-1000
※パラメータ数
まとめ
• 畳み込みニューラルネットの全結合層のパラメータ
削減手法を提案
• 行列計算をFastfood Transformでの置き換え
• 学習可能としたAdaptive Fastfood Transform
• パラメータ数を削減しつつ精度は向上
• 速度に関する実験は無し
• なぜFastfood・Friedであるかは不明

More Related Content

More from Fujimoto Keisuke

ChainerRLで株売買を結構頑張ってみた(後編)
ChainerRLで株売買を結構頑張ってみた(後編)ChainerRLで株売買を結構頑張ってみた(後編)
ChainerRLで株売買を結構頑張ってみた(後編)Fujimoto Keisuke
 
Temporal Cycle Consistency Learning
Temporal Cycle Consistency LearningTemporal Cycle Consistency Learning
Temporal Cycle Consistency LearningFujimoto Keisuke
 
20190414 Point Cloud Reconstruction Survey
20190414 Point Cloud Reconstruction Survey20190414 Point Cloud Reconstruction Survey
20190414 Point Cloud Reconstruction SurveyFujimoto Keisuke
 
20180925 CV勉強会 SfM解説
20180925 CV勉強会 SfM解説20180925 CV勉強会 SfM解説
20180925 CV勉強会 SfM解説Fujimoto Keisuke
 
Sliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsSliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsFujimoto Keisuke
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
Stock trading using ChainerRL
Stock trading using ChainerRLStock trading using ChainerRL
Stock trading using ChainerRLFujimoto Keisuke
 
Cold-Start Reinforcement Learning with Softmax Policy Gradient
Cold-Start Reinforcement Learning with Softmax Policy GradientCold-Start Reinforcement Learning with Softmax Policy Gradient
Cold-Start Reinforcement Learning with Softmax Policy GradientFujimoto Keisuke
 
Representation learning by learning to count
Representation learning by learning to countRepresentation learning by learning to count
Representation learning by learning to countFujimoto Keisuke
 
Dynamic Routing Between Capsules
Dynamic Routing Between CapsulesDynamic Routing Between Capsules
Dynamic Routing Between CapsulesFujimoto Keisuke
 
Deep Learning Framework Comparison on CPU
Deep Learning Framework Comparison on CPUDeep Learning Framework Comparison on CPU
Deep Learning Framework Comparison on CPUFujimoto Keisuke
 
Global optimality in neural network training
Global optimality in neural network trainingGlobal optimality in neural network training
Global optimality in neural network trainingFujimoto Keisuke
 
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8Fujimoto Keisuke
 

More from Fujimoto Keisuke (20)

ChainerRLで株売買を結構頑張ってみた(後編)
ChainerRLで株売買を結構頑張ってみた(後編)ChainerRLで株売買を結構頑張ってみた(後編)
ChainerRLで株売買を結構頑張ってみた(後編)
 
Temporal Cycle Consistency Learning
Temporal Cycle Consistency LearningTemporal Cycle Consistency Learning
Temporal Cycle Consistency Learning
 
ML@Loft
ML@LoftML@Loft
ML@Loft
 
20190414 Point Cloud Reconstruction Survey
20190414 Point Cloud Reconstruction Survey20190414 Point Cloud Reconstruction Survey
20190414 Point Cloud Reconstruction Survey
 
Chainer meetup 9
Chainer meetup 9Chainer meetup 9
Chainer meetup 9
 
20180925 CV勉強会 SfM解説
20180925 CV勉強会 SfM解説20180925 CV勉強会 SfM解説
20180925 CV勉強会 SfM解説
 
Sliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsSliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture Models
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
Stock trading using ChainerRL
Stock trading using ChainerRLStock trading using ChainerRL
Stock trading using ChainerRL
 
Cold-Start Reinforcement Learning with Softmax Policy Gradient
Cold-Start Reinforcement Learning with Softmax Policy GradientCold-Start Reinforcement Learning with Softmax Policy Gradient
Cold-Start Reinforcement Learning with Softmax Policy Gradient
 
Representation learning by learning to count
Representation learning by learning to countRepresentation learning by learning to count
Representation learning by learning to count
 
Dynamic Routing Between Capsules
Dynamic Routing Between CapsulesDynamic Routing Between Capsules
Dynamic Routing Between Capsules
 
Deep Learning Framework Comparison on CPU
Deep Learning Framework Comparison on CPUDeep Learning Framework Comparison on CPU
Deep Learning Framework Comparison on CPU
 
ICCV2017一人読み会
ICCV2017一人読み会ICCV2017一人読み会
ICCV2017一人読み会
 
Global optimality in neural network training
Global optimality in neural network trainingGlobal optimality in neural network training
Global optimality in neural network training
 
CVPR2017 oral survey
CVPR2017 oral surveyCVPR2017 oral survey
CVPR2017 oral survey
 
Point net
Point netPoint net
Point net
 
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
 
Value iteration networks
Value iteration networksValue iteration networks
Value iteration networks
 
Deep SimNets
Deep SimNetsDeep SimNets
Deep SimNets
 

Deep Fried Convnets