ICML 2020|提升神經網絡架構搜索穩定性,UCLA提出新型NAS算法

2021-01-11 機器之心Pro

機器之心專欄

作者:陳相寧

可微網絡架構搜索能夠大幅縮短搜索時間,但是穩定性不足。為此,UCLA 基於隨機平滑(random smoothing)和對抗訓練(adversarial training),提出新型 NAS 算法。

可微網絡架構搜索(DARTS)能夠大幅縮短搜索時間,但是其穩定性受到質疑。隨著搜索進行,DARTS 生成的網絡架構性能會逐漸變差。最終生成的結構甚至全是跳過連接(skip connection),沒有任何卷積操作。在 ICML 2020 中,UCLA 基於隨機平滑(random smoothing)和對抗訓練(adversarial training),提出了兩種正則化方法,大幅提升了可微架構搜索算法的魯棒性。

論文:https://arxiv.org/abs/2002.05283

代碼:https://github.com/xiangning-chen/SmoothDARTS

近期,可微架構搜索算法將 NAS 搜索時間縮短至數天,因而備受關注。然而,其穩定生成高性能神經網絡的能力受到廣泛質疑。許多研究者發現隨著搜索進行,DARTS 生成的網絡架構反而越來越差,最終甚至會完全變為跳過連接(skip connection)。為了支持梯度下降,DARTS 對於搜索空間做了連續化近似,並始終在優化一組連續可微的框架權重 A。但是在生成最終框架時,需要將這個權重離散化。

本研究作者觀察到這組連續框架權重 A 在驗證集上的損失函數非常不平滑,DARTS 總是會收斂到一個非常尖銳的區域。因此對於 A 輕微的擾動都會讓驗證集性能大幅下降,更不用說最終的離散化過程了。這樣尖銳的損失函數還會損害搜索算法在架構空間中的探索能力。

於是,本文作者提出了新型 NAS 框架 SmoothDARTS(SDARTS),使得 A 在驗證集上的損失函數變得十分平滑。

該工作的主要貢獻包括:

提出 SDARTS,大幅提升了可微架構搜索算法的魯棒性和泛化性。SDARTS 在搜索時優化 A 整個鄰域的網絡權重,而不僅僅像傳統可微 NAS 那樣只基於當前這一組參數。第一種方法優化鄰域內損失函數的期望,沒有提升搜索時間卻非常有效。第二種方法基於整個鄰域內的最差損失函數(worst-case loss),取得了更強的穩定性和搜索性能。

在數學上,尖銳的損失函數意味著其 Hessian 矩陣範數非常大。作者發現隨著搜索進行,這一範數極速擴大,導致了 DARTS 的不穩定性。而本文提出的兩種框架都有數學保障可以一直降低 Hessian 範數,這也在理論上解釋了其有效性。

最後,本文提出的方法可以廣泛應用於各種可微架構算法。在各種數據集和搜索空間上,作者發現 SDARTS 可以一貫地取得性能提升。

具體方法

傳統 DARTS 使用一組連續的框架權重 A,但是 A 最終卻要被投射到離散空間以獲得最終架構。這一步離散化會導致網絡性能大幅下降,一個高性能的連續框架並不意味著能生成一個高性能的離散框架。因此,儘管 DARTS 可以始終減少連續框架在驗證集上的損失函數,投射後的損失函數通常非常不穩定,甚至會突變得非常大。

因此作者希望最終獲得的連續框架在大幅擾動,例如離散化的情況下,仍然能保持高性能。這也意味了損失函數需要儘可能平滑,並保持很小的 Hessian 範數。因此本文提出在搜索過程中即對 A 進行擾動,這便會讓搜索算法關注在平滑區域。

SDARTS-RS 基本隨機平滑(random smoothing),優化 A 鄰域內損失函數的期望。該研究在均勻分布中採樣了隨機噪聲,並在對網絡權重 w 進行優化前加到連續框架權重 A 之上。

這一方法非常簡單,只增加了一行代碼並且不增加計算量,可作者發現其有效地平滑了在驗證集上的損失函數。

SDARTS-ADV 基於對抗訓練(adversarial training),優化鄰域內最差的損失函數,這一方法希望最終搜索到連續框架權重 A 可以抵禦最強的攻擊,包括生成最終架構的離散化過程。在這裡,我們使用 PGD (projected gradient descent)迭代獲得當前最強擾動。

