天天看點

MobileNet系列之MobileNet_v2

 MobileNet系列之MobileNet_v1

Inception系列之Inception_v1

Inception系列之Batch Normalization

Inception系列之Inception_v2-v3

Inception系列之Inception_v4

導言:

    MobileNet_v2提出了一些MobileNet_v1存在的一些問題,并在此基礎上提出了改進方案。其主要貢獻為提出了線性瓶頸(Linear Bottlenecks)和倒殘差(Inverted Residuals)。

    關注公衆号CV技術指南,及時擷取更多計算機視覺技術總結文章。

01Linear Bottlenecks

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    如上圖所示,MobileNet_v2提出ReLU會破壞在低維空間的資料,而高維空間影響比較少。是以,在低維空間使用Linear activation代替ReLU。如下圖所示,經過實驗表明,在低維空間使用linear layer是相當有用的,因為它能避免非線性破壞太多資訊。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    此外,如果輸出是流形的非零空間,則使用ReLU相當于是做了線性變換,将無法實作空間映射,是以MobileNet_v2使用ReLU6實作非零空間的非線性激活。

    上方提出使用ReLU會破壞資訊,這裡提出ReLU6實作非零空間的非線性激活。看起來有些難以了解。這裡提出我自己的了解。

    根據流形學習的觀點,認為我們所觀察到的資料實際上是由一個低維流形映射到高維空間的。由于資料内部特征的限制,一些高維中的資料會産生次元上的備援,實際上這些資料隻要比較低的次元的次元就能唯一的表示。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

圖像分布是在高維空間,神經網絡中使用非線性激活函數實作将高維空間映射回低維流形空間。而這裡提出使用ReLU6即增加了神經網絡對非零空間的映射,否則,在非零空間使用ReLU相當于線性變換,無法映射回流形低維空間。而前文提出的使用線性激活函數來代替ReLU是在已經映射後的流形低維空間。

    差別就是ReLU6是在将高維空間映射到流形低維空間時使用,Linear layer是在映射後的流形低維空間中使用。

    其使用的如下表所示

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

02 Inverted Residuals

    MobileNet_v1中的結構如下左圖,MobileNet_v2如下右圖。、

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    MobileNet_v2是在2018年發表的,此時ResNet已經出來了,經過幾年的廣泛使用表明,shortcut connection和Bottlenck residual block是相當有用的。MobileNet_v2中加入了這兩個結構。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    但不同的是,ResNet中的bottleneck residual是沙漏形的,即在經過1x1卷積層時降維,而MobileNet_v2中是紡錘形的,在1x1卷積層是升維。這是因為MobileNet使用了Depth wise,參數量已經極少,如果使用降維,泛化能力将不足。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    此外,在MobileNet_v2中沒有使用池化來降維,而是使用了步長為2的卷積來實作降維,此外如上圖所示,步長為2的block沒有使用shortcut connection。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

這裡的t是膨脹因子,取6。

    Inverted residuals block 與ResNet中的residuals block對比如下圖所示:

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

圖來源于網絡

    ResNet中residual block是兩端大,中間小。而MobileNet_v2是中間大,兩端小,剛好相反,作者把它取名為Inverted residual block。

    整體結構如下圖所示:

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

    論文裡提到Bottleneck有19層,但其給出的結構圖中卻隻有17層。

    MobileNet_v2相比與MobileNet_v1,參數量有所增加,主要增加在于Depth wise前使用1x1升維。此外,在CPU上的推理速度也比後者慢,但精度更高。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

本文來源于公衆号 CV技術指南 的模型解讀系列。

歡迎關注公衆号 CV技術指南 ,專注于計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

在公衆号中回複關鍵字 “入門指南“可擷取計算機視覺入門所有必備資料。

MobileNet系列之MobileNet_v2
MobileNet系列之MobileNet_v2

其它文章

ML2021 | PatrickStar:通過基于塊的記憶體管理實作預訓練模型的并行訓練

ICCV2021 | PnP-DETR:用Transformer進行高效的視覺分析

ICCV2021 | 醫學影像等小資料集的非自然圖像領域能否用transformer?

ICCV2021 | Vision Transformer中相對位置編碼的反思與改進

ICCV2021 | TransFER:使用Transformer學習關系感覺的面部表情表征

2021-視訊監控中的多目标跟蹤綜述

統一視角了解目标檢測算法:最新進展分析與總結

全面了解目标檢測中的anchor      |    姿态估計綜述

目标檢測中回歸損失函數總結     |     小目标檢測常用方法總結

視覺Transformer綜述    |    2021年小目标檢測最新研究綜述

Siamese network綜述    |  小目标檢測的一些問題,思路和方案

視訊了解綜述:動作識别、時序動作定位、視訊Embedding

從CVPR 2021的論文看計算機視覺的現狀

ICCV2021 | MicroNet:以極低的 FLOPs 改進圖像識别

ICCV2021 | 重新思考視覺transformers的空間次元

CVPR2021 | TransCenter: transformer用于多目标跟蹤算法

CVPR2021 | 開放世界的目标檢測

CVPR2021 | TimeSformer-視訊了解的時空注意模型

CVPR2021 | 一個高效的金字塔切分注意力子產品PSA

CVPR2021 | 特征金字塔的新方式YOLOF

經典論文系列 | 重新思考在ImageNet上的預訓練

經典論文系列 | Group Normalization & BN的缺陷

經典論文系列 | 目标檢測--CornerNet  & anchor boxes的缺陷

經典論文系列 | 縮小Anchor-based和Anchor-free檢測之間差距的方法:自适應訓練樣本選擇

CV方向的高效閱讀英文文獻方法總結

CNN可視化技術總結(一)-特征圖可視化

CNN可視化技術總結(二)--卷積核可視化

CNN可視化技術總結(三)--類可視化

CNN可視化技術總結(四)--可視化工具與項目

池化技術總結    |  NMS總結    |  注意力機制總結

特征金字塔總結      |  資料增強方法總結

計算機視覺專業術語總結(一)建構計算機視覺的知識體系

欠拟合與過拟合技術總結    |  損失函數技術總結

CNN可視化技術總結

CNN結構演變總結—經典模型

CNN結構演變總結—輕量化模型

CNN結構演變總結—設計原則

論文創新的常見思路總結

在公衆号《CV技術指南》中回複“技術總結”可擷取以上所有總結系列文章的彙總pdf