神经网络如何解决量子力学中的高度复杂问题

神经网络如何解决量子力学中的高度复杂问题

现代理论物理学中最具挑战性的问题之一是所谓的多体问题。典型的多体系统由大量强相互作用的粒子组成。很少有这样的系统能够进行精确的数学处理。然而,由于指定一般多体量子态所需的资源指数依赖于系统中粒子的数目(更准确地说,依赖于自由度的数目),即使是今天最好的超级计算机也缺乏足够的能力来精确地编码这些状态(它们只能处理相对较小的系统,只有不到45个粒子)。

正如我们将要看到的,机器学习技术(特别是人工神经网络)的最近应用已经被证明可以提供这种复杂状态的高效表示,使得它们的复杂性在计算上易于处理。

在本文中,我将讨论如何应用人工神经网络来表示许多粒子的量子态。本文将分为三个部分:

  • 基本量子力学概念的鸟瞰图。
  • 机器学习概念的简要描述,特别关注一种称为受限玻尔兹曼机(RBM)的人工神经网络
  • 解释如何使用RBM来表示多粒子量子态。

序言

阿尔伯特·爱因斯坦的一位科学合作者,波兰物理学家利奥波德·费尔德(Leopold Infeld)在自传中讲述了一个引人入胜的故事。

神经网络如何解决量子力学中的高度复杂问题

爱因斯坦和爱因斯坦家中的信息

根据Infeld的说法,在两位物理学家花费数月时间进行长时间的艰苦计算之后,爱因斯坦会做出如下评论:

“God [Nature] does not care about our mathematical difficulties. He integrates empirically.“- 爱因斯坦(1942)。

爱因斯坦的意思是,虽然人类必须采用复杂的计算和符号推理来解决复杂的物理问题,但大自然并不需要。

快速说明:爱因斯坦在这里使用术语“积分”,因为许多物理理论都是用称为“微分方程”的方程来表述的,要找到这些方程的解,就必须应用“积分”的过程。

多体问题

如引言中所述,理论物理学中一个众所周知的难题是多体问题。在经典系统(基于牛顿三运动定律及其改进的物理系统)和量子系统(基于量子力学定律的系统)中,已经对这个问题进行了很长时间的研究。

要广泛研究的第一个(经典的)多体问题是涉及地球,月球和太阳的三体问题。

神经网络如何解决量子力学中的高度复杂问题

具有相同质量的3体系统的简单轨道

最早攻克这个多体问题的科学家之一是艾萨克·牛顿,在他的杰作《数学原理》中写道:

“Each time a planet revolves it traces a fresh orbit […] and each orbit is dependent upon the combined motions of all the planets, not to mention their actions upon each other […]. Unless I am much mistaken, it would exceed the force of human wit to consider so many causes of motion at the same time, and to define the motions by exact laws which would allow of an easy calculation.“- 艾萨克·牛顿(1687)

神经网络如何解决量子力学中的高度复杂问题

牛顿的 Principia Mathematica

由于基本上所有相关的物理系统都是由一系列相互作用的粒子组成的,因此多体问题非常重要。

简单定义

神经网络如何解决量子力学中的高度复杂问题

金离子的碰撞产生夸克 - 胶子等离子体,这是典型的多体系统

“many”的含义可以是从3到无穷大的任何地方。在最近的一篇论文中,对于N=5的自旋激发,已经可以发现量子多体行为的特征(见下图)。

神经网络如何解决量子力学中的高度复杂问题

一种旋转系统的状态密度(XX模型)。随着自旋激发次数从2增加到5,接近高斯分布(典型的具有2体耦合的多体系统)

在这篇文章中,我将着重于量子多体问题。

量子多体系统

量子多体系统的复杂性由物理学家在20世纪30年代已经确定。大约在那个时候,伟大的物理学家保罗狄拉克 设想了量子力学中的两个主要问题。

神经网络如何解决量子力学中的高度复杂问题

英国物理学家保罗狄拉克

按照他的说法,第一个是“与相对论思想的精确契合有关”。第二,“这些(量子)定律的精确应用导致方程过于复杂,难以求解”。第二个问题就是量子多体问题。

幸运的是,许多物理系统的量子态可以用比希尔伯特空间最大容量少得多的信息来描述。这一事实被几种数值技术所利用,包括众所周知的量子蒙特卡罗(QMC)方法。

量子波函数

简单地说,量子波函数在数学上描述了量子系统的状态。第一个得到精确数学处理的量子系统是氢原子。

神经网络如何解决量子力学中的高度复杂问题

在氢原子中找到电子的概率(由亮度表示)

通常,量子态由复数概率幅度Ψ(S)表示,其中参数S包含关于系统状态的所有信息。例如,在spin-1/2链中:

神经网络如何解决量子力学中的高度复杂问题

一维自旋链:每个粒子都有一个值σ的z轴

从Ψ(S),可以导出与在系统上进行的测量相关联的概率。例如,Ψ(S)的平方模(正实数)给出与Ψ(S)相关的概率分布:

神经网络如何解决量子力学中的高度复杂问题

哈密​​顿算子

