當前位置:
首頁 > 新聞 > ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

新智元報道

來源:深度學習大講堂

作者:劉晨曦

【新智元導讀】神經網路結構搜索是谷歌的AutoML的一個具體分支。約翰斯霍普金斯大學劉晨曦博士和Alan Yullie 教授,以及Google AI的李飛飛、李佳等多名研究者提出漸進式神經網路結構搜索技術,論文被ECCV 2018接收作為Oral。本文中,第一作者劉晨曦詳細分析了這一技術的原理以及設計細節。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

谷歌的AutoML一經提出,就引起了學界及業界的廣泛關注,然而其簡易操作的背後,則是強大算力支持下的大量科研工作,其中之一便是漸進式網路結構搜索技術。

漸進式神經網路結構搜索技術(Progressive Neural Architecture Search)由約翰斯霍普金斯大學劉晨曦博士和Alan Yullie 教授,以及Google AI的李飛飛、李佳等多名研究者共同提出。

這篇文章被ECCV 2018錄用為Oral paper,研究者提出的漸進式神經架構搜索方法,比普通計算速度快8倍,效率提高5倍,AI自動搜索得到的模型在ImageNet大規模數據集上取得了當前最高精度

這一技術已經被用於谷歌AutoML架構自動搜索,進一步提升性能。本文中,論文的第一作者劉晨曦博士將為大家揭開AutoML的面紗,看他如何通過迭代自學習的方式,積跬步以至千里,尋找到最優網路結構,從而將萬繁歸於至簡。

文中提到所有文章和代碼的下載鏈接附在文末。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

摘要

我們提出一種學習卷積神經網路(CNN)結構的新方法,該方法比現有的基於強化學習和進化演算法的技術更有效。使用了基於序列模型的優化(SMBO)策略,在這種策略中,按照增加的複雜性對結構進行搜索,同時學習代理模型(surrogate model)來引導在結構空間中的搜索。

在相同搜索空間下直接比較的結果表明,該方法比Zoph等人(2018)的RL方法所評估的模型數量多5倍,總計算速度快8倍,並且用該結構在CIFAR-10和ImageNet上實現了最高的分類精度。

本文中,將介紹的漸進式神經網路搜索演算法,是和谷歌大腦、谷歌雲、谷歌研究院的很多研究員一同完成的。

其中,PNASNet-5在ImageNet上的代碼和模型已經發布在TensorFlow Slim:

https://github.com/tensorflow/models/tree/master/research/slim#Pretrained

歡迎大家下載使用。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

首先介紹AutoML,它是谷歌內部一個宏大的目標,是創造一種機器學習演算法,使得它能夠最好地服務於用戶提供的數據,而在這過程中有儘可能少的人類參與。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

從起初的AlexNet到Inception,ResNet,Inception-ResNet,機器在圖像分類問題上已經取得了很好的成績,那麼我們為什麼還想使用AutoML演算法來研究圖像分類呢?

首先,如果可以通過自動搜索,找到比人類設計的最好演算法還好的演算法,豈不是很酷?其次,從更加實用的角度出發,圖像分類問題是大家學習得很多的問題,如果在該問題上取得突破,那麼突破其他問題的可能性也大大增加。

接下來介紹Neural Architecture Search(NAS)問題,它是AutoML一個具體的分支。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

Neural Architecture Search基本遵循這樣一個循環:首先,基於一些策略規則創造簡單的網路,然後對它訓練並在一些驗證集上進行測試,最後根據網路性能的反饋來優化這些策略規則,基於這些優化後的策略來對網路不斷進行迭代更新。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

之前的NAS工作可以大致分為兩方面,首先是強化學習,在神經結構搜索中需要選擇很多的元素,如輸入層和層參數(比如選擇核為3還是5的卷積操作)的設置,設計整個神經網路的過程可以看作一系列的動作,動作的獎賞就是在驗證集上的分類準確率。通過不斷對動作更新,使智能體學習到越來越好的網路結構,這樣強化學習和NAS就聯繫起來了。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

另一方面NAS是一些進化演算法,這一大類方法的主要思路是,用一串數定義一個神經網路結構。如圖是ICCV2017謝凌曦博士的工作,他用一串二進位碼定義一種規則來表達特定的神經網路連接方式,最開始的碼是隨機的,從這些點出發可以做一些突變,甚至在兩個數串(擁有較高驗證準確率)之間做突變,經過一段時間就可以提供更好的神經網路結構。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

而目前方法最大的問題在於,它對算力的要求特別高。以強化學習為例,谷歌大腦最開始提出的強化學習方法,用了800塊K40GPU,訓練了28天;後來2017年7月提出的改進版,用了500塊P100GPU訓練了4天,而且這是在非常小的CIFAR-10數據集上做的,該數據集只有5萬張30*30的圖。即便這樣小的數據集就需要如此大的算力支撐,也就是說想要繼續擴展NAS,用強化學習的方法是不現實的。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

