deep simnets

31
2016/07/17 CV勉強会@関東 CVPR2016読み会 発表資料 2016/07/17 @peisuke

Upload: fujimoto-keisuke

Post on 23-Jan-2017

842 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Deep SimNets

2016/07/17 CV勉強会@関東CVPR2016読み会 発表資料

2016/07/17

@peisuke

Page 2: Deep SimNets

自己紹介

名前:藤本敬介

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

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

画像:認識、SfM・MVS

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

Page 3: Deep SimNets

本発表の概要

•発表論文• Deep SimNets

• どんな論文?• 畳み込みニューラルネットを一般化したネットワークの提案、少ないパラメータながらも高精度

•特徴は?• 内積を一般化したSimilarity Operator、非線形処理

(pooling, ReLU)を一般化したMEX Operator

• 一般化により例えばMax PoolingとAvrage Poolingの中間的な動作が可能

• 教師無し事前学習

Page 4: Deep SimNets

Deep SimNets

Nadav Cohen

Or Sharir

Amnon Shashua

Page 5: Deep SimNets
Page 6: Deep SimNets

CNNの様々な構成要素

•畳み込み層

•全結合層

• Max Pooling

• Average Pooling

•非線形活性化(ReLU等)

Page 7: Deep SimNets

CNNのバリエーション

• NiN、GoogLeNet, VGG

Page 8: Deep SimNets

CNNのバリエーション

• FitNets

• HMAX

• Kernel Method for Deep Learning

• Sum product networks

• Invariant scattering convolution networks

• Polynomial networks

• BinaryNet

• XNOR-Net

• PerforatedCNNs

• Memory Bounded Deep Convolutional Networks

• Deep Compression

• SqueezeNet

たくさん!

Page 9: Deep SimNets

Deep SimNets

• Deep Learningの構成要素を一般化し、一つの記述で色々な構成を表現

•適切な構成も学習可能とすることで、性能向上• 層内のノード数

• Max or Average

•効率化の利点• モバイル端末への利用などもできるようなるはず

線形計算の一般化非線形処理の一般化

Page 10: Deep SimNets

線形計算の一般化

•下記のように線形計算を表現

φlinでu=1を選べば、従来の演算と等価

φlpはカーネル法と関連付けると実は自然な定義(後述)、事前学習に有効(後述)

𝑾𝒙𝒖𝑖𝑇𝜙 𝒙, 𝒛𝑖

𝜙𝑙𝑝 𝒙, 𝒛𝑖 = − 𝒙 − 𝒛𝑖𝑝

𝜙𝑙𝑖𝑛 𝒙, 𝒛𝑖 = 𝒙𝑇𝒛𝑖

Similarity operator

Page 11: Deep SimNets

非線形処理の一般化

•以下のように非線形関数を定義

β→0の場合、MEX(x)はmean(x)

β →-∞の場合、MEX(x)はmin(x)

β →∞の場合、MEX(x)はmax(x)

𝑀𝐸𝑋β 𝒙 =1

βlog1

𝑁

𝑖

exp β𝒙

MEX operator

Maximum-minimum Expectation Collapsing Smooth

Page 12: Deep SimNets

MEXのテスト

0.1

0.15

0.2

0.25

0.3

0.35

0.0001 0.001 0.01 0.1 1 10 100 1000

𝒙 = 0.1, 0.2, 0.3𝑀𝐸𝐴𝑁 𝑥 = 0.2𝑀𝐴𝑋 𝑋 = 3.0

𝛽

𝑀𝐸𝑋(𝒙)

𝑀𝐸𝑋β 𝒙 =1

βlog1

𝑁

𝑖

exp β𝒙

Page 13: Deep SimNets

MEXによるMax pooling

•所定の位置の画素群に対して、β→∞でMEX operatorをかける

𝒙 = 1, 2, 3,4

𝑀𝐸𝑋β→∞ 𝒙1 2 5

3 4 4

3 1 3

4

Page 14: Deep SimNets

MEXによるGlobal Average pooling

•画像全体に対して、β→0 でMEX operatorをかける

𝒙 = 1, 2, … , 3

𝑀𝐸𝑋β→0 𝒙1 2 5

3 4 4

4 1 3

3

Page 15: Deep SimNets

MEXによるReLU

•入力xの各要素に対して0を追加し、β→∞でMEX operatorをかける

𝒙 = 4,0

𝑀𝐸𝑋β→∞ 𝒙1 2 5

