0
本文作者: 汪思穎 | 2018-09-29 12:15 |
雷鋒網(wǎng) AI 科技評論按:本文作者陳泰紅,郵箱 ahong007@yeah.net,他為雷鋒網(wǎng) AI 科技評論撰寫了 Google 利用神經(jīng)網(wǎng)絡(luò)搜索實現(xiàn)語義分割的獨家解讀。
1. Introduction
在 arxiv 瀏覽論文的時候,單獨看文章名不知道屬于 CV 哪個領(lǐng)域,懷著對一作 Liang-Chieh 敬畏的心,在摘要中掃描到 PASCAL VOC 2012 (semantic image segmentation),瀏覽全文才明白,Google 又發(fā)大招。
Google 在 Cloud AutoML 不斷發(fā)力,相比較而言之前的工作只是在圖像分類領(lǐng)域精耕細作,如今在圖像分割開疆擴土,在 arxiv 提交第一篇基于 NAS(Neural network architecture)的語義分割模型[1](DPC,dense prediction cell)已經(jīng)被 NIPS2018 接收,并且在 Cityscapes,PASCAL-Person-Part,PASCAL VOC 2012 取得 state-of-art 的性能(mIOU 超過 DeepLabv3+)和更高的計算效率(模型參數(shù)少,計算量減少)。
Google 儼然已是圖像語義分割領(lǐng)域的高產(chǎn)霸主,Liang-Chieh 從 Deeplabv1- Deeplabv3+ 持續(xù)發(fā)力,還是 MobileNetV2 共同作者,如今在 NAS 領(lǐng)域開發(fā)處女地:基于 NAS 的語義分割模型,性能超過之前的基于 MobileNetV2 的 Network Backbone。
2. Motivation
深度學習技術(shù)已經(jīng)成為當前人工智能領(lǐng)域的一個研究熱點,其在圖像識別、語音識別、自然語言處理等領(lǐng)域展現(xiàn)出了巨大的優(yōu)勢,并且仍在繼續(xù)發(fā)展變化。自 Google 提出 Cloud AutoML,NAS(Neural Architecture Search,神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索)也取得重大進展,但更多的是在圖像分類和自然語言處理方面的應(yīng)用。在過去的一年中,元學習(meta-learning)在大規(guī)模圖像分類問題上,性能已經(jīng)實現(xiàn)超越人類手工設(shè)計的神經(jīng)網(wǎng)架構(gòu)。
基于 NAS 的圖像分類遷移到高分辨率的圖像處理(語義分割、目標識別、實例分割)有很大的挑戰(zhàn):(1)神經(jīng)網(wǎng)絡(luò)的搜索空間和基本運算單元有本質(zhì)不同。(2)架構(gòu)搜索必須固有地在高分辨率圖像上運行,因此不能實現(xiàn)從低分辨率圖像訓(xùn)練模型遷移到高分辨率圖像。
論文首次嘗試將元學習應(yīng)用于密集圖像預(yù)測(本人理解就是像素級圖像分割)。語義分割領(lǐng)域一般使用 encoder-decoder 模型,空間金字塔結(jié)構(gòu),空洞卷積等,目標是實現(xiàn)構(gòu)建高分辨率圖像的多尺度特征,密集預(yù)測像素級標簽。論文利用這些技術(shù)構(gòu)建搜索空間,同時構(gòu)建計算量少、處理簡單的代理任務(wù),該任務(wù)可為高分辨率圖像提供多尺度架構(gòu)的預(yù)測信息。
論文提出的模型在 Cityscapes dataset 驗證測試,取得 82.7% mIOU,超過人類手工設(shè)計模型 0.7%。在 person-part segmentation 和 VOC 2012 也取得 state-of-art 性能。具體可參考原論文。
3. Architecture
深度學習在感知任務(wù)中取得的成功主要歸功于其特征工程過程自動化:分層特征提取器是以端到端的形式從數(shù)據(jù)中學習,而不是手工設(shè)計。然而,伴隨這一成功而來的是對架構(gòu)工程日益增長的需求,越來越多的復(fù)雜神經(jīng)架構(gòu)是由手工設(shè)計的。算法工程師一般自我調(diào)侃“煉丹師”,就是因為超參數(shù)的設(shè)計選取存在太多偶然性,是一門玄學,沒有明顯的規(guī)律性。
Neural Architecture Search (NAS) 是一種給定模型結(jié)構(gòu)搜索空間的搜索算法,代表機器學習的未來方向。NAS 是 AutoML 的子領(lǐng)域,在超參數(shù)優(yōu)化和元學習等領(lǐng)域高度重疊。本人最近寫過一篇 NAS 的綜述文章(讓算法解放算法工程師——NAS 綜述),NAS 根據(jù)維度可分為三類:搜索空間、搜索策略和性能評估策略。
3.1 搜索空間
搜索空間原則上定義了網(wǎng)絡(luò)架構(gòu)。在圖像分類任務(wù)中分為三類:鏈式架構(gòu)空間、多分支架構(gòu)空間、Cell/block 構(gòu)建的搜索空間。
論文提出了基于 Dense Prediction Cell (DPC)構(gòu)建的遞歸搜索空間,對多尺度上下文信息編碼,實現(xiàn)語義分割任務(wù)。
圖 1 DPC 模型架構(gòu)
DPC 由有向無環(huán)圖(directed acyclic graph ,DAG)表示,每個 Cell 包含 B 個分支,每個分支映射輸入到輸出的張量。每個 Cell 的操作類型包括 1x1 卷積,不同比率的 3x3 空洞卷積,不同尺寸的均值空間金字塔池化。
圖 2 3x3 空洞卷積比率類型
根據(jù)論文提供的操作方式,3x3 空洞卷積有 8x8,均值空間金字塔池化有 4x4 操作,即操作函數(shù)共有 1+8*8+4*4=81 種類型,對于 B 分支的 Cell,搜索空間為 B!*81B,當 B=5,搜索空間為 5!*815≈4.2*1011。
3.2 搜索策略
搜索策略定義了使用怎樣的算法可以快速、準確找到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)配置。
機器學習模型超參數(shù)調(diào)優(yōu)一般認為是一個黑盒優(yōu)化問題,所謂黑盒問題就是我們在調(diào)優(yōu)的過程中只看到模型的輸入和輸出,不能獲取模型訓(xùn)練過程的梯度信息,也不能假設(shè)模型超參數(shù)和最終指標符合凸優(yōu)化條件。
自動調(diào)參算法一般有 Grid search(網(wǎng)格搜索)、Random search(隨機搜索),還有 Genetic algorithm(遺傳算法)、Paticle Swarm Optimization(粒子群優(yōu)化)、Bayesian Optimization(貝葉斯優(yōu)化)、TPE、SMAC 等方式。
論文采用隨機搜索的方式,基于 Google Vizier 實現(xiàn)[3]。Github 上有開源實現(xiàn)的 advisor[4](非Google 開源,第三方),包括隨機搜索,網(wǎng)格搜索,貝葉斯優(yōu)化等調(diào)參算法實現(xiàn),感興趣可以關(guān)注一下。
3.3 性能評估策略
因為深度學習模型的效果非常依賴于訓(xùn)練數(shù)據(jù)的規(guī)模,通常意義上的訓(xùn)練集、測試集和驗證集規(guī)模實現(xiàn)驗證模型的性能會非常耗時,例如 DPC 在 Cityscapes dataset 上訓(xùn)練,使用 1 個 P100 GPU 訓(xùn)練候選架構(gòu)(90 迭代次數(shù))需要一周以上時間,所以需要一些策略去做近似的評估,同時滿足快速訓(xùn)練和可以預(yù)測大規(guī)模訓(xùn)練集的性能。
圖像分類任務(wù)中通常在低分辨率圖像中訓(xùn)練模型,再遷移到高分辨率圖像模型中。但是圖像分割需要多尺度上下文信息。論文提出設(shè)計代理數(shù)據(jù)集:(1)采用較小的骨干網(wǎng)絡(luò)(network backbone),(2)緩存主干網(wǎng)絡(luò)在訓(xùn)練集生成的特征圖,并在其基礎(chǔ)上構(gòu)建單個 DPC。(個人理解應(yīng)該是權(quán)值共享的方式)。(3)訓(xùn)練候選架構(gòu)時提前終止(實驗中占用 30K 迭代訓(xùn)練每個候選架構(gòu))。
論文采用以上策略,在 GPU 上訓(xùn)練只運行 90 分鐘,相比一周的訓(xùn)練時間大幅度縮短。
在架構(gòu)搜索后,論文對候選架構(gòu)進行 reranking experiment,精準測量每個架構(gòu)在大規(guī)模數(shù)據(jù)集的性能。reranking experiment 中,主干網(wǎng)絡(luò)經(jīng)過微調(diào)和訓(xùn)練完全收斂,生成的最優(yōu)模型作為最佳 DPC 架構(gòu)。
4. Experiment&Result
論文在場景理解(Cityscapes),人體分割(PASCAL- Person-Part),語義分割(PASCAL VOC 2012)對比展示 DPC 模型的性能。主干網(wǎng)絡(luò)在 COCO 數(shù)據(jù)集預(yù)訓(xùn)練,訓(xùn)練學習率采用多項式學習率,初始化為 0.01,裁剪圖像,fine-tuned BN 參數(shù)(batch size=8,16)。評測和架構(gòu)搜索中,圖像尺寸采用單一類型。對比其他 state-of-the-art 系統(tǒng)時,通過對給定圖像的多個縮放進行平均來執(zhí)行評估。
論文使用提出的 DPC 架構(gòu)搜索空間,在 Cityscapes 部署生成的代理任務(wù),370 個 GPU 在一周時間中評估 28K 個 DPC 架構(gòu)。論文采用 MobileNet-v2 主干網(wǎng)絡(luò)對整個模型進行微調(diào),選擇前 50 個架構(gòu)進行重新排序。
論文中圖 5 、圖 6 展示了頂級 DPC 架構(gòu)的示意圖。在圖 5b 每個分支(通過 1*1 卷積)的 L1 正則化權(quán)重,我們觀察到具有 3×3 卷積(速率= 1×6)的分支貢獻最大,而具有大速率(即較長背景)的分支貢獻較少。換句話說,來自更接近(即最終空間尺度)的圖像特征的信息對網(wǎng)絡(luò)的最終輸出貢獻更多。相反,性能最差的 DPC(圖 6c)不保留精細空間信息,因為它在全局圖像池操作之后級聯(lián)四個分支。
論文實驗中,表 1,表 2,表 3分別對應(yīng)在場景理解(Cityscapes),人體分割(PASCAL- Person-Part),語義分割(PASCAL VOC 2012)的模型性能,DPC 在各個數(shù)據(jù)集取得 state-of-art 性能。
5. Discussion
1、論文提出的 DPC 架構(gòu)基于 Cell 構(gòu)建的搜索空間,每個 Cell 有語義分割采用經(jīng)典的空洞卷積,空間金字塔池化,1x1 卷積,在 mIOU 實現(xiàn) state-of-art 水準。
2、論文的搜索策略采用隨機搜索,評價指標也只有 mIOU,相比 Google 另一篇論文 MnasNet,在準確率和推斷時間上均有顯著提高。
3、論文摘要選擇只需要一半的參數(shù)和一半的計算效率,但是只在論文的表 1 即 Cityscapes 數(shù)據(jù)集對比了 MobileNet-v2 和 modified Xception 的實現(xiàn)方式,其他數(shù)據(jù)集沒有體現(xiàn)計算效率的優(yōu)越性。論文架構(gòu)搜索和訓(xùn)練時的目標函數(shù)沒有計算效率的體現(xiàn)。
Additionally, the resulting architecture is more computationally efficient, requiring half the parameters and half the computational cost as previous state of the art systems
4、作為 Google 在語義分割領(lǐng)域的開山之作,目測會有一大批基于 NAS 實現(xiàn)的目標檢測、實例分割的優(yōu)秀論文,NAS 應(yīng)用到工業(yè)界產(chǎn)品指日可待。
5、語義分割是一種廣義上的圖像分類(對圖像的每個像素進行分類),和圖像分類在搜索空間有很多相似之處,但是目標檢測需要 Region Proposal,Bounding-Box Regression 等,增加搜索空間的難度,NAS 在目標檢測領(lǐng)域可能還需要很長一段路要走。
以上僅為個人閱讀 MnasNet 論文后的理解,總結(jié)和一些思考,觀點難免偏差,望讀者以懷疑的態(tài)度閱讀,歡迎交流指正。
6. 參考文獻
1. Searching for Efficient Multi-Scale Architectures for Dense Image Prediction
arXiv:1809.04184 (2018)
2. Neural Architecture Search: A Survey
arXiv:1808.05377 (2018)
3. A service for black-box optimization
4. https://github.com/tobegit3hub/advisor
5. MnasNet:終端輕量化模型新思路
https://zhuanlan.zhihu.com/p/42474017
6. 讓算法解放算法工程師----NAS綜述
https://zhuanlan.zhihu.com/p/44576620
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。