量子系统的属性由系统的哈密​​顿算子 H封装。后者是两项之和:

  • 系统中所有粒子的动能与它们的运动有关
  • 系统中所有颗粒的势能,与颗粒相对于其他颗粒的位置有关。

量子系统的允许能级(它的energy spectrum)可以通过求解所谓的薛定谔方程得到,薛定谔方程是描述量子力学系统行为的偏微分方程。

神经网络如何解决量子力学中的高度复杂问题

奥地利物理学家欧文·薛定谔,量子力学之父之一

薛定谔方程与时间无关的版本由如下特征值系统给出:

神经网络如何解决量子力学中的高度复杂问题

特征值和相应的本征态是

神经网络如何解决量子力学中的高度复杂问题

最低能量对应于系统的所谓“基态”。

一个简单的例子

具体来说,让我们考虑下面的例子:量子谐振子。QHO是经典谐振子的量子力学对应物(见下图),经典谐振子是一个系统,当它从初始位置位移时,会受到一种力,使其恢复到平衡位置。

神经网络如何解决量子力学中的高度复杂问题

质量弹簧谐振子

下面的动画比较了简谐振荡器的经典概念和量子概念。

神经网络如何解决量子力学中的高度复杂问题

描述量子谐振子( Wiki)的波函数

虽然在明确定义的轨迹中的简单振荡质量代表经典系统(上图中的方框A和B),但相应的量子系统由复波函数表示。在每个块中(从C开始)有两条曲线:蓝色曲线是Ψ的实部,红色曲线是虚部。

量子自旋系统的鸟瞰图

在量子力学中,自旋可以粗略地理解为由粒子和原子核携带的“角动量的内在形式”。虽然将旋转视为粒子围绕其自身轴的旋转是直观的,但这种图像并不完全正确,因为粒子将以比光速更快的速度旋转,这将违反基本的物理原理。

神经网络如何解决量子力学中的高度复杂问题

多体系统的例子:通过原子链传播的自旋杂质

量子自旋系统与磁现象密切相关。磁铁是由原子构成的,原子通常是小磁铁。当这些原子磁体平行定向时,就产生了我们所熟悉的宏观效应。

神经网络如何解决量子力学中的高度复杂问题

磁性材料通常显示自旋波,以磁序传播干扰

我现在将以一种有助于读者理解它们与量子系统的联系的方式快速总结机器学习算法的基本组件。

机器学习=机器+学习

机器学习方法有两个基本组成部分:

  • 机器,例如用参数的人工神经网络Ψ

神经网络如何解决量子力学中的高度复杂问题

  • 参数W的学习,如随机优化算法。

神经网络如何解决量子力学中的高度复杂问题

机器学习的两个组成部分

神经网络

人工神经网络通常是非线性的多维嵌套函数。

神经网络如何解决量子力学中的高度复杂问题

具有两个隐藏层的简单人工神经网络

由于网络参数与近似的数学函数之间缺乏明确的连接,人工神经网络通常被称为“黑匣子”。

有几种类型的人工神经网络,但就我们目前的目的而言,我将重点关注受限玻尔兹曼机器(RBM)的具体情况。

什么是受限制的玻尔兹曼机器?

受限玻尔兹曼机器是生成随机神经网络。它们有许多应用,包括:

  • 协同过滤
  • 降维
  • 分类
  • 回归
  • 特征学习
  • 主题建模

RBM属于一类称为 Energy-Based的模型。它不同于其他(更受欢迎的)神经网络,后者根据输入估计一个值,而RBM估计输入的概率密度(估计许多点而不是单个值)。

RBM具有以下属性:

  • 它们是浅层网络,只有两层(输入/可见层和隐藏层)
  • 它们的隐藏单元h和可见(输入)单元v通常是二进制值
  • 存在与隐藏单元和可见单元之间的连接相关联的权重矩阵W.
  • 存在两个偏差项,一个用于由a表示的输入单元,一个用于由b表示的隐藏单元
  • 每种配置都具有相关的能量函数E(v,h),其在训练期间被最小化
  • 它们没有输出层
  • 没有内部层连接(这是“限制”)。对于给定的一组可见单元激活,隐藏的单元激活是相互独立的(反之亦然)。该属性极大地方便了分析。

要最小化的能量函数由下式给出:

神经网络如何解决量子力学中的高度复杂问题

等式1:RBM最小化能量函数

可见单元和隐藏单元的联合概率分布如下:

神经网络如何解决量子力学中的高度复杂问题

等式2:总概率分布

其中归一化常数Z称为分区函数。追踪隐藏单元,我们获得可见(输入)向量的边际概率:

神经网络如何解决量子力学中的高度复杂问题

等式3:输入单元边际概率分布

因为,正如前面提到的,在给定可见(隐藏)单元激活的情况下,隐藏(可见)单元激活是相互独立的,因此可以这样写:

神经网络如何解决量子力学中的高度复杂问题

等式4:条件概率由于相互独立而变成乘积

并且:

神经网络如何解决量子力学中的高度复杂问题

等式5:与等式4相同

最后,激活概率如下:

神经网络如何解决量子力学中的高度复杂问题

