自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AutoML、AutoKeras......這四個「Auto」的自動機(jī)器學(xué)習(xí)方法你分得清嗎?

開發(fā) 開發(fā)工具 機(jī)器學(xué)習(xí)
本文對比了四種自動機(jī)器學(xué)習(xí)方法——AutoML、AutomatedML、AutoKeras、Auto-sklearn的設(shè)計(jì)理念及適用場景。

讓我們先來看一個簡短的童話故事…

從前,有一個魔法師,他使用一種無人再使用的編程語言,在一種無人再使用的框架下訓(xùn)練模型。一天,一位老人找到他,讓他為一個神秘的數(shù)據(jù)集訓(xùn)練一個模型。

這位魔法師孜孜不倦,嘗試了數(shù)千種不同的方式訓(xùn)練這個模型,但很不幸,都沒有成功。于是,他走進(jìn)了他的魔法圖書館尋找解決辦法。突然,他發(fā)現(xiàn)了一本關(guān)于一種神奇法術(shù)的書。這種法術(shù)可以把他送到一個隱藏的空間,在那里,他無所不知,他可以嘗試每一種可能的模型,能完成每一種優(yōu)化技術(shù)。他毫不猶豫地施展了這個法術(shù),被送到了那個神秘的空間。自那以后,他明白了如何才能得到更好的模型,并采用了那種做法。在回來之前,他無法抗拒將所有這些力量帶走的誘惑,所以他把這個空間的所有智慧都賜予了一塊名為「Auto」的石頭,這才踏上了返程的旅途。

從前,有個擁有「Auto」魔石的魔法師。傳說,誰掌握了這塊魔法石的力量,誰就能訓(xùn)練出任何想要的模型。

[[249121]]

哈利波特與死亡圣器

這樣的故事太可怕了,不是嗎?我不知道這個故事是不是真的,但在現(xiàn)代,機(jī)器學(xué)習(xí)領(lǐng)域的頭號玩家們似乎很有興趣將這樣的故事變成現(xiàn)實(shí)(可能會略有改動)。在這篇文章中,我將分享哪些設(shè)想是可以實(shí)現(xiàn)的,并幫助你直觀地理解它們的設(shè)計(jì)理念(盡管所有工具的名字中都有「auto」這個詞,但它們之間似乎并沒有共同之處)。

動機(jī)——人生艱難

在給定的數(shù)據(jù)集中實(shí)現(xiàn)當(dāng)前***模型性能通常要求使用者認(rèn)真選擇合適的數(shù)據(jù)預(yù)處理任務(wù),挑選恰當(dāng)?shù)乃惴?、模型和架?gòu),并將其與合適的參數(shù)集匹配。這個端到端的過程通常被稱為機(jī)器學(xué)習(xí)工作流(Machine Learning Pipeline)。沒有經(jīng)驗(yàn)法則會告訴我們該往哪個方向前進(jìn),隨著越來越多的模型不斷被開發(fā)出來,即使是選擇正確的模型這樣的工作也變得越來越困難。超參數(shù)調(diào)優(yōu)通常需要遍歷所有可能的值或?qū)ζ溥M(jìn)行抽樣、嘗試。然而,這樣做也不能保證一定能找到有用的東西。在這種情況下,自動選擇和優(yōu)化機(jī)器學(xué)習(xí)工作流一直是機(jī)器學(xué)習(xí)研究社區(qū)的目標(biāo)之一。這種任務(wù)通常被稱為「元學(xué)習(xí)」,它指的是學(xué)習(xí)關(guān)于學(xué)習(xí)的知識。

AZURE 的自動化機(jī)器學(xué)習(xí)(試用版)

  • 開源與否:否
  • 是否基于云平臺:是(可以完成任何計(jì)算目標(biāo)的模型的評價(jià)和訓(xùn)練)
  • 支持的模型類別:分類、回歸
  • 使用的技術(shù):概率矩陣分解+貝葉斯優(yōu)化
  • 訓(xùn)練框架: sklearn

這種方法的理念是,如果兩個數(shù)據(jù)集在一些工作流中能得到類似的(即相關(guān)的)結(jié)果,那么它們在其它的工作流中可能也會產(chǎn)生類似的結(jié)果。這聽起來可能似曾相識。如果你以前處理過推薦系統(tǒng)的協(xié)同過濾問題,你就知道「如果兩個用戶過去喜歡相同的項(xiàng)目,那么將來他們喜歡相似項(xiàng)目的可能性就會更大」。

由工作流 P 和數(shù)據(jù)集 D 組成的輸入矩陣的可視化。數(shù)字對應(yīng)于數(shù)據(jù)集 D 在工作流 P 上得到的平衡均值。

