0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AutoML又一利器來了!谷歌宣布開源AdaNet

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-11-01 09:40 ? 次閱讀

AutoML又一利器來了!今天,谷歌宣布開源AdaNet,這是一個輕量級的基于TensorFlow的框架,可以在最少的專家干預(yù)下自動學(xué)習(xí)高質(zhì)量的模型。

今天,谷歌宣布開源AdaNet,這是一個輕量級的基于TensorFlow的框架,可以在最少的專家干預(yù)下自動學(xué)習(xí)高質(zhì)量的模型。

這個項目基于Cortes等人2017年提出的AdaNet算法,用于學(xué)習(xí)作為子網(wǎng)絡(luò)集合的神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。

谷歌AI負責(zé)人Jeff Dean表示,這是谷歌AutoML整體工作的一部分,并且,谷歌同時提供了AdaNet的開源版本和教程notebook。

該團隊在介紹博客中表示:“AdaNet以我們最近的強化學(xué)習(xí)和基于進化的AutoML研究為基礎(chǔ),在提供學(xué)習(xí)保證的同時實現(xiàn)了快速、靈活。重要的是,AdaNet提供了一個通用框架,不僅可以學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu),還可以學(xué)習(xí)集成,以獲得更好的模型。”

AdaNet提供以下特征:

Estimator API,可輕松訓(xùn)練、評估和服務(wù)AdaNet模型。

學(xué)習(xí)在TensorFlow中集成用戶定義的子網(wǎng)。

用于在單個 train() 調(diào)用中搜索子網(wǎng)架構(gòu)和參數(shù)接口。

關(guān)于CPUGPU的分布式訓(xùn)練(我們正在開發(fā)TPU支持)。

一流的TensorBoard integration。

提供理論學(xué)習(xí)。

基于集成學(xué)習(xí)的自動搜索工具

集成學(xué)習(xí)(Ensemble learning)是將不同機器學(xué)習(xí)(ML)模型預(yù)測結(jié)合起來的技術(shù),廣泛用于神經(jīng)網(wǎng)絡(luò),以實現(xiàn)最先進的性能。得益于豐富的經(jīng)驗和理論保證,集成學(xué)習(xí)在許多Kaggle競賽中取得了成功,例如Netflix Prize。

由于訓(xùn)練時間長,集成學(xué)習(xí)在實踐中使用不多,而且選擇哪個ML模型需要根據(jù)其領(lǐng)域?qū)I(yè)知識來。

但隨著計算能力和專用深度學(xué)習(xí)硬件(如TPU)變得更容易獲得,機器學(xué)習(xí)模型的一個趨勢是變得更大,集成(ensemble)也就變得更加重要。

現(xiàn)在,AdaNet就是這樣一個工具,可以自動搜索神經(jīng)網(wǎng)絡(luò)架構(gòu),并學(xué)會將最好的架構(gòu)組合成一個高質(zhì)量的模型。

AdaNet易于使用,并能創(chuàng)建高質(zhì)量的模型,為ML實踐者節(jié)省了用于選擇最佳神經(jīng)網(wǎng)絡(luò)架構(gòu)的時間,實現(xiàn)了一種將學(xué)習(xí)神經(jīng)架構(gòu)作為子網(wǎng)絡(luò)集合的自適應(yīng)算法。

AdaNet能夠添加不同深度和寬度的子網(wǎng)絡(luò),以創(chuàng)建多樣化的集合,并通過參數(shù)數(shù)量來改進性能。

AdaNet自適應(yīng)地產(chǎn)生了神經(jīng)網(wǎng)絡(luò)的集成。在每次迭代中,它測量每個候選對象的集成損失,并選擇最佳的一個,然后進入下一次迭代。

快速且易于使用

AdaNet實現(xiàn)了TensorFlow Estimator接口,通過封裝訓(xùn)練、評估、預(yù)測和服務(wù)導(dǎo)出,大大簡化了機器學(xué)習(xí)編程。它集成了開源工具,如TensorFlow Hub模塊,TensorFlow Model Analysis和Google Cloud的Hyperparameter Tuner。分布式訓(xùn)練支持可顯著縮短訓(xùn)練時間,并可與可用的CPU和加速器(例如GPU)進行線性擴展。

