對(duì)于那些擅長(zhǎng)于用微分方程、概率論解決問(wèn)題的數(shù)學(xué)家們來(lái)說(shuō),素有“黑盒子”之稱機(jī)器學(xué)習(xí)往往是要被踢到鄙視鏈底端的。
但是,在與各行各業(yè)中,絕大多數(shù)公司(小到初創(chuàng)公司,大到國(guó)際巨鱷)都在尋求運(yùn)用機(jī)器學(xué)習(xí)的方法。隨著企業(yè)不斷地將機(jī)器學(xué)習(xí)融入其文化與組織中,這事也變得越來(lái)越普遍。
有意思的是,在本科和碩士教育中,數(shù)學(xué)專業(yè)內(nèi)部居然也都彌漫起了機(jī)器學(xué)習(xí)的熱潮。舉例說(shuō),牛津大學(xué)的“深度學(xué)習(xí)理論”碩士課程在其設(shè)立的第一年就被超額報(bào)名。
更驚人的是,很多數(shù)學(xué)博士生打算將機(jī)器學(xué)習(xí)嵌入到它們的研究課題中,從而形成將“傳統(tǒng)”(ODE和PDE)和“現(xiàn)代”(深度學(xué)習(xí))相結(jié)合和新型混合模型。
所以,機(jī)器學(xué)習(xí)是否會(huì)最終取代數(shù)學(xué)建模?
如果數(shù)學(xué)模型在科研領(lǐng)域無(wú)法突破,我們最終是否會(huì)使用機(jī)器學(xué)習(xí)的方法來(lái)獲得建模上的進(jìn)展呢?
當(dāng)然不是!我認(rèn)為,機(jī)器學(xué)習(xí)和數(shù)學(xué)模型應(yīng)當(dāng)是互補(bǔ)的關(guān)系——充分結(jié)合二者的力量一定會(huì)產(chǎn)生有趣的新模型。
為了說(shuō)明我的觀點(diǎn),我構(gòu)想了一個(gè)例子,讓我們開(kāi)啟一趟科技文明之旅!在這個(gè)虛構(gòu)的文明中,機(jī)器學(xué)習(xí)相當(dāng)發(fā)達(dá),然而這個(gè)文明的數(shù)學(xué)卻糟糕得很,尤其是還不會(huì)微積分。
一個(gè)虛構(gòu)的文明
假設(shè)我們正處于一個(gè)微積分落后但深度學(xué)習(xí)發(fā)達(dá)的科技文明中。
和大多數(shù)文明一樣,它們都致力于用炮彈攻擊自己的對(duì)手。兩位來(lái)自同一陣營(yíng)的科學(xué)家在對(duì)他們剛發(fā)行的大炮的攻擊范圍進(jìn)行建模。
科學(xué)家可以控制下列因素:
大炮里裝載的彈藥總量(例如炮彈的發(fā)射速度)
大炮的角度
科學(xué)家可以測(cè)量下列內(nèi)容:
彈丸從大炮中射出去的直線距離。
*假設(shè)地面完全水平。
從數(shù)學(xué)的角度上,他們希望找到一個(gè)模型/函數(shù)F,這個(gè)函數(shù)能基于所有速度v和角度θ進(jìn)行預(yù)測(cè)。
s=F(v,θ)
使得這個(gè)結(jié)果接近于真實(shí)的行進(jìn)距離。
由于沒(méi)有炮彈在空中移動(dòng)的相關(guān)知識(shí)儲(chǔ)備,科學(xué)家們采用了數(shù)據(jù)驅(qū)動(dòng)的方式。
數(shù)據(jù)采集
科學(xué)家們用一天的時(shí)間來(lái)以各種火力及角度進(jìn)行大炮射擊。每次他們點(diǎn)火發(fā)射,他們都會(huì)測(cè)量發(fā)射點(diǎn)和炮彈終點(diǎn)間的距離。但是,他們的測(cè)量結(jié)果并不完全精確,每次測(cè)量都會(huì)引入一些誤差。
在那一天的時(shí)間中,他們打算發(fā)射1000次炮彈,產(chǎn)生1000個(gè)三元數(shù)組(vi,θi,si),其中θi是弧度制的。
這些數(shù)據(jù)點(diǎn)分布如下圖所示:
不用模型的方法
解決問(wèn)題的最簡(jiǎn)單方法就是不使用模型,因?yàn)閿?shù)據(jù)就能化身為模型!在這種方法中,他們選用那些最接近于他們想預(yù)測(cè)的情景的歷史數(shù)據(jù),使用這些歷史數(shù)據(jù)當(dāng)作預(yù)測(cè)模型(即KNN模型)。例如:
這種純數(shù)據(jù)驅(qū)動(dòng)的方式有著明顯的缺點(diǎn)。如果他們獲得的數(shù)據(jù)不能覆蓋所有的輸入可能性,或者數(shù)據(jù)過(guò)于稀疏,這種方式就會(huì)產(chǎn)生問(wèn)題。在這個(gè)例子中,如果要預(yù)測(cè)速度大于10的射擊距離,沒(méi)有模型的話他們就無(wú)法進(jìn)行精準(zhǔn)預(yù)測(cè)。
基于線性模型的方法
從數(shù)據(jù)看來(lái),他們期望的函數(shù)是非線性的,而且線性模型不可能將結(jié)果預(yù)測(cè)得很準(zhǔn)確。但是,線性模型并非完全沒(méi)有價(jià)值,在很多應(yīng)用場(chǎng)景下它是一種基礎(chǔ)模型,所以這兩位科學(xué)家決定先用個(gè)線性模型試試。
線性模型的數(shù)學(xué)表達(dá)如下:
在表達(dá)式中,wi∈R是權(quán)重,b∈R是偏移項(xiàng),這些值都會(huì)被確定下來(lái)。我們用PyTorch實(shí)現(xiàn)線性模型,并使用隨機(jī)隨機(jī)梯度下降法(當(dāng)然還有其他更好更簡(jiǎn)單的方法)尋找模型參數(shù)。
正如預(yù)期的那樣,建模結(jié)果非常糟糕。
“黑盒”登場(chǎng)——深度神經(jīng)網(wǎng)絡(luò)
科學(xué)家們?cè)跈C(jī)器學(xué)習(xí)研究和計(jì)算框架設(shè)計(jì)方面投入了大量資金,因此他們?cè)诿鎸?duì)問(wèn)題時(shí)喜歡以深度神經(jīng)網(wǎng)絡(luò)的方式構(gòu)想解決方案。說(shuō)白了就是,他們喜歡使用多層感知器系統(tǒng),它包含有多個(gè)線性層,層與層之間靠非線性激活函數(shù)相連。模型可以按如下形式描述:
我們用Adam optimizer對(duì)模型進(jìn)行訓(xùn)練,結(jié)果如下:
對(duì)于在這方面沒(méi)有經(jīng)驗(yàn)的人,在看到神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果的時(shí)候,基本都會(huì)感到驚嘆!至今為止,這也是深度學(xué)習(xí)流傳盛廣的主要原因——它不但有用,且效果顯著。只是我們并不知道為什么。
用數(shù)學(xué)語(yǔ)言刻畫“準(zhǔn)線性方法”
在上述的黑匣子模型中,科學(xué)家們有一個(gè)能夠準(zhǔn)確預(yù)測(cè)大炮射擊距離的模型,但顧名思義,他們對(duì)模型的形式?jīng)]有直觀理解。科學(xué)家們熱衷于在使用機(jī)器學(xué)習(xí)方法的同時(shí)恢復(fù)這種直觀理解,并重新使用線性模型。
我們高中的時(shí)候都學(xué)過(guò)三角函數(shù),科學(xué)家們認(rèn)為這個(gè)問(wèn)題可能會(huì)涉及一些三角函數(shù)與速度的乘積。于是他們把模型寫成非線性基函數(shù)的線性組合:
把非線性嵌入到線性模型之后,模型可以像線性模型一樣計(jì)算參數(shù)。優(yōu)化后,模型為:
在這種情況下,除了sin(2θ)的參數(shù),優(yōu)化將其他所有參數(shù)歸零。
將F與數(shù)據(jù)進(jìn)行比較,他們發(fā)現(xiàn)模型非常具有預(yù)測(cè)性。不僅如此,模型的公式短小精練!當(dāng)然,他們能選中三角函數(shù)也是非常“幸運(yùn)”了。
數(shù)學(xué)方法——無(wú)數(shù)據(jù)模型
很多年后,微積分終于被發(fā)現(xiàn)了!于是,兩位老科學(xué)家開(kāi)始重新審視這個(gè)問(wèn)題。
1.假設(shè)方程
低速炮彈的物理模型非常簡(jiǎn)單。炮彈有垂直向下的重力加速度,恒定為-g。由于在x方向上沒(méi)有作用在射彈上的力,它始終保持其初始速度。該模型可以寫成二階微分方程組:
初值條件為:
后兩個(gè)方程式描述了炮彈最初發(fā)射時(shí)的速度的水平和垂直分量。這些方程描述了系統(tǒng),但如何解決這些問(wèn)題呢?
2.數(shù)值積分
通常在數(shù)學(xué)中,寫下微分方程是一個(gè)簡(jiǎn)單的部分,大部分時(shí)間都花在試圖解決它們上面!
他們寫出了該問(wèn)題的一階常微分方程(ODE):
初值條件為:
易證這兩個(gè)方程相同。
積分在數(shù)學(xué)中無(wú)處不在,有多種方法來(lái)進(jìn)行數(shù)值積分。最簡(jiǎn)單和最直觀的方法是歐拉方程,它從初始點(diǎn)開(kāi)始,并在該點(diǎn)的梯度方向上走一小步,即:
使用數(shù)值積分,可以準(zhǔn)確地預(yù)測(cè)炮彈的整個(gè)軌跡。
著陸點(diǎn)的位置是x(t*),它們可以從預(yù)測(cè)的軌跡中提取。
相比于機(jī)器學(xué)習(xí)模型,這一數(shù)學(xué)模型的一個(gè)明顯優(yōu)勢(shì)是,我們可以很輕易地解決更復(fù)雜的問(wèn)題——例如不平坦的地面,或者從塔上發(fā)射炮彈(y(0)≠0)
3.直接求解
最后,兩位科學(xué)家使用了積分來(lái)求解,事實(shí)證明問(wèn)題并非如此困難。x和y的方程可以獨(dú)立求解。通過(guò)求解每個(gè)方程(并應(yīng)用初始條件)給出。
他們以x和y坐標(biāo)作為時(shí)間的函數(shù)。什么時(shí)候射彈擊中了地面呢?當(dāng)y=0時(shí)!即:
求解t*=0(大炮射擊之前),并求解t*=2vsinθg(當(dāng)它擊中地面時(shí))。將第二個(gè)t*值插入到x的等式中,得到最終的行進(jìn)距離,等于:
那么他們的最終預(yù)測(cè)模型就是
他們發(fā)現(xiàn)這與準(zhǔn)線性方法吻合。實(shí)際上,準(zhǔn)線性方法也給出了他們對(duì)引力常數(shù)的估計(jì)。
神經(jīng)常微分方程方法-學(xué)習(xí)動(dòng)力系統(tǒng)
最后,假設(shè)他們不知道物理模型,只有一個(gè)常微分方程系統(tǒng)
其中f1和f2是未知的(為簡(jiǎn)潔起見(jiàn)省略虛擬變量)。
NIPS最近發(fā)表的一篇論文(https://papers.nips.cc/paper/7892-neural-ordinary-differential-equations)提出了一種學(xué)習(xí)常微分系統(tǒng)的方法。簡(jiǎn)而言之,它通過(guò)用神經(jīng)網(wǎng)絡(luò)替換f1,f2并數(shù)值積分神經(jīng)網(wǎng)絡(luò)來(lái)獲得軌跡來(lái)實(shí)現(xiàn)這一點(diǎn)。學(xué)習(xí)可以正常進(jìn)行,因?yàn)閿?shù)值積分方法具有明確定義的梯度。在他們的例子中,如果科學(xué)家可以隨時(shí)間跟蹤炮彈的位置,即數(shù)據(jù)(xi,yi,ti),那么他們?cè)瓌t上可以恢復(fù)物理模型并了解物體隨著時(shí)間的推移而下降加速。這是一個(gè)令人興奮的深度學(xué)習(xí)新應(yīng)用,它開(kāi)啟了學(xué)習(xí)系統(tǒng)行為的可能性,而不是簡(jiǎn)單地學(xué)習(xí)它們的輸出。
我們學(xué)到了什么?
我們生活在一個(gè)幸運(yùn)的年代,可以通過(guò)數(shù)百種不同的方式解決一個(gè)簡(jiǎn)單的問(wèn)題。此外,在上述“黑盒”方法中,我們也可以將神經(jīng)網(wǎng)絡(luò)換成其他模型,并用上其他的優(yōu)化方法。這突出了機(jī)器學(xué)習(xí)在數(shù)學(xué)中的作用——它是我們用以理解世界和做出預(yù)測(cè)的許多強(qiáng)大工具之一。
數(shù)學(xué)家對(duì)數(shù)學(xué)模型是可解釋的,是直觀的,而深度學(xué)習(xí)模型正好相反。在我舉的例子中,構(gòu)建數(shù)學(xué)模型并用機(jī)器學(xué)習(xí)填補(bǔ)空白(比如估測(cè)引力常數(shù))可以帶來(lái)更好的準(zhǔn)確性和更快的計(jì)算。
如果我們能夠盡可能多地融入物理理論,并利用機(jī)器學(xué)習(xí)來(lái)填補(bǔ)我們的知識(shí)空白,那么我們就有機(jī)會(huì)解決更復(fù)雜的問(wèn)題。通常機(jī)器學(xué)習(xí)用于參數(shù)擬合,但在混合模型中,我們也可以用它來(lái)預(yù)測(cè)更復(fù)雜系統(tǒng)中的函數(shù)組成部分。
我相信,隨著理論和技術(shù)的進(jìn)步,我們將在未來(lái)看到許多混合模型。因此,數(shù)學(xué)建模和機(jī)器學(xué)習(xí)建模也應(yīng)當(dāng)是“合作關(guān)系”,而非“競(jìng)爭(zhēng)關(guān)系”。
-
數(shù)學(xué)模型
+關(guān)注
關(guān)注
0文章
83瀏覽量
11954 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8428瀏覽量
132831
原文標(biāo)題:機(jī)器學(xué)習(xí)會(huì)取代數(shù)學(xué)建模嗎?讓我們假設(shè)一個(gè)微積分落后但深度學(xué)習(xí)發(fā)達(dá)的文明社會(huì)……
文章出處:【微信號(hào):smartman163,微信公眾號(hào):網(wǎng)易智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論