在10月4日公布的2022年诺贝尔奖中,Alain Aspect 、John F. Clause 和 Anton Zeilinger 三位科学家凭借量子纠缠获得物理学奖项,引起了外界对量子研究领域的关注和讨论。
其中,以量子计算为代表的研究投资近几年迎来显著增加,人们开始探索从安全、网络通信等领域出发,用量子方法来颠覆现有的经典计算技术。
有研究人员认为,量子计算的核心在于“通过计算成本更低的技术解决经典难题”,而随着近年来深度学习和量子计算的研究并行发展,不少研究者也开始关注到这两个领域的交叉点:量子深度学习。
近日,Xbox 游戏工作室 Rare 洞察主管 Holly Emblem 在新的文章“Quantum Deep Learning: A Quick Guide to Quantum Convolutional Neural Networks”中,就量子深度学习的现有研究和应用进行介绍,并重点讨论了量子卷积神经网络 (QCNN)与经典计算方法相比存在的优势和局限性。
1 经典计算和量子计算的区别
首先介绍一个关于经典计算和量子计算区别的重要概念。在经典计算机上执行程序时,编译器会将程序语句转换为二进制位;而在量子计算中,与经典计算机上的位在任何时候都代表 1 或 0 的状态不同,量子位能够在这两种状态间“悬停”,只有当它被测量时,量子比特才会崩溃到它的两个基态之一,即 1 或 0。
这种属性称为叠加,在量子计算任务中有至关重要的作用。通过叠加,量子计算机可以并行执行任务,而不需要完全并行的架构或 GPU 来执行。其原因在于,当每个叠加状态对应一个不同的值,如果对叠加状态进行操作,则该操作同时在所有状态上执行。
这里举一个叠加量子态的例子:
量子态的叠加是指数的,a 和 b 指概率幅度,其给出了一旦执行测量就投射到一个状态的概率。其中,叠加量子态是通过使用量子逻辑门来创建的。
图注:Ragsxl 在芬兰埃斯波的 IQM 量子计算机
2 纠缠和贝尔态
叠加在量子物理学中十分重要,而另一个关键的原理则是纠缠。
纠缠指在两个或多个粒子之间、以某种方式产生或引起相互作用的行为,这意味着这些粒子的量子态不再能彼此独立地描述,即使相隔很远也是如此。当粒子被纠缠时,如果一个粒子被测量,与之纠缠的另一个粒子将立即测量为相反的状态(这些粒子没有局部状态)。
随着对量子比特和纠缠的理解的发展,继而来讨论贝尔态,下面展示了量子比特的最大纠缠态:
|00⟩ → β → 1 √ 2 (|00⟩ + |11⟩) = |β00⟩,
|01⟩ → β → 1 √ 2 (|01⟩ + |10⟩) = |β01⟩
|10⟩ → β → 1 √ 2 (|00⟩ - |11⟩) = |β10⟩
|11⟩ → β → 1 √ 2 (|01⟩ - |10⟩) = |β11⟩
使用量子电路创建贝尔态:
图注:Perry 量子计算神殿的贝尔态电路
在所显示的贝尔态电路中,其接受量子位输入并应用 Hadamard 门和 CNOT 门创来建一个纠缠的贝尔态。
目前,贝尔态已被用于开发一系列量子计算应用程序;其中,Hegazy、Bahaa-Eldin 和 Dakroury 就提出了贝尔态和超密集编码可用于实现“无条件安全”的理论。
3 卷积神经网络和量子卷积神经网络
François Chollet 在 Python 深度学习中指出,卷积神经网络 (CNN) 在图像分类等任务中很受欢迎,其原因在于它们能构建模式层次结构,例如先表示线条、再表示这些线条的边缘,这使得 CNN 能够建立在层之间的信息上,并表示复杂的视觉数据。
CNN 具有卷积层,由过滤器组成,这些过滤器会在输入中“滑动”并产生“特征图”,允许检测输入中的模式。同时,CNN 可使用池化层来减小特征图的大小,从而减少学习所需的资源。
图注:Cecbur 展示的卷积神经网络
定义了经典的 CNN 后,我们就可以探索量子 CNN (量子卷积神经网络,QCNN)是如何利用这些传统方法、并对其进行扩展。
Garg 和 Ramakrishnan 认为,开发量子神经网络的一种常见方法,是开发一种“混合”方法,引入所谓的“量子卷积层”,这是一种基于随机量子电路的变换,在经典 CNN 中作为附加组件出现。
下面展示了由 Yanxuan Lü 等研究人员开发、并在MNIST 手写数字数据集上进行测试的混合 QCNN:
研究人员在论文“A Quantum Convolutional Neural Network for Image Classification”中,采用了量子电路和纠缠作为经典模型的一部分来获取输入图像,并生成预测作为输出。
在这种方法中,QCNN 将图像数据作为输入,并将其编码为量子态 |x>,然后使用量子卷积和池化层对其进行转换来提取特征;最后,使用强纠缠电路的全连接层进行分类,并通过测量得到预测。
其中,优化是通过随机梯度下降(SGD)处理的,可用于减少训练数据标签与 QCNN 预测标签之间的差异。聚焦于量子电路,量子卷积层中使用的门如下所示,其中包括了旋转算子和 CNOT 门。
在池化层测量量子位的一个子集,所得出的结果会决定是否对其临近的位应用单量子位门:
全连通层由“通用单量子位门”和产生纠缠态的CNOT门组成,为了将 QCNN 与其他方法进行比较,研究人员使用了带有模拟 QCNN 的 MNIST 数据集。按照典型的方法,我们创建了一个训练/测试数据集,并开发了一个由以下层组成的 QCNN:
- 2个量子卷积层
- 2 个量子池层
- 1个量子全连接层
该 QCNN 对数据集的测试集准确率达到了 96.65%,而根据 Papers with Code 的数据进行测试后,该数据集在经典 CNN 中的最高准确度得分可达到 99.91%。
要注意的是,该实验只有两类 MNIST 数据集被分类,这也就意味着将其与其他 MNIST 模型性能完全比较会存在局限性。
4 可行性评估和总结
虽然研究人员在 QCNN 开发了方法,但目前该领域的一个关键问题是,实现理论模型所需的硬件还不存在。此外,混合方法在经典 CNN 计算中同时引入量子演化层的测试方法,也面临着挑战。
如果我们考虑量子计算的优势之一,是可以解决“通过计算成本更低的技术解决经典棘手的问题”,那么这些解决方案中的一个重要方面就在于“量子加速”。有研究人员认为,量子机器学习与经典实现相比,其优势在于预计量子算法可具有多项式、甚至指数级的加速时间。
然而,上文中展示的 QCNN 方法存在一个局限性是,当我们需要对经典数据和测量进行一致解码/编码的算法(如 QCNN )时,“量子加速”增益是有限的;而目前,关于如何设计出最好的编码/解码和需要最小测量的协议、使其能够受益于“量子加速”的信息并不多。
纠缠已被证明是量子机器学习的一个重要性质,本文所提到的关于 QCNN 利用强纠缠电路,可以产生纠缠态作为其全连通层的研究,使模型能够进行预测。不仅如此,纠缠也在其他领域中被用于辅助深度学习模型,例如使用纠缠从图像中提取重要特征,以及在数据集中使用纠缠、可能意味着模型能够从比之前预期更小的训练数据集中学习等等。
本文提供了经典深度学习方法和量子深度学习方法的比较,并讨论了利用量子层(包括强纠缠电路)生成预测的 QCNN ,分析量子深度学习的好处和局限性,并介绍了纠缠在机器学习中更普遍的应用,这也意味着我们可以开始考虑量子深度学习的下一步,特别是 QCNN 在更多领域中的应用。除此之外,量子硬件也在不断进步,PsiQuantum 等公司更是提出了开发百万量子比特的量子处理器目标。
随着深度学习和量子计算领域研究的继续进行,我们可以期待看到量子深度学习的进一步发展。