當前位置:
首頁 > 新聞 > 神經架構優化(NAO):新的神經架構搜索(NAS)演算法

神經架構優化(NAO):新的神經架構搜索(NAS)演算法

本文為 AI 研習社編譯的技術博客,原標題 :

Discovering the best neural architectures in the continuous space | Microsoft Research

作者 | Fei Tian

翻譯 | 孫稚昊2

校對 | 醬番梨 整理 | 菠蘿妹

原文鏈接:

https://www.microsoft.com/en-us/research/blog/discovering-the-best-neural-architectures-in-the-continuous-space/

神經架構優化(NAO):新的神經架構搜索(NAS)演算法

如果你是一名深度學習實踐者,你可能發現自己經常會遇到同一個關鍵問題:我應該為現在的任務選擇哪種神經網路架構?這個決定取決於多種因素以及很多其他問題的答案。我應該給這一層選擇什麼操作----卷積,深度可分卷積,或者最大池化?卷積層應該選多大的核?3*3 還是 1*1 ? 還有哪個節點該拿來作為循環神經網路(RNN)節點的輸入?這些決定對架構的成功至關重要。如果你既是神經網路建模也是手頭特定任務的專家,你可能很容易找到答案。但如果你在某一方面的經驗有限呢?

這種情況下,你可能會嘗試神經架構搜索(NAS),這是一種自動的過程,另一個機器學習演算法根據以往觀察到的架構和他們的表現,來指導創建更好的架構。多虧了NAS,我們可以發現在被廣泛使用的公開數據集,比如 ImageNet, 上表現最好的神經網路架構,且不需要人工干預。

然而現存的自動設計神經網路架構的方法 -- 通常基於增強學習或者進化演算法 -- 需要在指數級增長的離散空間中做搜索,我的同伴和我在微軟亞洲研究院機器學習組 設計了一種簡化的,更有效的方法,基於連續空間內的優化。有了我們的新方法,叫做 神經架構優化 (NAO),我們利用基於梯度的方法在更緊密的空間中做優化。這項工作參加了今年的 神經信息處理系統會議 (NeurIPS)

NAO的關鍵組件

驅動NAO進行在連續空間中基於梯度的優化,是靠以下三個組件:

  • 一個把離散的神經網路架構轉化為連續值向量的編碼器,也叫嵌入模型

  • 一個結果預估函數,它把向量作為輸入,併產生一個數值作為架構的表現 (比如,準確率)

  • 一個把連續值向量恢復成網路架構的解碼器

  • 這三個組件是一起訓練的。我們完成訓練後,從一個架構x 開始,我們用編碼器E把x 轉化為向量表示 ex , 再通過結果預估函數f給的梯度方向,把ex 轉化為新的嵌入 ex` (如綠線表示)。既然我們在做梯度上升,只要步長夠小,我們就能保證 f(ex`) >= f(ex)。最後,我們用decoder D把ex`轉化為離散的架構 x`。這樣,我們得到了一個可能更好的架構 x`.通過不斷這樣更新架構。我們得到了最終的架構,它應該有最好的表現。

神經架構優化(NAO):新的神經架構搜索(NAS)演算法

圖1: NAO的流程

有有限的資源達到好的結果

我們做了後續的實驗來驗證NAO自動發現最好神經架構的有效性。表1(如下)展示了不同卷積神經網路(CNN)架構在CIFAR-10圖片分類數據集上的表現,這些架構由不同 NAS 演算法生成。從表中我們可以看出,用NAO發現的網路得到了最低的錯誤率。另外,將NAO和權重共享機制結合起來(叫做 NAO-WS),我們得到了顯著的搜索速度提升。權重共享可以降低網路架構搜索的計算成本,它通過讓多種網路結構共用同一份參數來做到。在我們的實驗中,我們用一塊圖像處理器(GPU),在7個小時內得到了一個CNN架構,達到了3.53的錯誤率。通過權重共享,我們不必從頭訓練其它不同的神經網路。

表2(如下)總結了PTB語言模型的結果。越低的Perplexity表示更好的表現。又一次,我們用NAO來找到的RNN架構取得了好結果,而且只用有限的計算資源。

通過在連續空間上的優化,NAO得到了更好的結果,相比於現有的NAS方法,他們直接在離散架構空間中搜索。至於未來的應用,我們計劃用NAO來為其它重要的AI任務搜索架構,比如神經機器翻譯。同樣重要的,更簡單高效的自動神經架構設計,可以使機器學習技術為各階段的人所用。

神經架構優化(NAO):新的神經架構搜索(NAS)演算法

表1:CIFAR-10分類結果

神經架構優化(NAO):新的神經架構搜索(NAS)演算法

表2:PTB語言模型結果

想要繼續查看該篇文章相關鏈接和參考文獻?

長按鏈接點擊打開或點擊【神經架構優化(NAO):新的神經架構搜索(NAS)演算法】:

https://ai.yanxishe.com/page/TextTranslation/1335

AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網雷鋒網雷鋒網

五個很厲害的 CNN 架構

一文帶你讀懂計算機視覺

用Pytorch做深度學習(第一部分)Python高級技巧:用一行代碼減少一半內存佔用

等你來譯:

(Python)3D人臉處理工具face3d25個能放到數據湖中的語音研究數據集如何在數據科學面試中脫穎而出Apache Spark SQL以及DataFrame的基本概念,架構以及使用案例
喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

海康威視:AI 晶元很難被管制,海外市場值得期待
大咖Live X 星雲互聯王易之:開發者視角,V2X如何實現從「輔助人」到「網聯化交通」的技術落地?

TAG:雷鋒網 |