什么是自動機器學(xué)習(xí)
機器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科。專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能。它是人工智能核心,是使計算機具有智能的根本途徑。
機器學(xué)習(xí)是一門多學(xué)科交叉專業(yè),涵蓋概率論知識,統(tǒng)計學(xué)知識,近似理論知識和復(fù)雜算法知識,使用計算機作為工具并致力于真實實時的模擬人類學(xué)習(xí)方式,并將現(xiàn)有內(nèi)容進(jìn)行知識結(jié)構(gòu)劃分來有效提高學(xué)習(xí)效率。
機器學(xué)習(xí)有下面幾種定義:
(1)機器學(xué)習(xí)是一門人工智能的科學(xué),該領(lǐng)域的主要研究對象是人工智能,特別是如何在經(jīng)驗學(xué)習(xí)中改善具體算法的性能。
(2)機器學(xué)習(xí)是對能通過經(jīng)驗自動改進(jìn)的計算機算法的研究。
(3)機器學(xué)習(xí)是用數(shù)據(jù)或以往的經(jīng)驗,以此優(yōu)化計算機程序的性能標(biāo)準(zhǔn)。
自動機器學(xué)習(xí)(AutoML)旨在通過讓一些通用步驟(如數(shù)據(jù)預(yù)處理、模型選擇和調(diào)整超參數(shù))自動化,來簡化機器學(xué)習(xí)中生成模型的過程。AutoML是指盡量不通過人來設(shè)定超參數(shù),而是使用某種學(xué)習(xí)機制,來調(diào)節(jié)這些超參數(shù)。這些學(xué)習(xí)機制包括傳統(tǒng)的貝葉斯優(yōu)化,進(jìn)化算法,還有比較新的強化學(xué)習(xí)。當(dāng)我們提起AutoML時,我們更多地是說自動化數(shù)據(jù)準(zhǔn)備(即數(shù)據(jù)的預(yù)處理,數(shù)據(jù)的生成和選擇)和模型訓(xùn)練(模型選擇和超參數(shù)調(diào)優(yōu))。這個過程的每一步都有非常多的選項,根據(jù)我們遇到的問題,需要設(shè)定各種不同的選項。
對于機器學(xué)習(xí)的新用戶而言,使用機器學(xué)習(xí)算法的一個主要的障礙就是算法的性能受許多的設(shè)計決策影響。隨著深度學(xué)習(xí)的流行,工程師需要選擇相應(yīng)的神經(jīng)網(wǎng)絡(luò)架構(gòu)、訓(xùn)練過程、正則化方法和超參數(shù)等等,所有的這些都對算法的性能有很大的影響。于是深度學(xué)習(xí)工程師也被戲稱為調(diào)參工程師。自動機器學(xué)習(xí)的目標(biāo)就是使用自動化的數(shù)據(jù)驅(qū)動方式來做出上述的決策。用戶只要提供數(shù)據(jù),自動機器學(xué)習(xí)系統(tǒng)自動的決定最佳的方案。領(lǐng)域?qū)<也辉傩枰鄲烙趯W(xué)習(xí)各種機器學(xué)習(xí)的算法。自動機器學(xué)習(xí)不光包括大家熟知的算法選擇,超參數(shù)優(yōu)化,和神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,還覆蓋機器學(xué)習(xí)工作流的每一步。自動機器學(xué)習(xí)的用處就在于此,它幫助研究人員和從業(yè)者自動構(gòu)建機器學(xué)習(xí)管道,將多個步驟及其對應(yīng)的多個選項集成為工作流,以期快速找到針對給定問題的高性能機器學(xué)習(xí)模型。
AutoML的基本過程:虛框是配置空間,包括特征、超參數(shù)和架構(gòu);左邊訓(xùn)練數(shù)據(jù)進(jìn)入,上面的優(yōu)化器和它相連,定義的測度發(fā)現(xiàn)最佳配置,最后出來的是模型;測試數(shù)據(jù)在模型中運行,實現(xiàn)預(yù)測的目的。
從ML角度看AutoML:從這個角度來看,AutoML本身也可以看作是一種學(xué)習(xí)工具,它對輸入數(shù)據(jù)(即E)和給定任務(wù)(即T)具有良好的泛化性能(即P)。然而,傳統(tǒng)的ML研究更多地關(guān)注發(fā)明和分析學(xué)習(xí)工具,它并不關(guān)心這些工具的使用有多容易。一個這樣的例子恰恰是從簡單模型到深度模型的最新趨勢,它可以提供更好的性能,但也很難配置。相比之下,AutoML強調(diào)了學(xué)習(xí)工具的易用性。
從自動化角度看AutoML:另一方面,自動化是使用各種控制系統(tǒng)在構(gòu)建模塊下運行。為了更好地預(yù)測性能,ML工具的配置應(yīng)該通過輸入數(shù)據(jù)適應(yīng)任務(wù),這通常是手動執(zhí)行的。如圖所示,從這個角度來看,AutoML的目標(biāo)是在學(xué)習(xí)工具下構(gòu)建高級控制方法,以便在沒有人工幫助的情況下找到正確的配置。