AdaNet在CIFAR-100上每個訓(xùn)練步驟(X軸)的精度(y軸)。藍線是訓(xùn)練集上的性能,紅線是測試集上的性能。每一百萬步開始訓(xùn)練一個新的子網(wǎng)絡(luò),并最終提高整體的性能。在添加新子網(wǎng)之前,灰線和綠線是集合的準確度。

由于TensorBoard是用于在訓(xùn)練期間可視化模型性鞥的最佳TensorFlow功能之一,AdaNet可與其無縫集成,以監(jiān)控子網(wǎng)絡(luò)訓(xùn)練,集合組合和性能。當(dāng)AdaNet完成訓(xùn)練后,它會導(dǎo)出一個可以使用TensorFlow Serving部署的SavedModel。

學(xué)習(xí)保證

構(gòu)建神經(jīng)網(wǎng)絡(luò)集合面臨這么幾個挑戰(zhàn):要考慮的最佳子網(wǎng)架構(gòu)是什么?再此使用相同的架構(gòu)或鼓勵多樣性是不是最佳選擇?雖然具有更多參數(shù)的復(fù)雜子網(wǎng)將在訓(xùn)練集上表現(xiàn)更好,但由于其存在更強的復(fù)雜性,它們可能不會適用于未知數(shù)據(jù)。這些挑戰(zhàn)來自評估模型性能的過程。我們可以評估一個訓(xùn)練集子集的性能,但這樣做會減少可用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的示例數(shù)量。

相反,AdaNet的方法(在ICML 2017的“ AdaNet:人工神經(jīng)網(wǎng)絡(luò)的自適應(yīng)結(jié)構(gòu)學(xué)習(xí) ”一文中提出)是為了優(yōu)化一個對象,以平衡集合在訓(xùn)練集上的表現(xiàn)與其適用于未知數(shù)據(jù)的能力之間的權(quán)衡。集合這樣選擇子網(wǎng)絡(luò):只有當(dāng)候選子網(wǎng)絡(luò)改進了總體的訓(xùn)練損失,而不是影響了整體的泛化能力時,才包含這個候選子網(wǎng)絡(luò)。這保證了:

1.集合的泛化誤差受到訓(xùn)練誤差和復(fù)雜性的限制。

2.通過優(yōu)化對象,我們可以直接將限制最小化。

優(yōu)化對象的一個實際好處是:它不需要保留集來選擇要添加到集合中的候選子網(wǎng)。這還將帶來另一個好處:我們可以使用更多的訓(xùn)練數(shù)據(jù)來訓(xùn)練子網(wǎng)。

可擴展性

我們認為,為滿足研究和生產(chǎn)制作AutoML框架的關(guān)鍵在于不僅要提供合理的默認值,還要允許用戶嘗試自己子網(wǎng)及模型的定義。因此,機器學(xué)習(xí)研究人員、從業(yè)人員和愛好者均可報名定義自己的AdaNet adanet.subnetwork.Builder,通過使用高級別的TensorFlow API,如tf.layers

已經(jīng)在其系統(tǒng)中集成TensorFlow模型的用戶可以輕松地將他們的TensorFlow代碼轉(zhuǎn)換為AdaNet子網(wǎng),并使用adanet.Estimator提高模型性能,同時獲得學(xué)習(xí)保證。AdaNet將探測他們定義的候選子網(wǎng)的搜索空間,并學(xué)習(xí)整合子網(wǎng)。例如,我們采用了NASNet-A CIFAR架構(gòu)的開源實現(xiàn)方式,將其轉(zhuǎn)換為子網(wǎng),并在八次AdaNet迭代后對CIFAR-10最先進的結(jié)果進行改進。此外,我們的模型使用更少的參數(shù)實現(xiàn)了這一結(jié)果:

Zoph等人2018年提出的NASNet-A模型的性能,以及AdaNet學(xué)習(xí)在CIFAR-10上將小型NASNet-A子網(wǎng)結(jié)合起來的性能比較。

用戶也可以通過canned或定制tf.contrib.estimator.Heads將自定義損失函數(shù)用作AdaNet對象的一部分,以便訓(xùn)練回歸、分類和多任務(wù)學(xué)習(xí)問題。

