当前位置: 首页 > 科技观察

DeepMind发表物理论文,利用神经网络求解薛定谔方程

时间:2023-03-18 14:40:32 科技观察

本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。只需求解薛定谔方程,就可以预测分子的化学性质。但现实很骨感。迄今为止,科学家们只能准确解决只有一个电子的氢原子,连只有两个电子的氦原子也束手无策。原因在于由两个以上电子组成的薛定谔方程过于复杂,无法准确求解。由于找不到精确解,科学家们希望找到一个实用的近似解,只要结果足够相似,也可以预测原子或分子的行为。最近,DeepMind开源了一个“费米网络”(FermiNet),用来解决分子的电子行为,在30个电子的有机分子上也实现了高精度。该文章的结果发表在《物理评论研究》杂志上。为什么叫费米网络?在量子力学中,电子没有精确的位置,我们只能根据波函数来预测电子出现在空间的概率,也就是电子云。例如,氢原子的电子云具有以下形式。表面内部代表电子出现概率高的区域。蓝色区域为正波函数,紫色区域为负波函数。(注:波函数的平方代表电子出现的概率。)分子的能量可以预测,误差小于0.5%,但这对化学家来说远远不够。要准确预测分子的形状和化学性质,需要0.001%的精度。相当于以毫米精度测量足球场的宽度。分子中的电子不仅被原子核吸引而被其他电子排斥,而且还遵循量子力学中的费米-狄拉克统计:如果两个电子交换状态,波函数将具有相反的符号。这也意味着两个电子的状态不可能完全相同,否则波函数为0。这在物理学上叫做“泡利不相容原理”。费米网络就是基于这个基本的物理原理,所以DeepMind将其命名为FermiNet。交换后符号相反,这可能会让您想起线性代数中的行列式。如果交换行列式的任意两行,则输出结果将乘以-1。物理学家也这么认为。他们用所谓的“斯莱特行列式”来表示电子波函数,但实际情况比斯莱特行列式要复杂得多。为了更准确地表达电子行为,往往需要数百万个斯莱特行列式的线性组合。工作原理与函数的线性组合相比,神经网络在表示复杂函数方面往往具有优势。在构建FermiNet之初,研究人员将Pauli不相容原理作为第一原理引入神经网络。在FermiNet中,每个电子都有一个单独的信息流。不仅如此,它们还会对网络每一层中的所有流进行平均,并将其传递给下一层中的每个流。这样,这些流具有正确的反对称要求。而且,费米网行列式中的每个元素都包含了所有的电子,效率远远超过波函数只有单个电子的情况。与Slater行列式不同,FermiNet是一种通用函数逼近器,如果神经网络层变得足够宽,它可以无限逼近真实波函数。这意味着如果我们正确地训练这些网络,它们应该能够几乎完美地拟合薛定谔方程的精确解。训练是通过最小化系统的能量来拟合FermiNet。FermiNet使用蒙特卡罗方法随机选择电子配置,局部评估每个电子排列中的能量,累积每个排列的贡献,并将其最小化。实验结果研究人员在电子数少于10个的原子上使用FermiNet,能量准确率在99.8%左右。对于有30个电子的环二丁烷,FermiNet以97%的准确率计算出能量,不是很准确,但DeepMind表示,作为一种“便宜但不够准确”的方法,这是一个巨大的成就。现在FermiNet已经在GitHub上开源了,代码基于TensorFlow。如果你想用它来计算氢分子,试试这串代码:迭代100次后,程序会输出一个氢原子波函数文件。官方建议最好用GPU来跑,因为他们用8个GPU来计算乙烯分子,用了2天算出来。除了研究电子,DeepMind还将神经网络用于其他基础科学研究,例如蛋白质折叠、玻璃动力学、晶格量子色动力学等。