
原因是有两个以上电子组成的薛定谔方程实在太复杂,根本无法精确求解。
为什么叫费米网络
在量子力学中,电子没有精确的位置,我们只能从波函数预测电子在空间中出现的概率,也就是电子云。



工作原理
与函数线性组合相比,神经网络在表示复杂函数时往往更具有优势。
在构造FermiNet之初,研究人员就把泡利不相容原理作为第一性原理引入神经网络。
在FermiNet中,每个电子都有单独的信息流。不仅如此,他们将网络每一层所有流平均化,然后传递给下一层的每一流。这样,这些流就具有正确的反对称性要求。

而且在FermiNet行列式中的每个元素都包含所有电子,效率远远超出波函数只有单个电子的情况。
与Slater行列式不同,FermiNet是通用函数逼近器,如果神经网络层变得足够宽,则可以无限逼近真实波函数。
这意味着,如果我们正确地训练这些网络,它们应该能够将几乎完全精确的解拟合到薛定谔方程。
训练是通过最小化系统的能量来拟合FermiNet。FermiNet用蒙特卡洛方法随机选择电子构型,在每个电子排列中局部评估能量,累加每个排列的贡献,并将其最小化。
实验结果
研究人员将FermiNet用在具有10个电子以内的原子上,能量精度均在99.8%左右。


import sysfrom 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
IEEE Spectrum
《科技纵览》
官方微信公众平台

