论文:TransformingBell’s Inequalities into State Classifiers with MachineLearning
论文地址:https://www.nature.com/articles/s41534-018-0081-3
物理背景
纠缠态 (entangledstate) 是量子力学预言的一种叠加态,最早是为了批判量子力学所蕴含的哲学思想,而由爱因斯坦等三名科学家于 1935 年首先提出的概念。它起初被称为 EPR 佯谬,后来薛定谔首先提出了「纠缠」的术语。
量子力学预言,当两个粒子纠缠在一起时,测量其中一个,那么另一个粒子的状态会在同一瞬间发生改变,即使二者相隔非常远。换言之,测量这一操作的「影响」传递速度是无穷大。爱因斯坦觉得这种「幽灵般的超距作用」不应该存在,量子力学理论是有问题的(不完备)。
为了验证爱因斯坦的想法,约翰·贝尔于 1964 年提出了一种实验方案,后来演化出了多种版本。简单地说,这些方案试图将各个粒子在不同方向上的测量结果做线性组合,得到一个或多个不等式。一旦测量结果违背任意一个不等式,则可说明粒子间确实存在纠缠。这些不等式都被称作「贝尔不等式」(Bell’s inequalities)。
此后一系列违背贝尔不等式的实验结果表明,纠缠确实存在,量子力学并没有错。
如今,纠缠已成为量子信息领域的核心资源,它在量子计算,量子隐形传输和量子通讯等领域有广泛的用途。如果现在有人声称造出了一台量子计算机,那么要想得到学术界的认可,首先需要提供证据说明:这台机器的确能够生成纠缠态。
关于纠缠,至今很多基础问题仍然没有解决。一般地,给定量子系统的所有信息(密度矩阵),判断它们是否纠缠在一起,就是一个尚未被完全解决的难题,即使系统只包含 3 个粒子。以下未经特殊说明,粒子都是指 qubit。qubit 意味着每次测量结果只有两种可能。
接下来,我们将具体介绍贝尔不等式,然后从神经网络 (Artificial Neural Network, ANN) 的角度出发,探索它与不等式之间的联系,并重新审视「纠缠态判定」这一问题。
贝尔不等式是什么?
这里介绍贝尔不等式的一种:CHSH 不等式。假设 Alice 和 Bob 手中各有一个粒子, 他们分别从两个方向对自己手中的粒子进行测量(measure),如下图所示:
注意这里的 a a’和 b b’既表示测量方向,也表示测量结果。结果取值只有两种可能,记为+1 或-1。将测量结果拼在一起可以得到 CHSH 不等式(注意是两个不等式,因为有两边):
如果每次测量都能得到确定的结果,那可以将四个测量结果共 16 种情况分别带进去验证,不等式全部成立。
实际情况是,测量得到的结果是随机的,而且测量可能会导致被测量粒子的状态发生改变。因此在实验时,Alice 和 Bob 需要各自测量大量的粒子(成对的纠缠粒子),每个粒子只测一次(只从一个方向测),测完就扔掉。最后计算的是上述不等式的平均值。
只要两人离得足够远,那么根据爱因斯坦的想法,Alice 和 Bob 无论怎样操作,在较短时间内都无法影响对方的测量结果。那么,可以假定两人各自测量时结果以某种确定概率分布得到 1 或者 -1。但不管概率分布是什么,结果都应该满足贝尔不等式,因为对于每一种特定情况都满足,它们的平均值当然也满足。
然而实验结果确实可能违背贝尔不等式!这样一来就说明了一点,Alice 和 Bob 的粒子即使相隔非常远,彼此之间也能影响对方。这种影响的传递速度超越了光速(非局域性)。
为了让读者理解什么叫超距作用,这里举一个例子。我们不妨假设,Alice 比 Bob 先测,Alice 测量 a 或 a’时永远得到 1,Bob 测量 b 时也永远得到 1。但当 Alice 测量 a 时,Bob 手里对应的粒子会在同一瞬间「感应到」这个测量,并将 b’设为-1(超距作用),Alice 测量 a’时,b’会设为 1,这样 ab-ab’+a’b+a’b’=4,违背了 CHSH 不等式。
当然,这个例子并不真实(违背了量子力学),这里只是为了方便读者理解「超距作用会导致违背贝尔不等式」而提出的一种假想。
如果用绿色表示纠缠态区域,蓝色表示可分态(separable state,指不纠缠的态)区域,任何单个贝尔不等式可以想象成一条直线,如图所示:
总而言之,贝尔不等式提供了一种实验方案,实验结果违背它则可确定「超距作用」的存在。用量子力学的语言来说,违背贝尔不等式意味着粒子的波函数是纠缠态,反之则无法确定其是否纠缠。
神经网络是什么?
这里以单隐藏层神经网络(上图)为例。隐藏或输出层的任何一个网络节点所做的事情,是带权重的加法操作,后跟一个非线性的激活(activate)函数。
为简单起见,下面来看一个没有隐藏层的神经网络,也被称作感知机(perceptron)。见下图:
在输出层中我们使用了 sigmoid 函数作为激活函数,从而将任意实数映射到 0-1 之间。根据输出值是否小于 0.5 将输入分为两类,这个数有时被解释为概率。当然,就算不加 sigmoid 函数,一样可以根据输出值是否小于 0 来分类。加它只是为了便于后面训练。接下来所有的神经网络,输出层都会有 sigmoid 函数,不再另作说明。
神经网络与不等式的联系
感知机与单一线性不等式是等价的模型,或者说,不等式可以编码到感知机上。如下图所示(<>表示测量的期望值):
这里不等式的权重,即 1 -1 11 2 对应于感知机的权重。这里只写了 CHSH 不等式的一半。输出小于 0(sigmoid 输出小于 0.5)则确定是纠缠态,反之则无法确认是否纠缠。
根据之前的介绍,贝尔不等式有多种形式。光是 CHSH 不等式就可以写出多个变种来(比如将不等式种 aa’ 对调,bb’ 对调)。只要违背其中之一就可以确认是纠缠态。那这些不等式能否一次性编码到一个神经网络中呢?答案是肯定的,只需要加上隐藏层。此时「隐藏层」可以视为「不等式」的组合,见下图:
如上图所示,这里只画了 3 个贝尔不等式,它们可以编码到 3 个隐藏单元上。每个单元处理一个不等式。
隐藏层的激活函数一律采用 ReLU(Rectified Linear Units,可译作斜坡函数,表达式是 max(0,x))。在遵守所有不等式的情况下,每一个隐藏单元输出 0,最终的输出是一个定值。反之,隐藏单元会输出违背贝尔不等式的值,从而影响到最后的输出。
到此为止,我们说明了如何将任意多组不等式编码到一个神经网络上,从而将「遵守所有不等式」和「违背至少一个不等式」的输入分成两类。根据量子信息理论(witness 完备性定理),每一个纠缠态,都存在一个 witness 不等式, 使该纠缠态违背它,而所有可分态都遵守它,此时称该纠缠态被该 witness「探测」到了。所有的 witness 不等式都依赖于一组固定的测量结果(features)。witness 不等式可以探测所有纠缠态,而贝尔不等式针对的是只能用「超距作用」来解释的现象(即「非局域态」,它是纠缠态的子集)。贝尔不等式可以看作 witness 的特例。
需要强调一点,无论是违背 witness 还是贝尔不等式,都只是成为纠缠态的充分不必要条件。使用一个线性不等式是远远不足以将所有纠缠态都探测到的,这是必须使用隐藏层的原因。只要隐藏层足够大,单层神经网络原则上可将所有可分态和任意多组纠缠态区分开,只需在每一个隐藏单元和输入层的连接上编码一个 witness 不等式即可。
然而现在有两个问题:
1) 虽然理论上编码 witness 后,能够得到一个通用的纠缠-可分态分类器神经网络,但我们并不知道怎么去寻找 witness,只是知道它理论上存在。
2) 原则上无穷多个 witness,或者说有无穷多个隐藏单元的神经网络可以将所有纠缠态和所有可分态全部区分开。能不能用有限个隐藏单元以较高概率做到这一点?这听起来像是要画足够多的直线框一个圆一样,似乎可行,但具体怎么操作?说到底还是怎么找 witness 的问题。
这两个问题引出了本文的另一个主题:机器学习。它是近两年很火的人工智能背后的核心技术。机器学习的核心思想是试图通过以往经验或数据去自动改进模型参数,它有三个主要分支:有监督学习(supervised learning), 无监督学习(unsupervised learning)和增强学习(reinforcementlearning)。有监督学习是目前最成熟,工业界使用最广泛的机器学习方法。本文用它来训练不等式,并且数值验证了它们的确具备 witness 的特性。
机器学习不等式
一般来说,有监督学习可以理解成函数拟合。它只关注能否找到一组参数(这里是神经网络的权重),使得模型(神经网络)的输出尽可能接近理想的输出(即「标签」),这里的标签是「纠缠态」和「可分态」,分别用 0 和 1 表示。大多数情况下有监督学习学到的参数并不被关注。但这里我们既关注学习的正确率,也关注学习到的参数是否可以解释成 witness 不等式。
接下来还有一个重要问题,如何获取标签?我们刚才提到,找到了 witness 就能确认是纠缠态,但现在我们并不清楚 witness 是否存在以及如何去找,所以只能用别的方法去得到标签。在知道密度矩阵的前提下,可以通过 Positive Partial Transpose (以下简称 PPT) 判据来判断是否纠缠。对于 2-qubit 系统或者 qubit-qutrit 系统来说,PPT 判据是充分必要的。更一般的情况下没有解析方法可以用来打标签,只能考虑用数值方法(如 SDP)。
这里我们针对 2-qubit 系统,采用 PPT 判据来打标签。过程如下:已知系统密度矩阵,在某个子空间(第一个或第二个 qubit 系统)下进行偏转置,求偏转置后的矩阵的最小本征值 λmin。λmin 小于 0 时系统一定是纠缠态,而 λmin 大于或等于 0 时一定是可分态。顺带一提,对于纠缠态,λmin 的绝对值也被叫做负度(negativity),是衡量纠缠度大小的指标之一。
有了打标签的方法,接下来是数据采集。我们采用标准的方法生成大量的随机密度矩阵 ρrand:
这里的 σ 是指每个元素实部虚部都服从正态分布的随机矩阵,† 表示「转置并取共轭」。
用这种方法,我们生成 3,000,000 个随机密度矩阵,通过 PPT 判据计算 λmin,其分布如下图所示:
可以发现,大部分的 λmin 都集中在 0 附近,这意味着大部分数据都处于纠缠态和可分态的边缘地带,大约 1/4 的数据为可分态,3/4 的数据为纠缠态。为了使参与训练的纠缠态-可分态数量相等,我们仅采用红色区域的数据进行模型的训练(train)。之后按相同方法重新生成 300,000 个随机矩阵,全部用于测试(test),即检验模型的好坏。测试结果如下图所示(本文出现的所有正确/错误率(accuracy/error rate)均为测试集上的结果):
蓝色和绿色分别代表纠缠态和可分态。左图表明,随着隐藏层加大,二者的正确率都会有所提高。必须指出的是,正确率的指标是不足以反映出分类器的好坏的,因为正确率很大程度上取决于数据本身是否处于纠缠态和可分态的边缘处。为了体现这一点,我们画了右图,考察不同的 λmin 与错误率的关系,并发现大部分情况下只有当 λmin 处于 0 附近时(即纠缠-可分态的边缘处)才会出错。
以上结果表明,采用机器学习训练通用纠缠-可分态分类器是可行的,不过上述结果并没有说明机器学习的优势,毕竟 PPT 可以做到完美,而机器学习只能无限接近完美。但是别忘了,我们的目的,是要学习 witness 不等式。我们希望在 2-qubit 系统下完成以下任务:寻找足够多的 witness,将所有可分态和所有纠缠态区分开。能否用机器学习的方法(至少近似地)做到这一点呢?问题的关键在于隐藏层的输出。我们以 10000 个隐藏神经元的模型为例来说明。
首先,用数学语言回顾一下前面说的神经网络。若输入为 vec{x}, 隐藏层 vec{x1} 可以用以下公式计算:
这里σRL 是针对每一个神经元的 ReLU 函数。最终输出为 y:
这里的σS 是 sigmoid 函数:
根据之前的编码过程,只要 W2 的所有神经元都是负数,就可以让输入的纠缠态违背的所有不等式都导致最终输出减小,从而将该纠缠态与所有可分态区分开。如果 W2 的某一个神经元等于 0,那么它对应的不等式(隐藏神经元)可以去掉,因为它对最终输出无影响。
那么,训练得到的 W2 的分布又如何呢?让我们画一个直方图来分析一下:
可以看出,和我们之前的编码一致。大部分都是负数。这里有很多神经元(元素)几乎为 0,从量子信息的角度看,这意味着该模型还有进一步压缩的空间。我们把大于 -0.1 的神经元的直方图标记为橙色。
来看看所有隐藏层输出的平均值。根据之前的编码过程,如果输入为可分态,该值为 0,对于纠缠态该值大于 0。训练的结果很好地匹配了这一点,见下图中央部分:
该图上半部分是所有隐藏神经元的平均值,下半部分是去掉橙色部分(W2 元素大于 -0.1)对应的隐藏神经元之后的平均值。后者更能体现出可分态和纠缠态的区别。
上述结果说明,机器学习到的「不等式」从数值上看确实具有 witness 不等式的特点。
我们的贡献
本文讨论了如何利用有监督学习的方法,将神经网络训练为纠缠-可分量子态分类器。这种方法也可以用于训练其它量子态分类器。
我们首先论述了如何利用单隐藏层神经网络来刻画输入是否违背多组线性不等式中的至少一个,从而从理论上论证了神经网络作为纠缠-可分态分类器的通用性。我们首次提出了利用机器学习来寻找 witness 不等式,从而描述纠缠-可分态的分界面的方案,并给出了数值结果。
我们还探讨了利用机器学习来节省测量资源的可能性,并给出了几个例子(限于篇幅,本文未作讨论)。
本文利用量子力学的线性特性与神经网络运算的联系,展示了量子力学和机器学习之间可以如何融合。这项技术为未来量子计算机的有效性判定指出了一条方向。
最后,本论文提出的模型此前已经被上海交通大学金贤敏研究团队实验证实了其有效性,相关成果发表在国际物理学权威期刊《物理评论快报》上。机器之心对此进行了报道。
参见:前沿 | 上交大&南科大最新 PRL 论文:成功用机器学习实现量子态分类器
量子态分类器实验装置。