谷歌官博發(fā)文,闡述了谷歌使用演化AutoML自動搜尋神經(jīng)網(wǎng)絡(luò)架構(gòu)的成果。我們是否可以利用現(xiàn)有的計算資源大規(guī)模地通過編程的方式改進圖像分類器?能否在極少專家參與的情況下得到解決方案?現(xiàn)如今的人工神經(jīng)網(wǎng)絡(luò)能有多好的表現(xiàn)?
大腦的進化進程持續(xù)已久,從5億年前的非常簡單的蠕蟲大腦到現(xiàn)如今各種現(xiàn)代結(jié)構(gòu)。例如,人類的大腦可以完成各種各樣的活動,其中許多都是毫不費力的。再例如,分辨一個視覺場景中是否包含動物或建筑物對我們來說是微不足道的。
如果神經(jīng)網(wǎng)要完成這項任務(wù),則需要專家經(jīng)過多年研究以后進行精心的設(shè)計,才能解決一項專門的任務(wù),比如發(fā)現(xiàn)照片中存在的物體,發(fā)現(xiàn)基因變異,或者幫助診斷疾病。理想情況下,人們希望有一個自動化的方法可以為任何給定的任務(wù)生成正確的網(wǎng)絡(luò)結(jié)構(gòu)。
生成這些網(wǎng)絡(luò)結(jié)構(gòu)的方法之一是通過使用進化算法。傳統(tǒng)的拓撲學(xué)研究已經(jīng)為這個任務(wù)奠定了基礎(chǔ),使我們現(xiàn)如今能夠大規(guī)模應(yīng)用這些算法,許多科研團隊正在研究這個課題,包括OpenAI、Uber實驗室、Sentient驗室和DeepMind。當(dāng)然,谷歌大腦也一直在思考自動學(xué)習(xí)(AutoML)的工作。
除了基于學(xué)習(xí)的方法,例如強化學(xué)習(xí),我們是否可以利用現(xiàn)有的計算資源大規(guī)模地通過編程的方式改進圖像分類器?我們能在極少專家參與的情況下得到解決方案嗎?現(xiàn)如今的人工神經(jīng)網(wǎng)絡(luò)能有多好的表現(xiàn)呢?我們通過兩篇論文來回答這些問題。
在2017年ICML上發(fā)表的論文 “Large-Scale Evolution of Image Classifiers”中,我們通過簡單的模塊和初始條件構(gòu)建了一個進化進程。這個想法簡單的解釋,就是“從頭開始”,通過進化完成大規(guī)模地架構(gòu)構(gòu)建工作。從非常簡單的網(wǎng)絡(luò)開始,在進化的過程中獲得了與人工設(shè)計的模型具有可比性的模型。在這個過程中,許多應(yīng)用程序可能不需要人工參與,這令人備受鼓舞。
例如,一些使用者可能需要一個更好的模型,但卻沒有時間成為機器學(xué)習(xí)的專家。自然而然的,需要考慮下一個問題,人工設(shè)計的網(wǎng)絡(luò)和進化網(wǎng)絡(luò)的結(jié)合是否能獲得比單獨兩種的方法更好的結(jié)果。因此,在2018年我們發(fā)表的一篇論文“Regularized Evolution for Image Classifier Architecture Search”,我們提供復(fù)雜的模塊和良好的初始條件來構(gòu)建進化進程。
此外,我們使用Google的新TPUv2芯片進行計算。在CIRAR-10和ImageNet兩個流行的圖像數(shù)據(jù)集上,通過對現(xiàn)代的硬件、專家知識和進化進行結(jié)合來獲得最先進的模型。
一個簡單的方法介紹第一篇論文:簡單突變和選擇過程不斷改進網(wǎng)絡(luò)
接下來將舉一個簡單的例子來解釋第一篇論文。
在下面的圖片中,每個點都是一個神經(jīng)網(wǎng)絡(luò),這個網(wǎng)絡(luò)在一個常用的圖像分類數(shù)據(jù)集(CIRAR-10)上進行了訓(xùn)練。最初,整體由幾千種相同的不包含隱藏層的簡單種子模型組成。從簡單的種子模型開始是很重要的,如果我們從一個擁有專業(yè)知識的高質(zhì)量模型開始,那么最終得到一個高質(zhì)量的模型會更容易。而用簡單的模型作為種子,這個過程會逐步推進。
在每一步中,隨機選擇一對神經(jīng)網(wǎng)絡(luò)。具有較高準(zhǔn)確率的網(wǎng)絡(luò)被選擇為父類,并通過進行復(fù)制和變異來生成子節(jié)點,加入到整體中,與此同時另一個神經(jīng)網(wǎng)絡(luò)會消失。在這個過程中,其他所有的網(wǎng)絡(luò)會保持不變。隨著循環(huán)這個步驟,整個網(wǎng)絡(luò)就像人類的進化一樣。
圖1:進化實驗示意圖。每個點代表整體中的個體。這四個圖是發(fā)現(xiàn)的結(jié)構(gòu)的一個例子。這些都對應(yīng)著最優(yōu)秀的個體(即通過準(zhǔn)確性驗證進行選擇獲得的最右邊的個體)和它的三個祖先。
我們的論文提到的突變是有目的的簡化,例如隨機刪除一個卷積,在任意的層之間添加一個跳躍式傳遞,或者改變學(xué)習(xí)速率。這種方法在結(jié)果上顯示出了進化算法的潛力,而不是搜索空間的質(zhì)量。
例如,在一次進化中,如果我們使用了一個單一的突變將其中一個種子網(wǎng)絡(luò)轉(zhuǎn)換成一個Inception-ResNet分類器,那么我們就會錯誤認為算法獲得了一個理想的結(jié)果。然而,在這種情況下,我們所做的只是通過操縱結(jié)果,對復(fù)雜突變的最終答案進行了硬編碼。如果我們堅持簡單的突變,這是不可能發(fā)生的,而進化正在做的也是這個工作。
在實驗中,簡單的突變和選擇過程會導(dǎo)致網(wǎng)絡(luò)在時間進程上不斷改進,并達到很高的測試精度,即使面對尋覽過程中從未出現(xiàn)過測試集。在這篇論文中,網(wǎng)絡(luò)也可以繼承父節(jié)點的權(quán)重。因此,除了進化的架構(gòu)之外,在搜索空間探索初始條件和學(xué)習(xí)率時,整體系統(tǒng)也在訓(xùn)練它的網(wǎng)絡(luò)。因此,這個過程獲得了具有優(yōu)化的超參數(shù)的完全訓(xùn)練模型。實驗開始后,不需要任何專家輸入。
盡管我們通過簡單的初始架構(gòu)和直觀的突變來對研究人員的參與進行最小化處理,但大量的專家知識都融入了這些體系結(jié)構(gòu)的模塊之中。其中包括一些重要的發(fā)明,如卷積、ReLUs和批處理的歸一化層。我們正在對一個由這些部分組成的體系結(jié)構(gòu)進行進化。“體系結(jié)構(gòu)”這個詞不是偶然的,因為這個過程類似于用高質(zhì)量的磚建造房子。
進化確實可以匹配或超越人工設(shè)計獲得最先進的模型
在發(fā)表了第一篇論文之后,我們希望減少算法的選擇范圍來縮小搜索空間,使這個過程更易于管理。利用我們的架構(gòu)推導(dǎo),我們從搜索空間中去掉了所有可能導(dǎo)致大規(guī)模錯誤方法,類比于蓋房子,我們?nèi)コ税褖Ψ旁谖蓓斏系目赡苄浴?/p>
與神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的搜索相似,通過對網(wǎng)絡(luò)結(jié)構(gòu)的大致結(jié)構(gòu)進行固定,可以幫助算法的實現(xiàn)。這要怎么做呢? Zoph等人在2017年的論文中引入了用于架構(gòu)搜索的初始(inception-like)模塊,已經(jīng)證明這種方法是特別有效的。他們的想法是獲得一大堆被稱為細胞的重復(fù)單元。棧是固定的,但是單個模塊的體系結(jié)構(gòu)可以改變。
圖2:在Zoph等人(2017)中提出的結(jié)構(gòu)塊。左邊的圖表是完整的神經(jīng)網(wǎng)絡(luò)的外部結(jié)構(gòu),它通過一堆重復(fù)的單元來對從底部到頂部的輸入數(shù)據(jù)進行解析。右邊的圖表是一個細胞的內(nèi)部結(jié)構(gòu)。我們的目標(biāo)是建立一個能夠產(chǎn)生精確網(wǎng)絡(luò)的細胞。
在我們的第二篇論文中,“Regularized Evolution for Image Classifier Architecture Search”,我們展示了將進化算法應(yīng)用到上面描述的搜索空間的效果。這些突變通過隨機地重新連接輸入(在右側(cè)的圖中的箭頭)或隨機地進行替換操作來修改單元格,例如,它們可以使用最大值化操作任意地替換一個圖中“max 3x3“的像素塊。這些變異仍然相對簡單,但是初始條件不盡相同,現(xiàn)在的整體已經(jīng)可以用模型進行初始化,這些模型必須符合由專家設(shè)計的細胞結(jié)構(gòu)。
盡管這些種子模型中的單元是隨機的,我們不再從簡單的模型開始,這樣操作保證可以更加容易地得到高質(zhì)量模型。如果進化算法的貢獻是有意義的,那么在這個搜索空間,最終的網(wǎng)絡(luò)應(yīng)該比現(xiàn)有已構(gòu)建的網(wǎng)絡(luò)要好得多。我們的論文表明,進化確實可以匹配或超越人工設(shè)計獲得最先進的模型。
控制變量比較法
盡管突變-選擇的進化過程并不復(fù)雜,但也許一個更直接的方法也可以做同樣的事情,如隨機搜索。其他的選擇方法雖然沒有更簡單,卻也存在于文獻中,如強化學(xué)習(xí)。正因為如此,我們第二篇論文的主要目的是在技術(shù)之間提供一個控制變量的對比。
圖3:對進化、強化學(xué)習(xí)和為實現(xiàn)架構(gòu)結(jié)構(gòu)的隨機搜索進行了比較。這些實驗是在CIFAR-10數(shù)據(jù)集上進行的,并將搜索空間最初用于強化學(xué)習(xí),這與Zoph等人在2017年實驗的條件相同。
上面的數(shù)據(jù)對進化、強化學(xué)習(xí)和隨機搜索進行了比較。左邊的圖片中,每條曲線代表了每個實驗的進展,表明在搜索的早期階段,進化比強化學(xué)習(xí)要快。這個結(jié)果特別重要,因為可用的計算能力較低,實驗可能不得不提前停止。此外,進化對于數(shù)據(jù)集或搜索空間的變化非常具有魯棒性。
總的來說,這個對照比較的目的是為科研團隊提供一個高計算代價的實驗的結(jié)果。在這個過程中,我們希望通過提供不同搜索算法之間關(guān)系的案例研究來促進對么一個研究人員提供架構(gòu)搜索。例如,上面的結(jié)論表明,在使用較少的浮點操作的前提下,通過進化獲得的模型可以達到非常高的精確度。
我們在第二篇論文中使用的進化算法的一個重要特征是正則化的形式的一種,即我們不讓效果最差的神經(jīng)網(wǎng)絡(luò)死亡,而是移除最老的神經(jīng)網(wǎng)絡(luò),不管它們有多好。這種方法提高了正在優(yōu)化任務(wù)的健壯性,并保證最終會生成更加精確的網(wǎng)絡(luò)。原因之一我們不允許繼承權(quán)重,所有的網(wǎng)絡(luò)都必須從頭開始訓(xùn)練。因此,這種正則化的形式選擇了在重新訓(xùn)練后仍然保持良好狀態(tài)的網(wǎng)絡(luò)。
換句話說,因為一個模型可能在偶然的情況下變得更加精確,訓(xùn)練過程中的噪音意味著即使是相同的體系結(jié)構(gòu)也可能得到不同的精度值,只有經(jīng)過幾代后仍然能保持準(zhǔn)確率的結(jié)構(gòu)才能在長期內(nèi)存活下來,導(dǎo)致效果優(yōu)良的網(wǎng)絡(luò)有被再次選擇的機會。關(guān)于這個猜想的更多細節(jié)可以在論文中找到。
我們進化出的最先進的模型被稱為“變形板(AmoebaNets)”,是我們的AutoML努力的最新成果之一。所有這些實驗都通過使用幾百個的GPU/TPU進行了大量的計算。就像一臺現(xiàn)代的計算機可以勝過成千上萬臺幾十年前的舊機器一樣,我們希望在將來這些實驗?zāi)軌虺蛇M入千家萬戶。在這里我們的只是希望幫助大家對未來有一個簡單的了解。
-
谷歌
+關(guān)注
關(guān)注
27文章
6099瀏覽量
104773 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4722瀏覽量
100308
原文標(biāo)題:谷歌演化AutoML自動發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)新架構(gòu)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論