為加速NAS過程,我們提出了一個新的方法,謂之「漸進式的神經結構搜索」。它既不是基於強化學習的,也不屬於進化演算法。在介紹具體演算法前,首先來理解這裡的搜索空間。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

首先搜索可重複的cells(可以看作是Residual block),一旦找到一個cell,就可以自由地選擇其疊加方式,形成一個完整的網路。這樣的策略在Residual Network中已經出現多次。當確定了cell structure後如上右圖將其疊加成一個完整的網路,以CIFAR-10網路舉例,在兩個stride2的cell之間,stride1的cell疊加次數都為N,而Residual網路中不同的groups疊加的次數不同。

一個網路通常由這三個要素來確定:cell的結構,cell重複的次數N,每一個cell中的卷積核個數F,為了控制網路的複雜度,N和F通常經手工設計。可以理解為,N控制網路的深度,F控制網路的寬度。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

接下來主要討論如何確定cell,在我們的搜索空間中,一個cell由5個block組成,每個block是一個(I_1,I_2,O_1,O_2,C)的元組。以下將具體介紹。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

如圖,網路輸入的搜索空間如圖中灰色矩形所示,I_1,I_2對應圖中hidden layer A和hidden layer B,I即指輸入(Input)。這兩個灰塊可以選擇不同的隱含空間,cell c block b可能的輸入定義為:

前一個cell的輸出:H_B^(c-1)

前一個的前一個的cell的輸出:H_B^(c-2)

在當前cell的當前block的所有之前輸出:{H_1^c,…,H_(b-1)^c }

比如右邊的block是這個cell里的第一個block,在選用第二個block的時候它就可以選取第一個block產生的new hidden layer,也就是說,第二個block的輸入涵蓋了第一個block的輸出。這樣的設計為了允許一定的泛化性,可以刻畫Residual Network,DenseNet之類的網路。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

O_1,O_2對應圖中的黃色方框,這其實是對剛才選取的隱含層的一元運算符,它包含了3*3的卷積,5*5的卷積,7*7的卷積,identity,3*3的均值池化,3*3的最大值池化,3*3的加寬池化以及1*7後接7*1的卷積。讓數據在搜索空間中學習找到最適合的操作。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

綠色框代表C這個運算,它把由I_1,I_2產生的O_1,O_2通過一定的方式組合到一起,產生一個新的隱含空間。這個C操作是按位加和的操作。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

在這個搜索空間下,儘可能有效地學習到一個性能較好的cell,這樣就能疊加起來成為一個完整的網路。而剛才包含5個block的cell的搜索空間是非常大的,如上圖等式所示。而之前介紹的無論是強化學習還是基於進化演算法,都是直接搜索,這在搜索開始是非常迷茫的,那麼如果不直接在那個空間進行搜索,而是漸進式地進行如下操作會怎樣呢:

首先訓練所有的1-block cells,只有256個這樣的cell。雖然可以通過枚舉的方式,但性能會很低,因為只有1個block的cell不如包含5個block的cell有效。但是,這部分性能信息可以為是否繼續採用這個cell的信號提供輔助,基於1-block cell的表現,我們可以嘗試發現最有希望的2-block cell,並對其進行訓練,如此迭代,即可構建整個網路。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

可以概括為一個簡單的演算法,訓練和評估當前有b個blocks的cells,然後根據其中最好的K個cells來枚舉b+1個blocks,然後去訓練和評估。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

而實際上,這個演算法是不能真正奏效的,因為,對於一個合理的K(如〖10〗^2),需要訓練的子網路就高達〖10〗^5個,此運算量已經超過了以往的方法。因此,我們提出了一個準確率預測器,它可以不用訓練和測試,而是只通過觀察數串,就能評估一個模型是否是有潛力的。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

我們使用了一個LSTM網路來做準確率預測器,之所以使用它,是因為在不同的block中可以使用同一個預測器。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

這裡給出完整的Progressive Neural Architecture Search的演算法。首先訓練並評估當前b個blocks的K個cells,然後通過這些數據的表現來更新準確率預測器,可以使準確率預測器更精確,藉助預測器識別K個最有可能的b+1個block。這樣學出來的結果可能不是最正確的,但卻是一個合理的trade-off結果。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

舉個例子 ,最開始b=1,Q1時有256個網路,對它全部訓練測試,然後用這K個數據點訓練準確率預測器。枚舉Q1的所有後代M1,並把這個準確率預測器運用在M1的每個元素上,選出其中最好的K個,即得到了b=2時的集合Q2。然後將b=2的網路進行訓練測試,經過上述相同的過程,可以得到Q3。Q3中最好的模型即為PNAS返回的結果。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

