神经网络是当下计算应用中发展最快,使用最广的机器学习算法。然而,随着应用不断复杂化导致网络结构不断扩大,存储性能瓶颈已逐渐凸显。

在传统计算平台上,N个数字比特只能表示 1 个N位数据,然而在量子计算中,M个量子比特却同时能表示2^M个数据,并能同时操作这些数据。

量子计算机如此强大的存储与计算能力,使其拥有巨大潜能打破神经网络在传统计算平台上的性能瓶颈,获取量子优势。

量子神经网络是根据量子计算机的特性设计的神经网络。具体而言,研究者们根据量子计算机所提供的基本计算单元(即量子逻辑门)进行量子线路设计,以实现神经网络的计算。

今年 1 月,美国乔治梅森大学姜炜文教授在《自然通讯》期刊,提出了第一个神经网络/量子计算协同设计框架 QuantumFlow。这也是其一年内,继两篇《自然电子》后的第三篇 Nature 子刊。

https://www.nature.com/articles/s41467-020-20729-5

该框架第一次展示了通过协同优化神经网络结构与量子线路设计,可以较传统计算机获得指数级加速。

图 1 基于 QuatnumFlow 量子神经网络设计栈

基于 QuantumFlow,由姜教授带领的 JQub 团队在今年 10 月举行的 QuantumWeek’21 和 ESWEEK’21 中,开源了 QuantumFlow 的量子神经网络编程框架,QFNN。

并在即将召开 ICCAD’21,添加了两个新成员:

(1)第一个对噪声感知的量子神经网络训练器 QF-RobustNN;

(2)基于不同量子神经元设计的量子神经网络结构设计器 QF-Mixer。

至此,第一个开源量子神经网络设计栈横空出世,为量子神经网络应用提供了坚实基础。

QFNN

在刚刚结束的 QuantumWeek 会议上,JQub 团队开源了由胡芷瑞研究员主要参与设计的量子神经网络(Quantum Neural Network)编程框架,QFNN。

https://github.com/JQub/qfnn

QFNN 以 Pytorch 和 IBM Qiskit 为基础,为实现了神经网络在量子电路进行训练和推理提供了基础函数。研究人员可以通过简单调用少数函数,便可以轻松构建可以在 IBM 量子计算机上进行部署的针对神经网络推理的量子电路。

QFNN 不仅支持 QuantumFlow 的所有功能,同时也支持其它量子神经网络设计,包括 Variational Quantum Circuits(VQC)。

除此之外,QFNN 还提供了量子神经网络电路相对应的经典计算模拟,可以用于验证量子神经网络的正确性以及辅助量子计算机进行模型训练。

图 2 QuantumFlow 协同设计框架

在对 QuantumFlow 的支持上,QFNN 采用与 QuantumFlow 中的结构相同。如图 2 所示,该框架分为四个模块,包括 qf_circ,qf_net,qf_fb 和 qf_map。

目前 QFNN 支持 QuantumFlow 中的所有模块,并在 QF-Net 中,加入了对 VQC 等量子电路的支持。

利用 QFNN,研究者可以快速搭建量子机器学习电路,在经典计算机上对网络进行训练,在量子平台上进行推理。

同时,QFNN 还支持量子网络结构的探索,即 QF-Mixer。QFNN 在 github 上进行开源,并欢迎有兴趣者共同开发,加入更多的基础量子神经元实现与量子神经网络实现。

QF-RubostNN

在即将于 11 月 1 日召开的 ICCAD 会议上,JQub 团队提出了首个通过训练,在量子网络中学习量子位误差的研究工作,即 QF-RubostNN。

https://arxiv.org/pdf/2109.03430.pdf

该研究由梁之鼎博士生主要参与,提出了一个通用的训练框架来进行错误感知学习,这个框架将解决部署神经网络到近期嘈杂的中级量子(NISQ)时期的核心问题:如何抵抗噪声对神经网络推理的影响。

虽然量子计算发展非常迅速,但是目前量子比特在量子机器上的错误率会达到 10^-2,和经典比特在经典的 CMOS 机器上大约 10^-15 的错误率对比无疑是个巨大的差距。

对此,JQub 团队设计了 QF-RubostNN 做出了第一个将噪声学习到量子神经网络的尝试,展示出了量子神经网络的容错性:在量子模拟器和 IBM 量子机器上分别运行了 QF-RubostNN,并极大地提升了量子神经网络的推理精确度。

图 3 QF-RubostNN 产生的总体框架简图

QF-RobustNN 最上层的训练权重由量子神经网络,如 QuantumFlow 产生。在每次循环中的训练权重会产生对应的量子线路,此时是在逻辑量子位上的逻辑量子线路,经过设计出的特定应用的量子映射,逻辑量子位被映射到物理量子位,由此便有了对应的物理量子线路。

再将物理量子线路运行在量子机器或者量子模拟器中,得到模型准确率的输出,通过训练框架找到在这时候的噪声下表现最好的训练权重,最后将搜索到的训练权重更新到最上层的训练权重。

这种方法固定初始到结束的逻辑-物理量子映射的规律,使错误可以被预估,并且也可以有效减少附加门的数量,从而降低消耗。

