1. 程式人生 > >論文記錄_MobileNets Efficient Convolutional Neural Networks for Mobile Vision Application

論文記錄_MobileNets Efficient Convolutional Neural Networks for Mobile Vision Application

depthwise separable convolution
2.1 標準卷積
標準的卷積層是將維度為DF×DF×MDF×DF×M的輸入層轉化為維度為DG×DG×NDG×DG×N [ 上篇論文中也有提到] 
DFDF 是輸入feature map的長和寬,M 是輸入的通道數(channels)
DGDG 是輸出feature map的長和寬,N 是輸出的通道數
假設卷積核filter的大小是Dk×DkDk×Dk,則標準卷積的計算量是
Dk⋅Dk⋅M⋅N⋅DF⋅DF
Dk⋅Dk⋅M⋅N⋅DF⋅DF

引用上篇論文中的圖, 只看kernel matrix 部分,Dk⋅DkDk⋅Dk就是一個方格的大小,然後乘上輸入和輸出的channels個數,然後作用在input feature maps 

kernel matrix

標準卷積是這樣的, 即不管當前pixel有多少channels,卷積之後就是一個channel

regular conv
2.2 Depthwise Separable Convolution
分為兩個步驟 
第一步深度卷積:卷積核的大小是Dk×Dk×1×MDk×Dk×1×M,所以總的計算量是:
Dk⋅Dk⋅M⋅DF⋅DF
Dk⋅Dk⋅M⋅DF⋅DF
第二步逐點卷積:卷積核大小是1×1×M×N1×1×M×N,所以總的計算量是:
M⋅N⋅DF⋅DF
M⋅N⋅DF⋅DF
所以和標準的卷積相比計算量比率為:
Dk⋅Dk⋅M⋅DF⋅DF+M⋅N⋅DF⋅DFDk⋅Dk⋅M⋅N⋅DF⋅DF=1N+1D2k
Dk⋅Dk⋅M⋅DF⋅DF+M⋅N⋅DF⋅DFDk⋅Dk⋅M⋅N⋅DF⋅DF=1N+1Dk2

MobileNet使用的是3x3的卷積核,所以計算量可以減少8-9倍 (因為比率是1/N+1/9)
第一步深度卷積操作是在每一個channel上進行的卷積操作
 
- 第二步逐點卷積才是結合起來

3. 神經網路結構
MobileNet共有28層(深度卷積和逐點卷積分開來算)
之前標準的結構是卷積層之後跟上Batch Normalization層和Relu啟用函式,這裡引入Depthwise separable convolution之後的結構如下圖 
每一層都跟上了BN層和啟用函式
總的結構


4. 寬度乘數(Width Multiplier)
引入超引數αα, 目的是使模型變瘦,
即輸入層的channels個數M,變成αMαM,輸出層的channels個數N變成了αNαN
所以引入寬度乘數後的總的計算量是
Dk⋅Dk⋅αM⋅DF⋅DF+αM⋅αN⋅DF⋅DF
Dk⋅Dk⋅αM⋅DF⋅DF+αM⋅αN⋅DF⋅DF

一般α∈(0,1]α∈(0,1],常取的值是1, 0.75, 0.5, 0.25,
大約可以減少引數量和計算量的α2α2
5. 解析度乘數 (Resolution Multiplier)
引入超引數ρρ,目的是降低圖片的解析度
即作用在輸入的feature map上
所以再引入解析度乘數後總的計算量是:
Dk⋅Dk⋅αM⋅ρDF⋅ρDF+αM⋅αN⋅ρDF⋅ρDF
Dk⋅Dk⋅αM⋅ρDF⋅ρDF+αM⋅αN⋅ρDF⋅ρDF

一般輸入圖片的解析度是224, 192, 160 or 128
大約可以減少計算量的ρ2ρ2
6. 實驗結果
關於超引數的選擇,下圖可以看出準確度和引數量和引數運算量的關係,之間有個trade off,合理選擇引數即可


還在細粒度的識別,大規模地理位置識別,人臉屬性提取,目標檢測和人臉識別等任務上進行了測試,效果也很好
7. 總結
主要是基於depthwise separable convolution
引入了兩個超引數 
[ 第一個寬度乘數就是減少feature map,以此來降低模型厚度 ]
[ 第二個解析度乘數就是縮小feature map的大小,來減少計算量]
[ 超引數的選擇是有個trade off的 ]
Reference
https://arxiv.org/abs/1704.04861
https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.md
https://github.com/shicai/MobileNet-Caffe
http://machinethink.net/blog/googles-mobile-net-architecture-on-iphone/
--------------------- 
作者:莫失莫忘Lawlite 
來源:CSDN 
原文:https://blog.csdn.net/u013082989/article/details/77970196 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關推薦

論文記錄_MobileNets Efficient Convolutional Neural Networks for Mobile Vision Application

2.1 標準卷積 標準的卷積層是將維度為DF×DF×MDF×DF×M的輸入層轉化為維度為DG×DG×NDG×DG×N [ 上篇論文中也有提到]  DFDF 是輸入feature map的長和寬,M 是輸入的通道數(channels) DGDG 是輸出feature ma

