选自i-programmer
作者:Lucy Black
机器之心编译
参与:熊猫、一鸣
神经网络因其强大的近似拟合能力,被广泛应用在各种各样的领域。现在,量子化学也在逐渐使用神经网络进行相关的工作了。近日,DeepMind 的科学家开发了一种新的神经网络架构,可以用于近似计算薛定谔方程。这为深度学习在量子化学领域的发展奠定了基础。
论文地址:https://arxiv.org/abs/1909.02487
神经网络已知最好的应用是在人工智能领域——视觉、语音和游戏,但它们在科学和工程领域也有严肃的应用。谷歌的 DeepMind 已经训练出了一个能求解薛定谔方程的神经网络。
为什么要计算薛定谔方程呢?这是因为求解薛定谔方程可以为化学反应提供线索。化学反应的结果基本上与电子以及它们环绕原子和分子的方式有关。而控制事物反应的能量以及电子在分子中的轨道的差异决定了化学物质的形状,也由此决定了其性质。计算这一能量的方式就是求解薛定谔方程。换句话说,求解出薛定谔方程,就可以知道化学反应的结果。
原理上看,化学很简单。如果给定多电子薛定谔方程的准确解,几乎所有的化学反应都可以通过第一原理推导出来。只需要写下反应的薛定谔方程并求解它即可。但在实践中,这几乎是不可能的,因为多体薛定谔方程很难求解。相关化学系统的精准的波函数是遥不可及的,因为通常而言它们的计算是 NP-hard 问题,只能使用多项式缩放(polynomially-scaling)算法找到近似。事实上,我们目前可以真正求解的原子只有氢原子——带有一个质子和一个电子。其它所有原子都是通过被称为扰动技术(perturbation techniques)来近似求解的。至于分子,我们实际上还在起点上,量子化学家已经耗费了几十年时间试图实现完美的近似——能够快速地计算出准确的结果。尽管进展很不错,但很多实际的计算仍然难以实现,在这些情况下,化学又会回头依赖猜测和直觉。
在求解近似上,很多这类算法都面临着一个关键难题,即波函数近似的选择(即拟设「ansatz」),这必须考虑效率与准确度的权衡。因为神经网络的拟合能力,其在用作准确的实用型函数近似器方面表现出色,并有望用作自旋系统的紧凑型波函数拟设器。
DeepMind 的研究者引入了一种全新的深度学习架构——费米子神经网络(费米子神经网络),这是一种用于多电子系统的强大的波函数拟设器。在多种不同的原子和小分子上,这种费米子神经网络的准确度能超过其它变分式蒙特卡洛拟设器。这种神经网络使用的数据只有原子的位置和电荷,就能预测出氮分子和氢链的解离曲线(dissociation curve)——这两者是很有难度的强关联系统。相比于之前被广泛视为量子化学的黄金标准的耦合聚类方法,这种新方法得到的准确度显著更高。这表明,深度神经网络的表现可以超过已有的从头开始式(ab-initio)量子化学方法,为之前难以处理的分子和固体的波函数的准确直接优化提供了新的可能性。
之所以能够用深度学习去计算是因为,神经网络可以被视为一种函数近似方法。也就是说,如果为神经网络提供所要学习的函数,它就能学习近似它。提供输入 x,然后训练它得到 f(x),其中这里的 x 代表许多不同的变量。其思想是,它能学习得到 f(x) 的已知值,即你提供的作为训练集的那些值,但它也能在你提供了从未见过的 x 时给出很好的结果。
神经网络能很好地泛化。这就意味着当它们经过了识别猫的训练之后,还能识别出未在训练集中出现的不同的猫。在 AI 应用中,这是很合理的:网络以某种方式提取出了「猫」的本质属性,现在可以泛化使用它们。在更抽象的函数近似中,想象方程中的「猫」会更为困难。在这里,DeepMind 的网络似乎确实提取出了薛定谔函数中的猫。
图 1:费米子神经网络(Fermi Net)。上图:全局架构。一个或两个电子位置的特征是该网络的不同串流的输入。这些特征经过几层的变换,再应用一个行列式,然后在那个位置的波函数就作为输出。下图:单一一层的细节。网络将具有同样自旋的电子的特征放到一起求平均,然后将这些特征连接起来,为每层构建一个电子位置的等变函数。
这个神经网络实际上做的事情是找到一个满足费米-狄拉克统计的近似多电子波函数,即这个波函数是反对称的。所需的一切只不过是初始的电子配置(比如电子数量),然后这个神经网络就会为任意配置输出波函数。这个网络的训练目标是通过最小化器能量状态,找到基态波函数的近似。按照定义,基态是指能量最低的状态,网络会修改其参数直到它达到最小值。
正如论文中说的那样:
「这里我们引入一种全新的深度学习架构——费米子神经网络,并将其作为多电子系统的强大的波函数拟设器。在多种不同的原子和小分子,费米子神经网络的准确度能超过其它变分式蒙特卡洛拟设器。仅使用原子的位置和电荷数据,我们就能预测出氮分子和氢链的解离曲线——这两者是很有难度的强关联系统。相比于之前被广泛视为量子化学的黄金标准的耦合聚类方法,这种新方法得到的准确度显著更高。
对于算力方面,论文表示:
「Fermi Net 的所有代码都是用 TensorFlow 实现的,每个实验都在 8 个 V100 GPU 上以并行的方式运行。使用更小的批大小,我们可以在单个 GPU 上训练,但收敛速度显著更慢。比如,乙烯在使用 8 个 GPU 训练 2 天后收敛,而在单个 GPU 上需要几周时间。」
该网络有大约 70000 个参数,只训练一次,之后它似乎就能找到能为所预测的性质给出优良结果的近似波函数。重要的是,具有一个训练参数集的单个网络架构可以在检查过的每个系统上取得较高的准确度。说明该神经网络具有很好的泛化能力。
正如该论文总结的那样:「这有潜力让量子化学的发展速度达到深度学习在其它许多人工智能领域推动进步的速度。
参考链接:
https://www.i-programmer.info/news/105-artificial-intelligence/13072-deepmind-solves-quantum-chemistry.html
本文为机器之心编译,转载请联系本公众号获得授权。