目錄
结语与展望
首頁 科技週邊 人工智慧 新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

Apr 24, 2023 pm 09:16 PM
計算 量子

時隔四個月,ByteDance Research 與北京大學物理學院陳基主題組又一合作工作登上國際頂級刊物 Nature Communications:論文《 Towards the ground state of molecules via diffusion Monte Carlo on neural networks 》將神經網路與擴散蒙特卡羅方法結合,大幅提升神經網路方法在量子化學相關任務上的計算精度、效率以及體系規模,成為最新SOTA。

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展


  • #論文連結:
    #https://www.nature.com/articles/s41467-023-37609-3
  • ##程式碼位址:
    https://github.com/bytedance/jaqmc
  • ##簡介

作者將基於神經網路的試探波函數運用在固定節點面的擴散蒙特卡羅方法(Diffusion Monte Carlo, or DMC) ,用以精確計算具有不同電子特性的原子以及分子系統。

擴散蒙特卡羅方法是量子化學領域精確計算分子和材料基態能量的常用方法之一。透過與擴散蒙特卡羅方法結合,作者顯著提高了量子化學中神經網路 SOTA 方法的計算精度與效率。此外作者也提出了一種基於經驗線性關係的外推方法,大幅改善了分子結合能計算。總體而言,此計算框架作為求解量子多體問題的高精度方法,為化學分子性質的深入理解提供了更強大的工具。

基於神經網路的量子蒙特卡羅方法

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

#2018 年以來,多個研究小組將神經網路運用於變分蒙特卡羅方法(Variational Monte Carlo, or VMC) 中[1,2,3],借助神經網路強大的表達能力,得到了更為精確的分子基態能量。當本工作在 2022 年公開時,基於神經網路的變分蒙特卡羅方法中的 SOTA 工作是 DeepMind 於 2019 年提出的 FermiNet [2],能夠在規模較小的系統上得到非常精確的結果。然而變分蒙特卡羅方法的精確度受限於神經網路的表達能力,在處理較大體系時會有越來越明顯的精確度問題。此外該類方法在處理較大體系時收斂非常緩慢,對計算資源提出了巨大挑戰。

擴散蒙特卡羅方法作為量子化學領域的經典高精度演算法​​之一,具有精度高、可並行性好、適合進行大規模計算等良好的特性。此外擴散蒙特卡羅可以突破神經網路的表達能力限制,利用投影演算法超越變分蒙特卡羅方法的精確度。

本工作中,作者將 SOTA 的神經網路 (FermiNet) 作為試探波函數與擴散蒙特卡羅方法結合。新的計算方法相比於 FermiNet 顯著提升了精度並減少了所需的計算步數。本工作中所設計並實現的擴散蒙特卡羅軟體具有神經網路友善、GPU 友善、平行友善的特點,可與廣泛的神經網路波函數結合,自動提升其精度與效率。

計算結果

1.原子

#使用神經網路對大型分子體系進行量子蒙特卡洛計算時,由於算力限制,所能使用的神經網路的表達能力也會受到一定限制。為了模擬這一場景,作者使用了僅僅兩層的神經網路來研究第二、三排的原子。計算結果顯示隨著體系變大,變分蒙特卡羅方法的精度愈來愈差,而擴散蒙特卡羅方法所帶來的精度提升也愈來愈明顯。

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

2.分子

作者在一系列分子体系上也验证了基于神经网络的扩散蒙特卡洛方法的有效性,包括氮气分子,环丁二烯以及双水分子。在所测试的体系上均观察到了明显的计算精度提升。

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

3. 苯环及双苯环

本工作公开前,量子化学领域中基于变分蒙特卡洛的神经网络波函数方法只处理过 30 电子以内的小型分子。本工作首次将神经网络波函数方法应用于 42~84 个电子的体系,即苯环与双苯环。计算结果显示,扩散蒙特卡洛方法在精度上显著优于变分蒙特卡洛方法,同时可以用少一个数量级的计算步数达到相同或更优的精度。

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

4. 线性关系及外推方法

作者在考察神经网络的不同训练阶段所对应的能量时,在很多体系上均发现变分蒙特卡洛与扩散蒙特卡洛的计算结果具有经验性的线性关系(下左图)。使用该线性关系对双苯环的解离能计算进行外推,显著提升了计算精度,得到了吻合于化学实验的结果(下右图)。

新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展

结语与展望

本工作表明,基于神经网络的扩散蒙特卡洛方法在精度与效率上均优于变分蒙特卡洛方法。作者开源的扩散蒙特卡洛代码可以与量子化学领域不断推陈出新的神经网络 [4,5] 快速结合,实现对研究社区的赋能。此外扩散蒙特卡洛方法也可以与处理真实固体的周期性神经网络 [6]、带赝势的神经网络 [7] 等一系列方法结合,在相应任务上提升计算效果。