用戶還可以通過擴展adanet.subnetwork.Generator類來完全定義候選子網(wǎng)絡(luò)的搜索空間。這允許他們根據(jù)可用硬件增大或減小搜索空間。子網(wǎng)絡(luò)的搜索空間可以很簡單,只需使用不同的隨機種子復(fù)制相同的子網(wǎng)絡(luò)配置,就能訓(xùn)練具有不同超參數(shù)組合的數(shù)十個子網(wǎng)絡(luò),并讓AdaNet選擇要包含在最終集合中的子網(wǎng)絡(luò)。

谷歌的研究團隊提供了GitHub repo和tutorial notebook,并且包含了一些使用dense layers和卷積的示例幫助大家入門。

AdaNet的數(shù)據(jù)集、工作原理和應(yīng)用范圍

今天,該項目的成員也在Reddit和ycombinator上回答讀者提問,我們精選了一些回答:

1、請問你使用該算法嘗試了哪些數(shù)據(jù)集?它是否只適用于圖像分類,比如Google的AutoML產(chǎn)品?

我們在圖像識別之外的幾個大型數(shù)據(jù)集上使用了AdaNet,包括結(jié)構(gòu)化數(shù)據(jù)(參見原始論文)和一些NLP數(shù)據(jù)集。在大多數(shù)情況下,AdaNet的性能優(yōu)于獨立訓(xùn)練的任何單個子網(wǎng)絡(luò)(這些子網(wǎng)絡(luò)可能使用非常復(fù)雜的架構(gòu),如NASNet-A)。

當(dāng)然,如何定義一個優(yōu)化搜索空間,并使用合理的搜索啟發(fā)方式/算法對于獲得最佳的最終模型非常重要,而且一般最佳的模型是使用強大的先驗,就像最先進的模型,并讓AdaNet學(xué)習(xí)將這些模型的不同變化結(jié)合起來。

但是,如果你希望AdaNet能夠通用于任意數(shù)據(jù)集,可以嘗試定義合理的搜索空間,比如搜索日益復(fù)雜的完全連接的神經(jīng)網(wǎng)絡(luò),并允許AdaNet學(xué)習(xí)將其組合到最佳模型中。

最終,這就是我們設(shè)計的AdaNet具備高度靈活性的原因:我們希望任何人嘗試建立對自己的數(shù)據(jù)集有意義的子網(wǎng)絡(luò)搜索空間,以便獲得最佳性能的最終模型。

2、官方資源庫中的示例是個更好的例子,說明了AdaNet的工作原理:

https://github.com/tensorflow/adanet/blob/master/adanet/examples/tutorials/adanet_objective.ipynb

