《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 終結谷歌每小時20美元的AutoML,!開源的AutoKeras了解下

終結谷歌每小時20美元的AutoML,!開源的AutoKeras了解下

2018-08-03

谷歌AutoML 每小時收費 20 美元,,是不是很肉疼?GitHub 上的一個開源項目為廣大從業(yè)者帶來了福音,。這種名為 AutoKeras 的開源 Python 包為昂貴的 AutoML 提供了免費替代品,。AutoKeras 使用高效神經(jīng)網(wǎng)絡自動架構搜索 ENAS,具有安裝快速,、運行簡單,、案例豐富、易于修改等優(yōu)點,,而且所有代碼都是開源的,!想要嘗鮮的小伙伴可以了解一下。

微信圖片_20180803155612.jpg


每小時 20 美刀的 AutoML


Google AI 終于發(fā)布了 AutoML 的 beta 版,,有人說這項服務將徹底改變深度學習的方式,。


beta 版鏈接:https://cloud.google.com/automl/


谷歌的 AutoML 是機器學習工具中新的云軟件集,。它基于谷歌最先進的圖像識別研究——神經(jīng)網(wǎng)絡自動架構搜索(Neural Architecture Search,NAS),。NAS 是一種在給定特定數(shù)據(jù)集中的算法,,用于搜索在該數(shù)據(jù)集上完成特定任務的最優(yōu)神經(jīng)網(wǎng)絡。AutoML 是一套機器學習的工具,,可以讓用戶輕松地訓練高性能的深度網(wǎng)絡,,而無需用戶具備任何深度學習或人工智能方面的知識;你所需要的只是標簽數(shù)據(jù),!谷歌將使用 NAS 為特定的數(shù)據(jù)集和任務找到最優(yōu)網(wǎng)絡,。他們已經(jīng)展示了該模型如何取得遠優(yōu)于手工設計網(wǎng)絡的性能。


AutoML 完全改變了整個機器學習圈,,因為對于許多應用程序來說,,有了它就不再需要專業(yè)技能和專業(yè)知識了。許多公司只需要深度網(wǎng)絡完成簡單的任務,,如圖像分類,。在這一點上,他們不需要招五個機器學習博士,,只需要一個能處理數(shù)據(jù)遷移和數(shù)據(jù)組織的人即可,。


那么 AutoML 會是讓所有公司或者個人輕松做人工智能的「萬能鑰匙」嗎?


沒那么快,!


在計算機視覺中使用谷歌的 AutoML,,每小時將花費 20 刀。簡直瘋了,!除非花錢去試,,不然你都無法確定 AutoML 是否真的比你自己手工設計的網(wǎng)絡更準確。有趣的是,,在谷歌以此盈利之前,,無論在谷歌還是 AI 社區(qū),人們都更傾向于開源,,將知識分享給每一個人,。


而谷歌的 AutoML 就將敗在「開源」上。


幫你省錢的開源 AutoKeras


AutoKeras 是一個由易用深度學習庫 Keras 編寫的開源 python 包,。AutoKeras 使用 ENAS——神經(jīng)網(wǎng)絡自動架構搜索的高效新版本,。AutoKeras 包可通過 pip install autokeras 快速安裝,然后你就可以免費在準備好在的數(shù)據(jù)集上做你自己專屬的架構搜索,。


因為所有的代碼都是開源的,,所以如果你想實現(xiàn)真正的自定義,你甚至可以利用其中的參數(shù),。所有都來自 Keras,,所以代碼都很深入淺出,,能幫助開發(fā)人員快速準確地創(chuàng)建模型,并允許研究人員深入研究架構搜索,。


AutoKeras 具備一個好的開源項目該有的一切:安裝快速,,運行簡單,案例豐富,,易于修改,,甚至可以看到最后 NAS 找到的網(wǎng)絡模型!偏愛 TensorFlow 或 Pytorch 的用戶可點擊以下鏈接:


https://github.com/melodyguan/enas

https://github.com/carpedm20/ENAS-pytorch


用戶可以嘗試利用 AutoKeras 或其他任何實現(xiàn)方式替代 AutoML,,它們的價格便宜得離譜,。或許谷歌正暗中改進 AutoML,,與各種開源方法拉開差距,,但 NAS 模型的表現(xiàn)與手工設計的模型差距很小,付出這么高的代價真的值得嗎,?


知識應該是開源的


總體來看,,深度學習和 AI 是一種非常強大的技術,我們不應該為其設置如此之高的成本壁壘,。沒錯,,谷歌、亞馬遜,、蘋果,、Facebook 及微軟都需要賺錢才能在競爭中存活下來。但現(xiàn)在,,研究論文是公開的,,我們的深度學習庫可以快速復制這些方法,在公開內容唾手可得的情況下,,為用戶設置使用障礙是沒有意義的,。


