在自然科學領域,複雜的模型(如神經網路)在逐漸淘汰掉簡單的模型嗎?
機器學習所建立的模型是複雜且有些dirty的黑盒,但在一個大的樣本集的幫助下可以給出很好的結果:比如在蛋白的結構和功能的預測的領域,我感覺神經網路有取代其他(比如基於力學或者統計學的)模型的趨勢。在我們擁有的data不斷增加的今天,這些複雜的模型在逐漸淘汰掉那些巧妙簡陋的模型嗎?
謝 @kxfred 邀。
首先我並不認為題主舉例的基於力學或統計學的模型屬於簡單模型而ANN屬於複雜模型。以分子模擬中常用的力場模型為例,通常需要考慮靜電相互作用,范德華力,鍵長和鍵角的伸縮扭轉等多個不同的勢能項;對於不同原子而言還需要通過量化計算等方法確定參數。而ANN的結構則非常簡單:只需要有響應函數的結構和網路拓撲就可以建立從input layer到output layer的映射,同時參數的訓練過程由於back-propagation方法的存在,也是非常簡單的。(當然back-propagation對於多層神經網路而言存在一些困難,最近很火的deep learning可以通過逐層訓練的方式解決這一問題,不過與本題關係不大)
因此,是否可以給題主的問題換一種提法:在數據量和演算法學習能力不斷增長的今天,機器學習能否取代基於物理學原理建立的理論模型?
這裡先給出我對上述問題的答案:我認為這不太可能。原因下面解釋。
首先,ANN雖然學習能力強大,但正如上面 @Philip Yang, @老胡 兩位所論述的,它的主要能力在於預測,也就是從大量數據中總結出一些可以用ANN的形式描述的「經驗規則」,從而對新的樣本應用這些經驗規則以達到預測的目的。在這一點上據我所知的所有有監督學習方法本質都是類似的,差別無非在於它所採用的模型形式。ANN之所以強大是因為有所謂的Universal Approximation Theorem保證它可以在有限形式下近似一切連續函數,但是「近似」的結果並不會告訴我們數據背後的原理是什麼,而在很多情況下相對於預測結果而言,原理才是我們更關心的。
另一方面,雖然ANN之類機器學習方法可以解決很多傳統模型or方法難以解決的問題,但是對於一些原理已經很清楚的問題,針對性更強的辦法才是簡單高效的。舉一個最簡單的例子,如果要求解一個線性方程組,那麼顯然應該直接作矩陣分解而不是把矩陣元和右端向量的元素當作input丟進一個ANN里。而目前對於很多實際問題之所以ANN的表現更好,只是因為我們所擁有的理論模型還無力應對問題本身的複雜程度,但是理論模型並非一成不變,可以不斷被完善以提高其解釋能力。
順便開個腦洞,如果我們在兩千年前就提出了ANN並且依賴它來處理一切問題,那麼我們現在也許可以比較精確地預測行星的運動軌跡,但是開普勒定律牛頓定律相對論量子力學之類可能就都不會出現了。噢不對沒有現代物理學就沒有電子計算機於是ANN的訓練過程全得依賴手算= =
以(mei)上(le)。一個推斷/知識上的原因在其他的答案,比如 @老胡 已經說了;
但是另外有一個 variance vs. bias 的問題
但是複雜的模式一定表現好么。畢竟我們不能保證我們的訓練集和我們真正所要解決問題的對象集合是一樣的。在難以確定的時候,我們會偏向於選擇使用比較穩定,也就是 variance 小的方法。
統計深坑多,用fancy 的方法的時候一定要學數學理解圖像;否則還不如用一些簡單並且無誤的方法(之所以說無誤原因是「p值去死」)
預測不是唯一目的。黑盒無助於了解現象背後的原理。私以為了解原理有時候比預測更重要。
神經網路,至少傳統的神經網路,有個致命的缺點:它不能提供任何解釋。而自然科學很大一部分是機制的闡述。
就算從應用的角度看,我熟悉的基因組學領域裡,用的比較多的是隱馬模型(HMMER、RNA的Inferno、各種CDS預測工具)、貝葉斯分類(RDPclassifier)。神經網路幾乎沒見人用過。
至少在生物領域,並非模型越複雜越受歡迎。有時,模型的建立並非以預測為用途,而像生物這種尚處於初級發展階段的學科,更有價值的是揭示原理而非預測準確率多幾個百分點。模型越複雜,帶來的弊端就是詮釋性越差。舉個例子,我用10個變數做的樹模型,預測正確率達到75%。你的複雜模型包含上百個變數,預測正確率達到80%。看似你的模型更優,但實際生物層面的價值呢?我這10個變數(比如基因吧)非常好找出他們的功能以及他們之間的聯繫,甚至能通過查閱文獻推斷背後的生物原理是什麼。而你上百個變數的模型如何詮釋呢?如果你的複雜模型並沒有生物理論的支撐,那麼想找出其中的生物學意義顯然是十分困難的。
神經網路的效果並沒有那麼感人。並不是複雜的模型效果就好,比如擬合函數,很多時候用高階方程不如仔細觀察之後選擇合適的簡單方程。
反過來說,很多簡單的問題,根本不值得用神經網路呀,就像一個人有點困去睡覺就好了,不用去把所有病查一遍。
這問題問的挺好,發表一下自己的看法:
1. 模型不存在誰淘汰誰的問題。模型可以理解為在一批觀察數據集上給出最好解釋的一個數學公式,真理只有一個,簡單和複雜都是客觀的,不存在誰被淘汰的問題
2. 真正的趨勢正好跟你所說的相反,是簡單的淘汰複雜的。
2.1 自然科學歷史上,一般都是簡單的模型來淘汰複雜的。原因呢?從概率角度講,如果能解釋有限數據集的模型有N個,而模型是由很多結構和參數組合而成的,這樣的話簡單的模型數量一定是遠遠比複雜模型要少。如果一個數據集命中了一個簡單的模型,那說明這個簡單模型的置信度極高(好好理解一下嘍)。這也就是所謂的奧卡姆剃刀原理,即簡單的總是最好的。這種例子縱觀整個物理學歷史,比比皆是。牛頓定律就是例子,能解釋力學關係數據的模型多的數不清,為啥只有簡單到不能再簡單的幾個公式才是被證明是最佳的。
2.2 我說的以上比較有通用性,神經網路這種黑箱肯定也是符合的。只有發現了一個簡單的模型,才是真正值得驕傲的。簡單模型的稀缺性就是最大價值!自然界的本質就是簡單的模型組合成複雜的模型。
這麼說吧,模型有兩種,一種是基於經驗的,另一種就是所謂 ab initio「從頭的」。對蛋白質摺疊來說,前者是各種模型,包括你說的 ANN,還有分子力學;後者就是用量子力學從頭計算。前者越來越複雜是非常直白的事情,因為你要描述的對象(比如這裡的蛋白質摺疊)本身就很複雜。而往往更簡潔後者不是我們不想用,而是它的方程變數太多,解不出來。
我們擬合模型可不只是為了預測,還包括結構分析、控制(通過限制因變數,來逆向控制自變數,可以算是預測的逆方法)。
你所謂的「簡陋」的模型也許精度不如神經網路高,但是其解釋起來卻是有理有據便於理解,對於結構的分析也更便捷可見,更何況精度不是檢驗真理的唯一標準,一套足夠成熟、足夠穩健、也足夠有說服力的體系辦法分析出的結果恐怕比單純地高精度結果更具有價值。
模型雖「簡」,卻從沒有「陋」這種說法,簡單的模型是複雜模型的基石,幾千年前就被發現的勾股定理不會因為非歐幾何的出現而被淘汰,牛頓的三定律也不會因為愛因斯坦提出相對論而被拋棄。
舉個天天見的神經網路模型:中醫。中醫就是建立在以無數人為樣本的基礎上發展起來的,其本身就是一個黑箱子,知其然而不知其所以然,為了知其所以然就搞出了很多沒法解釋的概念,在這兒我就不細說了。而西醫就是從最基礎最簡陋的模型開始發展,建模的每一步都禁得起檢驗,知其然也知其所以然。儘管就目前來看,中醫能解決很多西醫解決不了的病症,但恐怕在將來隨著醫學的發展,被淘汰的只會是中醫而不是西醫。【順便黑一發中醫,黑完走人】機器學習建模不完全是黑盒,dirty更是談不上
其實模式識別里有一大堆的工作最終都可以轉化為classification
但凡是在這個領域裡涉及到classification,無非就是representation+classification
也就是:描述(特徵)+分類
多數時候,幾乎是所有時候,特徵都是被表述為一個高維向量的形式
以人類的思維極限,四維空間大家也基本很難去可視化出來是個什麼模樣了(有點類似於星際穿越里的xyz+t的那種形式,maybe)
更高維的更是呵呵了
那麼既然你連這種高維空間的構成概念都很難去理解,事實上還需要計算機去對這些樣本進行類別的分析。
那麼模型就不會是很簡單的,最簡單的一些聚類演算法比如k-means以及最簡單的距離度量比如歐氏距離
在不少時候其實已經不足以處理很多複雜的問題了。
所以這其實只是一個自然而然的過程,是因為需要考慮到的問題實在是太多了
就說回到人類本身,大家覺得稀鬆平常的各種事情,其實任意拿一個出來,在計算機學習的領域裡面都是處理起來非常之麻煩的
比如,一般人可以輕輕鬆鬆的識別某個人不同角度,比如你正面看、背面看、側面看,識別起來大多沒多少問題,但是在計算機視覺里,這就依然有大量研究在進行著(person-re id)
其餘一些比如說你簡直不費吹灰之力就能知道一個人的喜怒哀樂。這在計算機視覺理簡直是無比的困難,因為這是建立在要用大量的模型去模擬出相關的「屬性」,然後再用相應的屬性從訓練樣本里構建特徵之後再訓練。但是結果又未必讓人滿意
+++++
反正我個人是覺得,在真正的AI出來之前,不要指望有什麼萬金油的工具能拳打四方了,就包括深度學習,也只是一個過渡的東西
當然,未來真AI本身肯定就是一個極其複雜的東西。生物模型的並不是由複雜對簡單進行替換,而是適應力強的對適應力弱的進行替換。
如果在當前情況下複雜模型更有生存優勢,那麼就是。反之,則不是。
統計學的三大功能,描述,歸因和預測。
描述有關於如何更好的展示數據。
歸因使用的各種計量模型,估計你關心的因素對結局的效應大小和方向。模型儘可能的控制混雜因素,做因果推斷,而整體的解釋和預測能力並不重要。
歸因的目的是循證。比如研究吸煙和肺癌,我們關心的是吸煙的相對風險大小和方向,這才是影響煙草控制政策的關鍵。
個人覺得,不僅「簡單的模型」不會被淘汰,反而一些機器學習(神經網路,支持向量機等)方法在自然科學領域終將站不住腳。
首先,題主限定的是自然科學領域,以物理學為例,我們研究中需要的模型一定是「可解釋性」的,也就是機理模型。一些機器學習模型雖然「精度」比較高,但是可解釋性較差,無法解釋事物本質。某些「簡單」的模型雖然會有一定的誤差,但這些誤差往往是可以度量的,簡單的模型更可以描述事物某些本質的東西,我們並不需要把誤差都預測出來,這也是不現實的。
此外,某些機器學習演算法本質上是什麼還有爭議,個人感覺更接近於高次多項式擬合,題主可以去看看「過擬合」和「龍格現象」,從直觀上來講,機器學習演算法對訓練集的預測更好,但是對外推出的數據往往偏差更大,這就毫無意義,因為我們最終還是要做預測的。舉例說明,給你2000-2010年的中國GDP數據,你用10次多項式擬合可以達到R方=1,但是你用這個多項式去預測2011年以後的GDP數據,所得到的結果有可能誤差極大。
不過,大數據時代下,機器學習演算法還是有很多的應用的,比如模型參數確定以及解決某些難以解釋的社會科學問題上。舉例:購物網站的推薦系統,很難建立機理模型預測用戶下一個將要買的東西是什麼,但是大數據的機器學習可以做到很好的預測。
以我自己研究生期間做生物信息的經驗來說,我是完全不贊同的。
科學上有一個我很贊同的理論,是奧克姆剃刀理論,大意是「如無必要,勿增實體」,意思是能簡單就簡單,簡單的東西最棒了。
分析數據時,如果要找兩種狀態下的差異基因,那麼變化最明顯的,用最白痴的方法就能找出來。只有似有似無的差異,才需要絞盡腦汁的用各種更複雜的模型去發現。一般來說是為了強行配合實驗結果才會採取的策略吧。
我選擇模型的策略一向是,適合是第一位的,每一種模型都有適合的問題。像是神經網路或者所謂的深度學習,可能對現在的一些大數據分析很有用,但是對其他的問題,可能還沒有最簡單的模型效果好。
貝葉斯模型就是一種簡單,應用範圍廣的模型,我個人是很喜歡的。這些模型簡單又經典,普適性強,誰用誰知道,是不可能被淘汰的。
反而很多複雜模型,現在雖然很火,但是很多人用它僅僅是為了蹭熱度,不是因為真的適合。隨著時間的檢驗,這種殺雞用牛刀的行為不可能長久。複雜模型濫用的情況反而會越來越少。
其實題主說的不應該叫複雜的模型,應該叫解釋度低但有效的模型,閔科夫斯基時空相對論與量子力學可比牛頓力學複雜多了。
個人意見科學的演進的視野本身進入了complicate(並且always complex)信息量大的系統範疇。如果把對客體的研究過程本身看作一種通訊與解碼過程,解碼過程本身勢必要越來越複雜並且接近於客體的無序與有序臨界狀態(比如生命科學,分子行為預測,越來越複雜的各種功能性材料)。如果這樣說越來越複雜(並且有可能成為不需要直接care的黑箱)是必然的。
另一個有意思的事情是為了理想的解決實際問題人造的系統也越來越傾向於複雜甚至漸進無序有接近自組織臨界的趨勢。還是舉通信工程的例子,馬可尼與波波夫最早實現無線電通信甚至更早的摩爾斯有線電報是很簡單的,最多涉及解傳輸線的二階微分方程和(甚至實際不會用到)麥克斯韋PDE。而自從人類向大氣層發送第一次電波開始無線電環境就變得越來越喧囂與嘈雜,作為用戶以及覆蓋全球的一個產業人們也天生的有any time, any where, any format的通信需求。為了解決這其中遇到的問題,比如多工、多址、多路復用、信道跌落、多徑、高帶寬、低功耗、mesh自組織網路、自適應路由、直到自動選擇頻段帶寬制式不擇一切手段完成通信目的的認知無線電等等。這中間無數奇技淫巧被發明出來,這像不像為了適應環境的生物進化過程?
而這其中涉及的這麼多方法確實沒法用簡化的定理一句話表達出來,事實上是因為研究客體本身信息量大/演算法複雜度高。而這裡信息量大往往通過一些信息繼承機制而來,比如進化,或者人類產品。
直白的說只能為了解決問題堆工作量。
ps我不是做通信的所以這不算屁股決定腦袋,事實上在各種科學或工程領域都可以舉出相似的例子。隨便說兩個,處理器指令與緩存調度,汽車。
順便說個把上面工程路線反過來走一次的例子,機器視覺。過去的機器視覺方法靠人工抽象圖像特徵來進行特徵工程,之後相對簡單的分類器完成任務。這很像上面說的越來越複雜的工程方法。可視覺是關於整個世界的抽象,這樣的人工方法並不好。而深層神經網路深度視覺一次性把這個領域推到目前最好的解決方案。靠的是表達能力廣泛而有約束的多層神經網路,最後的結果是個某種程度上的黑箱。個人認為正是因為數據越來越豐富,處理能力越來越強大,反而是簡單模型正在不斷淘汰複雜模型。
題主將ann歸類為複雜模型這一點並不贊同,因為ann的實際單元是最簡單的模擬神經元動作,輸入只有電位,邏輯簡單到只有超出電位輸出和電位記憶,輸出只有電位。無論數據如何轉化,最終的邏輯都變成了最最零散化的簡單比較輸出運算。
再比如物理模擬中最常見的有限元計算,無論多麼複雜的無力過程都變為了極小元中近乎理想環境下的方程的運算,大圖景的複雜度不會帶來計算上的邏輯變化,因為元之間的描述只需要那麼幾條簡單的方程就好了。
相比之下,難道不是由經驗,特例,各種邊界情況描述的計算更加複雜么?
就像我們計算圖形面積,計算力輸出功率,以前不同的題面有千萬種方法,它們都針對環境討論不同的情況下使用不同計算方式,以求計算的簡便。然而牛頓和萊布尼茨發明了微積分,所有的問題都變成了簡單的積分式,與問題各種情況無關,力學問題就做力的積分好了,面積問題就面積分好了。所有的計算都能統一,這種系統化的美感正是數學和物理美中重要的一部分。
現在的計算大量藉助計算機,計算機擅長的正是大量簡單重複工作,我們有了更多數據更豐富的理論自然有助於將問題劃分為統一原則的簡單元計算,然後交給計算機。這個過程其實也不過是微分和積分而已。
至少目前的發展趨勢都是如此:問題簡單化離散化,然後用最簡單的模型計算,再通過諸如統計的方法描述結果,看不到更複雜的模型,只有更簡單的元。
以上。其實很多生物學數據都是不容易得到的,比如說讓你測一個e coli細胞某一時刻所有rna,蛋白準確的量和細胞內分布,你就沒轍了,所以先紮實研究測量方法才是王道。回頭再琢磨大數據還是簡單模型。
總的來說,答案是肯定的。
根據奧卡姆剃刀原理,科學理論(模型)也是有其經濟性的。如果我們能用簡單的方式來解釋世界,就不會用複雜的。所以科學如果要發展,其複雜性就一定要增加,否則,如果現有的東西都能用現有的相對簡單的知識來解釋,那科學也沒有必要發展了。
值得注意的是,有時科學理論的複雜性並不是指複雜度簡單地堆砌,而是我們人類換了一個視角。比如相對論和牛頓力學的關係。相對論的產生只是因為我們人類換了一個角度來看宇宙,而不是把牛頓力學極大地複雜化。事實上,相對論的產生讓我們對世界的理解更簡單明了。不過因為它如此地不直觀,和我們日常的經驗相差很大,所以我們仍然認為這種理解程度是非常複雜的。技術左右天下大勢 ? 學而時嘻之
技術的進化也是如此。外行的科幻小說作家喜歡天馬行空的想像,認為科技的發展是「一切皆有可能」,但事實是技術的可能性也是有限的,人遠遠不能從心所欲。如果我們考察幾個大陸上相對獨立發展的各個古文明,會發現儘管他們之間因為缺少交流而進步的先後不一致,但其技術發展路線圖卻是相同的。先有石器,然後才能學會控制火,然後才能出現刀,然後才有染料,漁具,石像和縫紉技術。最新的考古發現表明農耕技術並不是在一個地方先發明然後傳播到世界各地,而是各個古文明獨立發明的。結果用於農耕的各種工具,乃至於不同家畜的馴養,都是按照同樣的順序被各文明發明和掌握。在技術進步的任何階段,都不是你想要什麼就能研發什麼。技術不聽我們的,我們得聽技術的。
並不是,複雜不是我們想要的,深刻的模型會代替粗淺的模型,自然科學畢竟是想去接近世界的本質。大數據擬合只是工程上的實現思路,原因在於沒法控制變數,搞不清楚底層,做科學的人還是要想著去解釋世界的。
推薦閱讀: