MobileNet論文その1: 「MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications」を読みました
この記事は7/6に開催されたMETRICAエンジニア勉強会の発表資料です。
今回は参加者の西本くんがMotibleNetについて発表してくれました。
Mobilenetの特徴
- 軽い
- 速い
- 精度が良い
Depthwise Separable Convolution
Mobile Netの軽量化のための工夫。
わかりやすい動画
https://www.youtube.com/watch?v=T7o3xvJLuHk&feature=youtu.be
MobileNetの全体の構造
1層目だけFull Convolution層。 2層目以降はdepthwise separable convolutionの繰り返し。
- 積-和演算の数を減らせる
- 残りの積-和計算を効率的に実装できる。
パラメータの75%、計算時間の95%を1x1畳込み層が占めている。
1x1畳込み層は、線形代数の数値計算が最適化されたアルゴリズムの1つであるgeneral matrix multiply (GEMM) functionでdirectに実装可能。
Hyper-parameters
- width multiplier
- 論文ではという記号で表されている。
- の範囲で制御可能
- (\alpha)が小さくなるとinput channel, output channelが倍小さくなる。
- 計算コストは大体に
- accuracyとのトレードオフがある
- resolution multiplier
- 論文ではという記号で表されている。
- の範囲で制御可能
- が小さくなるとfeature mapの大きさが倍小さくなる。
- 計算コストは倍小さくなる。
- を変化させてもパラメータ数は変化しない。
- accuracyとのトレードオフがある
ハイパーパラメータを導入すると、Depthwise Separable Convolution の計算にかかるコストは
になる。
性能評価
Depthwise Separable vs Full Convolution MobileNet
精度はほとんど同じだが、Depthwise Separable の方が積和計算の数、パラメータ数は大幅に少ない。
Narrow vs Shallow MobileNet
MobileNetの層を5層取り除いて浅くしたものと、ハイパーパラメータ(\alpha)を調整して層を薄くしたものの比較。 後者のほうがやや性能良かった。
Model Shrinking Hyperparameters
,
の範囲でハイパーパラメータを変化させたときのモデルの振る舞いを調べた。
積和計算の数とaccuracyのトレードオフ
パラメータ数とaccuracyのトレードオフ
他のモデルとの比較
積和計算、ハイパーパラメータが少ないだけでなく、精度も良い。
様々な場面で応用可能
- PlaNet
- Face attribute classification
- Object classification