大數據文摘作品
編譯:李雷、笪潔瓊、夏雅薇
一隻南美洲的蝴蝶,偶爾扇動幾下翅膀,兩周後可以引起美國德克薩斯州的一場颶風……
極小的擾動,將會引起結果的巨大差異。不可重複、不可預測,這就是混沌現象。不可預測?那麼,有了機器學習之後呢?
半個世紀前,混沌理論的先驅們發現由於存在「蝴蝶效應」,長期預測是不可能的。對於複雜系統(如天氣,經濟等等),即使是最小的擾動也能觸發一連串事件,導致極為不同的後果。
我們生活在不確定的陰影之下,無法確定這些系統的狀態以預測它們將如何發展。
最近,美國馬裡蘭大學的研究表明,人工智慧算法可以預測混沌系統的發展趨勢。比如,預測模型火焰鋒面的混沌演進過程:
大數據文摘後臺對話框內回復「
混沌」即可下載這篇論文~
德國不萊梅雅各布大學計算科學教授Herbert Jaeger表示:「這種方法真的很了不起,能夠預測一個系統的混沌演進將會進行到什麼地步。」
這個發現來自老牌混沌理論家Edward Ott和馬裡蘭大學的四名合作者。他們採用了一種叫做儲備池計算(reservoir computing)的機器學習算法來「學習」原型混沌系統動力學,又叫做Kuramoto-Sivashinsky方程式(非線性偏微分方程)。這個方程式的演進解決方案就像一個火焰鋒面,在可燃介質中閃爍前行。
Ott的研究生、論文的一作Jaideep Pathak說,這個方程式還描述了等離子體中的漂移波和其他現象,可以作為「研究湍流和時空混沌的測試平臺」。
論文作者們
機器學習的優勢何在?
在用Kuramoto-Sivashinsky方程的演進數據進行訓練後,計算機算法可以近似地預測火焰系統在未來八個李亞普諾夫時間(Lyapunov times)長度的演進。李亞普諾夫時間表示混沌系統的兩個幾乎完全相同的狀態需要多長時間才能呈指數發散。
機器學習的方法能預測到的未來大大延長,比此前的預測方法能預測到的長了八倍,預測效果幾乎和真實情況完全匹配。
而且,這個算法對Kuramoto-Sivashinsky方程式本身一無所知;它只能看到方程式演進的數據。
這使機器學習方法變得更強大。因為,在許多情況下,由於不能確定描述混沌系統的方程式,動力學家無法對它們進行建模和預測。
現在,不再需要公式,只要數據就可以了。
專家認為,這篇論文表明未來我們或許能夠通過機器學習算法來預測天氣,而不是通過複雜的大氣模型。
除了天氣預報外,機器學習技術還可以幫助監測心律失常,從而預測即將發生的心臟病,並監測大腦中神經突起的神經元放電模式。更進一步,它或許能幫助預測那些會危及船隻甚至可能導致地震的超級巨浪。
此外,我們也許能夠提前預警太陽風暴,比如1859年橫越太陽表面35,000英裡的太陽風暴。那次磁力暴風導致了出現在全球各地的北極光,同時產生高壓使通訊線路在沒有電源的情況下仍有電流通過,從而摧毀了部分電報系統。
如果這樣的太陽風暴現在襲擊地球,將嚴重損害地球的電子基礎設施。但是如果你能預測到風暴即將到來,就可以暫時關掉電子設備電源,等風暴過後再打開。
算法預測混沌系統的原理
混沌模型:研究人員從模擬火焰鋒面傳播的Kuramoto-Sivashinsky方程式開始。
*李亞普諾夫時間=系統初始狀態的微小差異開始呈指數發散之前的時間長度。它通常設定因系統而異的可預測性的範圍。
用Kuramoto-Sivashinsky系統過去的演進數據進行訓練後,「儲水池計算」算法預測其未來演進。
令人讚嘆的是,在混沌最終佔優勢之前,該算法可以精確地預測出模型的8個李亞普諾夫時長時間內的演進。
這一成果是通過綜合現有的工具和算法得來。
當強大的「深度學習」算法開始徵服像圖像和語音識別等人工智慧任務時,Ott和他的同事們開始研讀機器學習並思考如何將其應用於混沌理論。
他們發現,2004年,Herbert Jaeger和Harald Haas利用一個隨機連接人造神經元的網絡在儲水池計算中形成「儲水池」,從而學習有三個混沌協變變量的動力學方程。在使用三組數字進行訓練之後,這個網絡可以預測未來很長一段時間內三個變量的值。不過,當有多個相互作用的變量時,計算量會變得很龐大。
但是,需要一個更有效的方案來將儲水池計算與大型混沌系統聯繫起來,因為這些混沌系統具有大量相互作用的變量。例如,需要跟蹤沿著火焰前進方向的每一點在三個空間方向上的速度分量。
他們花了幾年時間才找到了明確的解決方案。Pathak說:「我們利用的是空間擴展混沌系統中相互作用的局部性。」
局部性意味著變量在一個地方受到附近變量的影響,但不受遠處變量的影響。利用它可以從本質上將問題分塊。也就是說,可以將問題並行化,用一個神經元儲水池來學習系統的一小塊,另一個儲水池學習另一塊,如此類推,並且使相鄰域輕微重疊以表示它們之間的相互作用。
只要將計算機資源按比例分配給每個任務,並行化處理,就可以使用儲水池計算的方法來處理幾乎任意大小的混沌系統。
具體解釋:三步走
儲水池計算分三步。假設你想用它來預測火災蔓延的情形,那麼首先,選取火焰鋒面的五個不同點測量火焰的高度,然後隨著火焰跳動前行繼續測量鋒面上這些點的火焰高度。
將這些數據流輸入到儲水池中隨機選擇的人造神經元。輸入的數據觸發神經元釋放信號,繼而觸發相鄰的神經元並在整個網絡中級聯傳輸信號。
第二步是使神經網絡從輸入數據中學習不斷演進的火焰鋒面的動力學方程。要做到這一點,在輸入數據時,還需要監測儲水池中隨機選擇的幾個神經元的信號強度。以五種不同方式對這些信號進行加權和組合可產生五個數字輸出。
這樣做的目的是調整用於計算輸出的各種信號的權重,直到這些輸出始終與下一組輸入,也就是在比火焰鋒面略晚的位置測得的新的五個高度,相匹配。
所要的就是,把輸出作為下一點的輸入。
為了得到正確的權重,這個算法簡單地將每組輸出,或者說五點中的每一點的預測火焰高度,與下一組輸入或實際火焰高度進行比較,每次增加或減少各種信號的權重,只要可以使它們的組合給出五個輸出的正確值。
從一個時間步長到下一個,隨著權重的調整,逐步改善預測,直到算法能夠穩定預測一個時間步長後的火焰狀態。
第三步,就可以真正去做預測了。了解了系統動力學方程的「儲水池」可以揭示系統如何演進。神經網絡本質上會自適應。輸出反饋為新輸入,其輸出又再反饋為輸入,以此循環,從而預測火焰鋒面五個位置的高度將如何演進。其他並行的「儲水池」預測其他地方的火焰高度的演進。
傳統上,預測混沌系統的常用方法是某一時刻儘可能準確地測量其條件,使用這些數據校準物理模型,然後向前演進模型。如果要預測未來八倍時長的演進,需要對一個典型系統的初始條件進行100,000,000次以上的測量。
這就是為什麼利用機器學習技術幾乎能夠知道真相了。
神經網絡和混沌理論
最近,麻省理工學院和蘇黎世聯邦理工學院的研究人員取得了與馬裡蘭團隊相似的結果,使用「長短期記憶」神經網絡,該網絡具有周期性循環的特徵,使其能夠長時間存儲臨時信息。
Ott和他的同事們已經快可以將他們的預測技術用於實際應用。在《混沌》雜誌即將發表的新研究中,他們展示了如何通過混合數據驅動的機器學習方法和傳統的基於模型的預測,改進對像Kuramoto-Sivashinsky方程式這樣的混沌系統的預測。
大數據文摘後臺對話框內回復「
混沌」下載以上兩篇論文~
Ott認為這是改進天氣預報和其他類似工作的更好的途徑,因為我們並不總能找到完整的高解析度數據或完美的物理模型。
「我們應該做的就是利用我們已有的經驗。如果我們缺乏某些知識,就應該使用機器學習來填補所這些空白。」
儲水池式預測本質上可以校準模型;在Kuramoto-Sivashinsky方程式的情況下,精確的預測可以延伸到12個李亞普諾夫時長。
李亞普諾夫時間的長度因不同系統而異,從毫秒到數百萬年不等(對於天氣預報情況來說是幾天)。這個時間越短,系統就越敏感就會越容易產生蝴蝶效應,狀態的發散會更快。
目前還不清楚究竟為什麼儲水池算法如此擅長學習混沌系統的動力學模型,只是知道計算機可以根據響應數據進行自調節,直到計算公式與混沌系統的動態完全一致。
研究人員現在正打算使用混沌理論來更好地理解神經網絡的內部機制。
本文首發於微信公眾號:大數據文摘。文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。
(責任編輯:季麗亞 HN003)