要解決這個問題意味著兩件事:學(xué)習(xí)一種隱藏的表示方法來捕獲不同數(shù)據(jù)集和不同機(jī)器學(xué)習(xí)工作流之間的關(guān)系,以預(yù)測某工作流在給定數(shù)據(jù)集上能夠獲得的準(zhǔn)確率;學(xué)習(xí)一種函數(shù),能夠成功地告訴你下一步應(yīng)該嘗試哪個工作流。***個任務(wù)是通過創(chuàng)建一個平衡后的準(zhǔn)確率組成的矩陣來完成的,不同的工作流可以應(yīng)對不同的數(shù)據(jù)集。論文《Probabilistic Matrix Factorization for Automated Machine Learning》描述了該方法,詳細(xì)說明了他們在超過 600 個數(shù)據(jù)集上嘗試的 42,000 個不同的機(jī)器學(xué)習(xí)工作流。也許這與你今天在 Azure 的試用版中看到的是不同的,但它可以為你提供一種思路。作者指出,隱藏表征不僅成功地捕獲了關(guān)于模型的信息,而且成功地捕獲了關(guān)于超參數(shù)和數(shù)據(jù)集特征的信息(注意,這個學(xué)習(xí)過程是以無監(jiān)督的方式進(jìn)行的)。

目前所描述的模型可以作為已經(jīng)評估的工作流的函數(shù)來預(yù)測每個機(jī)器學(xué)習(xí)工作流的預(yù)期性能,但是還沒有對下一步應(yīng)該嘗試哪個工作流給出任何指導(dǎo)。由于他們使用的是矩陣分解的概率版本,該方法可以生成關(guān)于工作流性能的預(yù)測后驗(yàn)分布,從而允許我們使用采集函數(shù)(貝葉斯優(yōu)化)來指導(dǎo)對機(jī)器學(xué)習(xí)工作流空間的探索。基本上,該方法可以選擇出下一個可以***化預(yù)期的準(zhǔn)確率提升的工作流。

然而,推薦系統(tǒng)飽受一個非常特殊的問題的困擾:冷啟動。如果一個新的數(shù)據(jù)集出現(xiàn)在系統(tǒng)中(也就是你的數(shù)據(jù)集),那么模型無從知曉這個新的數(shù)據(jù)集與什么相似。為了解決冷啟動問題,我們可以從數(shù)據(jù)集中計(jì)算出一些元特征,以捕獲觀測次數(shù)、分類的類別數(shù)、值的范圍等特征。然后通過這些指標(biāo)在已知數(shù)據(jù)集的空間中確定出一個封閉的數(shù)據(jù)集。他們在不同的工作流上嘗試了 5次,直到開始使用采集函數(shù)來通知自動機(jī)器學(xué)習(xí)系統(tǒng)接下來要嘗試的數(shù)據(jù)集。注意,這個方法不需要訪問實(shí)際的數(shù)據(jù)集,只需要訪問本地計(jì)算出的元特性(這大大減小了開銷)。

谷歌的 AUTOML(測試版)

  • 開源與否:否
  • 是否基于云平臺:是(訓(xùn)練和評價(jià))
  • 支持的模型類別:用于分類的卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長短期記憶網(wǎng)絡(luò)(LSTM)
  • 使用的技術(shù):帶梯度策略更新的強(qiáng)化學(xué)習(xí)
  • 訓(xùn)練框架:TensorFlow

說到神經(jīng)網(wǎng)絡(luò),最近***進(jìn)的模型的成功離不開從功能設(shè)計(jì)到架構(gòu)設(shè)計(jì)的范式轉(zhuǎn)換。也就是說,構(gòu)建能夠以無監(jiān)督的方式從數(shù)據(jù)中學(xué)習(xí)***表征的機(jī)器學(xué)習(xí)架構(gòu),而不是直接設(shè)計(jì)這樣的特性(這是復(fù)雜的,需要大量關(guān)于數(shù)據(jù)的先驗(yàn)知識)。然而,設(shè)計(jì)架構(gòu)仍然需要大量的知識和時(shí)間。谷歌 AutoML 的解決思路是創(chuàng)建一個元模型,該模型能夠?qū)W習(xí)一種方法,為子模型設(shè)計(jì)和生成能夠在感興趣的數(shù)據(jù)集上取得良好性能的架構(gòu)。

他們使用實(shí)現(xiàn)為 RNN 的神經(jīng)架構(gòu)搜索,生成編碼為長度可變token序列(「字符串」的一種精妙表達(dá)方式)的架構(gòu)。

使用該方法生成的 CNN 的編碼。每個顏色框?qū)?yīng)于RNN生成的建議體系架構(gòu)的一個參數(shù)(或token)。

