量子力學擁有大量的計算工具,但是構建有效的表示仍然是個難題。即使是最近似的方法,量子化學計算最多只能求解包含數萬個電子的模型,而經典的(即非量子的)化學計算技術(例如分子動力學)可以處理數百萬個原子。經典系統的狀態可以用很簡單的方式描述,只需要知道每個粒子的位置和動量。而表示量子系統的狀態則更具挑戰性,因為電子的位置是不確定的,必須給出其概率分布。波函數可用於編碼電子的位置分布,並且波函數的平方給出了其概率值。要描述所有可能的位置,基本是不可能的。例如,假設有每個維度上具有100個點的網格,則硅原子的可能位置分布數將大於宇宙中的原子數。圖1:不同的原子軌道波函數影像,表面代表出找到電子的高概率區域。在藍色區域,波函數為正,而在紫色區域,波函數為負。這正是DeepMind認為深度神經網路可以提供幫助的地方。在過去的幾年中,神經網路在表示複雜的高維概率分布方面取得了巨大的進步。現在,神經網路已經可以高效、可擴展地訓練。DeepMind推測,鑒於神經網路已經證明了在解決人工智慧問題中擬合高維函數方面的能力,也許它們也可以用來表示量子波函數。這個想法不是DeepMind第一個提出的,例如Giuseppe Carleo和Matthias Troyer等曾經在Science上發表論文「Solving the quantum many-body problem with artificial neural networks」,表明使用現代深度學習解決理想的量子問題是可行的。如今,DeepMind想使用深度學習來解決化學和凝聚態物理中更實際的問題,這意味著在計算中會包括電子。電子必須遵守泡利不相容原理,這意味著任意兩個電子不能同時處於相同的狀態。因為電子是費米子,費米子包括了質子、中子、夸克、中微子等,它們都遵守泡利不相容原理。交換兩個電子會使得總波函數乘以-1,如果兩個電子的波函數是全同的,則總波函數將為0。這意味著我們必須開發一種其輸入是反對稱的新型神經網路,DeepMind將其稱為Fermionic神經網路或FermiNet。在大多數量子化學方法中,使用行列式引入反對稱性。矩陣的行列式具有以下屬性:如果交換兩行,則輸出將乘以-1,就像費米子的波函數一樣。因此,對於一系列單電子函數,可以將其轉換成一個矩陣。該矩陣的行列式就是適當的反對稱波函數。這種方法的主要局限性在於所得到的函數(稱為Slater行列式)不是很通用。實際系統的波函數通常要複雜得多。典型的改進方法是採用Slater行列式的大規模線性組合(有時甚至數百萬個),並基於電子對添加一些簡單的校正。即使那樣,這仍不足以精確地計算能量。圖2:Slater行列式展示,每個曲線都是圖1中的某個軌道的波函數。當電子1和2交換位置時,Slater行列式的其中兩行交換,波函數乘以-1,從而保證遵守泡利不相容原理。與基函數的線性組合相比,深度神經網路在表示複雜函數上通常效率更高。在FermiNet中,這是通過使行列式中的每個函數作為所有電子的函數來實現的,這遠遠超出僅使用單電子和雙電子函數的方法。FermiNet對每個電子都有單獨的資訊流。如果這些流之間沒有任何交互,網路的表示能力將不會超過常規的Slater行列式。為了解決這個問題,DeepMind將來自網路每一層所有流的資訊平均化,然後將此資訊傳遞給下一層的每一流。這樣,這些流具有正確的對稱性,從而可以創建反對稱函數。這類似於圖神經網路在每一層匯總資訊的方式。與Slater行列式不同,FermiNets是通用函數逼近器(至少在神經網路層變得足夠寬的極限內)。這意味著,如果可以正確地訓練這些網路,它們將能夠幾乎精確地擬合薛定諤方程的解。圖3:FermiNets圖示。網路函數的單個流(藍色、紫色或粉紅色)非常類似於常規軌道。FermiNets引入了流之間的對稱相互作用,使得波函數更具一般性和更具表達能力。就像常規的行列式一樣,將兩個電子位置交換仍將導致行列式交換兩個行,並將總波函數乘以-1。我們通過最小化系統的能量來擬合FermiNet。為了精確地做到這一點,我們需要評估所有可能的電子構型下的波函數,因此不得不進行近似。我們隨機選擇電子構型,在每個電子排列中局部地估計能量,將每個排列的貢獻相加,並將其(而不是真實能量)最小化。這稱為蒙特卡洛方法,因為它有點像賭徒一遍又一遍地擲骰子。雖然是近似值,但如果我們需要使其更精確,則可以隨時再次擲骰子。由於波函數平方代表可以觀察到的任何位置的粒子排列,因此最方便的是從波函數本身生成樣本(本質上是模擬觀察粒子的行為)。雖然大多數神經網路都是從一些外部數據中訓練出來的,但在DeepMind的這個案例中,用於訓練神經網路的輸入是由神經網路本身生成的。這意味著我們不需要任何訓練數據,除了電子在的原子核周圍的位置。上述基本概念被稱為變分量子蒙特卡洛(variational quantum Monte Carlo,VMC),自20世紀60年代就出現了,通常被認為是一種廉價但不太精確的計算系統能量的方法。通過用FermiNet替換基於Slater行列式的簡單波動函數,DeepMind極大地提高了該方法在多個系統上的精度。