2016/07/17 CV勉強会@関東
CVPR2016読み会 発表資料
2016/07/17
@peisuke
自己紹介
名前:藤本 敬介
研究:ロボティクス、コンピュータビジョン
点群:統合、メッシュ化、認識
画像:認識、SfM・MVS
ロボット:自律移動、動作計画
本発表の概要
• 発表論文
• Deep SimNets
• どんな論文?
• 畳み込みニューラルネットを一般化したネットワークの
提案、少ないパラメータながらも高精度
• 特徴は?
• 内積を一般化したSimilarity Operator、非線形処理
(pooling, ReLU)を一般化したMEX Operator
• 一般化により例えばMax PoolingとAvrage Poolingの中
間的な動作が可能
• 教師無し事前学習
Deep SimNets
Nadav Cohen
Or Sharir
Amnon Shashua
CNNの様々な構成要素
• 畳み込み層
• 全結合層
• Max Pooling
• Average Pooling
• 非線形活性化(ReLU等)
CNNのバリエーション
• NiN、GoogLeNet, VGG
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
たくさん!
Deep SimNets
• Deep Learningの構成要素を一般化し、一つの記
述で色々な構成を表現
• 適切な構成も学習可能とすることで、性能向上
• 層内のノード数
• Max or Average
• 効率化の利点
• モバイル端末への利用などもできるようなるはず
線形計算の一般化
非線形処理の一般化
線形計算の一般化
• 下記のように線形計算を表現
φlinでu=1を選べば、従来の演算と等価
φlpはカーネル法と関連付けると実は自然な定義(後
述)、事前学習に有効(後述)
𝑾𝒙
𝒖𝑖
𝑇
𝜙 𝒙, 𝒛𝑖
𝜙𝑙𝑝 𝒙, 𝒛𝑖 = − 𝒙 − 𝒛𝑖
𝑝
𝜙𝑙𝑖𝑛 𝒙, 𝒛𝑖 = 𝒙 𝑇 𝒛𝑖
Similarity operator
非線形処理の一般化
• 以下のように非線形関数を定義
β→0の場合、MEX(x)はmean(x)
β →-∞の場合、 MEX(x)はmin(x)
β →∞の場合、 MEX(x)はmax(x)
𝑀𝐸𝑋β 𝒙 =
1
β
log
1
𝑁
𝑖
exp β𝒙
MEX operator
Maximum-minimum Expectation Collapsing Smooth
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
β
log
1
𝑁
𝑖
exp β𝒙
MEXによるMax pooling
• 所定の位置の画素群に対して、β→∞でMEX
operatorをかける
𝒙 = 1, 2, 3,4
𝑀𝐸𝑋β→∞ 𝒙1 2 5
3 4 4
3 1 3
4
MEXによるGlobal Average pooling
• 画像全体に対して、β→0 でMEX operatorをかける
𝒙 = 1, 2, … , 3
𝑀𝐸𝑋β→0 𝒙1 2 5
3 4 4
4 1 3
3
MEXによるReLU
• 入力xの各要素に対して0を追加し、β→∞でMEX
operatorをかける
𝒙 = 4,0
𝑀𝐸𝑋β→∞ 𝒙1 2 5
3 4 4
3 1 3
4
SimNet MLP
• 単純なSimNet
• 入力に対してSimilarity Operator、MEX Operatorを
かけて出力
• MEX Operator内でバイアスを追加
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
入力画像のとあるチャンネル
SimNet MLPConv
白色化処理
• 画像白色化による精度向上
• 畳み込み領域に関連して白色化の変換行列を一
度かけ、その後Similarity Operator
白色化
• 画素間の相関を無くすよくやられている処理
• 省略
続きはWebで!
白色化 検索
Go○gle
𝒚 = 𝑾𝒙 cov 𝒚 = 𝑰
Deep SimNet
• SimNetをたくさん重ねる
• 白色化行列は初期値、学習で数値を決定
事前学習
• 教師無し学習によりパラメータを事前決定
• w: 畳み込み係数(白色化で決定)
• z,u: Sim. Operatorの係数
• p: Sim. Operatorのノルムの値
• b: MEX Operatorのバイアス
事前学習
• 教師無し学習は、データの分布をうまく表せるよう
な所定の確率分布を決定する処理
この場合、正規分布3つ
でデータ点群を表せる
事前学習
• Similarity Operatorは以下であった
• これを、確率分布の対数尤度の部分とみなすと、
確率分布はGeneralized Gaussianになる
−
𝑖
𝒖𝑖
𝑇
𝒚 − 𝒛𝑖
𝑝
𝑖
𝛽
2𝛼Γ 1/𝛽
𝑒− 𝒚−𝒖 𝑖 /𝛼 𝑖
𝛽
論文に合わせ、変数を置き換えてい
ます。
事前学習
• CNNは、多チャンネルの出力となるので、前述のモ
デルをGeneralized Gaussian Mixtureとする
• このパラメータを決定することで入力データをうまく
表す分布が決定できる
• パラメータ決定はEMアルゴリズム等を使い、よろしくやる
カーネル法との関係
• SimNetはカーネル法みたいな感じ
ガウスカーネル
指数カーネル
実験
• SimNetとConvNetの比較
• 1層での比較
• 2層での比較
• 3層SimNetとSOTA手法の比較
• ベンチマーク
• SVHN:数字画像データセット
• CIFAR10:10カテゴリ画像データセット
• CIFAR100:100カテゴリ画像データセット
• 条件
• SimNetは事前学習あり
• ConvNetはランダムで初期化
1層SimNet
• 演算回数あたりの、認識精度を比較
• ネットワークの構成
• 5x5畳み込み層、16x16のプーリング
• チャンネル数を変えながらテスト
• 2%~4%ほど精度高
2層SimNet
• 小さな構成の軽量なネットワーク同士での比較
• モバイル端末等での利用を想定
• ネットワーク構成は5x5の畳み込み、3x3のプーリング
• 同程度の精度なら、パラメータ数・計算回数とも半分
程度
3層SimNet
• SOTAのConvNet(NiN、Highway Net)との比較
• ネットワークについて
• SimNetは5x5、5x5、3x3の畳み込み、1層目ではMax、2
層目では Average poolingを利用(あれ・・?)、Sim.
Operatorのノルムpは2(あれれ?)
• 同程度の精度は達成している
まとめ
• 畳み込みニューラルネットを一般化
• 内積を一般化したSimilarity Operator、非線形処理
(pooling, ReLU)を一般化したMEX Operator
• 一般化してるのでMax PoolingとAvrage Poolingの中間
的な動作可能
• 教師無し事前学習
• 小さなネットワークでは効率高、大きくしてもSOTAと
同等の性能
• カーネル法の変形ともみなせる

Deep SimNets