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

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

曠視研究院提出單路徑 One-Shot 模型,不僅易於訓練和快速搜索,並且可以輕鬆支持不同的複雜搜索空間和搜索約束,從而便於滿足多種需求。在大型資料集(比如 ImageNet)上取得較有競爭力的結果。

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

論文鏈接:https://arxiv.org/abs/1904.00420

  • 導語

  • 簡介

  • 本文One-Shot NAS

    • One-Shot NAS方法回顧

    • 單路徑超網絡與均勻採樣

    • 超網絡與選擇單元

      • 通道數搜索

      • 混合精度量化搜索

    • 基於進化演算法的模型搜索

    • 總結

  • 實驗

    • 構造單元搜索

    • 通道數搜索

    • 對比SOTA方法

    • 混合精度量化搜索

    • 搜索成本分析

  • 參考文獻

 

導語

 

一步法(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)上的實驗證明瞭這一方法在精度、記憶體消耗、訓練時間、模型搜索的有效性及靈活性方面都表現良好,達到了當前最優的結果。

 

本文One-Shot NAS

 

One-Shot NAS方法回顧

 

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

 

 

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

 

但是,超網絡訓練及模型搜索作為先後次序的兩個步驟是解耦的。請註意,這不同於嵌套優化或聯合優化。 

 

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

 

 

相比公式 (4):

 

公式 (5) 已經不存在搜索空間的連續引數化,只有網絡權重被優化。 其次,搜索部分被表示為:

 

 

公式 (6) 與公式 (1) 、 (2) 的最大區別是其權重是預先初始化的。評估僅需要推理。沒有微調或者再訓練。因此搜索非常有效。 

 

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

 

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

 

單路徑超網絡和均勻採樣

按照基本原理重新出發,會使 One-Shot 範式更有效。在等式 (5) 中,模型搜索成功的關鍵在於,在驗證集中,使用復用權重(沒有額外的微調)的任意子結構的精度是高度可信的。正如等式 (1) 是理想情況,需要權重近似最優權重

 

近似的效果和訓練損失函式被最小化的程度成正比。這推匯出一個原則:超網絡權重的優化應當與搜索空間中所有子結構的優化同時進行。這可表示為:

  

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

 

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

 

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

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

 

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

 

 圖2: 不同採樣策略的單路徑超網絡的進化模型搜索


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

 

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

超網絡與選擇單元


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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

總結 

 

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

 

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

 

實驗

 

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

 

構造單元搜索 

 

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

 

 表2:超網絡架構

 

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

 

 表3:構造單元搜索結果

 

通道數搜索 

 

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

 

 表4:通道數搜索

 

對比SOTA方法 

 

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

 

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

 

混合精度量化搜索

 

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

 

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

 

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

 

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

 

搜索成本分析 

 

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

 

 表7:搜索成本

 

傳送門

 

歡迎各位同學加入曠視研究院基礎模型(Model)組,簡歷可以投遞給 Model 組負責人張祥雨

 

郵箱:[email protected]

 

參考文獻

[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

赞(0)

分享創造快樂