這里有一個更嚴重的潛在問題:知識本身正在被隱藏。AI 領域最新趨勢中非??扇牲c的一點就是:許多研究社區(qū)都決定在 arXiv 等網(wǎng)站上快速,、公開地發(fā)表自己的研究成果,,以與其他社區(qū)分享并獲得反饋,。此外還有一個趨勢變得越來越明顯,即在 Github 上發(fā)布研究代碼以供復制以及在研究和實際應用中實現(xiàn)算法的進一步應用,。然而,,我們仍然能看到這種研究受困于高高的成本壁壘。


分享有助于每個人知識的增長和科學的進步,。知識應該是開源的,,這一點毋庸置疑,,而且造福人人。


項目鏈接:https://github.com/jhfjhfj1/autokeras


AutoKeras 技術解析


相比于 AutoML,,AutoKeras 采用的架構搜索方法是一種結合了貝葉斯優(yōu)化的神經(jīng)架構搜索,。它主要關注于降低架構搜索所需要的計算力,并提高搜索結果在各種任務上的性能,。以下我們將從神經(jīng)架構搜索到貝葉斯優(yōu)化介紹 AutoKeras 背后的技術,,并期望讀者們能嘗試使用這樣的開源技術完成各種優(yōu)秀的應用。


神經(jīng)架構搜索(NAS)是自動機器學習中一種有效的計算工具,,旨在為給定的學習任務搜索最佳的神經(jīng)網(wǎng)絡架構,。然而,現(xiàn)有的 NAS 算法通常計算成本很高,。另一方面,,網(wǎng)絡態(tài)射(network morphism)已經(jīng)成功地應用于神經(jīng)架構搜索。網(wǎng)絡態(tài)射是一種改變神經(jīng)網(wǎng)絡架構但保留其功能的技術,。因此,,我們可以利用網(wǎng)絡態(tài)射操作將訓練好的神經(jīng)網(wǎng)絡改成新的體系架構,如,,插入一層或添加一個殘差連接,。然后,只需再加幾個 epoch 就可以進一步訓練新架構以獲得更好的性能,。


基于網(wǎng)絡態(tài)射的 NAS 方法要解決的最重要問題是運算的選擇,,即從網(wǎng)絡態(tài)射運算集里進行選擇,將現(xiàn)有的架構改變?yōu)橐环N新的架構,?;谧钚戮W(wǎng)絡態(tài)射的方法使用深度強化學習控制器,這需要大量的訓練樣例,。另一個簡單的方法是使用隨機算法和爬山法,,這種方法每次只能探索搜索區(qū)域的鄰域,并且有可能陷入局部最優(yōu)值,。


貝葉斯優(yōu)化已被廣泛用于基于觀察有限數(shù)據(jù)的尋找函數(shù)最優(yōu)值過程,。它經(jīng)常被用于尋找黑箱函數(shù)的最優(yōu)點,其中函數(shù)的觀察值很難獲取,。貝葉斯優(yōu)化的獨特性質啟發(fā)了研究者探索它在指導網(wǎng)絡態(tài)射減少已訓練神經(jīng)網(wǎng)絡數(shù)量的能力,,從而使搜索更加高效。


為基于網(wǎng)絡態(tài)射的神經(jīng)架構搜索設計貝葉斯優(yōu)化方法是很困難的,,因為存在如下挑戰(zhàn):首先,,其潛在的高斯過程(GP)在傳統(tǒng)上是用于歐氏空間的,為了用觀察數(shù)據(jù)更新貝葉斯優(yōu)化,,潛在高斯過程將使用搜索到的架構和它們的性能來訓練,。然而,,神經(jīng)網(wǎng)絡架構并不位于歐氏空間,并且很難參數(shù)化為固定長度的向量,。


其次,,采集函數(shù)需要進行優(yōu)化以生成下一個架構用于貝葉斯優(yōu)化。然而,,這個過程不是最大化歐氏空間里的一個函數(shù)來態(tài)射神經(jīng)架構,,而是選擇一個節(jié)點在一個樹架構搜索空間中擴展,其中每個節(jié)點表示一個架構,,且每條邊表示一個態(tài)射運算,。傳統(tǒng)的類牛頓或基于梯度的方法不能簡單地進行應用。第三,,網(wǎng)絡態(tài)射運算改變神經(jīng)架構的的一個層可能會導致其它層的很多變化,,以保持輸入和輸出的一致性,這在以前的研究中并沒有定義,。網(wǎng)絡態(tài)射運算在結合了跳過連接的神經(jīng)架構搜索空間中是很復雜的,。


