當前位置:
首頁 > 新聞 > 利用「可進化」的 AutoML,谷歌提出新型神經網路架構搜索方法

利用「可進化」的 AutoML,谷歌提出新型神經網路架構搜索方法

從五億年前非常簡單的蠕蟲大腦到今天各種各樣的現代結構,大腦已經經歷了漫長的演化過程。人類的大腦可以完成各種各樣的活動,其中許多活動是很容易就可以完成的——例如,告訴我們視覺場景中是否有動物或建築物。

為了進行這樣的活動,人工神經網路需要被專家歷經多年研究精心設計,並且通常只能完成一項特定的任務,比如找出照片中的內容,無論是找到變異的基因,還是幫助診斷疾病。理想情況下,人們希望有一個自動化的方法來為任何給定的任務生成正確的架構。

近日,谷歌的研究人員們在其官方博客發布了一種新的神經網路架構搜索方法,讓AI 朝著這個目標又邁進一步。

以下為官方博文介紹:

生成這些架構的一種方法是使用進化演算法。傳統的拓撲神經進化研究(Stanley和Miikkulainen,2002)為我們今天大規模應用這些演算法奠定了基礎。目前許多團體正在研究這個問題,包括OpenAI、Uber實驗室、Sentient Labs和DeepMind。當然,Google Brain團隊也一直在研究AutoML。除了基於學習的方法(如強化學習)之外,我們還想知道是否可以利用我們的計算資源以前所未有的規模來程序化地發展圖像分類器。我們能否在僅有很少專家參與的情況下找到解決辦法?今天人工進化的神經網路能有多好?我們通過兩篇論文來解決這些問題。

在《圖像分類器的大規模進化》(Large-Scale Evolution of Image Classifiers,E Real等,2017)中,我們用簡單的構建模塊和初始條件構建了一個進化過程。這樣做的目的是把人類解放出來,讓進化演算法來完成大規模構建網路架構的過程。從非常簡單的網路開始,這個過程生成的分類器與當時手工設計的模型相當。這是令人鼓舞的,因為許多應用可能僅需要很少的用戶參與。例如,一些用戶可能需要更好的模型,但可能沒有時間成為機器學習專家。接下來自然要考慮的一個問題是,如果把手工設計和進化演算法相結合,是否能比單獨的任何一種方法都做得更好。因此,在我們最近的論文《圖像分類器架構搜索的正則化進化》(Regularized Evolution for Image Classifier Architecture Search,E Real等,2018)中,我們通過提供複雜的構建塊和良好的初始條件參與了這一過程(見下文)。

此外,我們使用Google的新TPUv2晶元來提高計算能力。通過把現代硬體、專家知識和進化演算法相結合,我們在兩種流行的圖像分類基準CIFAR-10和ImageNet上產生了最先進的模型。

一種簡單的方法

下面是我們第一篇論文中的一個實驗的例子。在下圖中,每個點都是在通常用於訓練圖像分類器的CIFAR-10數據集上訓練的神經網路。最初,該群體由一千個相同的簡單「種子」(seed)模型組成(沒有隱藏層)。從簡單模型開始是很重要的——如果我們從一個包含專家知識的初始條件的高質量模型開始,那麼最終得到一個高質量的模型會更容易。一旦從簡單的模型開始,提高模型質量過程就會逐步進行。在每一步,我們隨機選擇一對神經網路,其中精度較高的網路為親代網路,並基於親代網路複製和變異生成一個子網路。然後這個子網路將其添加到種群中,而另一個質量較低的網路則消失。所有其他網路在這一步驟中保持不變。隨著許多這類步驟的相繼實施,這些網路將得以進化。

圖丨進化實驗的進展。每個點代表群體中的一個個體。這四個圖表展示了這個演算法的架構。它們對應於最好的個體(最右側;通過驗證的準確程度選出)和它的三個祖先。

我們故意將第一篇文章中的突變設置的比較簡單:隨機刪除一個卷積,在任意層之間添加一個跳躍式傳遞(skip connection),或者改變學習速度等等。通過這種方式,我們的研究顯示了進化演算法的潛力與搜索空間的質量成反比。例如,如果我們使用一個單一的突變,將其中一個種子網路變為Inception-ResNet分類器,我們就會誤認為該演算法找到了一個好的答案。

然而,在這種情況下,我們所能做的只是將最終答案硬編碼成一個複雜的突變並操縱結果。相反,如果我們堅持簡單的突變,上述情況不可能發生,進化演算法才真正起到了作用。在圖中的實驗中,簡單的突變和選擇過程使得網路隨著時間的推移而改進,並達到了較高的測試精度,儘管在此過程中從未出現測試集。在該論文中,網路還可以繼承其親代網路的權重。因此,除了促進架構進化以外,群體可以訓練其網路,同時探索初始條件和學習率調度(learning-rate schedule)的搜索空間。因此,該過程獲得了完全訓練的模型,且該模型具備優化過的超參數。實驗開始後不需要專家投入。

