使用可進化的AutoML發現神經網路架構

AI科技大本營發表於2018-04-18

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


來源 | TensorFlow(公眾號ID:tensorflowers)


從 5 億年前非常簡單的蠕蟲大腦到今天的各種現代化結構,大腦經過了漫長時間的進化。人類大腦可以完成各種活動,其中許多活動都可以毫不費力地完成,例如說出視覺場景是否包含動物或建築物對我們來說非常簡單。要執行此類活動,人工神經網路則需要專家通過多年的艱苦研究進行精心設計,並且通常只能完成一種特定的任務,例如找出照片的內容、識別遺傳突變,以及幫助診斷疾病。理想情況下,我們希望能用一種自動化方式為任何給定任務生成合適的架構。


生成這些架構的一種方式是使用進化演算法。傳統的拓撲神經進化研究(例如 Stanley 和 Miikkulainen 在 2002 年發表的這篇論文 :


https://www.mitpressjournals.org/doi/abs/10.1162/10636560232016981


1)奠定了基礎,讓我們今天可以大規模應用這些演算法,許多團隊都在研究這個課題,包括 OpenAI、Uber Labs、Sentient Labs 和 DeepMind。當然,Google Brain 團隊也一直在思考 AutoML。除了基於學習的方法(例如強化學習)外,我們還想知道能否使用我們的計算資源通過程式設計方式以史無前例的規模進化影像分類器。我們可以在儘可能不需要專家參與的情況下實現解決方案嗎?今天的人工進化神經網路能有多好的表現呢?我們通過兩篇論文解決這些問題。

在 ICML 2017 上發表的 Large-Scale Evolution of Image Classifiers 中,我們使用簡單的構建塊和普通的初始條件設定了一個進化過程。想法是我們退到背後,讓大規模進化執行構建架構的工作。從非常簡單的網路開始,這個過程發現分類器與當時手動設計的模型相當。這是令人鼓舞的,因為許多應用可能需要很少的使用者參與。例如,一些使用者可能需要更好的模型,但可能沒有時間深入學習相關知識,成為機器學習專家。接下來自然而然需要考慮的一個問題是,手動設計和進化的組合能否比單獨使用任何一種方式效果更好。


因此,在最近的論文 Regularized Evolution for Image Classifier Architecture Search (2018) 中,我們通過提供複雜的構建塊和良好的初始條件(下文將討論)參與了這個過程。而且,我們還使用 Google 的新 TPUv2 晶片擴大了計算範圍。現代化硬體、專家知識和進化的這個組合共同在 CIFAR-10 和 ImageNet 上產生了最先進的模型,CIFAR-10 和 ImageNet 是兩個熱門的影像分類基準。


簡單的方式


下面是我們第一篇論文中某個實驗的示例。在下圖中,每個點都是一個在 CIFAR-10 資料集(常用於訓練影像分類器)上訓練的神經網路。最初,群體包含 1000 個相同的簡單種子模型(沒有隱藏層)。從簡單的種子模型開始非常重要 - 如果我們從初始條件包含專家知識的優質模型開始,最後獲得優質模型也就會更容易。使用簡單的模型做種後,過程逐步推進。每一步都會隨機選擇一對神經網路。準確性更高的網路選作父級,並通過複製和突變生成子級,隨後子級將新增到群體中,而另一個神經網路則會死亡。所有其他網路在此期間保持不變。連續應用多個這樣的步驟後,群體發生進化。


640?wx_fmt=png


進化實驗的過程。每個點都表示群體中的一個神經網路。四個圖是所發現架構的示例。這些圖對應於最好的網路(最右側;通過驗證準確性選擇)和它的三個祖先


我們第一篇論文中的突變故意設定得非常簡單:隨機移除卷積,在任意層之間新增一個跳過連線,或者更改學習速率,等等。這樣,結果將顯示進化演算法的潛力,而不是搜尋空間的質量。例如,如果我們在某個步驟中使用可以將一個種子網路轉變成 Inception-ResNet 分類器的突變,我們將錯誤得出演算法找到了一個好答案的結論。


不過,即使我們使用了這樣的突變,我們做的所有工作也只會是將最終答案硬編碼成一個複雜突變,對結果進行裝配。如果我們堅持使用簡單突變,這種情況就不會發生,進化也將真正完成。在圖中所示的實驗中,簡單突變和選擇過程使網路隨著時間的延長而改進並達到較高的測試準確性,即使在此過程期間從未看到過測試集。在這篇論文中,網路還可以繼承父級的權重。因此,除了進化架構外,群體在訓練網路的同時還探索了初始條件的搜尋空間和學習速率排程。因此,過程產生了具有優化的超引數的完全訓練模型。實驗開始後不需要任何專家輸入。

總之,即使我們通過簡單的初始架構和直觀的突變儘可能減少了研究人員的參與,組成架構的構建塊也蘊藏著大量的專家知識。這些知識包括重要的發明,例如卷積、ReLU 和批歸一化層。我們進化了由這些元件組成的架構。“架構”這一術語不是隨便選擇的:這個過程類似於使用優質磚塊建房子。


組合使用進化和手動設計


