過去,神經網路架構大部分都是由人類研究者手動開發的,這個過程非常耗時且容易出錯。神經架構自動搜尋(NAS)技術解放了人類工作,也讓模型效率有了提升。在大規模影象分類問題上,自動算出的模型已經超越了人類設計的模型。
近日,史丹佛大學李飛飛組的研究者提出了 Auto-DeepLab,其在影象語義分割問題上超越了很多業內最佳模型,甚至可以在未經過預訓練的情況下達到預訓練模型的表現。Auto-DeepLab 開發出與分層架構搜尋空間完全匹配的離散架構的連續鬆弛,顯著提高架構搜尋的效率,降低算力需求。
深度神經網路已經在很多人工智慧任務上取得了成功,包括影象識別、語音識別、機器翻譯等。雖然更好的優化器 [36] 和歸一化技術 [32, 79] 在其中起了重要作用,但很多進步要歸功於神經網路架構的設計。在計算機視覺中,這適用於影象分類和密集影象預測。
表 1:本研究提出的模型 Auto-DeepLab 和其它雙層 CNN 架構的對比。主要區別有:(1) Auto-DeepLab 直接搜尋用於語義分割的 CNN 架構;(2) Auto-DeepLab 搜尋網路級架構和單元級架構;(3) Auto-DeepLab 的高效搜尋在一個 P100 GPU 上僅需 3 天。
最近,在 AutoML 和 AI 民主化的影響下,人們對自動化設計神經網路架構產生了極大興趣,自動化設計神經網路無需嚴重依賴專家經驗和知識。更重要的是,去年神經架構搜尋(NAS)成功找到了在大規模影象分類任務上超越人類設計架構的網路架構 [92, 47, 61]。
影象分類對 NAS 來說是一個很好的起點,因為它是最基礎且研究最深入的高階識別任務。此外,該研究領域存在具有規模相對較小的基準資料集(如 CIFAR-10),從而減少了計算量並加快了訓練速度。然而,影象分類不應該是 NAS 的終點,現下的成功表明它可以擴充套件至要求更高的領域。在本文中,作者研究了用於語義影象分割的神經架構搜尋。這是一項重要的計算機視覺任務,它為輸入影象的每個畫素分配標籤,如「人」或「自行車」。
簡單地移植影象分類的方法不足以進行語義分割。在影象分類中,NAS 通常使用從低解析度影象到高解析度影象的遷移學習 [92],而語義分割的最佳架構必須在高解析度影象上執行。這表明,本研究需要:(1) 更鬆弛、更通用的搜尋空間,以捕捉更高解析度導致的架構變體;(2) 更高效的架構搜尋技術,因為高解析度需要的計算量更大。
作者注意到,現代 CNN 設計通常遵循兩級分層結構,其中外層網路控制空間解析度的變化,內層單元級架構管理特定的分層計算。目前關於 NAS 的絕大多數研究都遵循這個兩級分層設計,但只自動化搜尋內層網路,而手動設計外層網路。這種有限的搜尋空間對密集影象預測來說是一個問題,密集影象預測對空間解析度變化很敏感。因此在本研究中,作者提出了一種格子狀的網路級搜尋空間,該搜尋空間可以增強 [92] 首次提出的常用單元級搜尋空間,以形成分層架構搜尋空間。本研究的目標是聯合學習可重複單元結構和網路結構的良好組合,用於語義影象分割。
就架構搜尋方法而言,強化學習和進化演算法往往是計算密集型的——即便在低解析度資料集 CIFAR-10 上,因此它們不太適合語義影象分割任務。受 NAS 可微分公式 [68, 49] 的啟發,本研究開發出與分層架構搜尋空間完全匹配的離散架構的連續鬆弛。分層架構搜尋通過隨機梯度下降實施。當搜尋終止時,最好的單元架構會被貪婪解碼,而最好的網路架構會通過維特比演算法得到有效解碼。作者在從 Cityscapes 資料集中裁剪的 321×321 影象上直接搜尋架構。搜尋非常高效,在一個 P100 GPU 上僅需 3 天。
作者在多個語義分割基準資料集上進行了實驗,包括 Cityscapes、PASCAL VOC 2012 和 ADE20K。在未經 ImageNet 預訓練的情況下,最佳 Auto-DeepLab 模型在 Cityscapes 測試集上的結果超過 FRRN-B 8.6%,超過 GridNet 10.9%。在利用 Cityscapes 粗糙標註資料的實驗中,Auto-DeepLab 與一些經過 ImageNet 預訓練的當前最優模型的效能相近。值得注意的是,本研究的最佳模型(未經過預訓練)與 DeepLab v3+(有預訓練)的表現相近,但在 MultiAdds 中前者的速度是後者的 2.23 倍。另外,Auto-DeepLab 的輕量級模型效能僅比 DeepLab v3+ 低 1.2%,而引數量需求卻少了 76.7%,在 MultiAdds 中的速度是 DeepLab v3+ 的 4.65 倍。在 PASCAL VOC 2012 和 ADE29K 上,Auto-DeepLab 最優模型在使用極少資料進行預訓練的情況下,效能優於很多當前最優模型。
本論文主要貢獻如下:
這是首次將 NAS 從影象分類任務擴充套件到密集影象預測任務的嘗試之一。
該研究提出了一個網路級架構搜尋空間,它增強和補充了已經得到深入研究的單元級架構搜尋,並對網路級和單元級架構進行更具挑戰性的聯合搜尋。
本研究提出了一種可微的連續方式,保證高效執行兩級分層架構搜尋,在一個 GPU 上僅需 3 天。
在未經 ImageNet 預訓練的情況下,Auto-DeepLab 模型在 Cityscapes 資料集上的效能顯著優於 FRRN-B 和 GridNet,同時也和 ImageNet 預訓練當前最佳模型效能相當。在 PASCAL VOC 2012 和 ADE20K 資料集上,最好的 Auto-DeepLab 模型優於多個當前最優模型。
論文:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
論文地址:https://arxiv.org/pdf/1901.02985v1.pdf
摘要:近期,在影象分類問題上神經架構搜尋(NAS)確定的神經網路架構能力超越人類設計的網路。本論文將研究用於語義影象分割的 NAS,語義影象分割是將語義標籤分配給影象中每個畫素的重要計算機視覺任務。現有的研究通常關注搜尋可重複的單元結構,對控制空間解析度變化的外部網路結構進行人工設計。這種做法簡化了搜尋空間,但對於具備大量網路級架構變體的密集影象預測而言,該方法帶來的問題很多。因此,該研究提出在搜尋單元結構之外還要搜尋網路級架構,從而形成一個分層架構搜尋空間。本研究提出一種包含多種流行網路設計的網路級搜尋空間,並提出一個公式來進行基於梯度的高效架構搜尋(在 Cityscapes 影象上使用 1 個 P100 GPU 僅需 3 天)。本研究展示了該方法在較難的 Cityscapes、PASCAL VOC 2012 和 ADE20K 資料集上的效果。在不經任何 ImageNet 預訓練的情況下,本研究提出的專用於語義影象分割的架構獲得了當前最優效能。
4 方法
這部分首先介紹了精確匹配上述分層架構搜尋的離散架構的連續鬆弛,然後討論瞭如何通過優化執行架構搜尋,以及如何在搜尋終止後解碼離散架構。
4.2 優化
連續鬆弛的作用在於控制不同隱藏狀態之間連線強度的標量現在也是可微計算圖的一部分。因此可以使用梯度下降對其進行高效優化。作者採用了 [49] 中的一階近似,將訓練資料分割成兩個單獨的資料集 trainA 和 trainB。優化在以下二者之間交替進行:
1. 用 ∇_w L_trainA(w, α, β) 更新網路權重 w;
2. 用 ∇_(α,β) L_trainB(w, α, β) 更新架構 α, β。
其中損失函式 L 是在語義分割小批量上計算的交叉熵。
4.3 解碼離散架構
單元架構
和 [49] 一樣,本研究首先保留每個構造塊的兩個最強前任者(predecessor),然後使用 argmax 函式選擇最可能的 operator,從而解碼離散單元架構。
網路架構
公式 7 本質上表明圖 1 中每個藍色節點處的「outgoing 概率」的總和為 1。事實上,β 可被理解為不同「時間步」(層數)中不同「狀態」(空間解析度)之間的「transition 概率」。本研究的目標是從頭開始找到具備「最大概率」的的路徑。在實現中,作者可以使用經典維特比演算法高效解碼該路徑。圖 1:左圖是 L = 12 時的網路級搜尋空間。灰色節點表示固定的「stem」層,沿著藍色節點形成的路徑表示候選網路級架構。右圖展示了搜尋過程中,每個單元是一個密集連線的結構。
5 實驗結果
圖 3:使用本研究提出的分層神經架構搜尋方法找到的最優網路架構和單元架構。灰色虛線箭頭表示每個節點處具備最大 β 值的連線。atr 指空洞卷積(atrous convolution),sep 指深度可分離卷積(depthwise-separable convolution)。
圖 4:在 10 次隨機試驗中,40 個 epoch 中架構搜尋優化的驗證準確率。
表 2:不同 Auto-DeepLab 模型變體在 Cityscapes 驗證集上的結果。F:控制模型容量的 filter multiplier。所有 Auto-DeepLab 模型都是從頭開始訓練,且在推斷過程中使用單尺度輸入。
表 3:Cityscapes 驗證集結果。研究採用不同的訓練迭代次數(50 萬、100 萬與 150 萬次迭代)和 SDP(Scheduled Drop Path)方法進行實驗。所有模型都是從頭訓練的。
表 4:模型在推斷過程中使用多尺度輸入時在 Cityscapes 測試集上的結果。ImageNet:在 ImageNet 上預訓練的模型。Coarse:利用粗糙註釋的模型。
表 5:PASCAL VOC 2012 驗證集結果。本研究採用多尺度推理(MS,multi-scale inference)和 COCO 預訓練檢查點(COCO)進行實驗。在未經任何預訓練的情況下,本研究提出的最佳模型(Auto-DeepLab-L)超越了 DropBlock 20.36%。所有的模型都沒有使用 ImageNet 影象做預訓練。
表 6:PASCAL VOC 2012 測試集結果。本研究提出的 AutoDeepLab-L 取得了可與眾多在 ImageNet 和 COCO 資料集上預訓練的頂級模型相媲美的結果。
表 7:ADE20K 驗證集結果。在推斷過程中使用多尺度輸入。† 表示結果分別是從他們最新的模型 zoo 網站獲得的。ImageNet:在 ImageNet 上預訓練的模型。Avg:mIOU 和畫素準確率的均值。
圖 5:在 Cityscapes 驗證集上的視覺化結果。最後一行展示了本研究提出方法的故障模式,模型將一些較難的語義類別混淆了,如人和騎車的人。
圖 6:在 ADE20K 驗證集上的視覺化結果。最後一行展示了本研究提出方法的故障模式,模型無法分割非常細粒度的物件(如椅子腿),且將較難的語義類別混淆了(如地板和地毯)。