图 4 QF-RobustNN 在不同噪声模型下,对准确率的测量结果

QF-RobustNN 采用在 0 噪声环境(perfect model)下表现最好的训练权重当作实验的 Baseline,通过改变模型的 Error rate(噪声情况)观察 QF-RobustNN 的实现。

在实验结果中可以看到,经过 QF-RobustNN 的准确率相较 baseline 的情况有所提高,而且值得注意的是,随着错误率增加,QF-RobustNN 对准确率的推动作用更加明显,最高达到了 28% 的效果。

该实验展示了量子神经网络学习量子位错误的可能性,在 NISQ 时代的量子机器,噪声是极大的问题与挑战。实验结果展示了 QF-RobustNN 的有效性。

QF-Mixer

QF-Mixer 是由汪哲鹏博士生主要参与,是第一个探索量子神经网络设计的文章。

https://arxiv.org/pdf/2109.03806.pdf

伴随着量子神经网络在近年来的蓬勃发展,一系列关于量子神经元 (quantum neuron)设计的工作开始涌现。

这些工作通过堆叠各自提出的量子神经元搭建量子神经网络,在简单的机器学习任务中 (比如 MNIST 2 分类问题)可以取得较高的准确率。然而,当应用于更复杂的机器学习任务(比如 MNIST 10 分类问题)时,该类量子神经网络的准确率便会大打折扣。

基于这样的现状,QF-Mixer 提出了要混合不同种类的现有的量子神经元来构建一个性能更高的异构量子神经网络。

图 5 混合量子神经元的挑战与 QF-Mixer 设计理念

然而,搭建这样的异构量子神经网络并非易事。

首先,不同的量子神经元对输入和输出的量子态 (quantum state) 有着不同的要求,任意地连接两类神经元往往无法达到这些预设的要求。

其次,不同的神经元在计算上也有着不同的特性和逻辑,更高的准确率未必能通过混合不同神经元达到。只有找到合适的神经元组合,才能起到1+1>2 的效果。

针对第一个问题,QF-Mixer 给出了一套在混合不同神经元时需要遵循的准则,这为异构量子神经网络的设计提供了理论支持。

针对第二个问题,JQub 团队发现 Quantumflow 中的量子神经元和变分量子电路 (Variational Quantum Circuit)有着极为互补的特性。

一方面,Quantumflow 中的量子神经元 (QF-量子神经元) 的可学习参数是二值化的,在表达能力上有着较大的限制。变分量子电路的可学习参数则为任意实数。因此,变分量子电路可以为 QF-量子神经元提供更强的表示能力。

另一方面, 变分量子电路仅是一个线性分类器,QF-量子神经元则可以轻松地搭建起拥有多个非线性层的量子神经网络。QF-量子神经元可以帮助变分量子电路构建出更为复杂的模型。

基于上述观察,QF-Mixer 提出了 QF-MixNN,一个混合了 QF-量子神经元和变分量子电路的异构神经网络框架。QF-MixNN 在遵循了 QF-Mixer 提出的混合准则的同时,也在不同的数据集上展现出了更高的准确率。

图 6 QF-Mixer 在 10 类分类问题取得高精度

这一点在图 6 中的表格中也得以体现。可以看到,在 MNIST 数据集上,QF-量子神经元构成的神经网络和变分量子电路均表现不佳,分别仅有 52.77% 和 69.92% 的准确率。

与此同时, QF-MixNN 则有着相当亮眼的表现。它在 MNIST 上取得了超过 90% 的准确率。对比 QF-量子神经元构成的神经网络和变分量子电路,准确率的提升分别为 20.7% 和 37.85%。

JQub 团队介绍

姜炜文助理教授于 2021 年加入乔治梅森大学并建立了量子-经典计算机辅助设计实验室(JQub)。

该实验室致力于研究神经网络和硬件加速器(包括量子计算机)的协同设计,在量子神经网络方向,JQub 与圣母大学史弋宇教授,布法罗大学熊瑾珺教授,以及新墨西哥大学杨蕾助理教授合作。

并在《自然通讯》期刊,量子计算机周(QuantumWeek),嵌入式系统周(ESWEEK),以及计算机设计会议(ICCAD)上发表多篇文章,并进行在线课程辅导(Tutorial)讲座。

作者简介

项目领导人姜炜文目前是乔治梅森大学助理教授。他于 2019 年获重庆大学博士学位;2017 年到 2019 年,曾在匹兹堡大学电子和计算机工程系参与研究工作;2019-2021 年,曾在圣母大学做博士后研究助理。

博士期间,姜炜文在国际会议和主要期刊上发表了 50 多篇研究论文,其中包括 10 多篇 IEEE/ACM 会刊论文,他在硬件加速和神经网络结构方面的合作研究获得了 IEEE TCAD 2021 最佳论文,以及 DAC’19,CODES+ ISSS’19 和 ASP-DAC’20 最佳论文提名。

他在神经网络和并行系统等方面的研究工作引起了业界的广泛关注,得到了美国国家科学基金会国际自然科学联合会的科研基金,与 IBM,Facebook、 Edgecortix inc. (日本/新加坡) 等公司开展了合作研究。