語義圖像分割的分層神經(jīng)體系結構搜索
https://arxiv.org/abs/1901.02985
https://github.com/tensorflow/models/tree/master/research/deeplab (官方)
https://github.com/MenghaoGuo/AutoDeeplab (非官方)
論文翻譯

Abstract
近年來, 神經(jīng)體系結構搜索 (NAS) 在大規(guī)模圖像分類問題上成功地識別出了超過人類設計的神經(jīng)網(wǎng)絡體系結構。本文研究了用于語義圖像分割的 NAS, 這是一種重要的計算機視覺任務, 它為圖像中的每個像素分配一個語義標簽。現(xiàn)有的工作通常集中在搜索可重復的單元結構, 同時手工設計控制空間分辨率變化的外部網(wǎng)絡結構。此個方法簡化了搜索空間, 但對于顯示出更多網(wǎng)絡級體系結構變化的密集圖像預測而言, 問題越來越大。因此, 我們建議除了單元級結構外, 還要搜索網(wǎng)絡層結構, 形成一個分層的架構搜索空間。我們提供了一個網(wǎng)絡級的搜索空間, 其中包括許多流行的設計, 并開發(fā)了一種公式, 允許高效的基于梯度的體系結構搜索 (3 P100 GPU 天的 cityscapes 圖像)。我們展示了擬議方法在具有挑戰(zhàn)性的城市景觀、PASCAL VOC 2012 和 ADE20K 數(shù)據(jù)集上的有效性。在沒有任何 ImageNet 預培訓的情況下, 我們的體系結構專門搜索語義圖像分割, 以獲得最先進的性能。
1. Introduction
深度神經(jīng)網(wǎng)絡已被證明是成功的, 在各種人工智能任務, 包括圖像識別 [38, 25], 語音識別 [27], 機器翻譯 [72, 80] 等。雖然更好的優(yōu)化器 [36] 和更好的規(guī)范化技術 [32, 79] 肯定發(fā)揮了重要作用, 但很多進展來自神經(jīng)網(wǎng)絡架構的設計。在計算機視覺中, 這適用于圖像分類 [38、71、74、75、73、25、84、31、30] 和密集圖像預測 [16、51、7、63、56、55]。
最近, 本著 AutoML 和人工智能全民化的精神, 人們對自動設計神經(jīng)網(wǎng)絡架構產(chǎn)生了濃厚的興趣, 而不是嚴重依賴專家經(jīng)驗和知識。重要的是, 在過去的一年中, 神經(jīng)體系結構搜索 (NAS) 成功地確定了在大規(guī)模圖像分類問題上超過人工設計的體系結構 [92、47、61]。
圖像分類是 NAS 的一個良好的起點, 因為它是最基本、研究最充分的高級識別任務。此外, 還有圖像相對較小的基準數(shù)據(jù)集 (例如 CIBAR-10), 從而減少了計算, 加快了培訓速度。然而, 圖像分類不應該是 NAS 的終點, 目前的成功表明有希望延伸到要求更高的領域。本文研究了神經(jīng)結構搜索語義圖像分割, 這是一種重要的計算機視覺任務, 它將 "人" 或 "自行車" 等標簽分配給輸入圖像中的每個像素。
從圖像分類中簡單地移植思想對于語義分割是不夠的。在圖像分類中, NAS 通常應用低分辨率圖像到高分辨率圖像的遷移學習 [92], 而用于語義分割的最佳體系結構必須在高分辨率圖像上固有地運行。這表明需要: (1) 更松弛、更一般的搜索空間來捕獲高分辨率帶來的體系結構變化, 以及 (2) 更高效的體系結構搜索技術, 因為更高的分辨率需要更高的計算。
我們注意到, 現(xiàn)代 CNN 設計 [25, 84, 31] 通常遵循兩級層次結構, 其中外部網(wǎng)絡級別控制空間分辨率的變化, 內部單元級別控制特定的層級計算。目前在 NAS 上的絕大多數(shù)作品 [92、47、61、59、49] 都遵循這種兩級分層設計, 但只在手動設計外部網(wǎng)絡級別時自動搜索內部單元級別。這種有限的搜索空間對于密集圖像預測來說會成為問題, 因為密集圖像預測對空間分辨率的變化很敏感。因此, 在我們的工作中, 我們提出了一個類似于格子的網(wǎng)絡級搜索空間, 它增強了 [92] 中首次提出的常用單元級搜索空間, 從而形成了一個分層體系結構搜索空間。我們的目標是共同學習可重復的細胞結構和網(wǎng)絡結構的良好組合, 專門用于語義圖像分割。
在體系結構搜索方法方面, 強化學習 [91, 92] 和演化算法 [62, 61] 即使在低分辨率 CIBAR-10 數(shù)據(jù)集上也往往需要大量的計算, 因此可能不適合語義圖像分割。我們從 NAS [68, 49] 的可微分規(guī)劃中汲取靈感, 并對完全匹配分層體系結構搜索空間的離散體系結構進行了不斷的放寬。分層體系結構搜索是通過隨機梯度下降進行的。當搜索終止時, 最好的單元體系結構被貪婪地解碼, 最好的網(wǎng)絡體系結構被有效地解碼使用維特比算法。我們直接搜索架構 321 x321 圖像Cityscapes [13]。搜索是非常有效的, 只需要大約3天在一個 P100 GPU。
我們報告了多個語義分割基準的實驗結果, 包括城市分類 [13]、PASCAL VOC 2012 [15] 和 ADE20K [89]。如果沒有 ImageNet [64] 預訓練, 我們最好的模型在 Cityscapes 測試集中的性能大大優(yōu)于 FRRN-B [60], 在 Cityscapes 測試集中的性能明顯優(yōu)于 grrn-b [17], 并且在其他 imagenet 預浸的最先進型號 [81、87、4、11、6] 上的性能也要好利用城市景觀上的粗注釋。值得注意的是, 我們最好的模型 (不包括預培訓) 獲得了與 Deeplabv3 + [11] 相同的性能 (具有預訓練), 而在 Multid 中的速度提高了2:23。此外, 我們的輕量級型號的性能僅比 Deeplabv3 + [11] 低 1:2, 同時要求參數(shù)減少 76:7, 在多加法中速度提高了4倍的65倍。最后, 在 PASCAL VOC 2012 和 ADE20K 上, 我們的最佳型號優(yōu)于幾種最先進的型號 [89、44、81、87、82], 同時使用的預培訓數(shù)據(jù)也較少。
總之, 我們的論文貢獻有四個方面:
·我們的 nas 是將 NAS 從圖像分類擴展到密集圖像預測的首次嘗試之一。
·我們提出了一個網(wǎng)絡級架構搜索空間, 以增強和補充備受研究的細胞級的一個, 并考慮更具挑戰(zhàn)性的聯(lián)合搜索網(wǎng)絡級和細胞級架構。
·我們開發(fā)了一個可微的、連續(xù)的方法, 可在 3個 GPU 天內高效地進行兩級層次架構搜索。
·如果沒有 ImageNet 預培訓, 我們的模型的性能大大優(yōu)于 FRRN-B 和 GridNet, 并獲得了與其他 imagenet 預培訓的關于城市的最先進的模型的可比性能。在 PASCAL VOC 2012 和 ADE20K 上, 我們的最佳模型也優(yōu)于幾種最先進的型號。
2. Related Work
語義圖像分割 卷積神經(jīng)網(wǎng)絡 [42] 以完全卷積的方式部署 (FCNs [67, 51]), 在幾個語義分割基準上取得了顯著的效果。在最先進的系統(tǒng)中, 有兩個基本組件: 多尺度上下文模塊和神經(jīng)網(wǎng)絡設計。眾所周知, 上下文信息對于像素標記任務至關重要 [26、69、37、39、16、54、14、10]。因此, PSPNet [87] 在多個網(wǎng)格比例 (包括圖像級池 [50]) 上執(zhí)行空間金字塔池 [21, 41, 24], 而 DeepLab [8, 9] 應用多個通道具有不同速率的空洞卷積 [28、20、67、57、7]。另一方面, 神經(jīng)網(wǎng)絡設計的改進顯著地推動了性能從 AlexNet [38], VGG [71], 初始 [32, 75, 73], ResNet [25] 到最新的體系結構, 如寬 ResNet [85], Resnext [84], DenseNet [31] 和 Xception [12].除了采用這些網(wǎng)絡作為語義分割的主干外, 還可以使用編碼器解碼器結構 [63、2、55、44、60、58、33、78、18、11、86、82], 這些結構可以有效地捕獲遠程上下文信息, 同時保留詳細的對象邊界。然而, 大多數(shù)模型需要從 ImageNet [64] 預先培訓的檢查點初始化, 除了 FRRN [60] 和 GridNet [17] 的語義分割任務。具體而言, FRRN [60] 采用雙流系統(tǒng), 在該系統(tǒng)中, 完整的分辨率信息在一個流中進行, 上下文信息在另一個池流中進行。GridNet 建立在類似想法的基礎上, 包含多個具有不同分辨率的流。在本工作中, 我們應用神經(jīng)體系結構搜索網(wǎng)絡主干專用于語義分割。我們進一步顯示最先進的性能, 沒有 ImageNet 預培訓, 在cityscape顯著優(yōu)于 FRRN[60] 和 GridNet [17] [13]。
神經(jīng)體系結構搜索方法:神經(jīng)體系結構搜索旨在自動設計神經(jīng)網(wǎng)絡體系結構, 從而最大限度地減少人工工作時間和工作量。雖然有些作品 [22, 34, 91, 49] 搜索 RNN 細胞的語言任務, 更多的作品搜索良好的 CNN 架構的圖像分類。一些論文使用強化學習 (政策梯度 [91, 92, 5, 76] 或 q 學習 [3, 88]) 來訓練一個RNN, 代表一個policy, 以生成一個符合policy的符號序列的美國有線電視新聞網(wǎng)的架構。RL 的另一種選擇是使用進化算法 (EA), 通過改變迄今發(fā)現(xiàn)的最佳體系結構 (62、83、53、48、61] 來 "進化" 體系結構。然而, 這些 RL 和 EA 方法往往需要在搜索過程中進行大量計算, 通常需要數(shù)千個 GPU 天。PNAS [47] 提出了一個漸進的搜索策略, 顯著降低了搜索成本, 同時保持了搜索架構的質量。NAO [52] 將嵌入式體系結構嵌入到一個潛在的空間中, 并在解碼前執(zhí)行優(yōu)化。此外, 一些作品 [59, 49, 1] 使用了采樣模型之間的體系結構共享, 而不是單獨訓練每個模型, 從而進一步降低了搜索成本。我們的工作遵循可微的 NAS 配方 [68, 49], 并將其擴展到更一般的分層設置。
神經(jīng)結構搜索空間 早期的論文, 例如 [91, 62], 試圖直接構建整個網(wǎng)絡。然而, 最近的論文 [92、47、61、59、49] 已轉向搜索可重復的單元結構, 同時保持外部網(wǎng)絡級別結構的手工固定。首次提出在 [92], 這一戰(zhàn)略很可能是受現(xiàn)代 Cnn 中常用的兩級等級的啟發(fā)。
我們的工作仍然使用這個細胞級搜索空間來保持與以前的作品一致。然而, 我們的貢獻之一是提出一個新的、通用的網(wǎng)絡級搜索空間, 因為我們希望在這兩個層次上聯(lián)合搜索。我們的網(wǎng)絡級搜索空間與 [66] 有著相似的前景, 但重要的區(qū)別是 [66] 保留了整個 "結構", 而無意改變體系結構, 而我們將每個連接的顯式權重與解碼單個連接相關聯(lián), 并專注于解碼單個離散結構。此外, [66] 在將人臉圖像分割為3類 [35] 時進行了評估, 而我們的模型則評估了大規(guī)模分割數(shù)據(jù)集, 如 Cityscapes [13]、PASCAL VOC 2012 [15] 和 ADE20K [89]。
與我們最相似的工作是 [6], 它還研究了用于語義圖像分割的 NAS。然而, [6] 專注于使用隨機搜索搜索更小的空間空洞卷積金字塔池 (ASPP) 模塊, 而我們則專注于使用更高級、更高效的搜索方法搜索更基本的網(wǎng)絡主干體系結構。
3. Architecture Search Space
本節(jié)介紹我們的兩級層次架構搜索空間。對于內部單元格級別 (第3.1 節(jié)), 我們重用 [92、47、61、49] 中采用的單元格級別, 以與以前的作品保持一致。對于外部網(wǎng)絡層面 (第3.2 節(jié)), 我們在觀察和總結許多流行設計的基礎上, 提出了一個新的搜索空間。
3.1. Cell Level Search Space
我們將一個單元定義為一個小的完全卷積模塊, 通常重復多次形成整個神經(jīng)網(wǎng)絡。更具體地說, 單元格是由 B 塊組成的定向無環(huán)圖。
每個塊是一個雙分支結構, 從2個輸入張量映射到1個輸出張量。可使用5元組表示cell l中的block i(I1;I2;O1;O2;C), 其中 I1;I2 是輸入張量的選擇, O1;O2 是對輸入響應, c 是用于組合兩個分支的各個輸出以形成此塊的輸出張量 H 的方法。cell的輸出是每個block輸出張量的簡單連接。

