機(jī)器之心報道
機(jī)器之心編輯部
1 月 11 日,在機(jī)器之心 AI 科技年會上,,講席教授,、美國國家工程院院士、東方理工高等研究院常務(wù)副院長張東曉教授發(fā)表主題演講《科學(xué)機(jī)器學(xué)習(xí)中的知識嵌入與知識發(fā)現(xiàn)》,,在演講中,,他簡要介紹了數(shù)據(jù)驅(qū)動模型的前沿技術(shù),之后重點(diǎn)介紹了理論指導(dǎo)的數(shù)據(jù)驅(qū)動模型 —— 知識嵌入,,以及數(shù)據(jù)驅(qū)動的模型挖掘 —— 知識發(fā)現(xiàn),。張院士指出,機(jī)器學(xué)習(xí)算法可以有效解決具有復(fù)雜非線性映射關(guān)系的問題,;通過引入行業(yè)知識,,可以有效提升機(jī)器學(xué)習(xí)模型的效果。將知識的嵌入和知識的發(fā)現(xiàn)結(jié)合起來,,形成一個閉環(huán),,可以大大提高人工智能解決實(shí)際問題的能力。
以下為張東曉在機(jī)器之心 AI 科技年會上的演講內(nèi)容,,機(jī)器之心進(jìn)行了不改變原意的編輯,、整理:
非常高興有機(jī)會參加機(jī)器之心線上 AI 科技年會,并和大家分享我們最近的一些思考,。今天我分享的內(nèi)容包括三部分,,第一部分是數(shù)據(jù)驅(qū)動模型;第二部分是理論指導(dǎo)的數(shù)據(jù)驅(qū)動模型,即知識嵌入,;第三部分是數(shù)據(jù)驅(qū)動的模型挖掘,,即知識發(fā)現(xiàn),。
一,、數(shù)據(jù)驅(qū)動模型
首先,大家非常清楚模型驅(qū)動的方法,,經(jīng)過一個模型得到一個輸出,。我們學(xué)編程的時候,無論是復(fù)雜的算法還是簡單的算法,,都是在構(gòu)建一個模型,,這樣有一個輸入就會有一個輸出。當(dāng)然,,這個算法可以是確定的,,也可以是隨機(jī)的。
另一方面是數(shù)據(jù)驅(qū)動的模式,。這種模式我們還不清楚其輸入和輸出之間的映射關(guān)系,,但是我們有數(shù)據(jù)。如果我們利用數(shù)據(jù),,經(jīng)過學(xué)習(xí),,可以建立輸入和輸出之間的映射關(guān)系。當(dāng)然了,,這映射關(guān)系可能是個黑箱子,,它不一定是一個顯示的表達(dá)式。但是如果有了映射關(guān)系,,我們就會有一個新的輸入,,從而得到一個新的輸出。這就是現(xiàn)在這一代機(jī)器學(xué)習(xí)的核心數(shù)據(jù)驅(qū)動方法,。
我們要解決問題到底是數(shù)據(jù)驅(qū)動還是模型驅(qū)動,?這是一個值得思考的問題。
首先來看一下數(shù)據(jù)驅(qū)動的一些例子,,比如大家熟悉的大數(shù)據(jù)分析,,數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)等等。在數(shù)據(jù)和模型的天平中,,這里是側(cè)重于數(shù)據(jù)的,,通過數(shù)據(jù)來尋找映射關(guān)系。
下面舉幾個例子,,比如可再生能源的發(fā)電量的預(yù)測問題,。如果我們有輻照量、溫度、濕度,、風(fēng)速,、晝夜的情況,以及歷史的光伏發(fā)電量數(shù)據(jù),,就可以根據(jù)這些數(shù)據(jù)建立一種映射關(guān)系,。基于此映射關(guān)系和天氣預(yù)報數(shù)據(jù),,我們就能預(yù)測第二天光伏的發(fā)電量,。風(fēng)電也是一樣。
映射關(guān)系可以通過各種方法來建立,,比如支持向量機(jī),、卷積神經(jīng)網(wǎng)絡(luò)或者循環(huán)神經(jīng)網(wǎng)絡(luò)等等。它的核心就是尋找多元輸入變量和目標(biāo)變量之間的復(fù)雜映射關(guān)系,,從而構(gòu)建它預(yù)測的模型,。
這是一個集中式光伏電站的發(fā)電量預(yù)測案例,擁有剛才提到的那些信息,。我們可以經(jīng)過處理以后,,建立映射關(guān)系并對未來做預(yù)測。最終隔天預(yù)報的準(zhǔn)確率可以達(dá)到 97% ,。
當(dāng)然了,,風(fēng)電也是一樣。因?yàn)轱L(fēng)力發(fā)電的歷史發(fā)電量和歷史的風(fēng)速數(shù)據(jù)之間也有很好的相關(guān)性,。所以,,如果能夠建立它們之間的映射關(guān)系,就可以對發(fā)電量做預(yù)測,。
數(shù)據(jù)驅(qū)動模型在許多問題中得到了很好的效果,,但是對很多應(yīng)用來講,數(shù)據(jù)是不容易獲得的,。比如對于地下資源勘探與開發(fā)重要的側(cè)井曲線,,打一口井進(jìn)行測量可能要好幾千萬人民幣;再比如,,做一組吸附解析的實(shí)驗(yàn)要花很長的時間,。很難獲得足夠的數(shù)據(jù)基于數(shù)據(jù)驅(qū)動方法對此類問題建模。
大家都知道,,大模型需要大數(shù)據(jù),、大算力,比較有名的 GPT-3,,有 96 層,,有 1 萬多個隱層維度,,有接近 1750 億個參數(shù)。要訓(xùn)練這樣一個模型,,需要的費(fèi)用是非常高的,,需要的數(shù)據(jù)量也非常大。
另外數(shù)據(jù)驅(qū)動的模型的指標(biāo)往往有局限性,,比如常使用的 MSE(均方誤差),,它是對誤差的一個平均度量。它對誤差的物理過程是沒有區(qū)分的,,比如一個系統(tǒng)無論是熵增還是熵減,,對于 MSE 來講都是一樣的,,雖然熵增與熵減對于一個物理系統(tǒng)來講非常不一樣,。基于數(shù)據(jù)平均意義上的指標(biāo)往往會忽略物理過程,,比如我們一只腳踏在冰上,,一只腳踏在火上,平均溫度可能很舒服,,但是實(shí)際情況并非如此,。而 MSE 則只會關(guān)注這種數(shù)據(jù)上的平均結(jié)果。因此,,在實(shí)際使用中,,MSE 等數(shù)據(jù)驅(qū)動指標(biāo)往往是有局限性的。
另外一方面,,因?yàn)槲覀兘⒌暮芏嗄P褪侨狈ΤWR的,,它沒有人類世界的各種知識,這樣很容易被攻擊,。比如在對抗樣本的問題中,,圖片本來是一個熊貓,加上一點(diǎn)輕微的噪音以后,,可能機(jī)器會認(rèn)為它是一個長臂猿,。再比如這種阿拉伯?dāng)?shù)字,對人類來講,,稍微加點(diǎn)噪音進(jìn)去,,我們?nèi)匀粫J(rèn)為是 8 或者 9;但機(jī)器可能不認(rèn)為,,因?yàn)楹芏鄷r候它沒有常識,。
既然數(shù)據(jù)驅(qū)動存在問題,那么可否像早期的人工智能一樣基于知識建模呢,?然而對很多復(fù)雜的問題,,很難完全基于知識來構(gòu)建模型,。這也是現(xiàn)在基于數(shù)據(jù)驅(qū)動的人工智能模型被廣泛推廣的一個原因。
對很多行業(yè)來講,,比如能源,,對于模型的魯棒性和可解釋性要求很高,同時數(shù)據(jù)的采集費(fèi)時且成本高,,而且這個系統(tǒng)極其復(fù)雜,,存在大量高維非線性的映射關(guān)系。這些特點(diǎn)導(dǎo)致純粹的數(shù)據(jù)驅(qū)動或者知識驅(qū)動模型無法達(dá)到令人滿意的效果,。針對此問題,,我們希望通過靈活利用能源行業(yè)多年積累的知識,構(gòu)建知識與數(shù)據(jù)雙驅(qū)動模型,,提升模型精度和魯棒性,,降低數(shù)據(jù)需求。
這里我們提出一個智慧能源概念,,它是基于領(lǐng)域的知識,,利用觀測的數(shù)據(jù),使用人工智能的方法,,所構(gòu)建的一個技術(shù)體系,。
領(lǐng)域知識和數(shù)據(jù)驅(qū)動的融合包含兩個方面,一個是知識的嵌入,,也就是如何構(gòu)建具有物理常識的 AI 模型,。通過在 AI 模型中嵌入領(lǐng)域知識,可以一方面借助機(jī)器學(xué)習(xí)的強(qiáng)擬合能力來描述變量之間高維復(fù)雜的映射關(guān)系,,提高模型的準(zhǔn)確率,。同時,利用行業(yè)的先驗(yàn)知識保證預(yù)測結(jié)果符合物理機(jī)理,,不違反常識,。這就是知識嵌入在機(jī)器學(xué)習(xí)中的作用。
另外一方面是利用科學(xué)機(jī)器學(xué)習(xí)發(fā)現(xiàn)知識,,也就是知識發(fā)現(xiàn),。知識發(fā)現(xiàn)是利用深度學(xué)習(xí)來探索物理原理,從觀測數(shù)據(jù)或?qū)嶒?yàn)數(shù)據(jù)中直接挖掘控制方程,,推進(jìn)人類認(rèn)知的前沿,。知識嵌入和知識發(fā)現(xiàn)可以形成一個閉環(huán),實(shí)現(xiàn)知識和數(shù)據(jù)的融合,。
后面第二部分我會重點(diǎn)來講知識嵌入,,也就是如何構(gòu)建具有物理常識的 AI 模型。第三部分來講知識發(fā)現(xiàn),,如何利用人工智能來發(fā)現(xiàn)新的知識,,比如物理原理,、控制方程,第一性原理等等,。有了這樣的一個閉環(huán)以后,,很多問題比如仿真模擬,反問題,,可解釋性等等,,都能夠有很好的解決。
二,、理論指導(dǎo)的數(shù)據(jù)驅(qū)動模型(知識嵌入)
我們看看第二部分的知識嵌入,。在這個過程中,既有數(shù)據(jù),,也有模型,,它是兩個方法之間的一個平衡。我們要兼顧二者,,實(shí)現(xiàn)在數(shù)據(jù)驅(qū)動建模的全流程中嵌入知識,。
知識嵌入的目的是通過在數(shù)據(jù)驅(qū)動模型中引入物理知識,構(gòu)建物理上合理,,數(shù)學(xué)上準(zhǔn)確,計算上穩(wěn)定高效的機(jī)器學(xué)習(xí)模型,。所以,,我們要考慮的核心問題主要有,復(fù)雜形式控制方程的嵌入,,控制方程以外通用知識的嵌入,,不規(guī)則物理場的知識嵌入,以及損失函數(shù)中正則項(xiàng)權(quán)重的自動調(diào)整策略等等,。
在建模過程的多個環(huán)節(jié)都可以進(jìn)行知識嵌入,,比如在數(shù)據(jù)預(yù)處理環(huán)節(jié),可以嵌入物理約束和人類的領(lǐng)域知識和先驗(yàn)經(jīng)驗(yàn),。這與特征工程和數(shù)據(jù)歸一化往往相關(guān),。還有在模型結(jié)構(gòu)設(shè)計環(huán)節(jié),也可以基于領(lǐng)域知識調(diào)整模型的網(wǎng)絡(luò)結(jié)構(gòu)或者拓?fù)浣Y(jié)構(gòu),。再有也可以在模型的優(yōu)化調(diào)整環(huán)節(jié)嵌入領(lǐng)域知識,,比如在學(xué)習(xí)過程中通過懲罰和激勵來嵌入知識,其中最簡單的方法是構(gòu)建特殊設(shè)計的損失函數(shù),。我們舉幾個例子,。
第一個例子是電力系統(tǒng)中電力負(fù)荷的預(yù)測。這項(xiàng)工作中的知識嵌入主要體現(xiàn)在數(shù)據(jù)的預(yù)處理方面和模型的反饋更新方面,,其中數(shù)據(jù)預(yù)處理方面我們引入了一種電力負(fù)荷比值分解的方法來嵌入知識,,在反饋更新環(huán)節(jié)利用一種自研的 EnLSTM 模型來優(yōu)化,,這種模型采用領(lǐng)域算法改進(jìn)了優(yōu)化過程。
在數(shù)據(jù)預(yù)處理方面,,我們把電力負(fù)荷數(shù)據(jù)分解成一個大的趨勢和局部擾動,,大的趨勢反映了預(yù)測區(qū)域的內(nèi)在模式,比如能源結(jié)構(gòu)和人口結(jié)構(gòu)等,,是根據(jù)歷史數(shù)據(jù)和專家經(jīng)驗(yàn)來確定的,。局部擾動則是系統(tǒng)受到天氣等外驅(qū)力影響下所產(chǎn)生的變化,通過數(shù)據(jù)驅(qū)動模型來預(yù)測,。最終,,將大的趨勢和小的擾動結(jié)合起來。此外,,我們還采用了一種負(fù)荷比值轉(zhuǎn)化的方式,,以實(shí)現(xiàn)數(shù)據(jù)的平穩(wěn)化。比值的周期是根據(jù)物理過程確定的,。這個方法我就不具體展開了,,大家如果感興趣可以看我們 2021 年發(fā)表的論文 TgDLF。
這個方法在北京的 12 個區(qū)進(jìn)行了試驗(yàn)驗(yàn)證,,基于 3 年多的真實(shí)小時級別數(shù)據(jù),,利用部分區(qū)的數(shù)據(jù)訓(xùn)練模型,對另外的區(qū)進(jìn)行預(yù)測,。比如右側(cè)是對豐臺區(qū)的電力負(fù)荷的預(yù)測結(jié)果,。圖中一共有 1362 天的預(yù)測結(jié)果,其中五個局部被放大展示,,黑色線是真實(shí)測量值,,紅色線是預(yù)測值,灰色的是可信區(qū)間,。大家看這個效果還是非常好的,,準(zhǔn)確率可以穩(wěn)定達(dá)到 90% 以上。需要說明的是,,我們在模型的訓(xùn)練中并沒有利用豐臺的數(shù)據(jù),,而僅僅使用了周邊的區(qū)進(jìn)行訓(xùn)練。
另外在模型的效果評估階段也可以嵌入知識,。比如在風(fēng)力發(fā)電問題中,,我們將概率分布所蘊(yùn)含的信息作為約束,嵌入到數(shù)據(jù)驅(qū)動模型中,,從而借助先驗(yàn)的概率密度函數(shù)拓展優(yōu)化損失函數(shù),。
大家知道在風(fēng)力發(fā)電中,風(fēng)機(jī)的發(fā)電功率和風(fēng)速有很大關(guān)系,。由于實(shí)際工況復(fù)雜,,所以該曲線并非一個一對一的映射,,而是需要用描述風(fēng)速和發(fā)電功率之間關(guān)系的概率分布函數(shù)來表征。如果我們有歷史的數(shù)據(jù),,就可以從歷史數(shù)據(jù)中得到先驗(yàn)的風(fēng)功率曲線,,然后通過改造損失函數(shù),將其嵌入到模型的訓(xùn)練過程中,。通過這種方法建立的人工智能模型不僅具有數(shù)據(jù)驅(qū)動的優(yōu)勢,,還能保證輸出結(jié)果符合先驗(yàn)的概率分布。
這是預(yù)測的結(jié)果,,實(shí)際的結(jié)果還是非常好的,。
在有噪音的情況下,嵌入了先驗(yàn)的概率密度分布函數(shù)的模型的效果比純數(shù)據(jù)驅(qū)動模型的效果要好很多,。這說明通過嵌入領(lǐng)域知識,,可以有效提升模型的抗噪能力和魯棒性。
然后我們介紹一下在模型效果評估方面嵌入領(lǐng)域知識的方法,,這方面的例子比較充分,,主要是基于改進(jìn)損失函數(shù)的方法將控制方程作為約束嵌入到人工智能的模型中。
在模型的訓(xùn)練過程中,,一方面可以利用數(shù)據(jù)驅(qū)動模型基于大量的數(shù)據(jù)進(jìn)行學(xué)習(xí),,另外一方面我們還有控制方程、物理規(guī)律,、工程理論,,專家經(jīng)驗(yàn)等先驗(yàn)信息。如果我們能夠?qū)⑦@些先驗(yàn)信息嵌入數(shù)據(jù)驅(qū)動模型中,,我們就不僅可以擬合數(shù)據(jù),同時也保證模型輸出結(jié)果遵循物理的準(zhǔn)則和工程的理論,,這樣的模型就有更好的泛化能力,。
我們舉個例子,比如我們有觀測數(shù)據(jù),、控制方程,、邊界條件、初始條件,,也有工程控制的準(zhǔn)則,,還有專家經(jīng)驗(yàn)。這些因素都可以轉(zhuǎn)化為損失函數(shù)中的不同正則項(xiàng),,進(jìn)而約束模型的輸出結(jié)果,。通過這種方式構(gòu)造的損失函數(shù)具有多個正則項(xiàng),每項(xiàng)之前都有個系數(shù),。為什么要需要系數(shù),?因?yàn)閷?shí)際上各個項(xiàng)對應(yīng)的物理意義是不一樣的,,量綱也往往不一樣。這種情況下是不能簡單粗暴地把它們加在一起的,。所以這些權(quán)重非常重要,,這也是為什么有的人用這樣的框架解決了很多問題,發(fā)現(xiàn)很好用,,但有的人解決其它問題的時候,,發(fā)現(xiàn)無效。那是因?yàn)檫@個過程不是一個簡單直接的累加,,權(quán)重的設(shè)計和調(diào)整非常重要,。如果做得好,這種嵌入知識的方法是可以模提高模型的預(yù)測能力的,,也有很強(qiáng)的泛化能力,。
這個系數(shù)在學(xué)習(xí)過程中可能是變化的。比如在數(shù)據(jù)充足時,,在內(nèi)插問題中可能數(shù)據(jù)對應(yīng)的正則項(xiàng)的權(quán)重就很大,。如果數(shù)據(jù)量不足,或者數(shù)據(jù)不準(zhǔn)確,,或者在外推的情況下,,控制方程的作用就非常重要了。但是,,方程的作用也不是孤立的,。如果給了個方程,實(shí)際上如同給了一個軌跡,,一個很復(fù)雜的軌跡,,而且是滿天飄的不確定的。我們還必須有邊界條件或者初始條件,,才能把方程限定在一個正確的軌道上面,。如果沒有這些邊界條件,初始條件,,那么這個軌跡便是飄飄忽不定的,。
我們舉個例子說明知識的重要性。如果我們有個模型要預(yù)測深圳這兩天的溫度,,你說今天大概會有多少度,?如果你說零下 10℃,在全國來講,,大家可能不會覺得什么樣,,但這在深圳是從來不會出現(xiàn)的溫度。專家告訴你說,深圳的歷史氣溫最低的是零點(diǎn)幾度,,都甚至沒有到零下的溫度,。這種情況下,如果給模型增加專家經(jīng)驗(yàn),,就會非常有幫助,。
下面我們通過一系列的例子說明這個問題。比如地下水流動的問題,,假設(shè)我們有最開始一段時間的數(shù)據(jù),,但是在后面改變了邊界條件,即情景發(fā)生了很大變化,,且沒有后面一段時間的觀測數(shù)據(jù),,那么常規(guī)的數(shù)據(jù)驅(qū)動模型是無法解決的。但是如果知道邊界條件和控制方程,,結(jié)合最開始時間的數(shù)據(jù),,就可以進(jìn)行預(yù)測,且實(shí)際效果很好,,如圖中的對比結(jié)果,。由于流場的條件已經(jīng)改變了,所以開始一段時間的觀測數(shù)據(jù)的數(shù)據(jù)分布已經(jīng)與后一段時間不一致了,,但是兩段時間的數(shù)據(jù)都是受到同樣的控制方程約束的,,因此,如果直接用數(shù)據(jù)驅(qū)動模型預(yù)測,,就會有較大誤差,。但是如果加入領(lǐng)域知識,比如控制方程和邊界條件,,就會有效提升模型的精度,。在這個問題中,控制方程和邊界條件起了很大的作用,。
有這樣的一個框架以后能做什么,?可以構(gòu)建替代模型或數(shù)字孿生,并利用神經(jīng)網(wǎng)絡(luò)推斷過程耗時少的優(yōu)勢,。因?yàn)橹灰P陀?xùn)練好了,如果有新的情景出現(xiàn),,或者有新的模型參數(shù)進(jìn)來,,就可以直接用這個模型來做預(yù)測,不需要重新進(jìn)行耗時的數(shù)值模擬,。這對需要大量反復(fù)求解的問題來講,,是非常有幫助的。比如不確定性量化,,反問題的求解,,優(yōu)化設(shè)計等等,,都會有很大的幫助。
比如有個新的場景進(jìn)來,,這個方法很快可以做預(yù)測,,并且具有不錯的精度。
這個方法在不確定性量化問題中具有優(yōu)勢,。常規(guī)的方法,,比如蒙特卡羅方法,處理不確定性量化時需要生成多個實(shí)現(xiàn),,所以需要很長的時間解不同實(shí)現(xiàn)中的方程,。但是如果用這種替代模型,因?yàn)樯窠?jīng)網(wǎng)絡(luò)的預(yù)測速度很快,,基本上每個情景直接可以條件反射一般地生成結(jié)果,,就可以非常高效地實(shí)現(xiàn)不確定性量化。
剛才的例子是點(diǎn)對點(diǎn)的求解問題,,實(shí)際結(jié)合卷積神經(jīng)網(wǎng)絡(luò)來做圖像問題,。通過引入控制方程,也可以達(dá)到很好的效果,。因?yàn)闀r間關(guān)系,,我就不詳細(xì)說了。
此外,,也可以擴(kuò)展到油水油氣的問題,。因?yàn)檫@是個兩相流問題,所以約束的條件就會比較復(fù)雜,。這種情況下,,實(shí)際上它也是可以起到很好的效果的。
剛才介紹的是軟約束,,實(shí)際上我們也可以用硬約束來嵌入領(lǐng)域知識,。
硬約束的劣勢是數(shù)學(xué)上比較復(fù)雜,優(yōu)勢是可以保證模型在局部嚴(yán)格滿足物理機(jī)理,。剛才的軟約束是保證預(yù)測結(jié)果在統(tǒng)計意義下滿足控制方程或者其他物理機(jī)理,,硬約束則是保證模型在局部嚴(yán)格滿足物理機(jī)理,這樣實(shí)際上它效果是可以更好的,。如果大家感興趣,,可以參考我們發(fā)表的 Hard constraint projection (HCP) 模型。但是時間關(guān)系我就不細(xì)說了,。
此外,,在實(shí)際嵌入知識的過程中,是存在大量的難點(diǎn)的。尤其是當(dāng)嵌入一些復(fù)雜方程的時候,,比如具有分式結(jié)構(gòu)或者復(fù)合函數(shù)的方程,,難以直接利用神經(jīng)網(wǎng)絡(luò)的自動微分機(jī)制求梯度,因此也難以直接嵌入到人工智能模型中,。此外,,如前面介紹的,損失函數(shù)中各項(xiàng)之間的權(quán)重的確定也不是簡單的問題,。這方面我們最近開發(fā)了一個自動化的知識嵌入框架和工具包,,叫做 AutoKE。如果大家感興趣可以看一下我們在 IEEE Transactions on Artificial Intelligence 上發(fā)表的文章,。
小結(jié)一下,,知識嵌入可以讓模型的準(zhǔn)確性得以提高,有更好的可解釋性,,更強(qiáng)的魯棒性,。
三、數(shù)據(jù)驅(qū)動的模型挖掘(知識發(fā)現(xiàn))
第三部分是知識驅(qū)動的模型挖掘,,即知識發(fā)現(xiàn),。比如我們?nèi)绾卫脵C(jī)器學(xué)習(xí)的方法從數(shù)據(jù)中直接挖掘模型,即從數(shù)據(jù)到模型,。
我們原來的控制方程都是怎么來的,?比如萬有引力定律是怎么來的?第谷花了近 40 年的時間來觀察火星的軌跡,,得到了大量的數(shù)據(jù),。開普勒又花了十幾年的時間,運(yùn)用這些數(shù)據(jù)來研究行星運(yùn)動的軌跡規(guī)律,,最后得到行星運(yùn)行的三大定律,。實(shí)際上他分析的過程中,受到像橢圓形啤酒桶的這種形狀的啟發(fā),,最后發(fā)現(xiàn)行星應(yīng)該是符合一個橢圓的運(yùn)動規(guī)律,。在這個基礎(chǔ)上,實(shí)際上又過了幾十年以后,,牛頓才進(jìn)行了理論的延伸和公式的推導(dǎo),,得到萬有引力定律。
那么,,我們可不可以用人工智能和深度學(xué)習(xí)的方法,,大大的加快這一過程呢?也就是剛才提到在數(shù)據(jù)中直接挖掘新的知識,。
比如我們有這樣一些離散的局部數(shù)據(jù),利用這些局部數(shù)據(jù),可不可以把它的內(nèi)在規(guī)律,、控制方程找出來,?大家說這大概不可能,但實(shí)際上簡單的定律,,比如歐姆定律,,都是從實(shí)驗(yàn)數(shù)據(jù)中得到的。當(dāng)然這些關(guān)系可能比較簡單,,在實(shí)際問題中,,潛在的關(guān)系可能存在于高維空間里面,會比較復(fù)雜一些,。
但是深度學(xué)習(xí)正好有強(qiáng)映射關(guān)系的能力,。如果能做這件事情,那么機(jī)器學(xué)習(xí)就不再是一個黑箱了,。它具有可解釋性,,特別是找到的控制方程,那是最簡潔的知識,,是知識最顯性的一個表達(dá),。
這種情況下怎么做?實(shí)際上是比如我們有數(shù)據(jù),,就可以得到它的梯度和各階導(dǎo)數(shù),。理論上系統(tǒng)中可能存在許多項(xiàng),但是實(shí)際的方程是稀疏的,,它只有其中的幾項(xiàng),,其他的項(xiàng)的系數(shù)都是 0,所以那些項(xiàng)是不存在的,。
這樣問題就轉(zhuǎn)化成,,像這樣一個系統(tǒng)中,如何找到稀疏的向量,,而且它的系數(shù)也能同時找出來,。實(shí)際上就解決這個問題。說起來很簡單,,但是利用稀疏回歸做這個事情,,做起來可能不是那么簡單。
我們可以看一下早期的做法,。比如,,我有個口袋,可以在里面掏各種東西,,把掏出來的項(xiàng)做組合,。當(dāng)然了,,真正需要的項(xiàng),這肯定在口袋中,。這就是封閉候選集的一種做法,。
后來我們做的時候發(fā)現(xiàn),實(shí)際上我們不一定知道哪項(xiàng)是真正有用的,。這種情況下,,我們給一些基本的項(xiàng),其他的項(xiàng),,我們通過遺傳算法的交叉和變異得到新的項(xiàng),,這叫做半開放候選集。雖然我們沒有一個完備的候選集,,但是我們也能解決這個問題,。當(dāng)然,現(xiàn)在更好的辦法是,,如果只給我一個自變量,,給我一個因變量,我們再定義一些運(yùn)算符,、運(yùn)算法則,。這種情況下,如果我們能夠定義像導(dǎo)數(shù),,加減,,乘除等等這些運(yùn)算符,那么方程的每一項(xiàng)都是一個樹的結(jié)構(gòu),,這樣你通過一次次變異去改變樹的結(jié)構(gòu),,就可以把方程找出來。即使是比較復(fù)雜的方程也能找出來,,而且只需要自變量和因變量,。
我們舉個例子,KdV 方程,,一個很復(fù)雜的方程,。對于封閉候選集,需要先猜測這里面大概會包含哪些項(xiàng),?在這里,,我們假設(shè)這里面有 17 項(xiàng),而且方程真正需要的項(xiàng)確實(shí)也在這里面,,這種情況下是能把問題解出來的,。如果像剛才講的半開放候選集,雖然只給了四個項(xiàng),,真正的項(xiàng)以及其他很多項(xiàng)不在這個候選集里面,,這種情況下怎么辦,?可以通過交叉和變異的算法,產(chǎn)生新的項(xiàng),,這樣也能把這個問題解決,。
另外一個就是用符號數(shù)學(xué)的辦法,每一項(xiàng)都可以變成一個樹的結(jié)構(gòu),。這個樹是由節(jié)點(diǎn)構(gòu)成的,父節(jié)點(diǎn)是運(yùn)算符,,子節(jié)點(diǎn)是系數(shù),、變量或者函數(shù)。對于樹的結(jié)構(gòu),,它的深度和廣度,,都可以調(diào)整,因?yàn)樗砻鳂浠蛘哒f方程的項(xiàng)到底有多復(fù)雜,。這樣,,每一個方程實(shí)際上都是一片森林,你能夠自由地去調(diào)整它的稀疏性,。即使是很復(fù)雜的方程,,在沒有任何先驗(yàn)信息的情況下,也有可能找到,。這種情況下,,我們做了很多嘗試,發(fā)現(xiàn)這個方法連很復(fù)雜的嵌套式方程和分?jǐn)?shù)式方程都能找到,。一般情況下,,可能很難想象 1/x 是你方程的項(xiàng)和系數(shù),實(shí)際上這里面還是很有意思的,。那么它是怎么找到的呢,?
比如剛才講的例子中,初始有一個自變量,、因變量,,它第一代迭代后可能找出了這些簡單的項(xiàng),當(dāng)然這些項(xiàng)是不正確的,。然后再交叉,、變異、進(jìn)化,,再去評估它合不合理等等,,最后找出來的項(xiàng)是很好的。比如系數(shù)本來是 0. 25,,它找出的系數(shù)是 0.2498,,系數(shù)只是差一點(diǎn)點(diǎn),。另一個系數(shù)本來應(yīng)該是 1 的,它算出來是 0. 9979,,這基本上就把這個方程準(zhǔn)確無誤地找出來了,。當(dāng)然了,這里面還有很多例子,,我就不詳細(xì)展開了,。
知識發(fā)現(xiàn)也可以用來解決實(shí)際的問題。比如這種粘性重力流問題,,它的短期行為是沒有控制方程的,。這種情況下,我們通過精細(xì)的微觀數(shù)字模擬能得到它的一些數(shù)據(jù),。是不是可以利用這些數(shù)據(jù),,來學(xué)習(xí)得到它的宏觀控制方程?實(shí)際上這是可行的,。
當(dāng)然,,我們做的過程中,會考慮一些準(zhǔn)則,。一方面我們需要已知的那部分?jǐn)?shù)據(jù),,數(shù)據(jù)擬合的精度越高越好。另一方面,,我們希望模型越簡單越好,。同時,擬合數(shù)據(jù)的吻合程度也要越高越好,。
比如在這個情況下,,短期的行為控制方程是從未被發(fā)現(xiàn)過的,文獻(xiàn)里沒有報道過,,也沒有人推導(dǎo)出來過,。我們用知識發(fā)現(xiàn)的方法得到可能的兩個方程,我們發(fā)現(xiàn)形式較為復(fù)雜的方程(方程②)和數(shù)據(jù)的誤差比稍微要小一點(diǎn),,但是它比上面這個方程(方程①)更復(fù)雜,,上面這個方程(方程①)更簡潔。所以我們剛把剛才的兩個因素考慮進(jìn)去,,通過比較物理信息準(zhǔn)則值的大小,,我們就采用這樣一個形式(方程①),發(fā)現(xiàn)這個形式它實(shí)際上是一個非常好一個折中,,它既有很好的精度,,又有很好的簡潔性,簡單美,。
小結(jié)一下,,利用稀疏回歸,、遺傳算法、符號數(shù)學(xué),,可以從時空的數(shù)據(jù)中直接挖掘控制方程,。深度學(xué)習(xí)提供了一種計算導(dǎo)數(shù)的可行方式,對噪聲,、稀疏數(shù)據(jù)具有很好的魯棒性,。對于一個挖掘出的偏微分方程模型,它應(yīng)該在簡約性和精確性之間取得平衡,,從而獲得較高的可解釋性,,這樣的方程它實(shí)際上就找到以后就很好用,也可以給我們獲得更好的可解釋性,。挖掘控制方程的本質(zhì)就是知識發(fā)現(xiàn)。
結(jié)語
總結(jié)一下,,剛才講知識的嵌入和知識的發(fā)現(xiàn)是要形成一個閉環(huán)的,,是知識科學(xué)機(jī)器學(xué)習(xí)的一個核心。
最后,,機(jī)器學(xué)習(xí)算法可以有效地解決具有復(fù)雜,、非線性映射關(guān)系的問題。當(dāng)然了,,數(shù)據(jù)是關(guān)鍵,,比如信息化、物聯(lián)網(wǎng)等等,,這非常重要,。但是光有數(shù)據(jù),只是 “數(shù)據(jù)大”,,并不是 “大數(shù)據(jù)”,。如何做到 “大數(shù)據(jù)”?剛才講要建立這種模型,,利用行業(yè)的知識,,利用這種 cutting edge 的算法來好好地利用這些數(shù)據(jù),從 “數(shù)據(jù)大” 到 “大數(shù)據(jù)”,。
另外一方面,,要引入行業(yè)的知識,這樣可以有效地提升機(jī)器學(xué)習(xí)模型的效果,。當(dāng)然在各個環(huán)節(jié)都可以引入行業(yè)的知識,,我就不重復(fù)了。
另外,,大家可能聽得比較多,,是 AI 加 x,, x 就是行業(yè),還是行業(yè)加 AI,,就是 x 加 AI,。在我的心目中,我覺得解決各個行業(yè)的問題應(yīng)該是行業(yè) x 加 AI,。因?yàn)?AI 是一種是算法,,是通用的模型。像我們計算編程的語言,,實(shí)際上光有這些編程的語言,,是不能解決行業(yè)問題的,還應(yīng)該是行業(yè)加 AI,,這應(yīng)該是數(shù)據(jù)驅(qū)動和模型驅(qū)動的一個有機(jī)的結(jié)合,。
在這里面我再重復(fù)一遍,就是知識的嵌入和知識的發(fā)現(xiàn),,要形成一個閉環(huán),,從而大大提高我們?nèi)斯ぶ悄芙鉀Q實(shí)際問題的能力。
好,,謝謝大家,。