實驗分為兩個過程,一個是在搜索過程中,另一個是在搜索之後。在搜索過程中,我們使用CIFAR-10這個相對較小的數據集,每一個子網路訓練的epoch都設置為20,K取為256,N為2,F為24,這些參數都是相對較小的。在搜索之後,我們在CIFAR-10和ImageNet上進行測試,使用了更長的epochs,更大的N,F。我們這個工作的目的是加速NAS的過程,下面是實驗對比。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

接下來對比PNAS和之前的NAS方法,藍色的點是PNAS,紅色的是NAS,五個藍色的chunk對應b=1,2,3,4。每個chunk里有256個點,隨著b的增加,進到越來越複雜的搜索空間。可以看出相比於紅色的點,藍色的點上漲更加快也更加緊緻。右邊是一個放大的圖。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

如圖是最後學習到的網路結構,可以看出,最開始學習到的是separable和max convolution的組合,後面漸漸學習到更多的組合。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

PNASNet-5是我們在搜索的過程中找到的最好的網路結構,它由5個block組成。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

這是我們在CIFAR-10上的對比結果,RL表示演算法基於強化學習,EA表示基於遺傳演算法,我們的演算法SMBO即sequential model based optimization,Error指最好模型的top-1誤分率。第一組基於強化學習的方法中最好的是NASNet-A,它的錯誤率是3.41%,所用參數個數為3.3M;第二組是基於遺傳演算法的方法,它是DeepMind在2018年ICLR發表的工作,它最好的錯誤率是3.63%,所用參數個數為61.3M,而第三組是我們的方法,在錯誤率為3.41的條件下,我們所用參數僅為3.2M,並且提速很多

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

這張圖更直觀地展示了如何達到了與NASNet-A可比的性能。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

為了驗證準確率預測器是否是信息豐富的,我們做了一個隨機的對比實驗,如果不用progressive neural architecture search,在每一個number of b的時候用隨機來代替。結果表明隨機的策略性能要差很多,尤其是最右,如果在每一個b的取值,都訓練256個模型的話,以準確率大於0.9為統計指標,隨機法只有三十多個,而PNAS有二百多個符合。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

最後是在ImageNet數據集上的對比,首先介紹在輕量神經網路的應用比對。我們控制Mult-Adds不超過600M,在這一條件下,PNASNet-5相比MobileNet-224,ShuffleNet(2x),和NASNet-A有最高的top1和top5的準確率

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

此外,對不加限制的模型進行比對,在實驗過程中盡量和NASNet-A的參數量保持一致,最後的top1準確率達到了82.9%。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

總結一下,本次報告中介紹的工作中最關鍵的幾個點:大多數現存的神經網路搜索方法都有很高的算力需求,由此產生高昂的時間代價,而我們試圖加速這個過程。思路的核心在於,將cells從簡單到複雜推進,加之比NASNet-A更緊緻的搜索空間,PNAS找到了一個可比的cell,只用了1280個而不是20000個子模型。這使得AutoML將可以用到更多有挑戰的數據集上。

論文地址:

https://arxiv.org/pdf/1712.00559v3.pdf

代碼:

https://github.com/tensorflow/models/tree/master/research/slim#Pretrained.

作者簡介:

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

劉晨曦,約翰霍普金斯大學三年級博士生,師從Bloomberg Distinguished Professor Alan Yuille。他分別在清華大學和加州大學洛杉磯分校獲得學士和碩士學位。他曾在Google, Adobe, Toyota Technological Institute at Chicago等諸多世界知名研究機構訪問實習。並在多個國際頂級會議期刊上發表論文,包括一篇CVPR oral、一篇CVPR spotlight、一篇NAACL oral、三篇ICCV、一篇AAAI。他的研究方向包括計算機視覺和自然語言處理,以及這兩者的交叉領域。個人主頁:http://www.cs.jhu.edu/~cxliu/

本文轉載自深度學習大講堂(ID: deeplearningclass),主編袁基睿,編輯楊茹茵。

新智元AI WORLD 2018大會【早鳥票】開售!

新智元將於9月20日在北京國家會議中心舉辦AI WORLD 2018 大會,邀請機器學習教父、CMU教授 Tom Mitchell,邁克思·泰格馬克,周志華,陶大程,陳怡然等AI領袖一起關注機器智能與人類命運。

大會官網:

http://www.aiworld2018.com/

即日起到8月19日,新智元限量發售若干早鳥票,與全球AI領袖近距離交流,見證全球人工智慧產業跨越發展。

ImageNet分類精度再創新高!李飛飛組ECCV Oral提出全新漸進式神經結構搜索

  • 活動行購票鏈接:

    http://www.huodongxing.com/event/6449053775000

  • 活動行購票二維碼:

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

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


請您繼續閱讀更多來自 新智元 的精彩文章:

「代碼+教程」重現「世界模型」實驗,無監督方式快速訓練
圖靈獎得主、密碼學先驅 Whitfield Diffie 全職加盟浙大,10月開課

TAG:新智元 |