曠視提出One-Shot模型搜尋框架的新變體

機器之心發表於2019-04-02
一步法(One-Shot)是一個強大的神經網路模型搜尋(Neural Architecture Search/NAS)框架,但是它的訓練相對複雜,並且很難在大型資料集(比如 ImageNet)上取得較有競爭力的結果。本文中,曠視研究院提出一個單路徑 One-Shot 模型,以解決訓練過程中面對的主要挑戰。

該模型的核心思想是構建一個簡化的超網路——單路徑超網路(Single Path Supernet),這個網路按照均勻的路徑取樣方法進行訓練。所有子結構(及其權重)獲得充分而平等的訓練。基於這個已訓練的超網路,可以通過進化演算法快速地搜尋最優子結構,其中無需對任何子結構進行微調。

對比實驗證明了這一方法的靈活性和有效性,不僅易於訓練和快速搜尋,並且可以輕鬆支援不同的複雜搜尋空間(比如構造單元,通道數,混合精度量化)和搜尋約束(比如 FLOPs,速度),從而便於滿足多種需求。這一方法在大型資料集 ImageNet 上取得了當前最優結果。

引言

深度學習終結了手工設計特徵的時代,同時解決了權重優化問題。NAS 則旨在通過另一個方法——模型搜尋(architecture search),終結人工設計架構。

早期的 NAS 方法使用巢狀式優化,從搜尋空間取樣出模型結構,接著從頭訓練其權重,缺點是對於大型資料集來講計算量過大。新近的 NAS 方法則採用權重共享策略減少計算量。本文提出的超網路則包含所有子結構,只訓練一次,所有子結構便可以直接從超網路獲得其權重,無需從頭訓練。即使在大型資料集上,計算也十分高效。

大多數權重共享方法使用連續的搜尋空間,將模型結構分佈不斷引數化。這些引數在超網路訓練期間與網路權重進行聯合優化。因此可以在優化時進行模型搜尋,從分佈中取樣最優的架構。其公式化表示優雅而理論完備。但是存在兩個問題:

第一,超網路的權重深度耦合。目前尚不清楚為什麼特定結構的複用權重(inherited weights)依然有效。第二,聯合優化導致了模型引數和超網路權重的進一步耦合。梯度方法的貪婪天性不可避免地在結構分佈和超網路權重中引入偏差。這很容易誤導模型搜尋。精細地微調超引數和優化過程被用於先前方法之中。

One-shot 是一種新正規化。它定義了超網路,並以相似的方式做權重複用。但是並沒有將模型結構分佈引數化。模型搜尋從超網路訓練中解耦,並且解決步驟是獨立的。因此,One-shot 具有序列性。它結合了上述巢狀式和聯合式優化方法的優點,因此靈活而高效。

儘管第二個問題已解決,現有 One-shot 並未很好地解決第一個問題。超網路的權重依然耦合。優化依然複雜,幷包含敏感的超引數,導致在大型資料集上表現欠佳。

本文方法的動機旨在吸收 One-shot 的優點,克服其缺點。One-shot 成功的關鍵是使用複用權重的模型的精度可以用來預測從頭訓練模型的精度。因此,曠視研究院提出,超網路訓練應是隨機的。這樣所有子結構的權重能夠被同時且均勻地優化。

為減少超網路的權重耦合,曠視研究院提出一個單路徑超網路,在每次迭代訓練中只有單路徑結構被啟用。訓練中不需要任何超引數來指導子結構的選擇,採用均勻取樣的方式,平等對待所有子結構。

本文方法簡單而靈活,超網路訓練中沒有超引數。其簡易性允許設計豐富的搜尋空間,包括新設計通道單元和位寬單元。模型搜尋過程十分高效,因為只需要基於超網路的權重進行前向計算。進化演算法則用來輕鬆支援多種約束。

