神经网络是当下计算应用中发展最快,使用最广的机器学习算法。然而,随着应用不断复杂化导致网络结构不断扩大,存储性能瓶颈已逐渐凸显。
在传统计算平台上,N个数字比特只能表示 1 个N位数据,然而在量子计算中,M个量子比特却同时能表示2^M个数据,并能同时操作这些数据。
量子计算机如此强大的存储与计算能力,使其拥有巨大潜能打破神经网络在传统计算平台上的性能瓶颈,获取量子优势。
量子神经网络是根据量子计算机的特性设计的神经网络。具体而言,研究者们根据量子计算机所提供的基本计算单元进行量子线路设计,以实现神经网络的计算。
今年 1 月,美国乔治梅森大学姜炜文教授在《自然通讯》期刊,提出了第一个神经网络/量子计算协同设计框架 QuantuMFlow。这也是其一年内,继两篇《自然电子》后的第三篇 NatuRe 子刊。
https://www.natuRe.coM/Articles/s41467-020-20729-5
该框架第一次展示了通过协同优化神经网络结构与量子线路设计,可以较传统计算机获得指数级加速。
图 1 基于 QuatnuMFlow 量子神经网络设计栈
基于 QuantuMFlow,由姜教授带领的 JQub 团队在今年 10 月举行的 QuantuMWeek&Rsquo;21 和 ESWEEK&Rsquo;21 中,开源了 QuantuMFlow 的量子神经网络编程框架,QFNN。
并在即将召开 ICCAD&Rsquo;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-量子神经元提供更强的表示能力。
另一方面, 变分量子电