整個優化過程遵循可微 NAS 的通用範式,交替優化框架權重 A 和網絡權重 w。

理論分析

對 SDARTS-RS 的目標函數進行泰勒展開,作者發現這在搜索過程中,Hessian 矩陣的 trace norm 也在被一直減小。如果 Hessian 矩陣近似 PSD,那麼近似於一直在減小 Hessian 的正特徵值。相似地,在通常的範數選擇下(2 範數和無窮範數),SDARTS-ADV 目標函數中第二項近似於被 Hessian 範數 bound 住。因此它也可以隨著搜索降低範數。

這些理論分析進一步解釋了為何 SDARTS 可以獲得平滑的損失函數,在擾動下保持魯棒性與泛化性。

實驗結果

NAS-Benchmark-1Shot1 實驗

這個 benchmark 含有 3 個不同大小的搜索空間,並且可以直接獲得架構的性能,不需要任何訓練過程。這也使本文可以跟蹤搜索算法任意時刻得到架構的精確度,並比較他們的穩定性。

如圖 4 所示,DARTS 隨著搜索進行生成的框架不斷變差,甚至在最後的性能直接突變得很差。近期提出的一些新的改進算法,例如 NASP 與 PC-DARTS 也難以始終保持高穩定性。與之相比,SDARTS-RS 與 SDARTS-ADV 大幅提升了搜索穩定性。得益於平滑的損失函數,該研究提出的兩種方法還具有更強的探索能力,甚至在搜索迭代了 80 輪之後仍能持續發現精度更高的架構。

另外,作者還在圖 5 中跟蹤了 Hessian 範數的變化情況,所有 baseline 方法的範數都擴大了 10 倍之多,而本文提出的方法一直在降低該範數,這與上文的理論分析一致。

CIFAR-10 實驗

作者在通用的基於 cell 的空間上進行搜索,這裡需要對獲得架構進行 retrain 以獲得其精度。值得注意的是,除了 DARTS,本文提出的方法可以普遍適用於可微 NAS 下的許多方法,例如 PC-DARTS 和 P-DARTS。如表 1 所示,作者將原本 DARTS 的 test error 從 3.00% 減少至 2.61%,將 PC-DARTS 從 2.57% 減少至 2.49%,將 P-DARTS 從 2.50% 減少至 2.48%。搜索結果的方差也由於穩定性的提升而減小。

ImageNet 實驗

為了測試在大數據集上的性能,作者將搜索的架構遷移到 ImageNet 上。在表 2 中,作者獲得了 24.2% 的 top1 test error,超過了所有相比較的方法。

與其他正則項方法比較

作者還在另外 4 個搜索空間 S1-S4 和 3 個數據集上做實驗。這四個空間與 CIFAR-10 上的搜索空間類似,只是包含了更少的操作,例如 S2 只包含 3x3 卷積和跳過連接,S4 只包括 3x3 卷積和噪聲。在這些簡化的空間上實驗能進一步驗證 SDARTS 的有效性。

如表 4 所示,SDARTS 在這 12 個任務中的 9 個中包攬了前兩名,SDARTS-ADV 分別平均超過 DARTS、R-DARTS (L2)、DARTS-ES、R-DARTS (DP) 和 PC-DARTS 31.1%、11.5%、11.4%、10.9% 和 5.3%。

