0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

深層学習/MobileNet

Last updated at Posted at 2020-04-20

1.はじめに

 今回は、 スマホなどの容量が少ない小型端末にCNNを載せるために開発された MobileNet についてまとめます。

2.MobileNet.V1

スクリーンショット 2020-04-20 16.29.26.png

 通常のConvolutionの模式図です。$(h,w,C_i)\to(h,w,C_o)$となるstride1のk×k Convolutionを考えると、パラメータ数は $hwC_ik^2*C_o$が必要となります。

スクリーンショット 2020-04-20 16.36.20.png

 Depthhwise Separable Convolution の模式図です。通常のConvolutionは空間方向とチャンネル方向の畳み込みを同時に行いますが、このモデルは空間方向の畳み込み(Depthwise Conv)を行なってから、チャンネル方向の畳み込み(Pointwise Conv)を行うという様に2段階で行います。これによって、パラメータ数は、$\frac{k^2+C_o}{k^2*C_o}=\frac{1}{k^2}+\frac{1}{C_o}$に減らすことが出来ます。

3.MobileNet.V2

 MobileNet.V2は、Inverted ResidualというResNetで使われるResidual Blockを応用したブロックを持っているのが特徴です。Residual Blockは入力からチャネル方向に注目すると、広い -> 狭い -> 広いという構造(Bottleneck構造)になってますが、Inverted Residualでは狭い -> 広い -> 狭いとしています。

スクリーンショット 2020-04-20 17.02.37.png

 3×3Depthwise Conv.を1x1Conv.(Pointwise Conv.)で挟む構造です。この構成によってパラメータを増加させる最大要因である出力チャンネル数を大幅に減らすことができます。

 出力チャネル数を大幅に減らすことは、その分情報量を十分に抽出できなく精度が出なくなってしまうのですが、Inverted Residual Blockの中でチャネル数を一旦増やして畳み込みを行いチャンネル数を戻すことで解決しています。

4.MobileNetのV1とV2の比較

スクリーンショット 2020-04-20 17.08.30.png
 V2の方がV1より圧倒的に少ないチャンネル数で成立していることが分かります。

 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?