等式6:激活概率

其中σ是sigmoid函数。

训练步骤如下:

  • 我们首先将可见单元状态设置为训练向量。
  • 然后使用等式6左边的表达式计算隐藏单元的状态。
  • 在为隐藏单元选择状态之后,执行所谓的“reconstruction”,根据等式6右边的表达式将每个可见单元设置为1。
  • 权重改变:

神经网络如何解决量子力学中的高度复杂问题

RBM如何处理输入,这是一个简单的例子

下面的三个图展示了RBM如何处理输入。

神经网络如何解决量子力学中的高度复杂问题

一个简单的RBM处理输入

  • 在隐藏层的节点1处,输入x乘以权重w,添加偏差b,并且将结果馈送到激活,给出输出a(参见最左边的图)。
  • 在中图,所有输入在隐藏节点1处组合,并且每个输入x乘以其对应的w。然后对乘积求和,添加偏差b,并将最终结果传递给激活函数,从隐藏节点1 产生完整输出a
  • 在第三个图中,输入x被传递给隐藏层中的所有节点。在每个隐藏节点处,x乘以其对应的权重w。各个隐藏节点以其各自的权重w接收所有输入x的乘积然后将偏差b添加到每个和中,结果通过激活函数传递,为所有隐藏节点生成输出。

RBM如何学习重建数据

RBM执行称为“重建”的无监督过程。他们学会重建数据,在两层之间执行一连串的传递(forward and backward ones)传递。在backward pass中,如下图所示,隐藏层中节点的激活函数成为新输入。

神经网络如何解决量子力学中的高度复杂问题

将这些输入的乘积和各自的权重相加,并且在每个输入节点处添加来自可见层的新偏差b。此类操作的新输出称为“重建”,因为它是原始输入的近似值。

当然,重建和原始输入首先是非常不同的(因为w的值是随机初始化的)。然而,由于误差反复传播到ws,因此逐渐最小化。

因此,我们看到:

  • RBM在forward pass时使用输入来预测节点的激活情况,并根据加权输入x估计输出a的概率分布
  • 在backward pass时,RBM尝试以激活a为条件来估计输入x的概率分布

将两个条件分布连接起来,得到x和a的联合概率分布,即RBM学习如何逼近原始数据(输入的结构)。

如何连接机器学习和量子系统?

在最近发表在“科学”杂志上的一篇文章(http://science.sciencemag.org/content/355/6325/602.abstract)中,人们提出可以将量子多体系统的量子波函数Ψ(S)视为黑盒,然后使用RBM对其进行近似。RBM经过训练,通过优化其参数来表示Ψ(S)。

神经网络如何解决量子力学中的高度复杂问题

Carleo和Troyer(2017)使用的RBM 编码旋转多体量子态

问题是如何将(时间无关的)薛定谔方程(一个特征值问题)重新表述为机器学习问题。

变分方法

事实证明,这个问题的答案已经为人所知有很长一段时间了,它是基于所谓的变分法,波动方程的另一种形式可以用来获得量子系统的能量。利用这种方法,我们可以写出优化问题如下:

神经网络如何解决量子力学中的高度复杂问题

其中E [Ψ]是一个取决于本征态和哈密顿量的函数。解决这个优化问题,我们获得了基态能量及其相应的基态。

量子态和受限玻尔兹曼机器

在Carleo和Troyer(2017)中,RBM用于表示量子态Ψ(S)。他们推广RBM以允许复杂的网络参数。

很容易证明能量函数可以写成

神经网络如何解决量子力学中的高度复杂问题

其中最后一个等号后的期望值的参数是局部能量。然后使用随机重构(SR)方法训练神经网络。相应的优化迭代:

神经网络如何解决量子力学中的高度复杂问题

梯度下降更新

其中η是学习率,S是随机重构矩阵,它取决于本征态及其对数导数。

Carleo和Troyer(2017)对spin 1/2的量子系统特别感兴趣,他们将量子态写成如下:

神经网络如何解决量子力学中的高度复杂问题

在这个表达式中,Ψ 的W参数是一组参数:

神经网络如何解决量子力学中的高度复杂问题

其中a和b上的分量是实数,但W可能是复数。RBM架构中典型的层内交互的缺失允许隐藏变量在summer over(或追溯),大大简化了上面的表达式:

神经网络如何解决量子力学中的高度复杂问题

令人印象深刻的准确性

下图显示了NQS基态能量估计的可忽略的相对误差。每个图对应于测试用例,该测试用例是具有已知精确解的系统。水平轴是隐藏单元密度,即隐藏单元和可见单元数之间的比率。请注意,即使隐藏单元相对较少,模型的准确性也已经非常令人印象深刻(百万分之一的error!)

神经网络如何解决量子力学中的高度复杂问题

模型基态能量相对于三个测试案例中的精确值的误差

结论

在这篇简短的文章中,我们看到Restricted Boltzmann Machines(RBMs)是一种简单类型的人工神经网络,可用于以极高的精度计算许多粒子的量子系统的基态能量。有关详细信息,查看论文(http://science.sciencemag.org/content/355/6325/602.abstract)。

相关推荐