MobileNetV2のお勉強
やりたいこと
計算処理が軽いDNNの構築。低スペックのPCでもガンガン認識を回したい。
論文
MobileNetsの理解
通常のCNNではチャンネル間の特徴・チャンネル内の特徴(画像内の特徴)をフィルターによってまとめて考えるのに対し、MobileNetsではそれらをdepthwiseとpointwiseの畳み込みに分離し、表現しパラメータを削減している。
また、処理速度と精度を調整するためのwidth multiplierとresolution multiplierというパラメータもうまく設計されている。
参考: MobileNets: CNNのサイズ・計算コストの削減手法_翻訳・要約 - MUSCLE PROGRAMMER's BLOG
通常のCNN
Depthwise Separable Convolution
実装(TBD)
書き次第掲載予定。Tensorflowで書いてみようかな。
V2の理解(TBD)
参考スライド
参考ブログ
深層学習の計算コスト削減、MobileNetの設計思想 | Accel Brain Good Blog !!!
MobileNets: CNNのサイズ・計算コストの削減手法_翻訳・要約 - MUSCLE PROGRAMMER's BLOG
[Survey] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications - Qiita
参考実装
Tensorflow
mobilenet-v2-tensorflow/models.py at master · timctho/mobilenet-v2-tensorflow · GitHub
models/research/slim/nets/mobilenet at master · tensorflow/models · GitHub
Pytorch
GitHub - kuangliu/pytorch-cifar: 95.16% on CIFAR10 with PyTorch
GitHub - MG2033/MobileNet-V2: A Complete and Simple Implementation of MobileNet-V2 in PyTorch
pytorch-mobilenet/main.py at master · marvis/pytorch-mobilenet · GitHub
GitHub - ericsun99/MobileNet-V2-Pytorch: Model shared. Top1:71.806/Top5:90.410
所感
軽量なDNNの工夫おもしろい。
低スペックPCで認識を回すために引き続きキャッチアップしよう。