DeepMind開源薛丁格方程求解程序:從量子力學原理出發,TensorFlow...

2020-11-22 澎湃新聞

曉查 發自 凹非寺

量子位 報導 | 公眾號 QbitAI

只要解出薛丁格方程,你就能預測分子的化學性質。但現實很骨感,迄今為止,科學家只能精確求解一個電子的氫原子,即使是只有兩個電子的氦原子都無能為力。

原因是有兩個以上電子組成的薛丁格方程實在太複雜,根本無法精確求解。

既然找不到精確解,科學家們希望能找到一種實用的近似解求法,只要結果足夠近似,也能預測原子或分子的行為。

近日,DeepMind開源了一個「費米網絡」(FermiNet),用來求解分子的電子行為,在30個電子的有機分子上也達到了很高的精度。文章結果發表在期刊Physical Review Research上。

為什麼叫費米網絡

在量子力學中,電子沒有精確的位置,我們只能從波函數預測電子在空間中出現的概率,也就是電子云。

比如氫原子的電子云就有以下幾種形態。

曲面內表示電子出現的高概率區域。藍色區域波函數為正,紫色區域波函數為負。(註:波函數平方表示電子出現的概率)

誤差小於0.5%即可預測分子的能量,但這對於化學家來說遠遠不夠,要準確預測分子的形狀和化學性質,需要0.001%的精度,相當於以毫米精度測量足球場寬度。

電子在分子中不僅受到原子核的吸引力、其他電子的斥力,還遵循著量子力學中的費米-狄拉克統計:如果兩個電子交換狀態,波函數要反號。

這也意味著兩個電子的狀態不可能完全相同,否則波函數為0。這在物理中叫做「泡利不相容原理」。

費米網絡正是從這個基本物理原理出發,因此DeepMind將其命名為FermiNet。

交換後符號相反,這可能會讓你想到線性代數中的行列式。行列式任意兩行交換,輸出結果就要乘以-1。

物理學家也是這樣想的,他們用所謂「Slater行列式」來表示電子波函數,但實際情況比Slater行列式要複雜得多,為了更精確表示電子行為,往往需要幾百萬個Slater行列式的線性組合。

工作原理

與函數線性組合相比,神經網絡在表示複雜函數時往往更具有優勢。

在構造FermiNet之初,研究人員就把泡利不相容原理作為第一性原理引入神經網絡。

在FermiNet中,每個電子都有單獨的信息流。不僅如此,他們將網絡每一層所有流平均化,然後傳遞給下一層的每一流。這樣,這些流就具有正確的反對稱性要求。

而且在FermiNet行列式中的每個元素都包含所有電子,效率遠遠超出波函數只有單個電子的情況。

與Slater行列式不同,FermiNet是通用函數逼近器,如果神經網絡層變得足夠寬,則可以無限逼近真實波函數。

這意味著,如果我們正確地訓練這些網絡,它們應該能夠將幾乎完全精確的解擬合到薛丁格方程。

訓練是通過最小化系統的能量來擬合FermiNet。FermiNet用蒙特卡洛方法隨機選擇電子構型,在每個電子排列中局部評估能量,累加每個排列的貢獻,並將其最小化。

實驗結果

研究人員將FermiNet用在具有10個電子以內的原子上,能量精度均在99.8%左右。

對於30個電子的環二丁烷,FermiNet算出的能量達到了97%的精度,雖然精度不是很高,但DeepMind表示,作為一種「便宜但不夠準確」的方法,這是巨大的成就。

現在FermiNet已經在GitHub上開源,代碼基於TensorFlow實現,如果你想用它算一算氫分子,不妨試試這串代碼:

import sys

from absl import loggingfrom ferminet.utils import systemfrom ferminet import train

# Optional, for also printing training progress to STDOUTlogging.get_absl_handler().python_handler.stream = sys.stdoutlogging.set_verbosity(logging.INFO)

# Define H2 moleculemolecule = [system.Atom('H', (0, 0, -1)), system.Atom('H', (0, 0, 1))]