在第一篇論文後,我們希望通過減小演算法的選擇範圍來縮小搜尋空間,使其更易於管理。我們從搜尋空間中移除了所有可能導致大規模錯誤的方式,類似於蓋房子,我們去除了將牆放在屋頂上的可能性。與神經網路架構搜尋類似,通過修復網路的大規模結構,我們可以幫助實現演算法。這要怎麼做呢?Zoph et al.(2017) 中為架構搜尋引入的初始模組被證明非常強大。他們的想法是獲得一個由重複模組(稱為細胞)組成的深度堆疊。堆疊是固定的,但各個模組的架構可以發生變化。


640?wx_fmt=png


Zoph et al.(2017) 中引入的構建塊。左圖是整個神經網路的外層結構,它通過一個由重複細胞組成的堆疊從下到上解析輸入資料。右圖是細胞的內部結構。目標是找到一個可以產生準確網路的細胞  


在第二篇論文 Regularized Evolution for Image Classifier Architecture Search (2018) 中,我們展示了將進化演算法應用到上述搜尋空間的結果。突變通過隨機重新連線輸入(圖中右圖上的箭頭)或隨機替換運算(例如,它們可以使用任意替代運算替換圖中的“max 3x3”(一種最大值池化運算))的方式修改細胞。這些突變仍相對簡單,但是初始條件不簡單:群體現在使用模型進行初始化,這些模型必須符合由專家設計的細胞外部堆疊。即使這些種子模型中的細胞是隨機的,但我們不再從簡單模型開始,這就使最終獲得優質模型變得更容易。


如果進化演算法的貢獻有意義,最終網路應明顯優於我們已經知道可以在這個搜尋空間中構建的網路。我們的論文顯示,進化確實可以找到與手動設計相當或者更優的最先進網路。


控制對比


即使突變/選擇進化過程不復雜,也許一種更直接的方式(例如隨機搜尋)可以直接做到這一點。其他替代過程雖然不簡單,但也存在於文獻(例如,強化學習)中。因此,我們第二篇論文的主要目的是對各種技術進行控制對比。


640?wx_fmt=png


用於架構搜尋的進化、強化學習和隨機搜尋的對比。這些實驗使用 Zoph et al.(2017) 介紹的相同條件在 CIFAR-10 資料集上完成,其中,搜尋空間最初用於強化學習 

  

上圖比較了進化、強化學習和隨機搜尋。左側的每一條曲線都表示實驗的一個過程,從中我們可以看到,進化在搜尋早期要比強化學習快。這非常重要,因為計算能力較低,實驗可能不得不提前停止。此外,進化對資料集或搜尋空間中的變化表現出非常高的穩定性。總的來說,此控制對比的目標是向研究社群提供高計算開銷實驗的結果。在此過程中,我們希望通過提供不同搜尋演算法間關係的案例研究推動每個人的架構搜尋。例如,上圖顯示通過進化獲得的最終模型既可以達到非常高的準確率,又能使用更少的浮點運算。

我們在第二篇論文中使用的進化演算法的一個重要特徵是某種正則化:不管最老的神經網路有多好,我們都會將它們移除,而不是讓最差的神經網路死亡。這提升了針對正在優化的任務中變化的穩定性,並且最終往往會生成更準確的網路。原因之一可能是,由於我們不允許權重繼承,所有網路都必須從頭訓練。因此,這種正則化選擇了在重新訓練後仍然保持良好狀態的網路。


換句話說,由於一個模型可能在偶然的情況下變得更準確,訓練過程中的噪聲意味著即使是相同的架構也可能得到不同的準確性值,只有經過幾代後仍能保持準確的架構才能長期存活下來,讓重新訓練後保持良好狀態的網路有被再次選擇的機會。可以在論文中找到此猜想的更多細節。

我們進化的最先進模型的暱稱為 AmoebaNet,它們是我們 AutoML 工作的最新成果之一。所有這些實驗都進行了大量計算 - 我們使用了數百個 GPU/TPU,並且花了數天時間。就像一臺現代的計算機可以勝過成千上萬臺幾十年前的舊機器一樣,我們希望這些實驗未來能夠家喻戶曉。我們在這裡只是希望幫助大家對這個未來有一個簡單的瞭解。


論文連結:

Large-Scale Evolution of Image Classifiers:

https://arxiv.org/abs/1703.01041

Regularized Evolution for Image Classifier Architecture Search :

https://arxiv.org/abs/1802.01548


招聘

AI科技大本營現招聘AI記者和資深編譯,有意者請將簡歷投至:gulei@csdn.net,期待你的加入


AI科技大本營讀者群(計算機視覺、機器學習、深度學習、NLP、Python、AI硬體、AI+金融、AI+PM方向)正在招募中,和你志同道合的小夥伴也在這裡!關注AI科技大本營微信公眾號,後臺回覆:讀者群,新增營長請務必備註姓名,研究方向。

640?wx_fmt=gif
640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

AI科技大本營公眾號ID:rgznai100640?wx_fmt=jpeg


☟☟☟點選 | 閱讀原文 | 檢視更多精彩內容

相關文章