綜合性消融實驗及在大型資料集(ImageNet)上的實驗證明了這一方法在精度、記憶體消耗、訓練時間、模型搜尋的有效性及靈活性方面都表現良好,達到了當前最優的結果。

論文:Single Path One-Shot Neural Architecture Search with Uniform Sampling

曠視提出One-Shot模型搜尋框架的新變體

論文連結:https://arxiv.org/abs/1904.00420

One-Shot NAS 方法回顧

如上所述,耦合式模型搜尋和權重優化是存在挑戰和問題的。通過回顧發現,早期使用巢狀優化的 NAS 方法在於解決公式 (1) 和 (2) 的優化問題,這不禁引起思考,問題解耦和權重共享的優點是否可以兼得?

曠視提出One-Shot模型搜尋框架的新變體

曠視提出One-Shot模型搜尋框架的新變體

這一考慮誕生了所謂的 One-shot。這些方法依然只訓練一次超網路,並允許各結構共享其中的權重

但是,超網路訓練及模型搜尋作為先後次序的兩個步驟是解耦的。請注意,這不同於巢狀優化或聯合優化。

首先,超網路權重被優化為:

曠視提出One-Shot模型搜尋框架的新變體

相比公式 (4)曠視提出One-Shot模型搜尋框架的新變體,公式 (5) 已經不存在搜尋空間的連續引數化,只有網路權重被優化。

 其次,搜尋部分被表示為:

曠視提出One-Shot模型搜尋框架的新變體

公式 (6) 與公式 (1) 、 (2) 的最大區別是其權重是預先初始化的。評估曠視提出One-Shot模型搜尋框架的新變體僅需要推理。沒有微調或者再訓練。因此搜尋非常有效。

通過藉助進化演算法,搜尋同樣非常靈活。像等式 (3)曠視提出One-Shot模型搜尋框架的新變體對模型結構進行的約束可以精確地滿足。並且一旦訓練好一個超網路,可在同一超網路內基於不同約束(比如 100ms 和 200ms 延遲)重複搜尋。這些特性是先前方法所缺失的,將使 One-Shot NAS 方法對實際任務更具吸引力。

但依然存在一個問題。在等式 (5) 中,超網路訓練的圖節點權重是耦合的,複用權重是否適用於任意子結構尚不清楚。

單路徑超網路和均勻取樣

按照基本原理重新出發,會使 One-Shot 正規化更有效。在等式 (5) 中,模型搜尋成功的關鍵在於,在驗證集中,使用複用權重曠視提出One-Shot模型搜尋框架的新變體(沒有額外的微調)的任意子結構的精度是高度可信的。正如等式 (1) 是理想情況,需要權重曠視提出One-Shot模型搜尋框架的新變體近似最優權重曠視提出One-Shot模型搜尋框架的新變體。近似的效果和訓練損失函式曠視提出One-Shot模型搜尋框架的新變體被最小化的程度成正比。這推匯出一個原則:超網路權重曠視提出One-Shot模型搜尋框架的新變體的優化應當與搜尋空間中所有子結構的優化同時進行。這可表示為:

曠視提出One-Shot模型搜尋框架的新變體

請注意,等式 (7) 是等式 (5) 的實現。在優化的每一步中,子結構是隨機取樣的,只有對應的權重 被啟用和更新。這不僅節省記憶體空間,而且高效。由此,超網路本身不再是一個有效的網路,而變成一個隨機的網路。

為減少節點權重之間的協同適應,曠視研究院提出最大化簡化搜尋空間。它只包含單一路徑架構,如圖 1 所示。

曠視提出One-Shot模型搜尋框架的新變體

圖 1:單一路徑超網路架構圖

在每次訓練時僅保留一個。不存在任何調優。訓練在本文實驗中收斂良好。

先驗分佈曠視提出One-Shot模型搜尋框架的新變體很重要。曠視研究員通過實驗發現,均勻取樣已經足夠好。這並不讓人驚訝。這是因為實際任務常常期望有多個模型結構,以滿足不同的約束。圖 2 表明,兩個取樣方法皆工作良好,均勻約束取樣方法表現稍好,本文預設使用它。