train.train( molecule=molecule, spins=(1, 1), batch_size=256, pretrain_config=train.PretrainConfig(iterations=100), logging_config=train.LoggingConfig(result_path='H2'

經過100次迭代後,該程序會輸出一個氫原子波函數文件。官方建議最好用GPU來運行,因為他們計算乙烯分子就用8個GPU花2天時間才算出。

除了研究電子外,DeepMind還將神經網絡用於其他基礎科學研究,比如蛋白質摺疊、玻璃態動力學、晶格量子色動力學等。

參考連結:

https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.033429

https://github.com/deepmind/ferminet

https://deepmind.com/blog/article/FermiNet

— 完 —

本文系網易新聞•網易號特色內容激勵計劃籤約帳號【量子位】原創內容,未經帳號授權,禁止隨意轉載。

原標題:《DeepMind開源薛丁格方程求解程序:從量子力學原理出發,TensorFlow實現》

閱讀原文

相關焦點

  • DeepMind發了篇物理論文,用神經網絡求解薛丁格方程
    ,根本無法精確求解。費米網絡正是從這個基本物理原理出發,因此DeepMind將其命名為FermiNet。這意味著,如果我們正確地訓練這些網絡,它們應該能夠將幾乎完全精確的解擬合到薛丁格方程。參考連結:https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.033429https://github.com/deepmind
  • 用神經網絡求解薛丁格方程,DeepMind開啟量子化學新道路
    近日,DeepMind 的科學家開發了一種新的神經網絡架構,可以用於近似計算薛丁格方程。這為深度學習在量子化學領域的發展奠定了基礎。論文地址:https://arxiv.org/abs/1909.02487神經網絡已知最好的應用是在人工智慧領域——視覺、語音和遊戲,但它們在科學和工程領域也有嚴肅的應用。
  • 代碼+實戰:TensorFlow Estimator of Deep CTR——DeepFM/NFM/AFM/...
    經過幾個月的調研,發現目前存在的一些問題:開源的實現基本都是學術界的人在搞,距離工業應用還有較大的鴻溝模型實現大量調用底層 API,各版本實現千差萬別,代碼臃腫難懂,遷移成本較高單機,放到工業場景下跑不動針對存在的問題做了一些探索,摸索出一套可行方案,有以下特性:讀數據採用 Dataset API,支持 parallel and prefetch 讀取通過
  • 用深度神經網絡求解「薛丁格方程」,AI開啟量子化學新未來|Nature子刊
    由此,人們也形成了一種既定印象,所有難以理解的問題都可以通過求解量子力學基本方程來解決。但事實上能夠精確求解方程的體系少之又少。薛丁格方程是量子力學的基本方程,即便已經提出70多年,它的氫原子求解還是很困難,超過2個電子的氫原子便很難保證精確度。
  • AI求解薛丁格方程,兼具準確度和計算效率,登上《自然-化學》
    的基礎方程之一,薛丁格方程一直廣受關注。著名物理學家埃爾溫 · 薛丁格是量子力學奠基人之一,他在 1926 年提出的薛丁格方程(Schrödinger equation)為量子力學奠定了堅實的基礎。薛丁格方程是描述物理系統的量子態怎樣隨時間演化的偏微分方程,是量子力學的基礎方程之一。
  • 用深度神經網絡求解『薛丁格方程』,AI開啟量子化學新未來|Nature...
    由此,人們也形成了一種既定印象,所有難以理解的問題都可以通過求解量子力學方程來解決。但事實上能夠精確求解方程的體系少之又少。薛丁格方程是量子力學的基本方程,即便已經提出70多年,它的氫原子求解還是很困難,超過2個電子的氫原子便很難保證精確度。不過,多年來科學家們一直在努力攻克這一難題。
  • 用深度神經網絡求解「薛丁格方程」,AI開啟量子化學新未來|Nature...
    由此,人們也形成了一種既定印象,所有難以理解的問題都可以通過求解量子力學方程來解決。但事實上能夠精確求解方程的體系少之又少。薛丁格方程是量子力學的基本方程,即便已經提出70多年,它的氫原子求解還是很困難,超過2個電子的氫原子便很難保證精確度。不過,多年來科學家們一直在努力攻克這一難題。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    tensorflow/magentaGitHub 地址:https://github.com/tensorflow/magenta機器智能音樂與藝術生成器。tensorflow / tensorflowGitHub 地址:https://github.com/tensorflow/tensorflow一個採用數據流圖(data flow graphs),用於數值計算的開源軟體庫Theano / TheanoGitHub
  • 終於來了,TensorFlow 新增官方 Windows 支持
    TensorFlow 宣布開源剛剛過去一年。在谷歌的支持下,TensorFlow 已成為 GitHub 上最受歡迎的機器學習開源項目。同時,谷歌也在 TensorFlow 框架中進行過各類研究、開源了其中一些項目,這些研究涉及到自然語言處理、機器翻譯、圖像描述、圖像分類等等。
  • 狄拉克方程:「反物質」的先知,量子力學與狹義相對論的調停者
    那個時候,為了反擊海森堡,1926年,薛丁格從經典力學的哈密頓-雅可比方程(使用分析力學中求解動力學問題的一個方程)出發,利用變分法(一種求解邊界值問題的方法)和德布羅意方程,最後求出了一個非相對論的方程,用希臘字母ψ來=代表波的函數,最終形式是:這就是名震 20 世紀物理史的薛丁格波動方程。
  • TensorFlow極速入門
    一、前言目前,深度學習已經廣泛應用於各個領域,比如圖像識別,圖形定位與檢測,語音識別,機器翻譯等等,對於這個神奇的領域,很多童鞋想要一探究竟,這裡拋磚引玉的簡單介紹下最火的深度學習開源框架 tensorflow。
  • 量子力學的核心:薛丁格方程 究竟神奇在哪裡?
    在這種情況下,我們經常通過考慮更簡單的時間獨立的薛丁格方程來求解這個問題,在這個方程中,ψ(x,y,z)僅依賴空間,有使得以下關係成立:E其中為粒子總能量。則整個方程的解為:這些方程可應用於在三維空間運動的單粒子,對於有任意粒子的系統,也有相應的方程來描述。如果不把波函數寫成位置和時間的函數,人們也可以將它們化為動量和時間的函數。
  • TensorFlow 攜手 NVIDIA,使用 TensorRT 優化 TensorFlow Serving...
    HTTP/REST API at:localhost:8501 …$ curl -o /tmp/resnet/resnet_client.py https://raw.githubusercontent.com/tensorflow/serving/master/tensorflow_serving/example/resnet_client.py
  • TensorFlow 中文資源全集,學習路徑推薦
    https://gitee.com/fendouai/Awesome-TensorFlow-Chinese很多內容下面這個英文項目:Inspired by https://github.com/jtoy/awesome-tensorflow官方網站官網:https://www.tensorflow.org/中文:https://tensorflow.google.cn
  • 薛丁格方程已經拓展到各個自然科學領域
    薛丁格方程是量子力學的基本假設之一,也是經典力學中機械波的波動方程。不過現在薛丁格方程其實已經不只限於經典力學的領域了,比如薛丁格方程對兩個不同的系統有不同的解,測不準原理認為系統是完全隨機的,薛丁格方程只是一個形式化了的隨機的上帝原理的形式方程。
  • Tensorflow 全網最全學習資料匯總之Tensorflow 的入門與安裝【2】
    TensorFlow已經在圖像識別,大數據分析,語音識別和語義理解,機器翻譯等各個領域得到了廣泛應用,同時也得到了業內人士的普遍認可,成為了目前最受關注和使用率最高的開源框架之一。更多關於TensorFlow的深入介紹、應用項目以及各機器學習開源框架之間的對比等內容,請見雷鋒網的系列文章。下面是本文整理的資料內容:在安裝之前,這裡先列出一些對TensorFlow給出大略介紹的文章,其中包括一些重要的概念解釋,TensorFlow的具體含義和優點,以及TensorFlow的基本工作原理等。
  • 波函數與薛丁格方程
    量子力學中最基本的物理概念是刻畫系統狀態的波函數,其時間演化由薛丁格方程確定,相應地,各種物理量的具體數量是對應物理量在該狀態的期待值
  • 輸入示例,自動生成代碼:TensorFlow官方工具TF-Coder已開源
    最近,谷歌 TensorFlow 開源了一個幫助開發者寫 TensorFlow 代碼的程序合成工具 TF-Coder。項目地址:https://github.com/google-research/tensorflow-coderGoogle Colab 試用地址:https://colab.research.google.com/github/google-research/tensorflow-coder/blob/master/TF-Coder_Colab.ipynb
  • 世界上十大偉大公式之一:薛丁格方程,它顛覆了整個物理世界
    ,作為愛因斯坦忠實支持者的薛丁格,他的兩項最為重要的成果,薛丁格方程與薛丁格的貓卻促進了量子力學的大發展,堪稱愛因斯坦陣營裡的X隊友。所以那個時候,為了反擊海森堡,1926年,薛丁格從經典力學的哈密頓-雅可比方程(使用分析力學中求解動力學問題的一個方程)出發,利用變分法(一種求解邊界值問題的方法)和德布羅意方程,最後求出了一個非相對論的方程,用希臘字母ψ來=代表波的函數,最終形式是:這就是名震 20 世紀物理史的薛丁格波動方程。
  • 揭秘框架的本源:開源中文書「TensorFlow內核剖析」
    機器之心專欄作者:劉光聰這是一本剖析 TensorFlow 內核工作原理的書籍,並非講述如何使用本書將通過剖析 TensorFlow 原始碼的方式,揭示 TensorFlow 的系統架構、領域模型、工作原理、及其實現模式等相關內容,以便揭示內在的知識。