選自 Nature
作者:Zoubin Ghahramani
機(jī)器之心編譯
參與:Quantum Cheese、微胖、李亞洲、盛威、黃清緯、杜夏德、吳攀
機(jī)器如何從經(jīng)驗中學(xué)習(xí)?概率建模提供了一個框架,幫助我們理解什么是學(xué)習(xí),也因此成為了設(shè)計可從經(jīng)驗數(shù)據(jù)中學(xué)習(xí)的機(jī)器的主要理論和實踐辦法。這種描述了如何表征和控制模型和預(yù)測的不確定性的概率框架,在科學(xué)數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、機(jī)器人技術(shù)、認(rèn)知科學(xué)以及人工智能領(lǐng)域中扮演著中心角色。這篇評論介紹了這種框架,并討論了該領(lǐng)域的最新進(jìn)展——即概率編程、貝葉斯優(yōu)化、數(shù)據(jù)壓縮以及自動模型發(fā)現(xiàn)。
機(jī)器學(xué)習(xí)概率框架的核心思想是:學(xué)習(xí)可被看作是推理合理模型以用于解釋被觀測到的數(shù)據(jù)的過程。一臺機(jī)器可以利用此模型去預(yù)測未來數(shù)據(jù),并基于這些預(yù)測理性決策。不確定性在這一切中都起到了基礎(chǔ)的作用。觀測數(shù)據(jù)可以符合多個模型,因此哪個模型適用于給定數(shù)據(jù)是不確定的。相似的,未來數(shù)據(jù)的預(yù)測和未來活動的結(jié)果是不確定的。概率理論提供了一個對不確定性建模的框架。
這篇論文回顧從對機(jī)器學(xué)習(xí)概率方法和貝葉斯推理的介紹開始,然后將討論一些該領(lǐng)域的最新進(jìn)展。學(xué)習(xí)和智能的許多方面都十分依賴于謹(jǐn)慎的不確定性概率表征。概率方法僅在最近才發(fā)展成人工智能[1]、機(jī)器人[2]和機(jī)器學(xué)習(xí)[3,4]的主流方法。即使到現(xiàn)在,這些領(lǐng)域在完全表征不確定性的重要性方面仍存爭議。例如,使用深度神經(jīng)網(wǎng)絡(luò)來解決模式識別問題(如語音識別[5]、圖像分類[6,7]和文本預(yù)測[8])的新進(jìn)展中沒有在這些神經(jīng)網(wǎng)路的結(jié)構(gòu)或參數(shù)中明顯表征不確定性。然而,我不會關(guān)注這些被大量數(shù)據(jù)的可用性特征化的這些類型的模式識別問題,而著重于不確定性是真正關(guān)鍵成分的問題,例如決策可能依賴于不確定性的數(shù)量的問題。
我向許多領(lǐng)域的科學(xué)家強調(diào) 5 個目前概率機(jī)器學(xué)習(xí)的前沿研究領(lǐng)域,它們都是有廣泛相關(guān)性的領(lǐng)域:概率編程(probabilistic programming)(一個將概率模型表示成計算機(jī)程序的通用框架,這可能對科學(xué)建模會相當(dāng)深刻的影響);貝葉斯優(yōu)化(Bayesian optimization)(一種全局優(yōu)化未知函數(shù)的方法);概率數(shù)據(jù)壓縮(probabilistic data compression);自動化探索合理和可解讀的數(shù)據(jù)模型;用于學(xué)習(xí)許多相關(guān)模型的分層建模(hierarchical modelling),例如個性化用藥或推薦。雖然仍有相當(dāng)大的挑戰(zhàn),但未來十年有望在基于概率框架的人工智能和機(jī)器學(xué)習(xí)上取得很大進(jìn)展。
概率建模和表征不確定性
在最基礎(chǔ)的層面上,機(jī)器學(xué)習(xí)在尋找提升計算機(jī)在基于觀測數(shù)據(jù)的特定任務(wù)上的表現(xiàn)的方法。類似任務(wù)的典型案例可能包括檢測無人駕駛汽車拍下的圖片中的行人、將白血病病人的基因表達(dá)模式按臨床結(jié)果分類、或?qū)⒂⒄Z句子翻譯成法語。然而,我猜機(jī)器學(xué)習(xí)的任務(wù)范圍甚至比這些模式分類或地圖測繪任務(wù)更廣,并且可以包括優(yōu)化和決策、壓縮數(shù)據(jù)和自動從數(shù)據(jù)中提取可解讀的模型。
數(shù)據(jù)是所有機(jī)器學(xué)習(xí)系統(tǒng)的關(guān)鍵成分。但是數(shù)據(jù),甚至是所謂的大數(shù)據(jù),本身是沒用的,直到某人從它們中提取出了知識或推理。幾乎所有機(jī)器學(xué)習(xí)任務(wù)都可以表示為基于觀測數(shù)據(jù)對缺失或潛在的數(shù)據(jù)做出推理——我會以各種方式使用推理(inference)、預(yù)報(forecasting)或預(yù)測(prediction)這些術(shù)語來指代這些一般任務(wù)。詳細(xì)說明之前提到的例子:考慮根據(jù)每個白血病人測量的基因表達(dá)模式將他們分類成 4 個主要的白血病子類(subtype)。這里,觀測數(shù)據(jù)是成對的基因表達(dá)模式和被標(biāo)記的子類,而需要推理的未被觀測或缺失數(shù)據(jù)是新患者的子類。
為了從觀測數(shù)據(jù)中推理未被觀測的數(shù)據(jù),學(xué)習(xí)系統(tǒng)需要做出一些假設(shè);這些假設(shè)形成一個模型。一個模型可以很簡單而穩(wěn)定,例如一個經(jīng)典的統(tǒng)計線性回歸模型,也可以很復(fù)雜而靈活,例如一個大且深的神經(jīng)網(wǎng)絡(luò),甚至是一個有無窮多參數(shù)的模型。下一節(jié)我再討論這點。如果一個已經(jīng)在觀測數(shù)據(jù)上訓(xùn)練過的模型可以預(yù)報或預(yù)測未被觀測的數(shù)據(jù),它就被認(rèn)為是定義明確的,(否則,如果一個模型不能預(yù)測,從哲學(xué)家 Karl Poper 的建議評估假設(shè)的意義上說,它就不可證偽,或像理論物理學(xué)家 Wolfgang Pauli 所說的:此模型「連錯誤都不如(not even wrong)」)。例如,在分類的情況中,一個明確定義的模型應(yīng)該能夠預(yù)測新病人的分類標(biāo)簽。因為當(dāng)預(yù)測未被觀測的數(shù)據(jù)時,任何合理模型都是不確定的,所以不確定性是建模的基礎(chǔ)部分。
建模中的不確定性有多種形式。在最低層面上,建模不確定性是由測量噪音引起的,比如像素噪點或圖像模糊。在更高的層面上,一個模型會有很多參數(shù),如線性回歸系數(shù),而這些參數(shù)的哪些值對預(yù)測新數(shù)據(jù)有用是不確定的。最后,在最高層面上甚至還往往存在著總體結(jié)構(gòu)上不確定性:線性回歸合適還是神經(jīng)網(wǎng)絡(luò)合適,如果是后者,它應(yīng)該有多少層,等等。
概率方法的建模用概率來表達(dá)不確定性的所有形式[9]。概率理論是一種表征和操作不確定性的數(shù)學(xué)語言[10],正如微積分是表征和操作變化率的數(shù)學(xué)語言。幸運的是,概率方法的建模在概念上非常簡單:用概率分布代表模型中所有那些不確定的未被觀測到的變量(包括結(jié)構(gòu)性的、參數(shù)的、噪音相關(guān)的)以及它們與數(shù)據(jù)的關(guān)系。然后再用概率論的基本法則從觀測到的數(shù)據(jù)來推斷未被觀測到的變量。在前概率分布(觀測數(shù)據(jù)之前定義)到后概率分布(觀測數(shù)據(jù)之后)的轉(zhuǎn)變過程中會產(chǎn)生數(shù)據(jù),這些就是用來學(xué)習(xí)的數(shù)據(jù)。這種運用概率論從數(shù)據(jù)中學(xué)習(xí)的方法叫做貝葉斯學(xué)習(xí)。(框圖1)
除了概念上的簡單,機(jī)器智能的概率論框架還有幾個極具吸引力的優(yōu)勢。單一變量或幾個變量的簡單概率分布模式可以組合構(gòu)建成某些更大更復(fù)雜模型的基本架構(gòu)。過去二十年來,表示這種復(fù)合概率模型的主流機(jī)器學(xué)習(xí)范式就是圖形模型( graphical model)[11],還有一些變體,比如定向圖形(directed graphs,也叫做貝葉斯網(wǎng)絡(luò),信念網(wǎng)絡(luò))、非定向圖形( undirected graphs,也叫馬爾可夫網(wǎng)絡(luò),隨機(jī)場),以及同時具備定向和非定向邊緣的混合圖形(mixed graphs)。(圖1)后文會講到,概率編程提供了一種歸納圖形模型的簡練方法,而且允許更豐富的模型表征方法。如果與耦合兩個非線性動態(tài)系統(tǒng)(比如循環(huán)神經(jīng)網(wǎng)絡(luò))相比,概率模型的復(fù)合性意味著這些基本架構(gòu)通常更容易理解。特別的,通常是可以從一個定義明確的概率模型中生成數(shù)據(jù)的;這種「假想的」數(shù)據(jù)能打開一扇通向概率模型「心智」的窗戶,幫助我們理解初始前提假設(shè)并在后期任一階段了解模型學(xué)到了什么。
與其他方法相比,概率建模同樣也有一些概念性的優(yōu)勢,因為它是一個人工智能系統(tǒng)學(xué)習(xí)領(lǐng)域規(guī)范理論。一個人工智能系統(tǒng)應(yīng)該如何根據(jù)數(shù)據(jù)表征和更新它對世界的信念(belief)呢?Cox 公理為表征信念定義了一些必需之物(desiderata);這些公理的結(jié)果是:范圍從「不可能」一直延伸到「完全確定」所謂的「信念程度(degrees of belief)」必須遵循概率論的規(guī)則[10,12,13]。這證明了在人工智能中運用主觀貝葉斯概率表征的合理性。關(guān)于貝葉斯表達(dá)在決策驅(qū)動型人工智能中運用的爭論來自于荷蘭賭定理。通過提問一個代理是否愿意接受多種賠率(回報的比率)的賭局可以來評估它的信念強度,這是產(chǎn)生論據(jù)的地方。荷蘭賭定理認(rèn)為除非一個人工智能系統(tǒng)(抑或人類)的信念程度與概率規(guī)則相一致,否則它(或他/她)就會欣然接受注定輸錢的賭局[14]。
由于這些論據(jù)以及其它關(guān)于智能不確定性的原理性操作的重要性論據(jù)的力量,貝葉斯概率建模法不僅是一種人工智能系統(tǒng)合理性的理論基礎(chǔ),而且也是一種人類和動物的規(guī)范行為模型[15-18(參考文獻(xiàn)19,20也有討論]),在理解神經(jīng)回路可能會如何執(zhí)行貝葉斯推論方面也有很多研究[21,22]。
雖然概念很簡單,但要建立一個完整的機(jī)器學(xué)習(xí)概率方法依舊面臨著很多計算和建模上的挑戰(zhàn)。在計算方面,學(xué)習(xí)的過程需要排除意向變量意外的其他變量(這需要對其他所有變量求和)。如此高維的求和及積分計算是很困難的,因為很多模型并沒有能夠準(zhǔn)確執(zhí)行它們的多項式時間算法(polynomial time algorithm)。不過幸運的是,還有很多近似積分算法已經(jīng)被開發(fā)出來,包括馬爾可夫鏈蒙特卡洛(MCMC)法、變分近似法(variational approximations)、期望傳播法(expectation propagation)和連續(xù)蒙特卡洛法[23-26]。值得注意的是在計算技術(shù)領(lǐng)域中,貝葉斯機(jī)器學(xué)習(xí)與其它機(jī)器學(xué)習(xí)是不同的:對于貝葉斯研究人員來說最大的計算問題是積分,而其他方向的研究者關(guān)注的則是模型參數(shù)的優(yōu)化。然而這種分裂并沒有看起來那么徹底:很多基于梯度的優(yōu)化方法可以通過朗之萬和漢密爾頓蒙特卡洛(Langevin and Hamiltonian Monte Carlo)法轉(zhuǎn)化成積分方法[27,28],而用變分近似法則可以把積分問題轉(zhuǎn)化為優(yōu)化問題[24]。我會在下面章節(jié)重述優(yōu)化法。
概率機(jī)器學(xué)習(xí)在建模上面臨的挑戰(zhàn)主要在于模型需要具備足夠的靈活性,以獲取實現(xiàn)意向預(yù)測任務(wù)所需的數(shù)據(jù)的所有性質(zhì)。解決這個挑戰(zhàn)的一種方法是開發(fā)一個圍繞開端(open-ended universe)宇宙模型的先驗分布,這種模型能夠適應(yīng)數(shù)據(jù)的復(fù)雜性質(zhì)。在靈活模型下的關(guān)鍵概念就是隨數(shù)據(jù)復(fù)雜性的成長是非參數(shù)化的。
通過非參數(shù)化實現(xiàn)靈活性
現(xiàn)代機(jī)器學(xué)習(xí)的經(jīng)驗總結(jié)之一就是,最好的預(yù)測表現(xiàn)通常來自高度靈活的學(xué)習(xí)系統(tǒng),特別是從大型數(shù)據(jù)集中學(xué)習(xí)時。靈活的模型能夠做出更好的預(yù)測,因為他們允許數(shù)據(jù)在更大程度上「為自己代言」(但是請注意,所有預(yù)測包括假設(shè),因此,數(shù)據(jù)不可能專門為自己代言)。獲得靈活性有兩個基本的辦法:一是帶有大量參數(shù)(相對于數(shù)據(jù)集而言)的模型(例如,最近一種用于實現(xiàn)英語到法語句子翻譯的神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度已經(jīng)接近了當(dāng)前最先進(jìn)的方法,這個神經(jīng)網(wǎng)絡(luò)就是一個概率模型,帶有 3.84 億個參數(shù)[29])。另一個是,用非參數(shù)化組成部分定義的模型。
理解非參數(shù)化模型的最好辦法是與參數(shù)模型相比較。在一個參數(shù)模型中,會有固定、有限數(shù)量的參數(shù),而且,無論觀察到多少訓(xùn)練數(shù)據(jù),所有數(shù)據(jù)能做的就是設(shè)置有限的控制對未來的預(yù)測的參數(shù)。相反,不論是考慮嵌套的,參數(shù)數(shù)量增長的參數(shù)模型,還是從一個有無限多參數(shù)的模型開始,非參數(shù)化預(yù)測的復(fù)雜度都會隨訓(xùn)練數(shù)據(jù)數(shù)量增加而增加。例如,在一個分類問題中,一個線性(參數(shù))分類器會在類之間進(jìn)行線性復(fù)雜度的預(yù)測,然而一個非參數(shù)分類器的復(fù)雜度是非線性的,數(shù)據(jù)越多越復(fù)雜。通過思考隨著參數(shù)模型逼近無限多參數(shù)的極限時會發(fā)生什么,許多非參數(shù)模型可以從中推導(dǎo)出來[30]。毫無疑問,用無限多的參數(shù)的模型擬合有限的訓(xùn)練數(shù)據(jù)會導(dǎo)致「過擬合」,因為模型的預(yù)測可能會反映訓(xùn)練數(shù)據(jù)的特殊值,而不是可以從測試數(shù)據(jù)中歸納出來的一般規(guī)律。幸運的是,貝葉斯方法不容易出現(xiàn)這種類型的過擬合,因為其對參數(shù)取平均值而不是擬合(框圖 1)。此外,對于許多大數(shù)據(jù)集應(yīng)用,我們的關(guān)注點是從一個過分簡單的參數(shù)模型中進(jìn)行選擇的欠擬合(underfitting),而不是過擬合。
完整討論貝葉斯非參數(shù)化已超出了本文的討論范圍[9,31,32],但是,幾個重要模型還是值得一提的。高斯過程是一個非常靈活非參數(shù)化模型(針對未知函數(shù)),而且被廣泛用于回歸、分類以及許多其他應(yīng)用中,這些應(yīng)用要求基于函數(shù)進(jìn)行推論[33]。比如學(xué)習(xí)一種化學(xué)品劑量和微生物對該化學(xué)品的反應(yīng)之間的關(guān)系的函數(shù)。比起用線性參數(shù)方程建立這個關(guān)系的模型,高斯過程可以用于直接學(xué)習(xí)一個與數(shù)據(jù)一致的非線性函數(shù)的非參數(shù)分布。高斯過程應(yīng)用的一個著名案例是 GaussianFace——勝過人類和深度學(xué)習(xí)方法的當(dāng)前表現(xiàn)最佳的面部識別方法[34]。在統(tǒng)計學(xué)[35]里,狄利克雷過程是一個歷史悠久的非參數(shù)模型并被用于密度估計、聚類、時間序列分析和文件主題建模[36]。為了進(jìn)一步闡明狄利克雷過程,可以考慮一個社交網(wǎng)絡(luò)友誼建模的應(yīng)用,其中每個人屬于一個社區(qū)(有許多社區(qū))。狄利克雷過程可以構(gòu)建一個模型,其中推測出的社區(qū)數(shù)量(即聚類)隨著人數(shù)的增長而增長[37]。狄利克雷過程也被用于聚類基因表達(dá)模式(clustering gene-expression patterns)[38,39]。印度自助餐過程(IBP)[40]是一個可被用于隱含特征建模(latent feature modelling)、學(xué)習(xí)重疊集群(learning overlapping clusters)、稀疏矩陣分解(sparse matrix factorization)或非參數(shù)學(xué)習(xí)深度網(wǎng)絡(luò)結(jié)構(gòu)的非參數(shù)模型[41]。以社交網(wǎng)絡(luò)建模為例,一個基于 IBP 的模型允許每個人屬于一些大量潛在社區(qū)的子類(例如,不同的家庭、工作場所、學(xué)校、業(yè)余愛好等等),而不是一個單一的社區(qū),兩人之間的友誼概率取決于他們重疊社區(qū)的數(shù)量[42]。
在這種情況下,每個人的隱含特征都與社區(qū)相對應(yīng),無法直接觀察到。可以將 IBP 視為一種將「分布表征」賦予貝葉斯非參數(shù)化模型的辦法,正如神經(jīng)網(wǎng)絡(luò)文獻(xiàn)中所流行的那樣[43]。貝葉斯非參數(shù)化和神經(jīng)網(wǎng)絡(luò)之間的有趣聯(lián)系在于:在相當(dāng)普遍的情況下,一個具有無限多隱藏單元的神經(jīng)網(wǎng)絡(luò)等同于一個高斯過程[44]。請注意,上述非參數(shù)化部分應(yīng)當(dāng)被再次視為構(gòu)造模塊 ,可以加入到更加復(fù)雜的模型中,正如之前所描述的那樣。下一部分,我們將介紹更加強大的建模方法——概率編程。
概率編程
概率編程的基本思路是:用計算機(jī)編程表示概率模型(http://probabilistic-programming.org) [45 - 47]。一種方法是,從為數(shù)據(jù)從概率模型中設(shè)定一個數(shù)據(jù)生成器,也就是一個模擬器。(圖.2)這個模擬器會以這樣一種方式訪問一個隨機(jī)的數(shù)字生成器:從模擬器(repeated runs from the simulator )中重復(fù)運行,從模型中取出不同的可能的數(shù)據(jù)集樣本。這個模擬架構(gòu)比之前描述過的圖像模型架構(gòu)還要普遍,因為計算機(jī)程序能夠允許諸如遞歸之類的構(gòu)建,而且還能控制流語句( flow statements ),在一個有限的圖表中表征這些,是很困難甚至是不可能的。事實上,許多近期概率編程語言(基于延伸的圖靈完備語言)可以將任何可計算概率分布表征成一種概率程式。[48]
概率編程的全部潛力來自于在觀測數(shù)據(jù)(框圖1)條件約束下的模型中,對非觀測變量推斷流程的自動化。概念上,條件需要計算輸入的編程的狀態(tài),這個編程可產(chǎn)生與觀測數(shù)據(jù)相匹配的數(shù)據(jù)。鑒于我們通常認(rèn)為程序從輸入運行到輸出,條件涉及到輸入匹配特定編程輸出的推斷(尤其是隨機(jī)的數(shù)字調(diào)用)的逆問題(inverse problem)的解決。這樣的條件通過一個「通用推理引擎」而實現(xiàn),通常由蒙特卡羅采樣法實施與觀測數(shù)據(jù)一致的模擬器編程中可能的執(zhí)行。事實上,定義這樣的計算機(jī)編程通用推斷算法甚至是可能,這非常令人驚訝,但它與來自采樣法的特定關(guān)鍵思路的概論有關(guān),比如舍選采樣法(rejection sampling),序列蒙特卡羅方法(sequential Monte Cralo)[25]以及近似貝葉斯計算(approximate Bayesian computation)[49]。
舉例說明,想象你編寫一段概率程序模擬一個基因規(guī)則模型,這個模型將非測量的轉(zhuǎn)錄因素和特定基因的表達(dá)級別聯(lián)系起來。模型每一部分不確定的地方將由模擬器中的概率分布表達(dá)出來。而后,這個通用推斷引擎會在可測量的表達(dá)層級上以輸出為條件,并自動推斷不可測量的轉(zhuǎn)錄因素的活動以及其他不確定的模型參數(shù)。另一個概率編程的應(yīng)用是執(zhí)行一個計算機(jī)視覺系統(tǒng),作為計算機(jī)圖像編程的倒像(inverse)[50]。
有多種原因可以證明:為什么概率編程能對機(jī)器智能和科學(xué)建模產(chǎn)生革命性影響(它的潛力已經(jīng)被美國 DARPA 注意到,目前 DARPA 正在資金支持一個名為概率編程推進(jìn)機(jī)器學(xué)習(xí)的主要項目,Probabilistic Programming for Advancing Machine Learning)。首先,通用推斷引擎消除了模型中手動產(chǎn)生推斷方法的需要。因為在建模中,生成以及執(zhí)行推斷方法通常是速度最受限制、最容易產(chǎn)生漏洞的步驟,經(jīng)常會花費數(shù)個月才能完成,因此這一步驟自動化之后只需要花費幾分鐘或者幾秒鐘就能完成,將大大加速機(jī)器學(xué)習(xí)系統(tǒng)的部署。第二點,概率編程極有可能對科學(xué)產(chǎn)生變革,因為它使數(shù)據(jù)不同模型的快速原型設(shè)計和測試成為可能。概率編程語言在模型與推斷過程之間創(chuàng)造了一個非常清晰分割,鼓勵了基于模型的思考[51]。概率編程語言的數(shù)量也在逐漸增多:BUGS[52]、Stan[53]、AutoBayes[54]以及 Infer.Net[55],相比于基于圖靈完整語言的系統(tǒng),這些系統(tǒng)只允許模型的一個受限類別被表達(dá)。作為這種限制的回報,這些語言中的推斷相比于更為一般的語言[56]的速度要快得多,比如 IBAL[57]、BLOG[58]、Church[59]、Figaro[60]、Venture[61]和 Anglican[62]。近期研究主要關(guān)注的重點是在一般語言上的快速推斷。幾乎所有的概率編程方法都是貝葉斯類型的,因為創(chuàng)造其他的關(guān)于不確定因素的自動推理連貫框架是一件非常困難的事。值得關(guān)注的例外是 Theano 這樣的系統(tǒng),自身不是一個概率編程語言,但它使用符號差異加速并自動化對神經(jīng)網(wǎng)絡(luò)和其他概率模型參數(shù)的優(yōu)化。
盡管參數(shù)優(yōu)化普遍應(yīng)用于改善概率模型,但在下一節(jié)中,我將介紹近期在如何使用概率模型改善優(yōu)化上的研究。
貝葉斯優(yōu)化
人們認(rèn)為,發(fā)現(xiàn)一個未知函數(shù)的總體最大值時,所遇到的最普遍的問題就是:評估過程太過昂貴 (或者說,評估函數(shù)需要執(zhí)行大量計算或進(jìn)行一個實驗)。借用數(shù)學(xué)語言就是,對于一個位于 X 域的 f 函數(shù),目標(biāo)是找出一個總體最大值x*。
貝葉斯優(yōu)化將之視為一個序貫決策理論(sequential decision theory)問題:將未知函數(shù) f 信息增益考慮在內(nèi),我們應(yīng)該在哪里評估下一個,以便最快地最大化 f?例如,在三個點上評估后,也測量了這些點上函數(shù)的對應(yīng)數(shù)值[(x1, f(x1)), (x2,f(x2)),(x3,f(x3))], 算法應(yīng)該在哪一個點上評估下一個,它預(yù)料最大化值會在哪里?這是一個經(jīng)典機(jī)器智能問題,在科學(xué)和工程領(lǐng)域有著廣泛的應(yīng)用,從藥物設(shè)計到機(jī)器人技術(shù)。它也可以被用于任何昂貴函數(shù)的優(yōu)化問題上;昂貴的原因在于貝葉斯優(yōu)化會占用大量計算資源來決定在哪里評估下一個,為了這些資源,也不得不和函數(shù)評估成本做筆交易。
目前表現(xiàn)最好的全局優(yōu)化方法,繼續(xù)用貝葉斯表征正被優(yōu)化的不確定函數(shù) f 上的概率分布,并用這種不確定來決定在哪里(in X)查詢下一個。[67-69] 在連續(xù)空間中,絕大多數(shù)貝葉斯優(yōu)化方法(見圖3)使用了高斯過程(就像非參數(shù)部分描述的)來對未知函數(shù)建模。最近,一個有著高度影響力的應(yīng)用就是優(yōu)化機(jī)器學(xué)習(xí)模型訓(xùn)練過程,包括深度神經(jīng)網(wǎng)絡(luò)。[70] 這以及相關(guān)研究,[71] 都是將機(jī)器智能應(yīng)用到改善機(jī)器智能的進(jìn)一步例子。
貝葉斯優(yōu)化和強化學(xué)習(xí)之間有一些有趣的聯(lián)系。具體來說,就是貝葉斯優(yōu)化是一個序貫決策難題,其中,決策(選擇 x 進(jìn)行評估)并不影響系統(tǒng)狀態(tài)(實際函數(shù) f)。這類 state-less 序貫決策問題屬于多臂老虎機(jī)問題(multi-arm bandits)[72] ——強化學(xué)習(xí)問題的一個分支。更廣泛地說,最近重要的成果是采用貝葉斯學(xué)習(xí)方法來解決學(xué)習(xí)控制不確定系統(tǒng)問題。[73]。在決策和控制問題上,忠實地表征對未來行動結(jié)果的不確定性非常重要。好的決策依賴于對不同結(jié)果以及相關(guān)回報的良好表征。
更普遍的是,貝葉斯優(yōu)化是一種特殊情況下的貝葉斯數(shù)值計算,[75,76] 這正在成為一個非?;钴S的研究領(lǐng)域( (http://www.probabilistic-numerics.org),而且還包括一些主題,比如,解常微分方程和數(shù)值積分。在所有的這些案例中,概率理論正被用來表示計算的不確定性,亦即一個確定性計算結(jié)果的不確定性。
數(shù)據(jù)壓縮
你可以將數(shù)據(jù)壓縮的問題看作是:為了傳遞或存儲數(shù)據(jù),將它們以一種可以從壓縮數(shù)據(jù)中完全恢復(fù)原數(shù)據(jù)的形式盡可能地壓縮成更少的比特。用于這種無損壓縮的方法在信息技術(shù)中無處不在——從計算機(jī)硬盤到互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸。數(shù)據(jù)壓縮和概率建模是同一個硬幣的兩面,而且貝葉斯機(jī)器學(xué)習(xí)方法也正在逐漸推進(jìn)最先進(jìn)的壓縮技術(shù)的發(fā)展。壓縮和概率建模之間的聯(lián)系建立在數(shù)學(xué)家克勞德·香農(nóng)在信源編碼定理(source coding theorem)[77]的開創(chuàng)性成果上,該定理指出,無損形式的壓縮數(shù)據(jù)所需的比特量受限于數(shù)據(jù)分布概率的熵。所有廣泛應(yīng)用的無損數(shù)據(jù)壓縮算法(如 gzip)都可以被看作是符號序列的概率模型。
其與貝葉斯機(jī)器學(xué)習(xí)的聯(lián)系是:學(xué)習(xí)到的概率模型越好,壓縮率就越高[78]。這些模型需要靈活性和適應(yīng)性,因為不同類型的序列具有非常不同的模式(如,莎士比亞的戲劇或計算機(jī)源代碼)。事實證明,世界上最好的一些壓縮算法(如,Sequence Memoizer[79]和帶有動態(tài)參數(shù)更新的 PPM[80])都相當(dāng)于貝葉斯非參數(shù)序列模型,而且通過更好地了解如何學(xué)習(xí)序列的統(tǒng)計結(jié)構(gòu),還能對壓縮進(jìn)行改進(jìn)。未來,壓縮將與概率機(jī)器學(xué)習(xí)一起進(jìn)步發(fā)展,包括用于圖像、圖形和其它結(jié)構(gòu)化對象等非序列數(shù)據(jù)的特殊壓縮方法。
從數(shù)據(jù)中自動發(fā)現(xiàn)可解釋模型
機(jī)器學(xué)習(xí)的一個巨大挑戰(zhàn)是完全自動化學(xué)習(xí)過程和解釋來自數(shù)據(jù)的統(tǒng)計模型。這是 Automatic Statistician(http://www.automaticstatistician.com) 的目標(biāo)——它是一個可以從數(shù)據(jù)中自動發(fā)現(xiàn)合理模型的系統(tǒng),而且還能用簡單的英語解釋其發(fā)現(xiàn)[81]。這可能對幾乎任何依賴于從數(shù)據(jù)中提取知識的領(lǐng)域內(nèi)的工作都有用。和許多機(jī)器學(xué)習(xí)文獻(xiàn)中所描述的方法不同,Automatic Statistician 使用了核方法、隨機(jī)森林或深度學(xué)習(xí)等技術(shù)來專注于提取在模式識別問題上不斷增長的性能提升,從而打造了一個由可解讀組件構(gòu)成的模型,并有表征給定數(shù)據(jù)模型結(jié)構(gòu)的不確定性的原則性方法。它不僅能為大數(shù)據(jù)集給出合理的答案,而且也能用于小數(shù)據(jù)集。貝葉斯方法提供了一種權(quán)衡模型復(fù)雜度和數(shù)據(jù)復(fù)雜度的優(yōu)雅方式,而且如前面描述的,概率模型是組分式的和可解讀的。
Automatic Statistician 的一個原型版本是用于時間序列數(shù)據(jù)的,能自動生成 5-15 頁報告描述其發(fā)現(xiàn)的模型(圖4)。這個系統(tǒng)基于這個想法:概率構(gòu)建模塊可通過一種語法(grammar)進(jìn)行結(jié)合,從而構(gòu)建一種模型的開端語言[82]。不同于等式學(xué)習(xí)(equation learning,案例參見參考文獻(xiàn) 83)上的工作,該模型試圖獲取函數(shù)的通用性質(zhì)(如:平滑性、周期性或趨勢),而非一個精確的等式。處理不確定性是 Automatic Statistician 的核心;其使用貝葉斯的非參數(shù)性(non-parametrics)獲得靈活性,從而實現(xiàn)當(dāng)前最佳的預(yù)測表現(xiàn),并使用了度量邊際似然(metric marginal likelihood)(框圖1)來搜索模型空間。
更早期的重要工作包括統(tǒng)計專家系統(tǒng)[84,85]和機(jī)器人科學(xué)家(Robot Scientist),其在微生物研究中將機(jī)器學(xué)習(xí)和科學(xué)發(fā)現(xiàn)整合到了與實驗平臺的閉環(huán)中,從而自動化了新實驗的設(shè)計和執(zhí)行[86]。Auto-WEKA 是最近一個自動學(xué)習(xí)分類器的項目,其大量使用了前面描述過的貝葉斯優(yōu)化技術(shù)[71]。最近,對數(shù)據(jù)的機(jī)器學(xué)習(xí)應(yīng)用方法實現(xiàn)自動化的努力獲得了動力,并可能最終得到用于數(shù)據(jù)科學(xué)的人工智能系統(tǒng)。
展望
信息革命已經(jīng)為我們帶來越來越大的數(shù)據(jù)集合。在為這種大數(shù)據(jù)建模的過程中,不確定性的作用是什么?經(jīng)典統(tǒng)計結(jié)果表明,在某種規(guī)律性條件下, 在大型數(shù)據(jù)集極限下,貝葉斯參數(shù)模型的參數(shù)后驗分布會聚斂于最大可能性估測附近的單獨一點。這是否意味著如果擁有很多數(shù)據(jù),不確定性的貝葉斯概率建模就是不必要的呢?
并非如此,原因至少有兩點[87]。首先,正如我們所見,貝葉斯非參數(shù)模型擁有本質(zhì)上近乎無限多的參數(shù),因此,無論一個人有多少數(shù)據(jù),他們的學(xué)習(xí)能力都無法飽和,而且預(yù)測質(zhì)量都可以繼續(xù)加以提升。
第二,許多大型數(shù)據(jù)組,實際上是大型的小型數(shù)據(jù)組的集合。在諸如個性化醫(yī)學(xué)、推薦系統(tǒng)中,或許數(shù)據(jù)很多,但是,針對每位病人或顧客的數(shù)據(jù)量,分別都相對較小。為了實現(xiàn)對每個人的定制化預(yù)測,就有必要為每個人建?!獛в衅鋬?nèi)在的不確定性——并將這些模型連接分層,這樣,就可以從其他類似人口那里借用信息。亦即所謂的模型個性化,而且使用分層貝葉斯方法(比如,分層Dirichlet流程[36],以及貝葉斯多任務(wù)學(xué)習(xí))就可以自然實現(xiàn)之。[88,89]
機(jī)器學(xué)習(xí)以及智能的概率研究方法,是一個非常活躍的研究領(lǐng)域,其廣泛影響力已經(jīng)超越傳統(tǒng)模式識別問題范圍。正如前文所述,這些問題包括數(shù)據(jù)壓縮、優(yōu)化、決策、科學(xué)模型發(fā)現(xiàn)和解釋,以及個性化。概率方法在哪些問題中很重要,以及可以用非概率機(jī)器學(xué)習(xí)辦法加以解決的問題——這兩者之間的關(guān)鍵區(qū)別很重要。而且,幾乎所有傳統(tǒng)基于優(yōu)化的機(jī)器學(xué)習(xí)方法都有概率上的類似物,它們能以一種更加原則的方式來處理不確定性。比如,貝葉斯神經(jīng)網(wǎng)絡(luò)表征神經(jīng)網(wǎng)絡(luò)的參數(shù)不確定性,[44]而混合模型和聚簇方法,具有統(tǒng)計上的類似性。[78]盡管概率機(jī)器學(xué)習(xí)方法經(jīng)常定義原則上如何解決一個問題,但是,該領(lǐng)域的中心問題就是:尋找如何在實踐中以一種計算高效的方式實現(xiàn)這一點的方法。[90,91]有很多辦法可以解決計算上很困難的推理的有效近似問題。現(xiàn)代的推理方法已經(jīng)可以讓我們可以將數(shù)據(jù)處理規(guī)模擴(kuò)展到數(shù)以百萬的數(shù)據(jù)點,構(gòu)建計算上能與傳統(tǒng)方法相媲美的概率方法。[92-95]最終,智能依賴的是理解,以及在這個無法完美感覺到且不確定的世界中行動。在研發(fā)更加強大的機(jī)器學(xué)習(xí)和人工智能系統(tǒng)過程中,概率建模會繼續(xù)扮演著中心角色。
本文由機(jī)器之心編譯,轉(zhuǎn)載請聯(lián)系本公眾號授權(quán)。
------------------------------------------------
加入機(jī)器之心(全職記者/實習(xí)生):hr@almosthuman.cn
投稿或?qū)で髨蟮溃篹ditor@almosthuman.cn
廣告&商務(wù)合作:bd@almosthuman.cn
聯(lián)系客服