歡迎光臨
每天分享高質量文章

Google論文解讀:輕量化摺積神經網路MobileNetV2 | PaperDaily #38

在碎片化閱讀充斥眼球的時代,越來越少的人會去關註每篇論文背後的探索和思考。

在這個欄目裡,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。


點選本文底部的「閱讀原文」即刻加入社群,檢視更多最新論文推薦。

這是 PaperDaily 的第 38 篇文章

本期推薦的論文筆記來自 PaperWeekly 社群使用者 @chenhong

本文是 Google 團隊在 MobileNet 基礎上提出的 MobileNetV2,其同樣是一個輕量化摺積神經網路。標的主要是在提升現有演演算法的精度的同時也提升速度,以便加速深度網路在移動端的應用。

如果你對本文工作感興趣,點選底部的閱讀原文即可檢視原論文。

關於作者:陳泰紅,小米高階演演算法工程師,研究方向為人臉檢測識別,手勢識別與跟蹤。


■ 論文 | Inverted Residuals and Linear Bottlenecks: Mobile Networks forClassification, Detection and Segmentation

■ 連結 | https://www.paperweekly.site/papers/1545

■ 原始碼 | https://github.com/Randl/MobileNet2-pytorch/

論文動機


很多輕量級的 CNN 模型已經在便攜移動裝置應用(如手機):MobileNet、ShuffleNet 等,但是效果差強人意。


本文是 Google 團隊在 MobileNet 基礎上提出的 MobileNetV2,實現分類/標的檢測/語意分割多標的任務:以 MobileNetV2 為基礎設計標的檢測模型 SSDLite(相比 SSD,YOLOv2 引數降低一個數量級,mAP 無顯著變化),語意分割模型 Mobile DeepLabv3。 


MobileNetV2 結構基於 inverted residual。其本質是一個殘差網路設計,傳統 Residual block 是 block 的兩端 channel 通道數多,中間少,而本文設計的 inverted residual 是 block 的兩端 channel 通道數少,block 內 channel 多,類似於沙漏和梭子形態的區別。另外保留 Depthwise Separable Convolutions。


論文模型在 ImageNet classification,COCO object detection,VOC image segmentation 等資料集上進行了驗證,在精度、模型引數和計算時間之前取得平衡。


Preliminaries, discussion and intuition

1. Depthwise Separable Convolutions 


首先對每一個通道進行各自的摺積操作,有多少個通道就有多少個過濾器。得到新的通道 feature maps 之後,這時再對這批新的通道 feature maps 進行標準的 1×1 跨通道摺積操作。 


標準摺積操作計算複雜度,Depthwise Separable Convolutions 計算複雜度,複雜度近似較少近似 k*k。


2. Linear Bottlenecks 


本篇文章最難理解的是這部分,論文中有兩個結論: 


If the manifold of interest remains non-zero volume after ReLU transformation, it corresponds to a linear transformation. 


感興趣區域在 ReLU 之後保持非零,近似認為是線性變換。 


ReLU is capable of preserving complete information about the input manifold, but only if the input manifold lies in a low-dimensional subspace of the input space. 


ReLU 能夠保持輸入資訊的完整性,但僅限於輸入特徵位於輸入空間的低維子空間中。 


對於低緯度空間處理,論文中把 ReLU 近似為線性轉換。 


3. Inverted residuals 


inverted residuals 可以認為是 residual block 的拓展。在 0


模型結構


論文提出的 MobileNetV2 模型結構容易理解,基本單元 bottleneck 就是 Inverted residuals 模組,所用到的 tricks 比如 Dwise,就是 Depthwise Separable Convolutions,即各通道分別摺積。表 3 所示的分類網路結構輸入影象解析度 224×224,輸出是全摺積而非 softmax,k 就是識別標的的類別數目。 


1. MobileNetV2 


MobileNetV2 的網路結構中,第 6 行 stride=2,會導致下麵通道解析度變成14×14,從表格看,這個一處應該有誤。

2. MobileNetV1、MobileNetV2 和 ResNet 微結構對比

可以看到 MobileNetV2 和 ResNet 基本結構很相似。不過 ResNet 是先降維(0.25 倍)、提特徵、再升維。而 MobileNetV2 則是先升維(6 倍)、提特徵、再降維。


實驗


1. ImageNet Classification 


表 3 在 ImageNet 資料集對比了 MobileNetV1、ShuffleNet,MobileNetV2 三個模型的 Top1 精度,Params 和 CPU(Google Pixel 1 phone)執行時間。MobileNetV2 執行時間 149ms,引數 6.9M,Top1 精度 74.7。 


在 ImageNet 資料集,依 top-1 而論,比 ResNet-34,VGG19 精度高,比 ResNet-50 精度低。

2. Object Detection 


論文以 MobileNetV2 為基本分類網路,實現 MNet V2 + SSDLite,耗時 200ms,mAP 22.1,引數只有 4.3M。相比之下,YOLOv2 mAP 21.6,引數50.7M。模型的精度比 SSD300 和 SSD512 略低。 


3. Semantic Segmentation 


當前 Semantic Segmentation 效能最高的架構是 DeepLabv3,論文在 MobileNetV2 基礎上實現 DeepLabv3,同時與基於 ResNet-101 的架構做對比,實驗效果顯示 MNet V2 mIOU 75.32,引數 2.11M,而 ResNet-101 mIOU80.49,引數 58.16M,明顯 MNet V2 在實時性方面具有優勢。

結論


CNN 在 CV 領域突破不斷,但是在小型化效能方面卻差強人意。目前 MobileNet、ShuffleNet 引數個位數(單位 M)在 ImageNet 資料集,依 top-1 而論,比 ResNet-34,VGG19 精度高,比 ResNet-50 精度低。實時性和精度是一對歡喜冤家。 


本文最難理解的其實是 Linear Bottlenecks,論文中用很多公式表達這個思想,但是實現上非常簡單,就是在 MobileNetV2 微結構中第二個 PW 後無 ReLU6。對於低維空間而言,進行線性對映會儲存特徵,而非線性對映會破壞特徵。

本文由 AI 學術社群 PaperWeekly 精選推薦,社群目前已改寫自然語言處理、計算機視覺、人工智慧、機器學習、資料挖掘和資訊檢索等研究方向,點選「閱讀原文」即刻加入社群!

# 榜 單 公 布 #


2017年度最值得讀的AI論文 | NLP篇 · 評選結果公佈

2017年度最值得讀的AI論文 | CV篇 · 評選結果公佈

           

關於PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。


▽ 點選 | 閱讀原文 | 檢視原論文

贊(0)

分享創造快樂