在上述情況中,即使我們通過簡單的初始架構和直觀的突變來最小化研究人員的參與程度,但仍有大量的專家知識(如卷積、ReLU和批規範化層)進入了這些架構的構建模塊中。我們正在對由這些模塊構成架構的進行進化:「架構」一詞並非偶然,這類似於用高質量的磚塊建造房屋。


進化演算法與人工設計相結合

在完成了第一篇論文之後,我們希望通過給演算法提供更少的選擇來減少搜索空間、降低處理難度。與前文「建造房屋」的類比相似,我們從搜索空間中刪除了所有可能造成大錯誤的方法,比如建房時將牆壁置於屋頂上方。與神經網路結構搜索相似,把網路的大尺度結構固定住可以幫助我們解決演算法問題。那具體怎麼做呢?Zoph等(2017)介紹的類inception模塊在架構搜索中的作用非常強大。他們的想法是構建重複模塊(cells)的深度堆疊結構。這個堆疊結構是固定的,但其中各個模塊的結構可以改變。

圖丨Zoph等(2017)介紹的模塊。左側是整個神經網路的外部結構,它通過一堆重複的模塊自下而上地解析輸入數據。右側是模塊的內部結構,其目標是找到一個能產生精確網路的模塊。

在我們2018年發表的第二篇論文《圖像分類器架構搜索的正則化進化》中,我們給出了將進化演算法應用於上述搜索空間的結果。突變通過隨機重新連接輸入(右側圖上的箭頭)或隨機替換操作(例如,它們可以用任意可選操作替換圖中的最大池操作「max 3x3」)來修改模塊。這些突變仍然相對簡單,但初始條件卻並不簡單:群體中初始化的模型必須遵從 cell 外部堆疊(由專家設計)。即使這些種子模型中的模塊是隨機的,我們也不再從簡單的模型開始,這使得我們最終更容易獲得高質量的模型。如果進化演算法真的作出了有意義的貢獻,最終的網路應該顯著優於我們在這個搜索空間中構建的已知網路。我們的論文表明,進化演算法確實可以找到最優的模型,且其效果不低於人工設計。

受控比較

儘管突變/選擇進化過程並不複雜,但也許更直接的方法(如隨機搜索)也可以做到這一點。其他選擇雖然並不簡單,但也存在於既有文獻中(如強化學習)。因此,我們的第二篇論文的主要目的是進行技術之間的受控比較。

圖丨進化演算法,強化學習和隨機搜索三種方式分別執行架構搜索時的結果比較。該實驗是在CIFAR-10數據集上進行的,條件與Zoph等(2017)相同,該搜索空間最初用於強化學習。

上圖比較了進化演算法,強化學習和隨機搜索。在左側,橫軸是每種演算法的實驗次數,縱軸是實驗中的平均精確度:結果顯示,在起初實驗次數較少時,進化學習的效果優於強化學習。這是一個重要發現,因為在計算能力較低時,實驗可能不得不提前停止。此外,突變對數據集或搜索空間的變化非常穩健。總的來說,這種受控比較的目標是為研究界提供消耗大量計算能力的實驗結果。在此過程中,我們希望通過提供不同搜索演算法之間關係的案例研究來促進每個人在架構搜索上的研究。值得注意的是,上圖顯示,使用更少的浮點運算時,使用進化演算法的最終模型可以達到非常高的精度。

我們在第二篇論文中使用的進化演算法的重要特徵之一是正則化形式:不是刪掉效果最差的神經網路,而是刪除最老的一個——無論這個網路有多好。這提高了正在優化的任務變化的穩健性,並最終趨於產生更準確的網路。其中一個原因可能是因為我們不允許權重繼承,所有的網路都必須從頭開始訓練。因此,這種正規化形式將選擇在重新訓練時仍然保持良好的網路。換句話說,因為訓練過程中的雜訊使得相同的架構也可能會得到不同的準確度值,所以一個模型顯得準確可能只是偶然,只有在長期中仍保持準確的模型才能被保留下來。在這種思路下,我們選擇重新訓練良好的網路。更多有關細節可以在論文中找到。

我們最先進的模型被命名為AmoebaNets,這是AutoML團隊努力的最新成果之一。這些實驗耗費了大量的計算——我們使用數百個GPU / TPU持續計算了數天。就像一台現代計算機可以勝過數千年前的機器一樣,我們希望將來這些實驗能夠走進家庭。


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

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


請您繼續閱讀更多來自 DeepTech深科技 的精彩文章:

這家公司剛剛推出了2K解析度的AR/VR技術,蘋果、LG、Valve紛紛入股
量子網路迎來新希望!糾纏態發光二極體首次在通信窗內成功運作

TAG:DeepTech深科技 |