曠視提出One-Shot模型搜尋框架的新變體

表 2:不同取樣策略的單路徑超網路的進化模型搜尋

本文注意到,在優化時根據結構分佈取樣一個路徑已經出現在之前的權重共享方法之中,區別在於,在本文的訓練中(等式 (7))分佈 是一個固定的先驗,而在先前方法中,它是可學習和更新的(等式 (4)),後者會使超網路權重和結構引數優化高度關聯。

請注意,本文並未宣告在訓練時一個固定的先驗分佈天生優於優化分佈。不存在這樣的理論保證。本文更優的結果可能是受益於這一事實:當前優化技術的成熟度不足以滿足等式 (4) 中的聯合優化需求。

超網路與選擇單元

選擇單元用於構建一個超網路。圖 1 給出了一個例項。一個選擇單元包含多個選擇。對於本文提出的單路徑超網路,每個選擇單元一次只呼叫一個選擇。一個路徑的獲得是通過隨機取樣所有選擇單元實現的。

本文方法的簡易性允許定義不同型別的選擇單元,以搜尋不同的結構變數。具體而言,曠視研究院提出兩個全新的選擇單元,以支援複雜的搜尋空間。

通道數搜尋。選擇單元旨在搜尋一個卷積層的通道數。其主要思想是預先分配一個帶有最大通道數的權重張量。在超網路訓練期間,系統隨機選擇通道數並分割出用於卷積的相應的子張量。詳見圖 4。

曠視提出One-Shot模型搜尋框架的新變體

圖 4:用於通道數搜尋的選擇單元

混合精度量化搜尋。選擇單元可以搜尋卷積層權重和特徵的量化精度。在超網路訓練中,特徵圖的位寬和和權重被隨機選取。詳見圖 5。

曠視提出One-Shot模型搜尋框架的新變體

圖 5:用於混合精度量化搜尋的選擇單元

基於進化演算法的模型搜尋

針對等式 (6) 中的模型搜尋,先前的 One-shot 工作使用隨機搜尋。這在大的搜尋空間中並不奏效。因此,本文使用了進化演算法,同時揚棄了從頭開始訓練每個子結構的缺點,只涉及推理部分,因此非常高效。詳見演算法 1。

曠視提出One-Shot模型搜尋框架的新變體

演算法 1:基於進化演算法的模型搜尋

圖 3 描繪了使用進化演算法和隨機搜尋兩種方法在進化迭代時的驗證集精度。很明顯進化演算法搜尋更有效。

曠視提出One-Shot模型搜尋框架的新變體

圖 3:進化演算法搜尋對比隨機搜尋

進化演算法可以靈活處理等式 (3) 的不同約束,因為變異和交叉過程是可控的,以產生滿足約束條件的合適候選。

總結

單路徑超網路、均勻取樣訓練策略、基於進化演算法的模型搜尋、豐富的搜尋空間設計,上述多種設計使得本文方法簡單、高效和靈活。表 1 給出了本文方法與其他權重共享方法的一個全方位、多維度對比結果。

曠視提出One-Shot模型搜尋框架的新變體

表 1:本文方法對比當前權重共享 SOTA 方法

實驗

所有實驗是在 ImageNet 上進行的。驗證集和測試集的設定遵從 Proxyless NAS [4]。對於超網路的訓練,以及(進化搜尋之後)最優模型結構的從頭再訓練,本文使用和 [17] 一樣的設定。

構造單元搜尋

構造單元(building block)的設計靈感來自手工設計網路的代表作——ShuffleNet v2。表 2 給出了超網路的整體架構。共有 20 個選擇單元。

曠視提出One-Shot模型搜尋框架的新變體

表 2:超網路架構

