MIT的研究人員使用貝葉斯推理,讓計(jì)算機(jī)程序編寫專門為數(shù)據(jù)分析設(shè)計(jì)的新程序。其目的是減輕那些本身不是人工智能專家的數(shù)據(jù)科學(xué)家的負(fù)擔(dān)。
最近有個(gè)非常流行的話題:如何讓普通人(普通人指既不是程序員,也不是IT管理員,更不是機(jī)器學(xué)習(xí)科學(xué)家的人群)更容易接近人工智能?
比較流行的一種方法是將所有的復(fù)雜性抽象到云計(jì)算操作中。
然而,本周MIT提出了另一種方法:讓機(jī)器學(xué)習(xí)自己完成更多的工作,發(fā)明自己的程序,在時(shí)間序列分析等特定應(yīng)用程序中處理數(shù)據(jù)。
這本身就是人工智能的一個(gè)熱門領(lǐng)域,讓機(jī)器建立模型,進(jìn)而從數(shù)據(jù)中歸納出答案。
計(jì)算機(jī)程序設(shè)計(jì)自動(dòng)化方法中,“第一個(gè)概率程序的貝葉斯合成”
研究人員描述了一種自動(dòng)創(chuàng)建推斷數(shù)據(jù)模式的程序的方法,這意味著數(shù)據(jù)科學(xué)家不再需要找出適合所研究數(shù)據(jù)的“模型”。
這項(xiàng)工作發(fā)表在計(jì)算機(jī)協(xié)會(huì)網(wǎng)站上的一篇論文中,題為《用于自動(dòng)數(shù)據(jù)建模的貝葉斯合成概率程序》(Bayesian Synthesis of Probabilistic Programs for Automatic Data Modeling)。
其作者分別是MIT的Feras A. Saad、Marco F. Cusumano-Towner、Ulrich Schaechtle、Martin C. Rinard和Vikash K. Mansinghka。
Saad和他的同事們所要攻克的問題是:找到正確的程序來分析給定的數(shù)據(jù)集所需的所有工作。
正如他們?cè)谖恼庐?dāng)中所述,要解決這個(gè)問題,將面臨如下方面的困難:
用戶需要手動(dòng)選擇模型或程序結(jié)構(gòu);
需要大量的建模專業(yè)知識(shí);
建模能力有限;
如果用戶沒有探索足夠廣泛的模型或程序結(jié)構(gòu),可能會(huì)丟失數(shù)據(jù)的重要方面。
為了解決這個(gè)問題,他們打算讓計(jì)算機(jī)做決定。
Saad和他的同事們繼承了近年來“合成”計(jì)算機(jī)程序的傳統(tǒng),讓一個(gè)程序生成另一個(gè)程序。
在這方面,有很多值得借鑒的例子,例如Google DeepMind科學(xué)家2014年為建立“神經(jīng)圖靈機(jī)”所做的努力。 該項(xiàng)目使用所謂的“循環(huán)神經(jīng)網(wǎng)絡(luò)”來發(fā)現(xiàn)簡(jiǎn)單的計(jì)算機(jī)算法,例如復(fù)制和粘貼文本。
作者的同事通過設(shè)計(jì)“概率”程序而不是經(jīng)典的“確定性”程序來做區(qū)分。
這意味著在給定特定輸入的情況下,程序不一定會(huì)產(chǎn)生可預(yù)測(cè)的輸出。相反,程序的輸出將反映輸入它們的數(shù)據(jù)的噪聲和不確定性。
為了實(shí)現(xiàn)這一點(diǎn),作者使用了貝葉斯統(tǒng)計(jì)方法。他們對(duì)大量的計(jì)算機(jī)程序進(jìn)行取樣,并對(duì)每個(gè)程序的可能性進(jìn)行評(píng)分,以此作為處理想要研究的數(shù)據(jù)的可能解決方案。
正如作者所說,在所有的計(jì)算機(jī)程序設(shè)計(jì)自動(dòng)化方法中,他們的方法是“第一個(gè)概率程序的貝葉斯合成”。
“領(lǐng)域特定語言”構(gòu)建的程序是關(guān)鍵
幫助研究人員實(shí)現(xiàn)這一壯舉的是他們做出的一個(gè)關(guān)鍵選擇:他們開始構(gòu)建,或“合成”,不僅僅是任意一般類型的計(jì)算機(jī)程序,而是由“領(lǐng)域特定語言”構(gòu)建的程序。
MIT的研究人員描述了他們的貝葉斯推理方法在特定領(lǐng)域的語言中搜索表達(dá)式的過程,以組合一組可以分析特定類型數(shù)據(jù)的算法。
DSL是在某種程度上可以匹配它們處理數(shù)據(jù)的語言。例如,有一些“數(shù)據(jù)建模”語言可以幫助表示數(shù)據(jù)中的關(guān)系。Yang就是這樣一種數(shù)據(jù)建模語言的名稱,用于計(jì)算機(jī)網(wǎng)絡(luò)的建模。
通過將他們的方法限制在DSL上,作者適當(dāng)縮小了計(jì)算機(jī)程序的“搜索空間”,從而提高了他們找到解決方案的幾率,而不是像神經(jīng)圖靈機(jī)那樣采用更通用的方法。
一旦貝葉斯推理過程裝配了一些Winning Program,這些程序就能夠?qū)?shù)據(jù)進(jìn)行推理。
例如,作者描述了適合分析多年飛行里程的程序。這是一個(gè)時(shí)間序列分析問題,所謂的高斯統(tǒng)計(jì)過程是合適的。
因此,他們的貝葉斯推斷綜合了包含高斯過程操作的算法,以找到那些有可能擬合數(shù)據(jù)的算法組合。
與“卷積神經(jīng)網(wǎng)絡(luò)”等一些通用機(jī)器學(xué)習(xí)模型不同,這種方法的一大好處是,合成的程序在某種意義上是可以解釋的,它們不是AI中令人恐懼的“黑匣子”。
這是因?yàn)槌绦蚴翘囟ㄓ陬I(lǐng)域的,所以它們的操作會(huì)“泄露”它們?cè)跀?shù)據(jù)中發(fā)現(xiàn)的內(nèi)容。
正如作者所描述的,“領(lǐng)域特定語言中合成的程序提供了緊湊的數(shù)據(jù)模型,使定性屬性在程序的表面語法中變得明顯。”
同時(shí),作者還展示了如何使這些DSL程序能夠?qū)π聰?shù)據(jù)進(jìn)行泛化。
他們使用一個(gè)解釋器程序?qū)蝹€(gè)算法轉(zhuǎn)換成一種叫做Venture的東西,這是一種更加廣泛和通用的概率編程語言。然后Venture就可以在更廣泛的應(yīng)用程序中對(duì)數(shù)據(jù)進(jìn)行推斷。
當(dāng)然,這項(xiàng)工作有進(jìn)一步的方向。研究人員特別指出,他們的工作在未來可能會(huì)納入用戶對(duì)數(shù)據(jù)應(yīng)如何處理或分析的具體要求。
這意味著人類對(duì)數(shù)據(jù)的智能與機(jī)器技能的融合,或許是人與人工智能的理想結(jié)合。
-
人工智能
+關(guān)注
關(guān)注
1799文章
48047瀏覽量
241944 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8459瀏覽量
133370 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1463瀏覽量
34314
原文標(biāo)題:MIT實(shí)現(xiàn)機(jī)器自動(dòng)建模,數(shù)據(jù)分析分分鐘搞定
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論