以上是新研究揭示量子蒙特卡洛超越神經網路在突破限制的潛力,Nature子刊詳述最新進展的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CUDA之通用矩陣乘法:從入門到熟練! CUDA之通用矩陣乘法:從入門到熟練! Mar 25, 2024 pm 12:30 PM

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應用程式和演算法中至關重要的一部分,也是評估電腦硬體效能的重要指標之一。透過深入研究和優化GEMM的實現,可以幫助我們更好地理解高效能運算以及軟硬體系統之間的關係。在電腦科學中,對GEMM進行有效的最佳化可以提高運算速度並節省資源,這對於提高電腦系統的整體效能至關重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現代計算硬體的潛力,並為各種複雜計算任務提供更有效率的解決方案。透過對GEMM性能的優

word文檔怎麼計算加減乘除 word文檔怎麼計算加減乘除 Mar 19, 2024 pm 08:13 PM

WORD是一個強大的文字處理器,我們可以利用word進行各種文字的編輯,在Excel表格當中,我們已經熟練了加減乘數的運算方法,那麼如果需要在Word表格裡,計算數值的加減乘數,該如何操作呢,難道只能用計算機計算嗎?答案當然是否定的,WORD也同樣可以完成。今天小編就來教大家如何在Word文件的表格當中,運用公式計算加減乘除等基本運算,一起來學習一下吧。那麼,今天就讓小編具體示範一下,WORD文件怎麼計算加減乘除?第一步:開啟一個WORD,點選工具列【插入】下的【表格】,在下拉式選單當中插入一

如何使用Python的count()函數計算清單中某個元素的數量 如何使用Python的count()函數計算清單中某個元素的數量 Nov 18, 2023 pm 02:53 PM

如何使用Python的count()函數計算清單中某個元素的數量,需要具體程式碼範例Python作為一種強大且易學的程式語言,提供了許多內建函數來處理不同的資料結構。其中之一就是count()函數,它可以用來計算清單中某個元素的數量。在本文中,我們將詳細介紹如何使用count()函數,並提供具體的程式碼範例。 count()函數是Python的內建函數,用來計算某

在Java中遞歸地計算子字串出現的次數 在Java中遞歸地計算子字串出現的次數 Sep 17, 2023 pm 07:49 PM

給定兩個字串str_1和str_2。目標是使用遞歸過程計算字串str1中子字串str2的出現次數。遞歸函數是在其定義中呼叫自身的函數。如果str1是"Iknowthatyouknowthatiknow",str2是"know"出現次數為-3讓我們透過範例來理解。例如輸入str1="TPisTPareTPamTP",str2="TP";輸出Countofoccurrencesofasubstringrecursi

如何使用C#中的Math.Pow函數計算指定數的冪次方 如何使用C#中的Math.Pow函數計算指定數的冪次方 Nov 18, 2023 am 11:32 AM

在C#中,有一個Math類別庫,其中包含許多數學函數。其中包括計算冪次方的函數Math.Pow,它可以幫助我們計算指定數的冪。 Math.Pow函數的用法非常簡單,只需要指定底數和指數就可以了。其語法如下:Math.Pow(base,exponent);其中base表示底數,exponent表示指數。此函數傳回double類型的結果,即冪次方的計算結果。下面讓

使用行列式計算三角形面積的Java程序 使用行列式計算三角形面積的Java程序 Aug 31, 2023 am 10:17 AM

簡介使用行列式計算三角形面積的Java程序是一個簡潔且有效率的程序,可以根據給定三個頂點的座標來計算三角形的面積。該程式對於學習或使用幾何的任何人都非常有用,因為它演示瞭如何在Java中使用基本算術和代數計算,以及如何使用Scanner類讀取使用者輸入。程式提示使用者輸入三角形三個點的座標,然後將其讀入並用於計算座標矩陣的行列式。使用行列式的絕對值來確保面積始終為正,然後使用公式計算三角形的面積並顯示給使用者。該程式可以輕鬆修改以接受不同格式的輸入或執行附加計算,使其成為幾何計算的多功能工具。決定因素行列

計算矩陣右對角線元素總和的Python程序 計算矩陣右對角線元素總和的Python程序 Aug 19, 2023 am 11:29 AM

一種受歡迎的通用程式語言是Python。它被應用於各種行業,包括桌面應用程式、網頁開發和機器學習。幸運的是,Python具有簡單易懂的文法,適合初學者使用。在本文中,我們將使用Python來計算矩陣的右對角線總和。什麼是矩陣?在數學中,我們使用一個矩形排列或矩陣,用於描述一個數學物件或其屬性,它是一個包含數字、符號或表達式的矩形數組或表格,這些數字、符號或表達式按行和列排列。例如−234512367574因此,這是一個有3行4列的矩陣,表示為3*4矩陣。現在,矩陣中有兩條對角線,即主對角線和次對

Java程式範例,用於計算總分和百分比 Java程式範例,用於計算總分和百分比 Sep 11, 2023 pm 06:01 PM

我們將示範如何使用Java程式計算總分和百分比。總分是指所有可用分數的總和,而術語百分比是指計算分數除以總分並乘以所得的數字100。 percentage_of_marks=(obtained_marks/total_marks)×100範例1這是一個Java程序,用來示範如何計算總分和百分比。 //JavaProgramtodemonstratehowisTotalmarksandPercentagescalculatedimportjava.io.*;publicclassTotalMarks_

See all articles