相關焦點

  • NAS-DIP: 基於神經架構搜索的自監督圖像補全算法
    為了獲取更好的網絡架構和學習參數,來自維吉尼亞理工的研究人員們提出了一種基於神經網絡架構搜索(NAS)的方式,在更為豐富的結構空間中尋找到能夠捕捉更強圖像先驗的結構。  文末有實習生招聘,有需求的同學們不要錯過!
  • 比可微架構搜索DARTS快10倍,第四範式提出優化NAS算法
    機器之心發布 作者:Quanming Yao ,Ju Xu,Wei-Wei Tu,Zhanxing Zhu 神經架構搜索一直被認為是高算力的代表,儘管可微架構搜索的概念非常吸引人,但它目前的效率與效果仍然不盡人意
  • 谷歌大腦提出NAS-FPN:一種學會自動架構搜索的特徵金字塔網絡
    標檢測也能用神經架構搜索,這是一個自動搜索的特徵金字塔網絡。神經架構搜索已經在圖像識別上展現出很強的能力,不論是可微架構搜索的速度,還是基於強化學習搜索的準確度,很多時候自動架構搜索已經超越了我們手動設計的版本。與此同時,學習視覺的特徵表示是計算機視覺中的一個基本問題。不論是圖像分類還是目標檢測,抽取圖像特徵才是最首要的。
  • CVPR 2019 神經網絡架構搜索進展綜述
    神經網絡架構搜索(NAS)——前言那麼問題來了,神經網絡架構搜索(NAS)究竟是什麼?為什麼我們要了解NAS呢?(這一部分是為了去年完全沒有跟進領域內進展的人準備的)NAS的核心思想是使用搜索算法來發現用於解決我們的問題所需要的神經網絡結構。
  • 怎樣設計最優的卷積神經網絡架構?|NAS原理剖析
    密集連接塊(DenseNet)一個寬網絡上的跳過連接(ResNext)神經架構搜索NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。首先,定義一組適用於我們網絡的「構建塊」。然後,嘗試以不同的方式組合這些「構建快」進行訓練。
  • AutoML新進展:用進化算法發現神經網絡架構
    在每一步中,隨機選擇一對神經網絡。選擇更高精度的網絡作為父類,並通過複製和變異生成子節點,然後將其添加到群體中,而另一個神經網絡會消失。所有其他網絡在此步驟中保持不變。隨著許多這樣的步驟陸續得到應用,整個網絡就會像人類的進化一樣。
  • 語義分割領域開山之作:Google提出用神經網絡搜索實現語義分割
    自 Google 提出 Cloud AutoML,NAS(Neural Architecture Search,神經網絡架構搜索)也取得重大進展,但更多的是在圖像分類和自然語言處理方面的應用。在過去的一年中,元學習(meta-learning)在大規模圖像分類問題上,性能已經實現超越人類手工設計的神經網架構。
  • 蒙特卡洛樹搜索在黑盒優化和神經網絡結構搜索中的應用
    原創 Synced 機器之心機器之心專欄作者:王林楠、田淵棟布朗大學在讀博士王林楠在本文中介紹了他與 Facebook 田淵棟團隊合作,在 2020 年 NeurIPS 取得亮眼表現的新算法,以及其在神經網絡結構搜索中的應用
  • 依圖團隊提出新一代移動端網絡架構MobileNeXt
    最近,依圖團隊發表在ECCV的一篇論文,提出了新一代移動端神經網絡架構MobileNeXt,大大優於谷歌的MobileNet、何愷明團隊提出的ResNet等使用倒殘差結構的模型,為移動端算力帶來了新的突破。
  • 神經網絡的基礎是MP模型?南大周志華組提出新型神經元模型FT
    為了展示 FT 模型的能力和潛力,研究者提出了 Flexible Transmitter Network (FTNet)。FTNet 基於最常見的全連接前饋架構而構建,並使用 FT 神經元作為其基本構造塊。FTNet 允許梯度計算,並且可以通過在複數域中的反向傳播算法來實現。在一系列任務上的實驗結果展示了 FTNet 的優越性能。
  • 華中大提出新型採樣與重建算法, 提升稀疏深度稠密補全任務性能
    隨後研究人員基於自適應的圖神經網絡模型構建深度補全模型。具有空間變化的處理方式最早來源於引導濾波,而後在動態濾波器網絡中得到了進一步發展。  用於深度補全的基準模型架構,值得注意的是在編碼器部分中利用了基礎殘差結構代替了普通的卷積。  為了更好地探索空間各向異性機制,研究人員在此基礎上針對性地提出了3D拓展用於深度補全任務。
  • 北理工研二一作獲傑出論文,大陸論文量前三,ICML 2020各獎項出爐
    剛剛,ICML 2020 公布了本屆傑出論文獎和傑出論文榮譽提名獎(各兩篇),其中北理工研二學生魏愷軒為一作的論文獲得了傑出論文獎,主題為開發用於自動搜索參數的策略網絡。另外,來自英偉達、斯坦福等機構的研究者也摘得傑出論文獎。機器學習頂級會議 ICML 2020 於本月 13 日至 18 日以線上形式舉行。
  • Talk預告|清華在讀博士寧雪妃:高效神經網絡學習系統研究
    她與大家分享的主題是: 「高效神經網絡學習系統的研究」。屆時將會介紹高效的神經網絡結構設計和神經網絡訓練的硬體加速。近年來針對高效神經網絡學習系統的研究很多,試圖將神經網絡學習系統往更高效率的方向推進。這個報告分享了我們組近一年在兩個方面的工作,一方面是高效的神經網絡結構設計,另一方面是神經網絡訓練的硬體加速。
  • 如何在統一架構的同時高效處理各種稀疏度人工神經網絡矩陣?
    由於剪枝和 RELU 等操作,神經網絡的權重和激活矩陣中存在廣泛的稀疏性分布,且不同網絡和同一網絡不同層的稀疏度各不相同,其稀疏度分布範圍高達 4-90%。由於不同稀疏度矩陣運算對於計算和存儲電路要求各不相同,提出一種統一架構同時高效處理各種稀疏度的人工神經網絡矩陣,是人工智慧晶片設計領域的一大難題。
  • 神經網絡算法原理_神經網絡算法的應用_神經網絡算法實例說明
    神經網絡是一種模擬人腦結構的算法模型。其原理就在於將信息分布式存儲和並行協同處理。雖然每個單元的功能非常簡單,但大量單元構成的網絡系統就能實現非常複雜的數據計算,並且還是一個高度複雜的非線性動力學習系統。   神經網絡的結構更接近於人腦,具有大規模並行、分布式存儲和處理、自組織、自適應和自學能力。
  • 解讀| 如何用進化方法優化大規模圖像分類神經網絡?
    為此,我們使用直觀的新型變異算子(mutation operators)來導航大型搜索空間。我們認為,演化一旦開始,其輸出就應當是一個經過完整訓練的模型,不需任何人進行參與。這項研究尤其重要的是結果的可重複性、可變性以及計算要求。解讀不論是在學術研究還是產業應用方面,神經網絡都展現了強大的能力。為了解決不同的實際問題,多種網絡架構可根據特定的任務而建立。
  • 用於深度強化學習的結構化控制網絡(ICML 論文講解)
    許多控制應用程式使用通用多層感知器(MLP),用於策略網絡的非視覺部分。在本工作中,我們為策略網絡表示提出了一種新的神經網絡架構,該架構簡單而有效。所提出的結構化控制網(Structured Control Net ,SCN)將通用多層感知器MLP分成兩個獨立的子模塊:非線性控制模塊和線性控制模塊。直觀地,非線性控制用於前視角和全局控制,而線性控制圍繞全局控制以外的局部動態變量的穩定。
  • MIT新突破:Nature Photonics揭秘新型光學深度神經網絡系統
    作者:David Chandler機器之心編譯參與:吳攀、黃小天、蔣思源儘管科學家和研究者一直在探索新型的計算形式,但目前電子計算仍然是絕對的主流。隨著以深度學習為代表的人工智慧技術的興起,人們也開始關注如何開發出能更有效、更高速地執行神經網絡運算的計算硬體。
  • 前沿| 利用遺傳算法優化神經網絡:Uber提出深度學習訓練新方式
    許多人認為,SGD 算法有效計算梯度的能力對於這種訓練能力而言至關重要。但是,Uber 近日發布的五篇論文表明,神經進化(neuroevolution)這種利用遺傳算法的神經網絡優化策略,也是訓練深度神經網絡解決強化學習(RL)問題的有效方法。
  • 精度、效率兩難全,NAS 如何為自身找到最優解?
    如果我們花了兩三天,但只是把效果從95%提升到97%,對於工業界,這個提升的好處到底有多少,比如視頻搜索的話,95%和97%的準確率,這其中的差別用戶是感受不到的。未來是否有必要提出一個新的評價指標,來綜合考慮精度的提升以及搜索效率,這是我一直在思考的問題。王雲鶴:我認為有的時候也不完全是這樣,比如自動駕駛追求的就是最後那百分之幾的精度提升。