盡管名字叫“AutoML”,但實際上似乎仍需要做很多工作才能實現(xiàn)模型的優(yōu)化。 (第二個示例在這方面的表現(xiàn)相對更好一些:

https://github.com/tensorflow/adanet/blob/master/adanet/examples/tutorials/customizing_adanet.ipynb)

確實,雖然AdaNet項目目前還不包含最先進的架構(gòu)搜索策略/搜索空間,但它確實為研究人員提供了一個抽象對象(adanet.subnetwork.Generator)來實現(xiàn)神經(jīng)架構(gòu)搜索算法,同時提供了適合用戶的生產(chǎn)友好型的TF Estimator界面,讓算法開發(fā)更容易集成到生產(chǎn)過程中,而且,已經(jīng)使用TF Estimator生態(tài)系統(tǒng)的用戶也可以更快地從這些開發(fā)成果中受益。

我想指出的是,盡管AdaNet的某些方面并不那么先進,但我們已經(jīng)看到AdaNet在各種各樣的任務(wù)上取得了良好的效果。大家都來試試看吧!

當(dāng)然,我們不會停下腳步!我們很高興自己也在這個領(lǐng)域工作,我們今后將繼續(xù)更新這個項目。

3、我還沒有細讀,但抱歉問一句;:AdaNet可以處理具有可變長度skip connections的塊嗎?(比如DenseNet),甚至能夠提供AmoebaNet風(fēng)格的模型嗎?指導(dǎo)超參數(shù)/架構(gòu)選擇過程的元策略(網(wǎng)格搜索/貝葉斯等)有哪些呢?謝謝!

這是個好問題!在最簡單的情況下,AdaNet允許用戶將獨立子網(wǎng)從線性模型集成到用戶定義的DenseNet / AmoebaNet式網(wǎng)絡(luò)上。但更有趣的是在迭代之間共享信息(這些信息可以是張量輸出,或是哪些超參數(shù)表現(xiàn)最好),以便AdaNet進行神經(jīng)架構(gòu)搜索。用戶可以定義自己的adanet子網(wǎng)生成器,指定如何跨迭代過程調(diào)整訓(xùn)練方式。

開箱即用的元策略其實和用戶簡單定義的啟發(fā)式算法差不多。但是,AdaNet框架足夠靈活,可以支持更智能的策略,并抽象出分布式訓(xùn)練(Estimator),評估(TensorBoard)和服務(wù)(tf.SavedModel)的復(fù)雜度。

4、機器學(xué)習(xí)和深度學(xué)習(xí)取得了如此大的進步??梢怨烙嬕幌挛倚枰嗌貱PU 和成本才能獲得一些結(jié)果嗎?我的數(shù)據(jù)訓(xùn)練量大約是20M的樣本(每個樣本1K數(shù)據(jù)點)。

這取決于你搜索的子網(wǎng)數(shù)量以及每個子網(wǎng)的訓(xùn)練成本。你可以使用單個DNN定義搜索空間,并為其提供一次迭代,這與固定DNN Estimator的操作相同。

比如說,假設(shè)搜索空間包含5個DNN,每個DNN完成一次迭代訓(xùn)練需要的成本為X,訓(xùn)練10次迭代,你的訓(xùn)練成本就是X x 5 x 10 = 50X。

但是,考慮到你使用AdaNet,可以考慮整合50個DNN進行探索、訓(xùn)練和選擇等流程,此外,由于AdaNet是作為TensorFlow Estimator實現(xiàn)的,如果這就是你想要的,可以很容易地增加機器數(shù)量,以加快訓(xùn)練速度。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6128

    瀏覽量

    104979
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4749

    瀏覽量

    100434
  • 強化學(xué)習(xí)
    +關(guān)注

    關(guān)注

    4

    文章

    265

    瀏覽量

    11198

原文標題:AutoML又一利器來了,谷歌宣布開源AdaNet(附教程)

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SensiML開源了Analytics Studio AutoML引擎

    我們很高興地宣布,我們的AutoML服務(wù)器應(yīng)用程序Analytics Studio將很快在開源許可下提供。我們還將推出個新的開源項目網(wǎng)站,
    的頭像 發(fā)表于 11-06 09:36 ?202次閱讀
    SensiML<b class='flag-5'>開源</b>了Analytics Studio <b class='flag-5'>AutoML</b>引擎

    霍尼韋爾宣布谷歌云達成合作

    近日,霍尼韋爾(Honeywell)宣布谷歌云(Google Cloud)達成合作,共同將生成式人工智能Gemini引入工業(yè)領(lǐng)域。這合作標志著霍尼韋爾在高科技和制造領(lǐng)域的又一次重要
    的頭像 發(fā)表于 10-23 17:36 ?415次閱讀

    大眾與谷歌合作,12萬車主率先體驗Gemini AI

    近日,汽車行業(yè)迎來了項激動人心的創(chuàng)新舉措。大眾汽車攜手科技巨頭谷歌,共同宣布項前所未有的合作計劃:邀請約12萬名大眾Atlas及Atl
    的頭像 發(fā)表于 09-26 14:56 ?303次閱讀

    Snapchat聊天機器人集成谷歌Gemini技術(shù)

    Snap與谷歌云的戰(zhàn)略合作再升級,為Snapchat平臺注入了新的智能活力。雙方宣布,Snapchat的My AI聊天機器人將深度集成谷歌Gemini技術(shù),這創(chuàng)新舉措標志著Snapc
    的頭像 發(fā)表于 09-25 14:51 ?233次閱讀

    谷歌發(fā)布安卓15源代碼,為開發(fā)者與Pixel用戶鋪就新路徑

    9月4日最新消息,谷歌公司已在昨日(9月3日)宣布項重要舉措,正式將安卓15的源代碼推送至安卓開源項目(AOSP),這動作標志著安卓操
    的頭像 發(fā)表于 09-04 15:40 ?534次閱讀

    谷歌任命原Character.AI首席執(zhí)行官為Gemini聯(lián)合技術(shù)負責(zé)人

    近日,谷歌宣布項重要人事任命,原Character.AI的聯(lián)合創(chuàng)始人兼首席執(zhí)行官諾姆·沙澤爾(Noam Shazeer)已重返谷歌,并將擔(dān)任其人工智能新項目“Gemini”的聯(lián)合技
    的頭像 發(fā)表于 08-26 11:06 ?456次閱讀

    SensiML開源AutoML解決方案-Piccolo AI發(fā)布

    SensiML強大的Analytics Studio軟件開發(fā)工具的開源版本-Piccolo AI發(fā)布了!Piccolo AI遵循AGPL許可,面向個人開發(fā)者、研究人員和AI愛好者,旨在將AutoML
    的頭像 發(fā)表于 07-22 16:53 ?707次閱讀

    騰訊突然宣布,微信鴻蒙版要來了

    今年初, 華為宣布HarmonyOS NEXT命名為“鴻蒙星河版” ,并計劃在二季度啟動開發(fā)者 Beta 計劃,四季度發(fā)布商用正式版。 消息出,不少人為之振奮。 鴻蒙星河版因不再兼容安卓開源
    發(fā)表于 04-30 19:34

    NVIDIA和谷歌宣布開展項新的合作,加速AI開發(fā)

    NVIDIA 和谷歌宣布開展項新的合作,以幫助全球初創(chuàng)企業(yè)加速創(chuàng)建生成式 AI 應(yīng)用和服務(wù)。
    的頭像 發(fā)表于 04-11 14:03 ?450次閱讀

    谷歌發(fā)布輕量級開源人工智能模型Gemma

    谷歌近日宣布推出開源人工智能(AI)模型系列Gemma,旨在為開發(fā)人員和研究人員提供個負責(zé)任的AI構(gòu)建平臺。這舉措標志著自2022年Op
    的頭像 發(fā)表于 02-23 11:38 ?779次閱讀

    谷歌宣布Gemma大模型全球開放使用

    谷歌公司近日宣布,其先進的AI大模型Gemma即日起在全球范圍內(nèi)開放使用。這新模型由谷歌DeepMind和其他團隊合作開發(fā),并與其最大的AI模型Gemini共享技術(shù)和基礎(chǔ)架構(gòu)。Gem
    的頭像 發(fā)表于 02-23 10:41 ?719次閱讀

    谷歌大型模型終于開放源代碼,遲到但重要的開源戰(zhàn)略

    在人工智能領(lǐng)域,谷歌可以算是開源的鼻祖。今天幾乎所有的大語言模型,都基于谷歌在 2017 年發(fā)布的 Transformer 論文;谷歌的發(fā)布的 BERT、T5,都是最早的
    發(fā)表于 02-22 18:14 ?404次閱讀
    <b class='flag-5'>谷歌</b>大型模型終于開放源代碼,遲到但重要的<b class='flag-5'>開源</b>戰(zhàn)略

    谷歌發(fā)布全球最強開源大模型Gemma

    谷歌近日宣布,其全新開源大模型Gemma正式亮相。Gemma被譽為全球性能最強大、同時也是最輕量級的模型系列,分為2B(20億參數(shù))和7B(70億)兩種尺寸版本。令人矚目的是,即便是2B版本,也能夠在筆記本電腦上流暢運行。
    的頭像 發(fā)表于 02-22 14:51 ?743次閱讀

    芯原與谷歌攜手合作開源項目Open Se Cura

    2023年12月19日,中國上海——芯原股份 (芯原,股票代碼:688521.SH) 今日宣布谷歌合作支持新推出的開源項目Open Se Cura。
    的頭像 發(fā)表于 12-19 09:07 ?414次閱讀

    解鎖未來軟件安全的利器——華為云 CodeArts 開源治理服務(wù)

    在當(dāng)今數(shù)字化時代,軟件安全問題愈發(fā)突顯,而開源軟件的廣泛應(yīng)用更是為安全挑戰(zhàn)蒙上了層陰影。開源軟件漏洞的逐年增多成為軟件安全的最大挑戰(zhàn)之,而企業(yè)在
    的頭像 發(fā)表于 12-10 21:01 ?877次閱讀
    解鎖未來軟件安全的<b class='flag-5'>利器</b>——華為云 CodeArts <b class='flag-5'>開源</b>治理服務(wù)