在 AutoKeras 作者提交的論文中,研究人員們提出了一種帶有網(wǎng)絡態(tài)射的高效神經(jīng)架構搜索,,它利用貝葉斯優(yōu)化通過每次選擇最佳運算來引導搜索空間,。為應對上述挑戰(zhàn),研究者創(chuàng)建了一種基于編輯距離(edit-distance)的神經(jīng)網(wǎng)絡核函數(shù),。與網(wǎng)絡態(tài)射的關鍵思路一致,,它給出了將一個神經(jīng)網(wǎng)絡轉化為另一個神經(jīng)網(wǎng)絡需要多少運算。此外,,研究者為樹形架構搜索空間專門設計了一種新的采集函數(shù)優(yōu)化器,,使貝葉斯優(yōu)化能夠從運算中進行選擇。優(yōu)化方法可以在優(yōu)化過程中平衡探索和利用,。此外,,作者還定義了一個網(wǎng)絡級態(tài)射,以解決基于前一層網(wǎng)絡態(tài)射的神經(jīng)架構中的復雜變化,。該方法被封裝成一個開源軟件,,即 AutoKeras,在基準數(shù)據(jù)集上進行評估,,并與最先進的基線方法進行比較,。


該論文的主要貢獻總結如下:


結合網(wǎng)絡態(tài)射提出了一種高效的神經(jīng)架構搜索算法;

提出了利用神經(jīng)網(wǎng)絡內核的 NAS 貝葉斯優(yōu)化,、樹結構采集函數(shù)的優(yōu)化以及網(wǎng)絡級的態(tài)射,;

開發(fā)了一個開源軟件 AutoKeras,基于本文提出的神經(jīng)架構搜索方法,;

在基準數(shù)據(jù)集上運行了大量試驗來評估該方法,。


論文:Efficient Neural Architecture Search with Network Morphism

微信圖片_20180803155643.jpg


論文地址:https://arxiv.org/abs/1806.10282


雖然目前深度神經(jīng)網(wǎng)絡自動調參領域非常關注神經(jīng)架構搜索(NAS),但現(xiàn)存的搜索算法通常面臨計算成本高昂的困境,。網(wǎng)絡態(tài)射(Network morphism)在改變神經(jīng)網(wǎng)絡架構的同時保留它的功能,,因此能在搜索過程中實現(xiàn)更有效的訓練來幫助 NAS。然而,,基于 NAS 的網(wǎng)絡態(tài)射仍然在計算上比較昂貴,,這主要因為對現(xiàn)有的架構選擇合適的變形操作效率比較低。


眾所周知,,貝葉斯優(yōu)化已經(jīng)廣泛應用于優(yōu)化基于有限觀察值的目標函數(shù),,這激勵我們探索利用貝葉斯優(yōu)化加速變形運算選擇過程。本論文中提出了一種新穎的框架,,它引入了神經(jīng)網(wǎng)絡核函數(shù)和樹架構的采集函數(shù)最優(yōu)化方法,,并允許使用貝葉斯優(yōu)化為高效的神經(jīng)架構搜索引導網(wǎng)絡態(tài)射。通過使用貝葉斯優(yōu)化選擇網(wǎng)絡態(tài)射操作,,搜索空間的探索會更加高效,。此外,將這一方法精心包裝成一個開源軟件,,即 AutoKeras,,沒有豐富機器學習背景的開發(fā)者也可以便捷地使用它。研究者已經(jīng)對真實數(shù)據(jù)集做了密集的實驗,,并證明了開發(fā)的框架對于當前最優(yōu)的基線模型有更優(yōu)的性能,。


研究過程中需要解決的第一個問題是:NAS 空間不是歐氏空間,它并不滿足傳統(tǒng)高斯過程的假設,。由于架構包含的層級數(shù)和參數(shù)數(shù)量并不確定,,因此向量化所有神經(jīng)架構是不切實際的。此外,,因為高斯過程是一種核方法,,所以研究人員使用神經(jīng)網(wǎng)絡核函數(shù)以解決 NAS 搜索空間的問題,而不是直接向量化神經(jīng)架構,。核函數(shù)背后的原理可直觀理解為將一個神經(jīng)架構變形為另一個所需的編輯距離,。

微信圖片_20180803155726.jpg

圖 1:神經(jīng)網(wǎng)絡核函數(shù)


我們需要解決的第二個問題是采集函數(shù)(acquisition function)最優(yōu)化。在歐氏空間上定義了傳統(tǒng)采集函數(shù),,其優(yōu)化方法不適用于通過網(wǎng)絡態(tài)射進行的樹架構搜索,。因此本文提出一種優(yōu)化樹架構空間采集函數(shù)的新方法。

微信圖片_20180803155751.jpg


評估該方法有效性的結果如表 1 所示,。我們的方法在所有數(shù)據(jù)集上的錯誤率最低,。

微信圖片_20180803155830.jpg

表 1:分類錯誤率 


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:aet@chinaaet.com。