如果有第谷的數據,現在的機器學習,深度學習有辦法學出開普勒三定律嗎?
本題已加入知乎圓桌 ?「機器學習 · 學以致用」,更多「機器學習」相關話題討論歡迎關注。
用數據的方法來研究科學,最典型的例子是開普勒關於行星運動的三大定律。既然機器學習,深度學習是走開普勒的路線,很好奇現在的機器學習深度學習有辦法完成開普勒當年完成的工作嗎?
其實09年就已經有相關的工作了,還發表在了science上
Distilling Free-Form Natural Laws from Experimental Data
這篇文章介紹了僅僅利用一些實驗記錄的raw data,學習出了簡諧運動,單擺,雙擺等運動的物理規律(具體來說是Hamiltonian and Lagrangian的解析表達式)。
(圖來自原paper)
當時機器學習還沒現在這麼火爆,文章也只是用了symbolic regression的方法定義不同變數之間的偏導作為loss,當時還是引起了不少關注的。只是現在機器學習變得火爆了,但好像反而沒什麼人關注這個問題了。。。
經評論區指出,今年ICLR有一篇 https://openreview.net/forum?id=BkgRp0FYe?eId=BkgRp0FYe
類似的工作,用神經網路來學習一個表達式。
我覺得,機器學習會用模型所允許的函數(例如神經網路里的 sigmoid、ReLU 等),逼近開普勒三定律的函數,從而做出相當精確的預測。但機器學習無法歸納出簡潔的三定律的函數形式。
謝邀。
其實是可以的,但是需要一些先驗知識(Domain Knowledge):
假設我們有第谷的數據,那無非是從某個位置觀測到一系列時間點上一些星星的坐標數據。希望找到這些位置滿足的微分方程(不妨設僅由初等函數和微分符號組成,因為即使不初等的函數也可以展開成初等函數的近似和,物理畢竟只是需要一個有效理論就可以了)。進一步地,我們希望找到更本原的東西,當然機器並不知道什麼是本原。但是我們可以定義本原是:用盡量簡潔的基本物理量表達的盡量簡單的一個公式,這樣的理論就比較本原,那麼我們可以用機器學習里正則化的方式來表達「本原」。
如果我們加入一些先驗知識可以讓這個空間更加小:
1. 物理用現在的觀點來看,是描述不變數和對稱性,牛頓三定律最根本的闡述是物理定律對於伽利略變換的不變性。不變數就是類似動量、能量等等這些的。
2. 有最基本的物理量,(其他的速度、加速度都可以通過這些基本物理量來表達),比如是距離、時間、質量這些。不過對於第谷的數據來講,肯定是以 時間、位置坐標來記錄的,這個已經可以做基本物理量了(用現代的觀點來看距離比坐標更基本,但是坐標就是額外加入一個參考點,並不影響我們發現的這個理論的正確性),只是不夠優雅,問題並不大。
3. 對稱性群是個比較小的空間,所以你無非是要讓機器學習模型找到一個由基本物理量組成的微分方程,這個方程能滿足某個對稱性群下的不變性,而且這個方程都是初等函數和微分算符組成的。並且這個方程描述的基本物理量的規律和實際觀測數據的損失函數盡量小。
4. 當然你還要對這個基本物理量組成的微分方程做一些regularization,這樣可以使得越簡單的方程越好。這個也不難設計,多個數學符號就懲罰一點就好了。
5. 如果用分析力學的視角來看,更方便機器學習。如果你認為最小作用量原理是一種可以接受的先驗知識(就像最大熵原理一樣,非常自然),那麼就讓機器學習找到一個基本物理量組成的量,這個量在各個變換中總是取最小(最大)的參數組合好了(當然更嚴格的意義是變分為0)。找到了以後再讓機器學習找對稱性群,變下形式就是牛頓三定律。
至此,你已經把搜索物理定律的尋找縮小到一個其實不怎麼大的空間上的搜索問題了。
那麼因為實際上物理測量的結果信噪比特別特別高(至少對於經典力學的絕大多數實驗來說,比如如果你方程錯了一點,就會和牛頓三定律差很多很多)。。。所以估計運行不了多久就能搜到一個靠譜的物理規律了。找到相對論倒可能比較難,因為廣相併不能從最小作用量+對稱性這套框架里推倒出來,狹義相對論理論上是可以的,但是甭管哪種相對論,他們的信號相對來說太弱了,如果正則化設得比較高,估計模型並不會跑出來。
另外其實基於計算機甚至機器學習的方法,其實已經廣泛用於在現代物理的研究里了,比如說希格斯粒子的發現...實際上人從特別大的數據里找信號的能力其實很弱,這事其實還是機器比較擅長。
回答問題:
1. 能否去掉1、2、3、4、5.
只有兩個先驗知識我認為是必須的:
1. 基本物理量的規律可以用初等函數和微分算符組成的公式表達。這才能把無限維的函數空間降到有限維上,否則這個問題計算機無從入手
2. 公式越簡單越好(正則化),否則你會學習出來很多帶著一些很小卻又無法解釋的公式項的公式。
經典力學就有3種完全等價的表達方式。畢竟機器學習只是在空間里搜索到一個較優解,而定義空間及其基底以使得這個空間對人類有意義這件事情(就像打label),則必須由人類來做的。
我不同意兩個高票答案。# Remark at Mar. 3: 非當前高票答案,而是當時王贇和陳默的答案。
雖然嚴格意義上機器學習的確不能直接學會函數的形式,但並不意味著開普勒總結的三定律就比機器學習更高明,可是牛頓三定律就完全不一樣了。開普勒三定律實際上也只是人運用奧卡姆剃刀,從可能的函數族裡面挑出了一個足夠簡單又足夠精確的數值擬合形式,如果將相應的Criteria放入機器學習也能得出類似的結論。開普勒的意義在於之前從沒有這麼多的準確觀測數據,以及以這種方式來總結規律,但工作的本質和目前主流的機器學習是一樣的。真正偉大的是牛頓,從開普勒三定律的表面規律總結出來了經典力學原理,並在數學上嚴格的推導,這才是目前機器學習所不具備的能力。
換個話說,開普勒三定律就像主流機器學習的方法論一般,主要是找數據的相關性,得到一個實用公式,卻並不太清楚背後的機理;而牛頓三定律類比的就是domain expertise試圖從數據挖掘的結果里深入找到其工作機理,形成真正可推廣預測的理論。目前DL泛濫,也一直存在相應批評聲,似乎真如《大數據》一書所述般只關心相關性不關心因果性(這個大概是被批評得最多的點);但另一方面,也可將最近DL的進展類比成科學史上第谷和開普勒的工作,提供了足夠多的數據和規律,就等「牛頓」來深入詮釋了
作為一個物理出身搞材料,正在努力學習機器學習方法的人,確實認真思考過這個問題,直到知道了一家叫Eureqa的公司,才知道已經有商業化解決方案了
https://en.m.wikipedia.org/wiki/Eureqa
https://www.quora.com/Has-the-Eureka-Machine-had-continuing-success
ps:另一個我思考過的問題是泡利不相容原理這是個好問題。現在的機器學習框架是做不到的。現在的機器學習是人給出學習的函數的形式,用數據去學函數的參數。而你的問題是學習函數的形式本身。現在並沒有辦法。
簡單來說是不能,但只是不能明確表達出這種形式,但我們並不知道它是不是已經學會了。因為現在機器學習的主流方向主要是解決明確的問題,比如人臉識別、機器翻譯、推薦系統等等,在如何理解模型的方面的研究並不足夠火熱。倘若有一天這些問題人類都解決了,下一步的大熱研究方向,可能就是去理解,機器學習到底學習了什麼。
對於機器智能一直有一種誤解,認為只有機器把學習的智能,表達成人類可以理解的形式,才是真正的智能。這種想法是錯誤的,甚至危險的。機器所謂的理解,與人類的理解是不同的,我們要接受這種不同,並思考它的存在。人類受限於大腦有限的計算和存儲能力,對於知識的理解只能基於不斷地歸納演繹,用語言,比如數學語言,將其表達出來,並將其認定為知識。但機器不同,機器的計算和存儲能力相對人類是無限的,因此,機器並不需要像人類一樣通過歸納演繹來獲得智能。機器已經學到了智能,但是我們卻不能理解,但不能因此認為它沒有智能。
就拿題目中的例子來說,如果我通過機器學習的方法,訓練出來了一個包含一億個參數的模型,它能精確地預測行星軌跡。某種意義上,它絕對已經學習出來了開普勒三定律,甚至可能總結出來了更多的定律。但是我們能夠理解嗎?不能。知識都在這一億個參數裡面,我們受限於人腦的結構,永遠不可能理解複雜的系統。人類能做的,是試圖創造一種方法,把機器學習到的智能,轉化成人類可以理解的智能。
這樣的例子還有很多,比如我們已經可以訓練出比人類更精確地人臉識別、圖像識別模型,我們卻不能理解模型的原理。倘若真的有人臉識別三大定律,就在那模型的幾億個參數中,我們也只能等待有一天我們能夠發展出一套演算法,讓機器把它的智能轉化成我們能理解的語言。
不論怎樣,我們要清楚地認識到,機器已經學習到的智能是客觀存在的,是無處不在的,而我們受限於人腦的結構,是不一定能夠理解的,我們需要努力更多,才能夠理解機器所學習的智能。
也因此,對於機器智能的擔憂是有道理的。因為我們很難理解機器到底學會了什麼,再加上在這個答案中也提到,機器智能的發展是不會後退的:這一波人工智慧泡沫將會怎麼破滅? - 陳然的回答 - 知乎 對於一種難以理解的、飛速發展的、不會後退的、可以任意複製的、正在替代人類完成越來越多任務的智能,我們保持足夠的警惕,是很有必要的。
----
@陳然
非內行人偏個題。當時第谷的數據是以地球為參考系的,而開普勒用了幾十年時間把這些數據整理成以太陽為參考系的,這才歸納出簡潔的開普勒三定律。因此,我覺得機器學習大概會根據原始數據搞出類似本輪均輪的地心說理論,而沒辦法歸納出開普勒定律。========================================
17.9.5補充
計算物理課上老師提到了一篇12年的論文Extracting dynamics equations from experimental data is NP hard對這個問題可能有些啟發。不同意很多回答的看法,傳統的機器學習比如SVM,神經網路確實不關心把模型表達為人類可理解的形式,但是一類特殊的機器學習Interpretable Machine Learning的目標就是讓機器學習出便於人類理解的模型。
事實上早在2005年, Khalid El-Arini, Andrew W. Moore, and Ting Liu 等人就發表了 Autonomous Visualization (http://www.cs.cmu.edu/~./kbe/av_pkdd.pdf),其中涉及的恆星分類問題比開普勒定律複雜得多。從下圖可以看出Autonomous Visualization選擇了兩個複雜的表達式作為X軸和Y軸,清晰地把數據的規律表達出來。
這一演算法的基本原理就是賦予每張圖一個score,越是便於人類理解的圖score越高。然後使用離散優化搜索一定複雜度內的表達式空間。只要score function選擇恰當,足以讓Autonomous Visualization搜索出一組二次多項式的表達式。因此這個機器學習演算法不僅可以發現開普勒定律,還能將其規律可視化出來。
Interpretable Machine Learning作為新興的機器學習技術受到了廣泛的重視,去年舉辦的Interpretable ML for Complex Systems NIPS 2016 Workshop中誕生了許多新的演算法。大家有興趣可以去他們的網站閱讀paper:https://sites.google.com/site/nips2016interpretml/papers-1
應該是學不出具體的數學公式的,但是可以很好地逼近真實的物理規律,比如真實的公式可能是y=exp(x),機器學習不一定能完美學習出這個公式,卻可能通過函數近似用幾階泰勒展開式或者其他數學分析的手段來逼近真實公式
數據從來不是它如何解釋的,而是這個解釋如何傳播的。
比如說,股市漲跌和某人膝蓋痛苦程度成正比,就算AI把這個規律總結出來,這個解釋也不會被傳播出去的。觀測數據足夠的話,選的模型能力又夠的話,完全可以。
不用那麼麻煩,就是一個regression而已。回歸出一個m1*m2/r^2,多項式擬合就夠吧。
black box式的機器學習系統辦不到。
但有domain knowledge的機器學習researcher就行。所以關鍵還是誰去設計這個這個機器學習系統。不是機器學習辦不辦得到,而是用機器學習的那個人辦不辦得到。
我本科時曾做過利用本科的數學知識重新發現開普勒三定律的工作,基於現代的數學知識確實比較容易擬合出開普勒第三定律公式。但是,事實上計算機給出的大量擬合結果中,開普勒第三定律的形式精度並不十分理想,而複雜的高階的結果擬合效果非常好。如果採用機器學習方法來重新發現的話,更有可能會產生更為精確的本輪說,而不是開普勒第三定律的形式。偉大的定律的發現,不但要有精確的數學,還需要有對世界的哲學認識和對美的追求。
但是問題來了,物理定律就一定是簡單而美的嗎?
基因表達式編程,用於函數挖掘,川大的唐常傑老師的書里說可以挖掘出這個公式。
Symbolic regression可以
有些問題存在【簡單優美】的結構分析和解析表達(公式)、比如廣義相對論
還有一些問題(目前)適合統計分析、比如機器下圍棋
請允許我將答主的題目擴展並且民科地解釋機器學習的哲學本質。paper諸如使用機器學習學習數學函數或者求解量子力學問題什麼的大家在其他答主答案可以找到。
首先本人不贊同頻率統計學派的觀點,是信念學派的,讓我來闡述其中一些觀點:
萬物背後不存在真理方程,即使可以用形式化語言所表達,其參數也一定是隨機的。
這與經典物理學是相悖的,然而和現代物理學不謀而合。
我來介紹一下整個機器學習過程,其主要分為數據採樣,數據到演算法模型的建立,模型的集成學習。但是目前主要大家focus在演算法模型建立上,典型的NN,大家都是給了你數據集然後建立神經網路模型,在採樣集上訓練得到模型修正。
我們再來看一下物理學的建模過程,經過現有概念,再有邏輯和推理然後是與上面類似的演算法模型。其實概念與邏輯推理完全不存在證偽,因為是數學的過程。當物理學的演算法模型建立後,通過自然界的實驗(真實樣本空間採樣)來進行參數修正與條件界定。
那麼我們主要看這兩個過程的兩個主要不同:
1.概念與邏輯是否是必須的?
答主個人淺見,非必須。舉一個例子,愛因斯坦在研究布朗運動時雖然有合理假設,但是對於隨機微積分尚未建立的當時,其計算推導時卻保留高階項的做法是不符合嚴密邏輯的。以至於後面伊藤清補充了隨機微積分概念才將整個過程「合法化」。所以如果神如愛因斯坦,可以以驚人的直覺建立模型,邏輯和概念的少量缺失,並不重要,只要最後得到的模型是更優的,才是重要的。當然這是在一個長久時間跨度上的結論,就目前的機器學習能力我不認為缺失概念與邏輯的能力,以有限的數據,能夠達到當年科學家得到模型的能力。當然機器學習領域補充這方面的研究有所謂知識圖譜來加入領域知識等等,但答主認為在這種所謂概念與邏輯上的投入和最終效果需要trade-off,而不是一種必須。
2.被人忽略的樣本採集過程
目前來說。機器學習演算法模型再優秀,如果送入bias嚴重的數據,也是沒有任何意義。大部分機器學習問題,一定有一個假設前提是,假設數據集的樣本分布與真實樣本空間分布一致。不然泛化能力就十分局限。而這個問題在物理模型建立過程中,往往被人的概念推理也就是所謂合理假設階段ease,且物理模型的修正是放在數據採樣階段之前進行的,與目前的機器學習初衷是根本不同的。
最後是答主第一眼看到題主問題,在時間跨度上擴展成---以後的機器學習能否並列於物理學成為解決萬物真理的手段。
那麼就等同於一個哲學思考----你認為上帝擲骰子嗎?
上帝如果不擲骰子,世間萬物都有固定的方程,宇宙存在大一統公式,總有一個方程可以描述某一件事情,總有一個方程可以預測未來(儘管可能永遠不被發現,但是存在)。那麼,很顯然,這個前提下,機器學習想要等同於物理真理需要的樣本是全宇宙,頻率派將等同於概率等同於信念學派,萬物統一。
我認為這是一個物理學家的修養,追求與信念,代表人物是當年的愛因斯坦。
上帝如果擲骰子,不存在固定的方程描述任何事物,所有物理學方程都需要帶隨機參數,且與觀測者有關,每一個觀測都會影響描述物體的方程的參數。類比於機器學習的過程(不是當下的機器學習,是機器學習的理論最佳能力),每一個樣本的使用,都影響背後的演算法模型建模,樣本直接影響模型,不能說少樣本就錯,只是因為觀測產生的影響。
答主所言包含但不限於測不準原理,順帶附上這一原理的哲學闡述:
「在因果律的陳述中,即『若確切地知道現在,就能預見未來』,所錯誤的並不是結論,而是前提。我們不能知道現在的所有細節,是一種原則性的事情。」
在機器學習領域,一種更加強硬的觀點是 Tukey 在EDA(Exploratory Data Analysis)中所表達,其認為,就不應該從理論來建模背後的真實分布,而是從數據中獲取真實。
(原諒神棍答主民科了~可恥地匿)
強行假裝NN不是數學模型= =
推薦閱讀:
※怎樣才能在NIPS 上面發論文?
※如何看待攜程舉辦的大數據比賽?
※金融數學的發展方向是什麼?
※31歲的女人不想在事業單位就這樣蹉跎歲月,想要轉行做數據挖掘,有編程基礎,可能性大嗎?
※如何理解決策樹的損失函數?
TAG:數據挖掘 | 機器學習 | 深度學習DeepLearning |