當前位置:
首頁 > 科技 > 關於AutoML和神經結構搜索,你需要知道這些

關於AutoML和神經結構搜索,你需要知道這些

關注雲加社區提升技術能力

學習雲計算,AI,大數據,小程序開發等技術

助你一臂之力 成為技術大牛

AutoML和神經結構搜索(NAS)是深度學習城堡的新國王。它們是一種快速的方法,可以在不需要太多工作的情況下為機器學習任務獲得很高的準確性。

那麼它是如何工作的呢?

以下是你需要了解的關於AutoML和NAS的所有信息。

神經結構搜索(NAS)

開發神經網路模型通常需要大量的體系結構工程。有時你可以運用遷移學習,但是如果你真的想要獲得最佳性能,通常最好設計自己的網路。這需要專業技能並且具有挑戰性。我們甚至可能不知道當前最先進技術的局限性。

這就是NAS的用武之地。NAS是一種搜索最佳神經網路架構的演算法。大多數演算法以下列方式工作。首先定義一組可能用於我們網路的「構建塊」。例如,最先進的NASNet論文為圖像識別網路提出了這些常用的塊:

圖像識別網路中的Nasnet塊

在NAS演算法中,一個控制器遞歸神經網路(Rnn)對這些構造塊進行了採樣,將它們組合在一起,形成了一種端到端的體系結構。這種架構通常與最先進的網路具有相同的風格,例如ResNets或DenseNets,但是使用了非常不同的塊組合和配置。

然後,對這種新的網路體系結構進行了訓練,使其能夠收斂,從而在一個被保留的驗證集上獲得一定的精度。由此產生的精確性用於更新控制器,以便控制器隨著時間的推移生成更好的體系結構,可能通過選擇更好的塊或建立更好的連接。控制器權值隨策略梯度更新。整個端到端的設置如下所示。

NAS演算法

這是一種相當直觀的方法。簡單地說:有一個演算法,抓取不同的塊,並將這些塊放在一起形成一個網路。訓練和測試那個網路。根據你的結果,調整你用來建立網路的塊,以及你如何把它們組合在一起。

此演算法成功的部分原因是它的約束和假設。NAS發現的體系結構是在一個比現實世界小得多的數據集上進行訓練和測試的。之所以這樣做,是因為在類似ImageNet這樣的大型項目上進行培訓需要很長時間。但是,我們的想法是,在規模較小、但結構類似的數據集上性能更好的網路,也應該在更大、更複雜的數據集上表現得更好,這在深度學習時代通常是如此。

第二,搜索空間本身是相當有限的。NAS的設計是為了建造與當前最先進的建築在風格上非常相似的建築。對於圖像識別,這是在網路中有一組重複的塊,同時逐步向下採樣,如下圖所示。在目前的研究中,選擇一組可供選擇的模塊來構建重複塊也是相當普遍的。NAS發現的網路的一部分是這些塊是如何連接在一起的。查看下面右邊的ImageNet網路的最佳發現塊和結構。

建築搜索研究進展

美國宇航網的論文是進步非常快的,因為它為深入研究提供了一個新的方向。不幸的是,Google之外的普通用戶無法訪問它,效率也很低。使用450 GPU需要3-4天才能找到那個偉大的建築。因此,NAS的許多最新研究都集中在提高這一過程的效率上。

漸進神經結構搜索(PNAS)建議使用所謂的基於序貫模型的優化(SMBO)策略,而不是在Nasnet中使用強化學習。使用SMBO,我們不再隨機地從外部集合中抓取和嘗試塊,而是測試塊,並按照增加的複雜性順序搜索結構。這並沒有縮小搜索空間,但它確實使搜索以更明智的方式完成。SMBO基本上是說:與其一次嘗試所有的事情,不如讓我們從簡單開始,只有當我們需要的時候才變得複雜。這種PNAS方法的效率是原始NAS的5-8倍(因此成本更低)。

有效的神經結構搜索(ENAS)這是試圖使通用架構搜索更高效的另一次嘗試,這一次對於使用GPU的普通從業者來說是可用的。作者的假設是,NAS的計算瓶頸是訓練每個模型的收斂性,只測量它的測試精度,然後再進行測試。

研究和實踐反覆表明,遷移學習有助於在較短的時間內達到較高的精度,因為接受過類似任務訓練的網路發現了相似的權重;傳遞學習基本上就是網路權重的傳遞。ENAS演算法迫使所有模型共享權重,而不是從零開始訓練到收斂。我們在以前的模型中嘗試過的任何塊都將使用以前學到的權重。因此,我們實際上是在轉移學習每次我們訓練一個新的模型,收斂得更快。

論文中的表格顯示了ENAS的效率有多高,用一台1080 TiGPU進行半天的訓練。

ENAS的性能和效率

一種新的深度學習方式:AutoML

許多人稱AutoML為深度學習的新方法,這是對整個系統的改變,而不是設計複雜的深層網路,我們只運行一個預設的NAS演算法。谷歌最近通過提供雲自動ML。只要上傳你的數據,谷歌的NAS演算法將為你找到一個架構,快速和容易。

AutoML的這個想法就是簡單地抽象出深度學習的所有複雜部分,你只需要數據。然後,深度學習就像任何其他的插件工具一樣,變成了一個非常簡單的插件工具。獲取一些數據並自動創建一個由複雜神經網路驅動的決策函數。

Google Cloud的AutoML pipeline

雲AutoML的價格確實很高,為20美元,不幸的是,一旦經過訓練,你就無法導出您的模型,你將不得不使用他們的API在雲上運行你的網路。還有其他幾種完全免費的選擇,但需要做更多的工作。

AutoKeras是使用ENAS演算法的GitHub項目。它可以使用pip安裝。因為它是用Keras編寫的,所以很容易控制和使用,所以你甚至可以深入研究ENAS演算法並嘗試進行一些修改。

NAS和AutoML的未來預測

很高興看到過去幾年裡自動化深度學習方面取得了巨大的進步。它使用戶和企業更容易接觸到它;深入學習的力量也變得更容易為公眾所接受。但是,總有一些改進的餘地。

架構搜索變得更加高效:在一天的訓練中找到一個帶有單個GPU的網路,就像使用ENAS一樣,是相當驚人的。然而,我們的搜索空間仍然相當有限。目前的NAS演算法仍然使用手工設計的結構和構建塊,它們只是將它們以不同的方式組合在一起。

一個強大的,潛在的突破性的未來方向將是一個更廣泛的搜索,真正尋找新的架構。這些演算法可能會在這些龐大而複雜的網路中揭示出更多隱藏的深層學習秘密。當然,這樣的搜索空間需要高效的演算法設計。

NAS和AutoML的這一新方向為人工智慧社區提供了令人興奮的挑戰,也為科學領域的另一次突破提供了機會。

原文標題《Everything you need to know about AutoML and Neural Architecture Search》

作者:George Seif

譯者:lemon


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

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


請您繼續閱讀更多來自 雲加社區 的精彩文章:

小程序+雲開發實戰:一天搭建小型論壇
乾貨!一文讀懂CNN中卷積層與轉置卷積層的關係

TAG:雲加社區 |