牛頓棺材板快蓋不住了:用深度神經網路解決三體問題,提速一億倍
“不要回答!不要回答!不要回答!”
劉慈欣在為自己的科幻小說起名為《三體》時,他早已知道“三體”本身就是一個不可回答的問題。
“三體問題”已經困擾了人類幾百年,曾經無數讓你感到恐懼的大牛都為此付出了巨大的心血,比如牛頓、尤拉、拉格朗日、龐加萊,直到今天還有很多人在研究。
但遇事不決,用神經網路總是沒錯的。
最近來自愛丁堡大學、劍橋大學的數學家們,用神經網路來求解三體問題,速度比之前的求解器快 一億倍,而且誤差只有 十萬分之一。
“我太難了”
那麼三體問題到底是什麼,為什麼它會難倒如此多的物理學家、數學家?
N體問題是指,根據 牛頓三大運動定律和 牛頓萬有引力定律,在知道N個質點的初始位置和速度的情況下,求解其後續運動的問題。
首先,二體問題極易解決,人類早已掌握地球圍繞太陽運轉的規律,開普勒行星運動三大定律就是答案。
所以在牛頓提出了萬有引力後,一開始人們以為,三體問題不過是比二體問題多一體,也沒什麼難的嘛,就是多加一個方程而已。
然而事情並不簡單,當物體增加到3個以後,一般來說,運動軌跡就會變成亂七八糟的曲線,不再像橢圓那樣優美簡單。
雖然三體問題雖然只包含三個方程,但數學上已經證明,除了少數特殊情況,一般是無法找到解析解的,我們只能用數值模擬的方法求得近似解。
在尤拉、拉格朗日等大牛的努力下,數學家找到了一些特殊三體問題的精確解,比如三個等質量物體繞“8”字運動。
但是大多數三體問題還是無法求出精確解的,而且就像 混沌裡的蝴蝶效應一樣,只要初始條件有一些細微的差異,就會導致結果大為不同。
為此需要有巨大算力的計算機去求解三體問題。由於系統的混沌性質,只能透過費時費力的迭代計算來找到給定初始化問題的解。
2015年,有人開發了開發了Brutus積分器,可以按任意精度計算出求出任意N體問題的近似收斂解。
但是,迭代計算隨著精度的不斷提高和模擬時間的增長,需要在記憶體中保留的數字精度呈指數級增長,並且計算的步長要進一步縮小。
神經網路可不是瞎蒙
既然用傳統的數值解法難度很大,不妨試一試神經網路。
不過最近神經網路的跨界比較多,有人用來預測餘震,有人用來診斷心臟病,最後發現都不靠譜。
物理學家、數學家在使用深度神經網路之前,當然不能隨便硬套,得先證明這不是玄學。
早在1991年,已經有人用理論證明,如果神經網路的啟用函式是連續、有界且非恆定值的,則可以在緊湊的輸入集上實現連續對映。
說得通俗些,一個包含足夠光滑啟用函式的網路,能夠以任意精確度逼近函式及其導數。也就是說,用神經網路可以找到三位問題中物體運動方程的近似解。
作者使用了由128個節點、10個隱藏層組成的前饋神經網路。使用ADAM最佳化演算法對資料進行訓練,其中每個epoch分為5000個batch,並將啟用函式設定為ReLU。
訓練集和驗證集分別由9900和100個模擬資料組成。在每個模擬中,透過Brutus積分運動方程求解,與神經網路的結果進行對照。
透過輸入時間t和粒子的位置座標,以上的神經網路返回其他粒子在該時刻的座標,從而實現了近似求解三體問題。
在這個過程中,神經網路需要的時間平均比Brutus積分器快10萬倍,最高可以快一億倍。
不過,還有是該方法還是遭到了一些網友的質疑,原因是它只解決了在二維平面內的三體問題,粒子的初速度也限制為0。
而且神經網路在求解問題的時候似乎沒有遵循能量守恆定律,最後靠作者引入了一個“能量投影層”,才實現了誤差10 -5的結果。
但是這種方法為我們快速低成本計算航天器軌道提供了一種解決思路。
論文地址:
— 完 —
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2661770/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【深度學習篇】--神經網路中解決梯度彌散問題深度學習神經網路梯度
- 深度學習三:卷積神經網路深度學習卷積神經網路
- 基於深度神經網路的人臉識別相關問題神經網路
- 04_利用手寫數字問題引入深度神經網路神經網路
- 白話深度神經網路神經網路
- 深度學習迴圈神經網路詳解深度學習神經網路
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- 如何優化深度神經網路?優化神經網路
- 深度剖析卷積神經網路卷積神經網路
- 神經網路 | 基於MATLAB 深度學習工具實現簡單的數字分類問題(卷積神經網路)神經網路Matlab深度學習卷積
- 三、淺層神經網路神經網路
- 深度學習與圖神經網路深度學習神經網路
- 【深度學習】神經網路入門深度學習神經網路
- 再聊神經網路與深度學習神經網路深度學習
- AI之(神經網路+深度學習)AI神經網路深度學習
- 如何解決快應用頁面滑動卡頓問題
- 圖神經網路GNN 庫,液體神經網路LNN/LFM神經網路GNN
- 快取三大問題及解決方案快取
- 【人工神經網路基礎】為什麼神經網路選擇了“深度”?神經網路
- C#中的深度學習(三):理解神經網路結構C#深度學習神經網路
- 【神經網路篇】--RNN遞迴神經網路初始與詳解神經網路RNN遞迴
- 深度學習教程 | 深層神經網路深度學習神經網路
- 深度神經網路的壓縮與加速神經網路
- 【深度學習】1.4深層神經網路深度學習神經網路
- 30分鐘講清楚深度神經網路神經網路
- 解決 wsl2/WSLg 聲音卡頓不連續問題
- Tensorflow系列專題(四):神經網路篇之前饋神經網路綜述神經網路
- 深度學習經典卷積神經網路之AlexNet深度學習卷積神經網路
- 深度學習——LeNet卷積神經網路初探深度學習卷積神經網路
- 深度學習之step by step搭建神經網路深度學習神經網路
- 深度學習之上,圖神經網路(GNN )崛起深度學習神經網路GNN
- 深度學習筆記------卷積神經網路深度學習筆記卷積神經網路
- 阿里開源深度神經網路推理引擎 MNN阿里神經網路
- 深度學習卷積神經網路筆記深度學習卷積神經網路筆記
- 4種除錯深度神經網路的方法除錯神經網路
- 深度學習之RNN(迴圈神經網路)深度學習RNN神經網路
- 吳恩達《神經網路與深度學習》課程筆記(4)– 淺層神經網路吳恩達神經網路深度學習筆記
- 吳恩達《神經網路與深度學習》課程筆記(5)– 深層神經網路吳恩達神經網路深度學習筆記