3 4 4

3 1 3

4

Page 16: Deep SimNets

SimNet MLP

•単純なSimNet

•入力に対してSimilarity Operator、MEX Operatorをかけて出力• MEX Operator内でバイアスを追加

Page 17: Deep SimNets

SimNet MLPConv

•畳み込み演算同様に、所定の領域に対して、Similarity Operatorを掛ける

1 2 5

3 4 4

3 1 3

𝒙 = 1, 2, 3,4

𝒛𝒊 = 0.2, 0.4, 0.1, 0.3𝒖𝒊𝑇𝜙 𝒙, 𝒛𝒊

𝒖𝒊 = 0.2, 0.4, 0.1, 0.3

入力画像のとあるチャンネル

Page 18: Deep SimNets

SimNet MLPConv

Page 19: Deep SimNets

白色化処理

•画像白色化による精度向上

•畳み込み領域に関連して白色化の変換行列を一度かけ、その後Similarity Operator

Page 20: Deep SimNets

白色化

•画素間の相関を無くすよくやられている処理

•省略

続きはWebで!

白色化 検索

Go○gle

𝒚 = 𝑾𝒙 cov 𝒚 = 𝑰

Page 21: Deep SimNets

Deep SimNet

• SimNetをたくさん重ねる

•白色化行列は初期値、学習で数値を決定

Page 22: Deep SimNets

事前学習

•教師無し学習によりパラメータを事前決定• w: 畳み込み係数(白色化で決定)

• z,u: Sim. Operatorの係数

• p: Sim. Operatorのノルムの値

• b: MEX Operatorのバイアス

Page 23: Deep SimNets

事前学習

•教師無し学習は、データの分布をうまく表せるような所定の確率分布を決定する処理

この場合、正規分布3つでデータ点群を表せる

Page 24: Deep SimNets

事前学習

• Similarity Operatorは以下であった

• これを、確率分布の対数尤度の部分とみなすと、確率分布はGeneralized Gaussianになる

𝑖

𝒖𝑖𝑇 𝒚 − 𝒛𝑖

𝑝

𝑖

𝛽

2𝛼Γ 1/𝛽𝑒− 𝒚−𝒖𝑖 /𝛼𝑖

𝛽

論文に合わせ、変数を置き換えています。

Page 25: Deep SimNets

事前学習

• CNNは、多チャンネルの出力となるので、前述のモデルをGeneralized Gaussian Mixtureとする

• このパラメータを決定することで入力データをうまく表す分布が決定できる• パラメータ決定はEMアルゴリズム等を使い、よろしくやる

Page 26: Deep SimNets

カーネル法との関係

• SimNetはカーネル法みたいな感じ

ガウスカーネル

指数カーネル

Page 27: Deep SimNets

実験• SimNetとConvNetの比較

• 1層での比較• 2層での比較• 3層SimNetとSOTA手法の比較

• ベンチマーク• SVHN:数字画像データセット• CIFAR10:10カテゴリ画像データセット• CIFAR100:100カテゴリ画像データセット

•条件• SimNetは事前学習あり• ConvNetはランダムで初期化

Page 28: Deep SimNets

1層SimNet

•演算回数あたりの、認識精度を比較

• ネットワークの構成• 5x5畳み込み層、16x16のプーリング

• チャンネル数を変えながらテスト

• 2%~4%ほど精度高

Page 29: Deep SimNets

2層SimNet

•小さな構成の軽量なネットワーク同士での比較• モバイル端末等での利用を想定

• ネットワーク構成は5x5の畳み込み、3x3のプーリング

•同程度の精度なら、パラメータ数・計算回数とも半分程度

Page 30: Deep SimNets

3層SimNet

• SOTAのConvNet(NiN、Highway Net)との比較

• ネットワークについて• SimNetは5x5、5x5、3x3の畳み込み、1層目ではMax、2層目では Average poolingを利用(あれ・・?)、Sim. Operatorのノルムpは2(あれれ?)

•同程度の精度は達成している

Page 31: Deep SimNets

まとめ

•畳み込みニューラルネットを一般化• 内積を一般化したSimilarity Operator、非線形処理

(pooling, ReLU)を一般化したMEX Operator

• 一般化してるのでMax PoolingとAvrage Poolingの中間的な動作可能

• 教師無し事前学習

•小さなネットワークでは効率高、大きくしてもSOTAと同等の性能

• カーネル法の変形ともみなせる