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