一組可能的輸入張量, 由前一個單元 Hl?1的輸出、上一個單元 Hl?2的輸出以及當前單元 fH1l 中的上一個塊的輸出組成。因此, 當我們在單元格中添加更多的塊時, 下一個塊有更多的選擇作為潛在的輸入源??赡艿膱D層類型集 o 由以下8個運算符組成, 所有這些運算符都在現(xiàn)代 Cnn 中流行:

對于一組可能的組合運算符 C, 我們只是讓元素上的加法成為唯一的選擇。
3.2. Network Level Search Space
在 [92] 首創(chuàng)的圖像分類 NAS 框架中, 一旦找到單元結構, 就使用預定義的模式構建整個網(wǎng)絡。因此, 網(wǎng)絡層面并不是架構搜索的一部分, 因此其搜索空間從未提出或設計過。
這種預定義的模式簡單而直接:?通過插入 "縮小單元格" (將空間分辨率除以2并將濾波器數(shù)乘以2的單元格), 可以平均分離一些 "正常單元" (保持特征張量空間分辨率的單元)。這種保持采樣策略在圖像分類情況下是合理的, 但在密集圖像預測中, 保持較高的空間分辨率也很重要, 因此網(wǎng)絡級別變化更多 [9、56、55]
在用于密集圖像預測的各種網(wǎng)絡體系結構中, 我們注意到兩個一致的原則:
·下一層的空間分辨率為兩倍大, 或兩倍小, 或保持不變。
·最小的空間分辨率將被降低32。
按照這些常見的做法, 我們建議以下網(wǎng)絡級搜索空間。網(wǎng)絡的開始是一個兩層 "干" 結構, 每個結構都將空間分辨率降低2倍。之后, 共有一個空間分辨率未知的 L 層, 最大采樣數(shù)降低 4, 最小采樣率降低32。由于每個圖層的空間分辨率最多可能相差 2, 因此在莖之后的第一層只能向下采樣4或8。我們在圖1中說明了我們的網(wǎng)絡級搜索空間。然后, 我們的目標是在這個 l 層格子中找到一條好的路徑。

