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