一旦生成了一個架構(gòu),就會構(gòu)建并訓(xùn)練所提出的模型,最終記錄所獲得的精度。RNN經(jīng)過訓(xùn)練,使用了強(qiáng)化學(xué)習(xí)策略,該策略更新了RNN的參數(shù),以便隨著時(shí)間的推移生成更好的架構(gòu)。

生成的token序列可以看作是生成架構(gòu)時(shí)應(yīng)該執(zhí)行的動作(action)序列。該模型最終會得到一個數(shù)據(jù)集上的準(zhǔn)確率 R,我們可以考慮將 R 作為獎勵信號與強(qiáng)化學(xué)習(xí)算法一起訓(xùn)練 RNN。然而,這樣的獎勵是不可微的,這就是為什么他們建議通過一些改進(jìn)措施,使用策略梯度方法迭代更新參數(shù)(如Williams 等人在 1992 所提出的方法)。由于訓(xùn)練過程非常耗時(shí),他們使用分布式訓(xùn)練和異步參數(shù)更新來加速學(xué)習(xí)過程,如 Dean 等人在 2012 發(fā)表的論文中提出的方法。

它能生成什么樣的模型?根據(jù)谷歌大腦發(fā)表的相關(guān)論文《NEURALARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING》,在卷積架構(gòu)方面,他們將修正過的線性單元用于非線性模型(Nair & Hinton, 2010)、批量歸一化(Ioffe &Szegedy, 2015)和跳躍連接(Szegedy et al., 2015 and He et al.,2016a)。對于每個卷積層,它可以在 [1,3,5,7] 中選擇一個濾波器高度,在 [1,3,5,7] 中選擇一個濾波器寬度,在 [24,36,48] 中選擇多個濾波器。在步長方面,它必須預(yù)測 [1,2,3] 中的步長。對于 RNN 和 LSTM,該架構(gòu)支持在[identity,tanh, sigmoid, relu] 中選擇激活函數(shù)。RNN 神經(jīng)元的輸入對的數(shù)量(「基數(shù)」)設(shè)置為 8。