在圖2中, 我們顯示了我們的搜索空間足夠通用, 可以涵蓋許多流行的設計。在未來, 我們有計劃進一步放寬此搜索空間, 以包括 U-net 體系結構 [63、45、70], 其中 l 層除了 l-1 之外, 還可能接收來自 l 之前的另一層的輸入。

我們重申, 除了單元級體系結構外, 我們的工作還搜索網(wǎng)絡級體系結構。因此, 我們的搜索空間比以前的作品更具挑戰(zhàn)性和通用性。
4. Methods
我們首先引入了 (指數(shù)多個) 離散體系結構的連續(xù)松弛, 這些體系結構與上面描述的分層體系結構搜索完全匹配。然后, 我們討論如何通過優(yōu)化執(zhí)行體系結構搜索, 以及如何在搜索終止后對離散體系結構進行解碼
4.1. Continuous Relaxation of Architectures
4.1.1 Cell Architecture

4.1.2 Network Architecture
在單元格中, 所有張量的空間大小都相同, 這使得 (加權) 和以 Eq. (1) 和 Eq. (2) 為單位。但是, 如圖1所示, 張量在網(wǎng)絡級別上可能會采用不同的大小。因此, 為了建立連續(xù)的放松, 每一層 l 最多將有4個隱藏狀態(tài) f4Hl;8Hl;16Hl;32Hlg, 左上角上標指示空間分辨率。我們設計了網(wǎng)絡級的連續(xù)松弛, 以完全匹配第3.2 節(jié)描述的搜索空間。我們將標量與圖1中的每個灰色箭頭相關聯(lián), 網(wǎng)絡級別更新為:

