機器學習會取代數學建模嗎?讓我們假設一個微積分落後但深度學習...

2021-01-08 網易

  

  在機器模型盛行的當代,數學建模是否已無立足之地了呢?

  對於那些擅長於用微分方程、概率論解決問題的數學家們來說,素有「黑盒子」之稱機器學習往往是要被踢到鄙視鏈底端的。

  但是,在與各行各業中,絕大多數公司(小到初創公司,大到國際巨鱷)都在尋求運用機器學習的方法。隨著企業不斷地將機器學習融入其文化與組織中,這事也變得越來越普遍。

  有意思的是,在本科和碩士教育中,數學專業內部居然也都瀰漫起了機器學習的熱潮。舉例說,牛津大學的「深度學習理論」碩士課程在其設立的第一年就被超額報名。

  更驚人的是,很多數學博士生打算將機器學習嵌入到它們的研究課題中,從而形成將「傳統」(ODE和PDE)和「現代」(深度學習)相結合和新型混合模型。

  所以,機器學習是否會最終取代數學建模?

  如果數學模型在科研領域無法突破,我們最終是否會使用機器學習的方法來獲得建模上的進展呢?

  當然不是!我認為,機器學習和數學模型應當是互補的關係——充分結合二者的力量一定會產生有趣的新模型。

  為了說明我的觀點,我構想了一個例子,讓我們開啟一趟科技文明之旅!在這個虛構的文明中,機器學習相當發達,然而這個文明的數學卻糟糕得很,尤其是還不會微積分。

  一個虛構的文明

  

  假設我們正處於一個微積分落後但深度學習發達的科技文明中。

  和大多數文明一樣,它們都致力於用炮彈攻擊自己的對手。兩位來自同一陣營的科學家在對他們剛發行的大炮的攻擊範圍進行建模。

  科學家可以控制下列因素:

  大炮裡裝載的彈藥總量(例如炮彈的發射速度)

  大炮的角度

  科學家可以測量下列內容:

  彈丸從大炮中射出去的直線距離。

  *假設地面完全水平。

  從數學的角度上,他們希望找到一個模型/函數F,這個函數能基於所有速度v和角度θ進行預測。

  s=F(v,θ)

  使得這個結果接近於真實的行進距離。

  由於沒有炮彈在空中移動的相關知識儲備,科學家們採用了數據驅動的方式。

  數據採集

  科學家們用一天的時間來以各種火力及角度進行大炮射擊。每次他們點火發射,他們都會測量發射點和炮彈終點間的距離。但是,他們的測量結果並不完全精確,每次測量都會引入一些誤差。

  在那一天的時間中,他們打算發射1000次炮彈,產生1000個三元數組(vi,θi,si),其中θi是弧度制的。

  這些數據點分布如下圖所示:

  

  不用模型的方法

  解決問題的最簡單方法就是不使用模型,因為數據就能化身為模型!在這種方法中,他們選用那些最接近於他們想預測的情景的歷史數據,使用這些歷史數據當作預測模型(即KNN模型)。例如:

  

  這種純數據驅動的方式有著明顯的缺點。如果他們獲得的數據不能覆蓋所有的輸入可能性,或者數據過於稀疏,這種方式就會產生問題。在這個例子中,如果要預測速度大於10的射擊距離,沒有模型的話他們就無法進行精準預測。

  基於線性模型的方法

  從數據看來,他們期望的函數是非線性的,而且線性模型不可能將結果預測得很準確。但是,線性模型並非完全沒有價值,在很多應用場景下它是一種基礎模型,所以這兩位科學家決定先用個線性模型試試。

  線性模型的數學表達如下:

  在表達式中,wi∈R是權重,b∈R是偏移項,這些值都會被確定下來。我們用PyTorch實現線性模型,並使用隨機隨機梯度下降法(當然還有其他更好更簡單的方法)尋找模型參數。

  

  

  

  正如預期的那樣,建模結果非常糟糕。

  「黑盒」登場——深度神經網絡

  科學家們在機器學習研究和計算框架設計方面投入了大量資金,因此他們在面對問題時喜歡以深度神經網絡的方式構想解決方案。說白了就是,他們喜歡使用多層感知器系統,它包含有多個線性層,層與層之間靠非線性激活函數相連。模型可以按如下形式描述:

  

  

  我們用Adam optimizer對模型進行訓練,結果如下:

  

  對於在這方面沒有經驗的人,在看到神經網絡的預測結果的時候,基本都會感到驚嘆!至今為止,這也是深度學習流傳盛廣的主要原因——它不但有用,且效果顯著。只是我們並不知道為什麼。

  用數學語言刻畫「準線性方法」

  在上述的黑匣子模型中,科學家們有一個能夠準確預測大炮射擊距離的模型,但顧名思義,他們對模型的形式沒有直觀理解。科學家們熱衷於在使用機器學習方法的同時恢復這種直觀理解,並重新使用線性模型。

  我們高中的時候都學過三角函數,科學家們認為這個問題可能會涉及一些三角函數與速度的乘積。於是他們把模型寫成非線性基函數的線性組合:

  

  

  把非線性嵌入到線性模型之後,模型可以像線性模型一樣計算參數。優化後,模型為:

  

  在這種情況下,除了sin(2θ)的參數,優化將其他所有參數歸零。

  將F與數據進行比較,他們發現模型非常具有預測性。不僅如此,模型的公式短小精練!當然,他們能選中三角函數也是非常「幸運」了。

  數學方法——無數據模型

  很多年後,微積分終於被發現了!於是,兩位老科學家開始重新審視這個問題。

  1.假設方程

  低速炮彈的物理模型非常簡單。炮彈有垂直向下的重力加速度,恆定為-g。由於在x方向上沒有作用在射彈上的力,它始終保持其初始速度。該模型可以寫成二階微分方程組:

  初值條件為:

  後兩個方程式描述了炮彈最初發射時的速度的水平和垂直分量。這些方程描述了系統,但如何解決這些問題呢?

  2.數值積分

  通常在數學中,寫下微分方程是一個簡單的部分,大部分時間都花在試圖解決它們上面!

  他們寫出了該問題的一階常微分方程(ODE):

  初值條件為:

  易證這兩個方程相同。

  積分在數學中無處不在,有多種方法來進行數值積分。最簡單和最直觀的方法是歐拉方程,它從初始點開始,並在該點的梯度方向上走一小步,即:

  使用數值積分,可以準確地預測炮彈的整個軌跡。

  

  

  著陸點的位置是x(t*),它們可以從預測的軌跡中提取。

  相比於機器學習模型,這一數學模型的一個明顯優勢是,我們可以很輕易地解決更複雜的問題——例如不平坦的地面,或者從塔上發射炮彈(y(0)≠0)

  3.直接求解

  最後,兩位科學家使用了積分來求解,事實證明問題並非如此困難。x和y的方程可以獨立求解。通過求解每個方程(並應用初始條件)給出。

  

  他們以x和y坐標作為時間的函數。什麼時候射彈擊中了地面呢?當y=0時!即:

  

  求解t*=0(大炮射擊之前),並求解t*=2vsinθg(當它擊中地面時)。將第二個t*值插入到x的等式中,得到最終的行進距離,等於:

  那麼他們的最終預測模型就是

  

  他們發現這與準線性方法吻合。實際上,準線性方法也給出了他們對引力常數的估計。

  

  神經常微分方程方法-學習動力系統

  最後,假設他們不知道物理模型,只有一個常微分方程系統

  其中f1和f2是未知的(為簡潔起見省略虛擬變量)。

  NIPS最近發表的一篇論文(https://papers.nips.cc/paper/7892-neural-ordinary-differential-equations)提出了一種學習常微分系統的方法。簡而言之,它通過用神經網絡替換f1,f2並數值積分神經網絡來獲得軌跡來實現這一點。學習可以正常進行,因為數值積分方法具有明確定義的梯度。在他們的例子中,如果科學家可以隨時間跟蹤炮彈的位置,即數據(xi,yi,ti),那麼他們原則上可以恢復物理模型並了解物體隨著時間的推移而下降加速。這是一個令人興奮的深度學習新應用,它開啟了學習系統行為的可能性,而不是簡單地學習它們的輸出。

  我們學到了什麼?

  我們生活在一個幸運的年代,可以通過數百種不同的方式解決一個簡單的問題。此外,在上述「黑盒」方法中,我們也可以將神經網絡換成其他模型,並用上其他的優化方法。這突出了機器學習在數學中的作用——它是我們用以理解世界和做出預測的許多強大工具之一。

  數學家對數學模型是可解釋的,是直觀的,而深度學習模型正好相反。在我舉的例子中,構建數學模型並用機器學習填補空白(比如估測引力常數)可以帶來更好的準確性和更快的計算。

  如果我們能夠儘可能多地融入物理理論,並利用機器學習來填補我們的知識空白,那麼我們就有機會解決更複雜的問題。通常機器學習用於參數擬合,但在混合模型中,我們也可以用它來預測更複雜系統中的函數組成部分。

  我相信,隨著理論和技術的進步,我們將在未來看到許多混合模型。因此,數學建模和機器學習建模也應當是「合作關係」,而非「競爭關係」。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關焦點

  • 觀點| 我們該如何學習機器學習中的數學
    選自ycombinator博客,機器之心編譯,作者:Vincent Chen,參與:機器之心編輯部。數學在機器學習中非常重要,不論是在算法上理解模型代碼,還是在工程上構建系統,數學都必不可少。通常離開學校後很難有機會靜下心學習數學知識,因此我們最好能通過閱讀小組或讀書會等形式營造環境,並專注學習那些在實踐中常常需要用到的數學知識。
  • 想入門機器學習?機器之心為你準備了一份中文資源合集
    在機器學習中,一種使用幾行代碼即可建模算法的語言絕對是必要的。微積分、線性代數、概率論在機器學習幾乎所有算法中不可或缺。如果你的數學背景很紮實,請跳過這一章節。如若不然,那麼重新溫習一下這些重要概念也不錯。考慮到理論的數量,我並不建議大家從大部頭開始。儘管一開始可以用它查詢具體概念,但是初學者先關注簡單的話題比較好。
  • 人工智慧(AI) 機器學習(ML) 深度學習(DL),到底他們哥仨是什麼關係?
    自從AlphaGo戰勝李世石之後,人工智慧突然間成了坊間談資,仿佛人類已經造出了超越人類智慧的機器。而人工智慧的核心技術機器學習及其子領域深度學習一時間成了人們的掌上明珠。面對這個從天而降的「怪物」,樂觀者有之,悲觀者亦有之。但追溯歷史,我們會發現機器學習的技術爆發有其歷史必然性,屬於技術發展的必然產物。
  • 資源| 自學數據科學&機器學習?19個數學和統計學公開課推薦
    以有趣的方式講授應用中的數學概念。課程中,你會學到如何使用線式方程(equation of lines)來創造計算機字體、圖論如何在憤怒的小鳥中扮演重要角色、線性系統如何為一個運動團隊的表現建模以及谷歌如何使用概率和模擬來保持在搜尋引擎上的領先優勢。授課人系戴維斯分校的數學教授,開放註冊。預備知識:要懂線性代數和編程。6.
  • 推薦| 九本不容錯過的深度學習和神經網絡書籍
    選自aioptify機器之心編譯參與:微胖、李亞洲、蔣思源針對 30 多本深度學習和神經網絡書籍,我們(AI Optify 數據團隊)使用不同指標(比如,在線評價、打分、所涉主題、作者影響力、出版年份、社交媒體是否提及等)訓練機器學習算法,為每本書打分、排名。讀者可能會喜歡我們的推薦,因為這份榜單基於數據並且客觀。排名靠前的九本書如下。1.
  • 深度學習和經驗主義的勝利
    保證是一個聲明,可以用數學確定其行為、性能或一個算法的複雜度。在其他條件不變的情況下,給定足夠的時間,我們的算法A可以從某種模型分類器{H1,H2,···}找到一個分類算法H,它的性能不比H*差,H*是這個類中最好的分類器。當然,這和一些固定的損失函數L有關。簡短來說,我們可能很樂意用一些常數來固定H與H*之間的性能差異或比例。
  • 微積分學習技巧-結合幾何意義
    因為在學習微積分之前,必須知道微積分就是一個純代數的學科,也不是初中學習過的純幾何學科。微積分的出現和發展都是基於代數和幾何相結合的數學中最重要的一個部分,解析幾何發展出來的。簡單來說,微分和積分都有其幾何意義,他們能直觀反映到平面直角坐標系或者立體直角坐標系中;同樣通過代數的計算,又可以得到這些幾何意義的重要數值。
  • 數據分析學習:入數據科學大坑,我需要什麼樣的數學水平?
    所以,本文作者闡釋了數據科學和機器學習為何離不開數學,並提供了統計學與概率論、多變量微積分、線性代數以及優化方法四個數學分支中需要熟悉的一些數學概念。本文的作者是物理學家、數據科學教育者和作家 Benjamin Obi Tayo 博士,他的研究興趣在於數據科學、機器學習、AI、Python 和 R 語言、預測分析、材料科學和生物物理學。
  • 深度學習貝葉斯,這是一份密集的6天速成課程(視頻與PPT)
    很多講師曾經在頂級國際機器學習會議例如 NIPS、ICML、ICCV、CVPR、ICLR、AISTATS 等發表過論文。貝葉斯方法研究團隊已經開發了一系列的大學課程,包括貝葉斯方法、深度學習、優化以及概率圖模型,擁有大量的教學經驗。
  • 「深度學習」已經接近終點?下一代機器學習將會怎樣?|極客雲算
    林宙辰:深度學習、機器學習已經很少聽到有突破性的進展了。去年三大巨頭獲得圖靈獎,馬上有人跳出來說「某個領域獲得圖靈獎就表明這個領域已經走到盡頭了」;我們也體會到近一兩年來,深度學習重大進展好像就沒有了,大家只能想方設法去充分利用算力。因此,我和許多做機器學習的學者都在想一件事情:機器學習下一步應該是什麼樣子?
  • 一文讀懂深度學習中的矩陣微積分,fast.ai創始人&ANTLR之父出品
    魚羊 編譯整理量子位 報導 | 公眾號 QbitAI想要真正了解深度神經網絡是如何訓練的,免不了從矩陣微積分說起。這位ANTLR之父和fast.ai創始人Jeremy Howard一起推出了一篇免費教程,旨在幫你快速入門深度學習中的矩陣微積分。簡明,易懂。
  • 關於深度學習你必須知道的幾個信息理論概念
    資訊理論可以看作是微積分、概率論和統計學這些深度學習基本組成部分的複雜融合。第二句話給了我們更多的信息,因為它還告訴布魯諾除了是「狗」之外還是「大的」和「棕色的」。我們如何量化兩個句子之間的差異?我們能否有一個數學測量方法告訴我們第二句話與第一句話相比多了多少信息?科學家們一直在努力解決這些問題。語義,域和數據形式只會增加問題的複雜性。
  • 深度學習與統計力學(I) :深度學習中的基礎理論問題
    事實上,統計力學和機器學習領域長期以來都有著豐富的強耦合相互作用的歷史,而統計力學和深度學習交叉點的最新進展表明,這些相互作用只會加深未來的發展。系列預告深度學習統計力學(I) :深度學習中的基礎理論問題深度學習統計力學(IV) :深層網絡的信號傳播和初始化深度學習統計力學(VI) :通過概率模型進行「深度想像」1 介紹深層神經網絡具有多個隱含層[1],在許多領域都取得了顯著的成功,從機器視覺[2]、語音識別[3]、自然語言處理[4]、強化學習[5],到神經科學[6、7]、心理學[8、
  • 「深度學習」打造「中國腦計劃」
    同時聽到腦科學和人工智慧這兩個名詞,會不會有些距離感?其實當你長按微信語音並選擇把朋友的語音信息「轉化為文字」時,就是兩者結合的一次完美應用,是「深度學習」的產物。這一方面基於腦科學的發展為模擬、實現和應用神經系統的原理提供了堅實的生物理論基礎,另一方面基於智能算法、大數據和應用模式的成熟為人工智慧突破產業大規模應用提供了良好的環境。
  • 深度學習在統計機器翻譯和會話中的應用 |微軟IJCAI2016演講PPT
    為了給新詞彙評分每一個解碼器的狀態都需要維持在h,通過傳統的n-gram語境和最好的h來合併假設,進行重新組合。編碼器-解碼器基礎方法是:一個編碼器RNN進行閱讀和將一個源句子編碼到固定長度的矢量中,一個解碼器RNN從編碼器矢量中輸出可變長度的翻譯,最後編碼器-解碼器RNNs聯合學習文本,優化目標可能性。
  • 人工智慧、深度學習與人類智能之間的區別和聯繫
    (2)深度學習:用以實現人工智慧的一種機器學習方法。深度學習本來並不是一種獨立的學習方法,其本身也會用到有監督和無監督的學習方法來訓練深度神經網絡。但由於近幾年該領域發展迅猛,一些特有的學習手段相繼被提出(如殘差網絡),因此越來越多的人將其單獨看作一種學習的方法。
  • 揭秘深度學習成功的數學原因:從全局最優性到學習表徵不變性
    本文的目的正是要揭示深度學習成功的奧秘。通過圍繞著深度學習的三個核心要素——架構、正則化技術和優化算法,並回顧近期研究,作者為深層網絡的若干屬性,如全局最優性、幾何穩定性、學習表徵不變性,提供了一個數學證明。
  • 為了徹底理解深度學習,我們到底需要掌握哪些數學知識呢?答案在本文
    之前發表過一篇文章 《如何用70行Java代碼實現深度神經網絡算法》 (點擊 「 閱讀原文 」 獲得文章),記錄了深度神經網絡的計算過程和程序實現,本文再進一步研究一下背後的數學原理。為了徹底理解深度學習,我們到底需要掌握哪些數學知識呢? 經常看到會列出一系列數學科目:微積分、線性代數、概率論、複變函數、數值計算等等。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    雖然研究者們在機器學習領域取得了讓人興奮的成果,不過我們仍然處於機器學習發展的早期階段。對於剛接觸機器學習的開發者來講,想要理解什麼是機器學習,首先要搞懂三個部分:輸入、算法、輸出。監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。
  • 學習微積分,就是這麼簡單。
    微積分學會微積分,就是這麼簡單開學已經一個多月啦!大一的小可愛也都逐漸適應了大學生活。大學時代「噩夢」高數也露出了它的魔鬼式微笑。不少大一同學覺得微積分真的太難了,根本聽不懂。其實微積分並沒有那麼可怕,今天我們就一起來看一看如何學習微積分吧!