深度學習論文翻譯解析(六):MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications

論文標題:MobileNets:Efficient Convolutional Neural Networks for Mobile Vision Appliications 論文作者:Andrew G.Howard  Menglong Zhu  Bo Chen ..... 論文地址:ht

深度學習論文翻譯解析(十七):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

論文標題:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 論文作者:Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

We present a class of efficient models called MobileNets for mobile and embedded vision applications. 我們為移動和嵌入式視覺應用提出了一種名為MobileN

論文筆記之Learning Convolutional Neural Networks for Graphs

本篇論文是2016ICML上的一篇論文,對於如何將cnn應用在graph上提供了一種新的思路。 架構: 總體上講,就是用w個固定size=(k+1)的子圖來表示輸入的graph,再將這w個子圖正

論文閱讀筆記】-《Quantized Convolutional Neural Networks for Mobile Devices》

      Quantized -CNN是一種卷積神經網路量化框架,在測試階段可以進行計算加速和模型壓縮。移動裝置可以利用Quantized -CNN框架進行有效的時實影象分類,只有極小的準確性損失。文章測試的硬體平臺是華為mate10,在在ILSVRC-12基準測試

Convolutional Neural Networks for Sentence Classification》論文結構解讀

1.資料 以某一雙鞋子為例,評論結果作為標籤(2分類:好評,差評) 【穿了一段時間,不錯,喜歡的下單吧;好評】 【鞋子收到了,不是很滿意。沒有吊牌,一直都是還是隻有我這一雙是;差評】 資料處理步驟: 把所有評論資料集分詞,去除停用詞,然後構建word2index,然後表示“句子”,以

論文閱讀】Learning Dual Convolutional Neural Networks for Low-Level Vision

論文閱讀(【CVPR2018】Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision)      本文針對低層視覺問題,提出了一般性的用於解決低層視覺問題的對偶卷積神經網路。作者認為,低層視覺問題,如常見的有

Highly Efficient Forward and Backward Propagation of Convolutional Neural Networks for Pixelwise Cla

eliminate all the redundant computation in convolution and pooling on images by introducing novel d-regularly sparse kernels. It generates exactly the sam

Understanding Convolutional Neural Networks for NLP

n) rnn eas published previous depend tput parameter www. When we hear about Convolutional Neural Network (CNNs), we typically think of Co

A Sensitivity Analysis of Convolutional Neural Networks for Sentence Classification

引言 Ye Zhang在2016年掛在arXiv上的論文,從名字大概可以看出來,這是一篇CNN調參指南。 概述 模型方面用的是單層CNN,主要是CNN用做文字分類方面的研究,模型結構如下所示: 上述模型來自Convolutional Neural Networks for

Building Fast and Compact Convolutional Neural Networks for Offline HCCR

--pattern recognition 2017  摘要: 像其他的計算機視覺技術一樣,離線的手寫文字識別使用CNN方法取得了很好的效果。但是需要非常複雜的網路才可以取得較好的效果。這樣的網路直觀地看起來計算成本過高,並且需要儲存大量引數,這使得它們在行動式裝置中部署

Stanford University CS231n: Convolutional Neural Networks for Visual Recognition

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving c

Convolutional Neural Networks for Beginners: Practical Guide with Python and Keras

Convolutional Neural Networks for Beginners: Practical Guide with Python and KerasAt this point, we are ready to deal with another type of neural networks,

[CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks論文筆記

sed pooling was 技術分享 sco 評測 5.0 ict highest p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px "Helvetica Neue"; color: #323333 } p.p2

EffNet: An Efficient Structure for Convolutional Neural Networks

EffeNet對MoblieNet網路進行改進,主要思想為: 首先,將MoblieNet的 3×3 3\times3的depthwise convolution層分解為兩個 3×1 3\times1, 1×3 1\ti

論文閱讀-(CVPR 2017) Kernel Pooling for Convolutional Neural Networks

在這篇論文中,作者提出了一種更加通用的池化框架,以核函式的形式捕捉特徵之間的高階資訊。同時也證明了使用無引數化的緊緻清晰特徵對映,以指定階形式逼近核函式,例如高斯核函式。本文提出的核函式池化可以和CNN網路聯合優化。 Network Structure Overview Kernel Pooling

論文閱讀】Bag of Tricks for Image Classification with Convolutional Neural Networks

Bag of Tricks for Image Classification with Convolutional Neural Networks 論文:https://arxiv.org/pdf/1812.01187.pdf 本文作者總結了模型訓練過程中可以提高準確率的方法,如題,

論文筆記:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks ========簡陋的記錄=========== 背景知識:Distant Sup

影象隱寫術分析論文筆記:Deep learning for steganalysis via convolutional neural networks

好久沒有寫論文筆記了,這裡開始一個新任務,即影象的steganalysis任務的深度網路模型。現在是論文閱讀階段,會陸續分享一些相關論文,以及基礎知識,以及傳統方法的思路,以資借鑑。 這一篇是Media Watermarking, Security, and Forensi