也實現(xiàn)為 softmax。
Eq. (6) 顯示了兩個層次結構的連續(xù)松弛是如何編織在一起的。特別是, β控制外部網(wǎng)絡級別, 因此取決于空間大小和圖層索引。Β中的每個標量控制整個α集, 但α指定的體系結構既不依賴于空間大小, 也不依賴于圖層索引。
如圖1所示, 在 L-th 層的每個空間分辨率上都附加了自然空間金字塔池 (ASPP) 模塊 (非飽和度也相應調整)。它們的輸出在求和之前是雙線性向上采樣到原始分辨率以生成預測的。
4.2. Optimization
引入這種連續(xù)松弛的優(yōu)點是, 控制不同隱藏狀態(tài)之間連接強度的標量現(xiàn)在是可微化計算圖的一部分。因此, 他們可以有效地優(yōu)化使用梯度下降。我們采用 [49] 中的一階近似, 并將訓練數(shù)據(jù)劃分為兩個不相交的訓練 a 和訓練。優(yōu)化在以下之間交替進行:

4.3. Decoding Discrete Architectures
細胞結構:繼 [49] 之后, 我們首先為每個塊保留2個最強的前輩 (從隱藏狀態(tài) j 到隱藏狀態(tài) i 的強度?

; 從第3.1 節(jié)中回憶 "零" 的意思是 "否"連接 "), 然后選擇最有可能的運算符, 通過采取 argmax。
網(wǎng)絡體系結構 Eq. (7) 實質上指出, 圖1中每個藍色節(jié)點的 "傳出概率" 總和為1。事實上, β值可以解釋為不同 "時間步長" (圖層數(shù)) 之間不同 "狀態(tài)" (空間分辨率) 之間的 "轉換概率"。很直觀地說, 我們的目標是從開始到結束找到具有 "最大概率" 的路徑。使用經(jīng)典的維特比算法可以有效地解碼此路徑, 就像我們的實現(xiàn)一樣。