AUTOKERAS

  • 開源與否:是
  • 是否基于云平臺:否
  • 支持的模型類別:用于分類的卷積神經(jīng)網(wǎng)路(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長短期記憶網(wǎng)絡(luò)(LSTM)
  • 使用的技術(shù):高效神經(jīng)架構(gòu)搜索(參見《Efficient NeuralArchitecture Search via Parameter Sharing》)
  • 訓(xùn)練框架:Keras

AutoKeras 和谷歌AutoML 的構(gòu)建思路相同:它使用一個通過循環(huán)訓(xùn)練的 RNN 控制器,對候選架構(gòu)(即子模型)進(jìn)行采樣,然后對其進(jìn)行訓(xùn)練,以測量其在期望任務(wù)中的性能。接著,控制器使用性能作為指導(dǎo)信號,以找到更有前景的架構(gòu)。然而,我們之前沒有提到計(jì)算過程的代價(jià)有多高。實(shí)際上,神經(jīng)架構(gòu)搜索在計(jì)算上非常昂貴、耗時(shí),例如 Zoph 等人在 2018 年發(fā)表的論文使用 450 個 GPU 運(yùn)行了大約 4 萬個 GPU 小時(shí)。另一方面,使用更少的資源往往產(chǎn)生傾倒的結(jié)果。為了解決這個問題,AutoKeras使用了高效神經(jīng)架構(gòu)搜索(ENAS)。

ENAS 應(yīng)用了一個類似于遷移學(xué)習(xí)的概念,其思想是:在特定任務(wù)上為特定模型學(xué)習(xí)的參數(shù)可以用于其他任務(wù)上的其他模型。因此,ENAS 迫使所有生成的子模型共享權(quán)值,從而刻意防止從頭開始訓(xùn)練每一個子模型。這篇論文的作者表明,ENAS 不僅可以在子模型之間共享參數(shù),還能夠獲得非常強(qiáng)的性能。

Auto-sklearn

  • 開源與否:是
  • 是否基于云平臺:否
  • 支持的模型類別:分類、回歸
  • 使用的技術(shù):貝葉斯優(yōu)化+自動集成構(gòu)造
  • 訓(xùn)練框架:sklearn

Auto-sklean 是基于Auto-Weka(https://www.automl.org/automl/autoweka/)使用的 CASH(組合算法選擇和超參數(shù)優(yōu)化)問題的定義以及和 AzureAutomated ML 相同的思路構(gòu)建的:他們考慮同時(shí)選擇一個學(xué)習(xí)算法和設(shè)置其超參數(shù)的問題。他們提出的主要區(qū)別是將兩個額外的步驟合并到主進(jìn)程中:一開始是元學(xué)習(xí)步驟,***是自動化集成構(gòu)造步驟,詳情請參閱論文《Efficient and Robust Automated Machine Learning》。

auto-sklearnAutoML 方法

auto-sklearnAutoML 方法

該方法使用了全部 38 個元特征來描述數(shù)據(jù)集,包括簡單的、信息論的和統(tǒng)計(jì)的元特征,如數(shù)據(jù)點(diǎn)的數(shù)量、特征和分類,以及數(shù)據(jù)偏度和目標(biāo)的熵。利用這些信息,他們會選擇 k 個采樣點(diǎn)作為貝葉斯優(yōu)化的初始采樣點(diǎn)(seed)。注意,這種元學(xué)習(xí)方法通過使用數(shù)據(jù)集存儲庫來獲得強(qiáng)大的功能(就像 Azure Automated ML 那樣)。

在完成貝葉斯優(yōu)化之后,它們會構(gòu)建一個由所有嘗試過的模型組成的集成模型。這一步的思路是將訓(xùn)練每個模型所做的努力都存儲下來。他們沒有拋棄這些模型而選擇更好的模型,而是將它們存儲起來,最終構(gòu)建出一個它們的集成模型。這種自動集成構(gòu)造方法避免了讓自己陷入單個超參數(shù)的設(shè)置中,因此魯棒性更強(qiáng)(并且不容易過擬合)。他們使用集成選擇(這個貪婪過程從空集成開始,迭代地添加能夠***化集成驗(yàn)證性能的模型)來構(gòu)建集成模型。

結(jié)語和點(diǎn)評

每一種方法都有各自的優(yōu)缺點(diǎn),也有其各自的賽道。Azure Automatic ML 和 auto-sklearn 是基于相同的思想構(gòu)建的,它們被用于回歸和分類任務(wù),計(jì)算量較少,因此實(shí)現(xiàn)成本較低。他們不需要整個數(shù)據(jù)集可見(只要構(gòu)造的模型能夠生成的),如果對數(shù)據(jù)隱私有要求的話,那么使用這兩種框架是很合適的。然而,他們嚴(yán)重依賴于已經(jīng)獲取到的數(shù)據(jù)集。除了事先處理過的機(jī)器學(xué)習(xí)工作流外,他們不能嘗試任何新的東西。我個人十分懷疑能否把這樣的方法稱為元學(xué)習(xí)。

另一方面,谷歌 AutoML 和 AutoKeras 也使用了相同的方法,它們試圖學(xué)習(xí)一種從頭開始構(gòu)建模型的方法。這是一個更有野心的做法,這也是為什么它在動作空間上更有限(CNN、RNN、LSTM)。然而,他們使用的強(qiáng)化學(xué)習(xí)方法使他們能夠探索構(gòu)建模型的新方法(谷歌聲稱他們的方法發(fā)現(xiàn)了一個比他們已有的模型好 1.05 倍的模型)。這聽起來更像是元學(xué)習(xí)。然而,強(qiáng)化學(xué)習(xí)方法需要消耗大量的計(jì)算能力,這也就是它們每小時(shí)收費(fèi) 20 美元的原因。而這種情況下,AutoKeras 為了提高準(zhǔn)確率進(jìn)行的性能優(yōu)化是很有吸引力的(另外它是開源的,如果你關(guān)心隱私的話,這也是一個好消息)。

原文鏈接:

https://medium.com/@santiagof/auto-is-the-new-black-google-automl-microsoft-automated-ml-autokeras-and-auto-sklearn-80d1d3c3005c

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2017-12-14 20:25:32

2018-04-19 22:57:43

無線接入網(wǎng)vRANRAN

2023-11-28 08:25:49

分布式鎖事務(wù)

2017-04-12 14:33:01

機(jī)器學(xué)習(xí)數(shù)據(jù)分析開發(fā)

2020-09-26 22:20:52

ML自動機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2015-10-30 10:23:27

創(chuàng)業(yè)選擇思考問題

2023-10-23 07:13:04

2023-02-20 07:46:45

機(jī)器學(xué)習(xí)AI 技術(shù)

2020-06-10 07:37:01

自由軟件開源軟件免費(fèi)軟件

2017-05-16 11:09:56

2020-12-18 07:42:30

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)

2018-06-29 15:07:13

代碼工程師軟件開發(fā)

2019-10-29 14:54:20

Kafka消息系統(tǒng)分布式

2018-12-20 09:30:59

分布式高并發(fā)多線程

2022-04-13 15:35:56

交互方案設(shè)計(jì)師用戶

2021-08-23 10:37:14

Javascript 機(jī)器學(xué)習(xí)阿里云

2015-04-15 11:31:14

智能硬件智能家居

2024-10-10 11:49:27

2017-07-27 10:46:44

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)

2015-08-13 10:49:33

WLAN無線局域網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號