表 3 給出了結果。為了對比,本文設定了一系列基線,如下:1)只選擇一個特定的單元選擇;2)從搜尋空間中隨機選擇一些候選;3)使用隨機搜尋替代本文的進化演算法模型搜尋。

曠視提出One-Shot模型搜尋框架的新變體

表 3:構造單元搜尋結果

通道數搜尋

搜尋卷積層的通道數非常有挑戰,如圖 4 所示,本文提出一個全新的選擇單元用於通道數搜尋,並首先在基線結構「all choice 3」(見表 3)做了評估,結果如表 4(第一部分)所示;為進一步提升精度,本文對構造單元和通道做了聯合搜尋。結果如表 4(第二部分)所示。

曠視提出One-Shot模型搜尋框架的新變體

表 4:通道數搜尋

對比 SOTA 方法

雖然表 4 展示了本文方法的優越性,但是由於搜尋空間和訓練方法的不同,存在不公平對比的可能性。為直接進行對比,本文采用和 Proxyless NAS [4]、FBNet [26] 相同的搜尋空間,並在同一設定下再訓練已搜尋的模型,具體對比結果如表 5 所示:

曠視提出One-Shot模型搜尋框架的新變體

表 5:本文方法與當前 SOTA NAS 方法的對比

混合精度量化搜尋

低功率裝置部署模型時需要用到量化技術。但是在通道數與位寬之間找到一個權衡不無挑戰。對於這些問題,本文方法可迎刃而解。

這裡的搜尋空間包含上述的通道搜尋空間和混合精度量化搜尋空間,後者使用一個全新的選擇單元搜尋權重和特徵圖的位寬,如圖 5 所示。

在超網路訓練中,對於每個選擇單元,特徵位寬和權重位寬是隨機取樣的。他們在進化步驟中被確定。具體實驗結果如表 6 所示:

曠視提出One-Shot模型搜尋框架的新變體

表 6:混合精度量化搜尋的結果

搜尋成本分析

搜尋成本在 NAS 中是一件要緊的事。本文給出了與先前方法 [4] [26] 的一些對比結果,如表 7 所示:

曠視提出One-Shot模型搜尋框架的新變體

表 7:搜尋成本 

參考文獻

  • [2] G. Bender, P.-J. Kindermans, B. Zoph, V. Vasudevan, and Q. Le. Understanding and simplifying one-shot architecture search. In International Conference on Machine Learning, pages 549–558, 2018. 1, 2, 3, 4, 5, 6

  • [3] A. Brock, T. Lim, J. M. Ritchie, and N. Weston. Smash: one-shot model architecture search through hypernetworks. arXiv preprint arXiv:1708.05344, 2017. 1, 2, 3, 4, 6

  • [4] H. Cai, L. Zhu, and S. Han. Proxylessnas: Direct neural ar- chitecture search on target task and hardware. arXiv preprint arXiv:1812.00332, 2018. 1, 2, 3, 4, 5, 6, 7, 8

  • [17] N. Ma, X. Zhang, H.-T. Zheng, and J. Sun. Shufflenet v2: Practical guidelines for efficient cnn architecture design. In Proceedings of the European Conference on Computer Vi- sion (ECCV), pages 116–131, 2018. 5, 7

  • [22] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. International journal of computer vision, 115(3):211–252, 2015. 5

  • [24] M. Tan, B. Chen, R. Pang, V. Vasudevan, and Q. V. Le. Mnasnet: Platform-aware neural architecture search for mo- bile. arXiv preprint arXiv:1807.11626, 2018. 1, 2, 3, 5, 7

  • [26] B. Wu, X. Dai, P. Zhang, Y. Wang, F. Sun, Y. Wu, Y. Tian, P. Vajda, Y. Jia, and K. Keutzer. Fbnet: Hardware-aware efficient convnet design via differentiable neural architecture search. arXiv preprint arXiv:1812.03443, 2018. 1, 2, 3, 4, 5, 6,7,8

相關文章