H W H N M K K • ⼊⼒レイヤサイズ:H x W x N • 畳み込みカーネル:K x K x N x M [conv K x K, M]と表記 (e.g. [conv 3x3, 64]) • 出⼒レイヤサイズ:H x W x M • 畳み込みの計算量:H・W・N・K2・M ※バイアス項無視、padding = “same”
H W H N M K K • ⼊⼒レイヤサイズ:H x W x N • 畳み込みカーネル:K x K x N x M [conv K x K, M]と表記 (e.g. [conv 3x3, 64]) • 出⼒レイヤサイズ:H x W x M • 畳み込みの計算量:H・W・N・K2・M ※バイアス項無視、padding = “same” 画像スケール、 チャネル数、 カーネルサイズの2乗に⽐例
/ pointwise convolutionに分離 ! Depthwise (separable) convolution ⁃ Input tensorに対しチャネル毎に畳み込み ⁃ 計算量:H・W・N・K2・M (M=N) H・W・K2・N ! Pointwise convolution ⁃ ただのconv 1x1, M ⁃ 計算量:H・W・N・K2・M (K=1) H・W・N・M ! Depthwise + pointwise ⁃ 計算量:H・W・N・(K2 + M) ≒ H・W・N・M (M >> K2) 11 W H W H N 1 1 M W H W H N K K N
and Accurate Approximations of Nonlinear Convolutional Networks, CVPRʼ15. ! Conv k x k, d を Conv k x k, dʼ - Conv 1 x 1, d に分解 ⁃ 学習済みのカーネルを、出⼒feature mapの誤差を 最⼩に保つように最適化問題を解くことで分解 ⁃ 計算量:dk2c → dʼk2c + ddʼ = dʼ(k2c + d) ≒ dʼk2c 20
23 基本形 conv 3x3, 64 conv 3x3, 128 conv 3x3, 256 conv 3x3, 512 global average pooling FC x N1 x N2 x N3 x N4 56x56 28x28 14x14 7x7 出⼒ 画像サイズ Building block / Residual unit • パラメータの違うResidual unitを重ねていく • Batch normalizaJon • 画像サイズを半分+フィルタ数を倍に • 最後はglobal average pooling
! Network In Network, ICLRʻ14. で提案された ! Feature mapサイズの average pooling ! オリジナルの論⽂では N をクラス数にすることで、 global average poolingの出⼒がそのままprediction結果となる ⁃ その後の使われ⽅としては、後段に出⼒がクラス数のFC層を使う ! 何れにせよ、パラメータ数の多いFC層が不要 35 W H N N 1 1