CN117693753A - 正交神经网络的经典算法和量子算法 - Google Patents
正交神经网络的经典算法和量子算法 Download PDFInfo
- Publication number
- CN117693753A CN117693753A CN202280051811.7A CN202280051811A CN117693753A CN 117693753 A CN117693753 A CN 117693753A CN 202280051811 A CN202280051811 A CN 202280051811A CN 117693753 A CN117693753 A CN 117693753A
- Authority
- CN
- China
- Prior art keywords
- quantum
- layer
- gate
- qubits
- qubit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 106
- 238000004422 calculation algorithm Methods 0.000 title description 19
- 238000000034 method Methods 0.000 claims abstract description 110
- 239000011159 matrix material Substances 0.000 claims abstract description 105
- 239000002096 quantum dot Substances 0.000 claims description 128
- 230000006870 function Effects 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 31
- 238000012549 training Methods 0.000 claims description 28
- 230000002441 reversible effect Effects 0.000 claims description 7
- 238000011478 gradient descent method Methods 0.000 abstract description 4
- 239000002360 explosive Substances 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 175
- 238000010586 diagram Methods 0.000 description 37
- 239000013598 vector Substances 0.000 description 36
- 238000005259 measurement Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 238000003325 tomography Methods 0.000 description 5
- 239000011449 brick Substances 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000000116 mitigating effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/70—Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
正交神经网络对权重矩阵应用正交性。它们可以实现更高的精度,并避免深层架构的易失性或爆炸性梯度。已经提出了几种经典的梯度下降方法来在更新权重矩阵的同时保持正交性,但这些方法运行时间较长并且只能提供近似的正交性。在本公开中,我们引入了一种新型的神经网络层。该层允许以与标准层相同的渐近运行时间以完美的正交性进行梯度下降。该层受到量子计算的启发,因此既可以应用于经典计算系统,也可以应用于量子计算系统。它可以作为量子神经网络和快速正交神经网络的构建块。
Description
相关申请的交叉引用
本申请要求于2021年5月27日提交的,题为“Quantum Orthogonal NeuralNetworks”(量子正交神经网络)印度专利申请202141023642号的优先权。其主题通过引用整体并入本文。
技术领域
本公开一般涉及神经网络,更具体地,涉及使用量子计算系统或经典计算系统来训练和使用正交神经网络。
背景技术
在神经网络结构的演化过程中,在权值矩阵中加入约束往往是一条有效的途径。例如,正交神经网络(OrthoNN)已被提出为一种新型的神经网络,其每一层的权重矩阵应保持正交。这一属性有助于获得更高的精度性能,并避免深层结构的梯度消失或爆炸。为了在更新权矩阵的同时保持正交性,已经提出了几种经典的梯度下降方法。然而,这些技术的运行时间较长,有时仅近似于正交性。具体地,在训练期间实现正交性的主要方法是首先执行梯度下降以更新权重矩阵(其现在将不是正交化的),然后执行奇异值分解以正交化或几乎正交化权重矩阵。然而,实现正交性阻碍了快速训练过程,因为在每一步都需要执行SVD计算。
在量子机器学习的新兴领域,已经提出了几个实现神经网络的建议。一些算法依赖于长期和完美的量子计算机,而另一些算法则试图利用变分电路来利用现有的量子设备。然而,目前还不清楚这样的架构如何扩展,以及它们是否提供高效和准确的训练。
发明内容
本公开描述了用于机器学习算法(例如深度学习算法)的新颖方法。本公开描述了一类具有正交权重矩阵的特性的神经网络。这是一种用于近似某些函数的改进的技术,例如由于下面描述的原因而用于数据分类的那些函数。还可以根据电路中的门的数目、训练的定标时间(scaling time)和门的类型来优化所构造的神经网络。
正交神经网络可以为深度神经网络(即具有大量层的神经网络)提供优势。在向前和向后传递时,他们都可以保持规则。这一属性能够防止梯度消失和爆炸,这在深度神经网络中是突出的。这种神经网络还具有权值无冗余的特性,因为向量是正交的和线性独立的,因此每个向量都给出了关于输入输出关系的“不同”信息。
一些实施例涉及用于在权重矩阵中提供正交性的连接神经网络的量子架构。在一些实施例中,对于神经网络的每一层,神经网络包括形状像倒金字塔的量子电路。
一些实施例涉及使用一元保持量子电路(例如,具有如第2节中描述的BS门)来形成正交神经网络层。该层可以在O(n)时间内训练,其中n是该层的输入节点数。可以使用数据加载器将数据加载到层中,例如,如第2节所述。
其他方面包括组件、设备、系统、改进、方法、过程、应用、计算机可读介质以及与上述任何内容相关的其他技术。
附图说明
本公开的实施例具有其他优点和特征,当结合附图中的示例时,从下面的详细描述和所附权利要求中将更容易地看出这些优点和特征,其中:
图1是表示BS量子门的量子映射的图示。
图2A是神经网络的8x8正交层的量子电路的图示。
图2B是神经网络的经典8×8正交层的图示。
图3A是神经网络的矩形8×4正交层的量子电路的图示。
图3B是神经网络的经典8×4正交层的图示。
图4A是包括线性级联数据加载器电路的量子电路的图示。
图4B-图4D是其他数据加载器电路的图示。
图5是示出在8x8量子金字塔电路上从第7一元状态到第6一元状态的路径的图示。
图6是三量子比特金字塔电路和与该电路相关的正交矩阵的图示。
图7A-图7C是应用于具有两个非零值的加载向量x的金字塔电路的图示。
图8A是经典金字塔电路的图示。
图8B是神经网络的4×4层的图示。
图9是包括用于训练的符号的金字塔电路的图示。
图10是数值实验的曲线图。
图11是被配置为实现BS门的量子电路的图示。
图12A-12C是用于获得矢量分量的符号的量子电路的图示。
图13是用于获得矢量分量的符号的另一量子电路的图示。
图14A是具有三层的神经网络的图示。
图14B是图14A中的神经网络的量子电路的图示。
图15是示出6×6层的矩阵到角度转换遍历的图示。
图16是用于执行量子电路以实现神经网络层的方法的流程图。
图17是用于训练具有正交权重矩阵的神经网络层的方法的流程图。
图18A-18E是示例量子电路的图示。
图19是另一量子电路的图示。
图20A是示出计算系统的框图。
图20B是示出量子计算系统的框图。
图20C是量子比特寄存器的框图。
图20D是示出在计算系统上执行量子例程的示例的流程图。
图21是经典计算系统的示例架构。
具体实施方式
附图和下面的描述仅作为说明涉及优选实施例。应当注意,从下面的讨论中,本文公开的结构和方法的备选实施例将容易地被认为是可行的备选方案,其可以在不偏离权利要求的原则的情况下被采用。
1.引言
本发明提出了一种用于神经网络的新的训练方法,其保持(例如,完美)正交性,同时具有与通常的不具有正交性条件的梯度下降方法相同的运行时间,从而实现了两个世界的最佳、最有效的训练和完美的正交性。
其中一个主要思想来自量子世界,在量子世界中,任何量子电路都对应于由酉矩阵描述的操作,如果我们只使用具有真实幅度的门,则它是一个正交矩阵。具体地,本公开描述了一种新颖的特殊结构量子电路,对于该电路,存在将正交权重矩阵的元素映射到量子电路的门的参数以及反之亦然的有效方式。因此,虽然分别对权重矩阵的元素执行梯度下降不保持正交性,但是对量子电路的参数执行梯度下降确实保持正交性(因为具有实参数的任何量子电路对应于正交矩阵)并且等价于更新权重矩阵。本公开还证明,对量子电路的参数执行梯度下降可以经典地高效地完成(每个参数的更新成本恒定),从而得出结论,存在一种受量子启发但完全经典的高效训练完美正交神经网络的方式。
此外,本文定义的特殊结构量子电路具有许多特性,使得它成为NISQ(NoisyIntermediate-Scale Quantum,噪声中间尺度量子)实现的良好候选:它可以仅使用一种类型的量子门,可以使用量子比特之间的简单连接,可以在输入和输出节点大小中具有深度线性,并且可以受益于使其对噪声具有弹性的强大的误差缓解技术。这允许我们还提出一种在数据上运行量子电路的推理方法,该方法可能提供更快的运行时间(例如,给定量子电路的浅深度)。
我们的一些贡献总结在表1(下文)中,其中我们考虑了执行前馈传递或一个梯度下降步骤的时间。考虑具有大小为n的输入和输出的单个神经网络层。例如,本公开中描述的方法在前馈传递期间与其他方法一样快。此外,在矩阵更新过程中,本公开中的算法比其他正交方法更快,并且与非正交方法一样快。
表1:运行时间总结。n是输入和输出向量的大小,δ是量子实现中的误差参数。
2.一种用于正交神经网络的参数化量子电路
在这一章节中,我们定义了一种特殊结构的参数化量子电路,它可能有助于对正交神经网络进行训练和推理。正如我们所说,训练最终可能是经典的(例如,完全),但新方法的直觉来自于这个量子电路,而推理可以发生在经典或通过应用这个量子电路。第9节和第12节对这项工作的量子计算概念进行了基本介绍。
2.1BS门
这项工作中提出的用正交权重矩阵实现全连接神经网络层的量子电路可以只使用一种类型的量子门:可重构分束器(BS)门。BS门是一个可参量化的双量子比特门。这种双量子比特门可以被认为是硬件有效的,并且它可以有一个参数:角度0∈[0,2π]BS门的示例矩阵表示如下:
BS门可以由其他类似的矩阵表示。例如,上述矩阵的行和列可以被置换,可以在矩阵位置(4,4)处引入相位元素eip而不是“1”,或者可以将两个元素sin(θ)和-sin(θ)改变为例如i*sin(θ)和*sin(θ)。上面的BS门也可以分解成双量子比特和一量子比特的参数化门的集合。所有这些门实际上都是等价的,我们的方法可以使用它们中的任何一个。因此,如本文所使用的,“BS门”可以指这些门中的任何一个。以下是一些备选BS门的具体示例,但此列表并不详尽:
BSl(θ)=[[1,0,0,0],[0,cos(θ),-i*sin(θ),0],[0,-i*sin(θ),cos(θ),0],[0,0,0,1]];
BS2(θ)=[[1,0,0,0],[0,cos(θ),sin(θ),0],[0,sin(θ),-cos(θ),0],[0,0,0,1]];
以及
我们可以将BS门看作是由基{|01>,|10>所跨的二维子空间中的一个旋转,而它充当剩余子空间{|00>,|11)}中的单位。或者等价地,从两个量子比特开始,一个处于|0>状态,而另一个处于|1>状态,这两个量子比特可以互换或不叠加。量子比特|1>保持在其导线(wire)上,幅度为cosθ或者与另一个量子比特交换,如果新导线在(|10>→|01>)下面,则幅度为+sinθ,如果新导线在(|01>→|10>)上面,则幅度为-sinθ。请注意,在其他两种情况((|00>和|11>))下,BS门充当身份(identity)。图1是表示BS门在两个量子比特上的量子映射的图示。
2.2量子金字塔电路
我们现在提出一种实现神经网络正交层的量子电路。该电路是一个金字塔结构的BS门,每个门都有一个独立的角度。下面提供了关于输入负载以及与神经网络正交层的等价性的更多细节。
为了用量子电路模拟给定的经典层,输出量子比特的数目可能是经典层的输出的大小。当输入和输出大小相等时,我们指的是正方形情况,否则指的是矩形情况。
需要注意的一个属性是,对应于大小为n×d的神经网络层的量子金字塔电路的参数数目为(2n-1-d)*d/2,这与维度为n×d的正交矩阵(唯一定义该正交矩阵的最少数目的参数)的自由度数目相同。
图2A和2B是示例图示。图2A示出了神经网络的8x8全连接、正交层的量子电路。每条垂直线对应于具有其角度参数θi的BS门。注意,图2A包括量子比特标签。为简单起见,本文中的其他电路图不包括量子比特标签。图2B示出了等效的经典正交神经网络8×8层。
为简单起见,我们的分析考虑了正方形情况(即,n个输入节点和n个输出节点),但是一切都可以很容易地扩展到矩形情况(即,n个输入节点和p≠n个输出节点)。如上所述,上述量子电路的金字塔结构将自由参数的数目强加为N=n(n-1)/2,其是指定n×n正交矩阵的自由参数的确切数目。换言之,在倒金字塔中的门的N=n(n-1)/2参数角{θi:i∈[N]}和具有条目wij的n×n正交矩阵W的N=n(n-1)/2自由度之间存在有效的一对一映射。在图2A的n=8的示例情况下,我们有N=28,这是8×8正交矩阵的门的数目和自由元素的数目。
在第三节中,我们展示了这种金字塔电路的门的参数如何与描述它的nxn正交矩阵的元素相关。我们注意到,只要门参数的数目等于正交权重矩阵的参数,并且可以找到它们与权重矩阵的元素之间的(例如,简单的)映射,就可以想象备选架构。
请注意,这种金字塔电路具有线性深度,便于连接受限的近期量子硬件平台。实际上,BS门的示例分布仅使用电路图中量子比特之间的最近邻连接。但是,备选版本可能使用也可能不使用最近邻居连接(后面的示例)。
图3A是矩形8x4全连接正交层的量子电路的图示,并且图3B是等价的8x4经典正交神经网络的图示。它们都有22个自由参数。
尽管图2A和图3A示出了布置成倒金字塔形状的门,但是其他形状也可以实现神经网络层。例如,BS门可以根据右侧向上的金字塔来布置。在另一示例中,BS门可以按照三角形布置。此外,图2A和3A中所示的倒金字塔形状是将BS门应用于电路图中的相邻量子比特的结果。然而,在其他实施例中,可以将一个或多个BS门应用于电路图中不相邻的量子比特。在这些实施例中,BS门可以形成其他形状(例如,非金字塔形状)。本公开中对金字塔电路的描述可以适用于这些其他电路布置。此外,第11节描述了可以实现神经网络层的不同类型的电路。本公开中对金字塔电路的描述也可以适用于这些电路。
2.3加载数据
在应用量子金字塔电路之前,可以将经典数据上传到量子电路中。我们可以对数据的每个特征使用一个量子比特。为此,我们使用输入数据的一元幅度编码。让我们考虑输入样本 使得||x||2=1。样本可以以一元状态的叠加进行编码:
|x>=x0|10…0>+x1|010…0>+…+xn-1|0…01> (2)
可以使用间>重写前一个状态,以表示第i个一元状态,其中|1>位于第i个位置|0…010…0>,如下所示:
虽然可以使用对数深度数据加载器电路来加载这种状态,但是也可以使用更简单的电路。它是n-1个BS门的线性深度级联,由于我们的量子金字塔电路的结构,可能只会给我们的金字塔电路增加2个额外的步骤。图4A中示出了这种线性深度级联电路(也称为“对角线加载器”)的示例。
图4A是包括8维线性数据加载器电路405的图。示例电路405包括具有参数αi的BS门的线性级联。加载器电路405有效地嵌入在金字塔电路410之前。图4A中的输入状态是第一个一元状态(|10…0>)。角度参数α0,…,αn-2可以经典地根据输入向量预先计算。注意,数据加载器电路包括将第一量子比特从|0>状态翻转到|1>状态的X门(未示出)。
通常,数据加载器电路以全|0)状态开始,并使用X门翻转第一量子比特,以便获得一元状态|10…0>(例如,如图4A所示)。然后,BS门的级联允许使用n-1个角度α0,…,αn-2的集合来创建状态|x>。使用公式(1),选择角度,使得在加载器的第一个BS门之后,量子比特将处于状态x0|100…>+sin(α0)|010…>,并且在第二个之后,处于状态x0|100…>+x1|010…>+sin(α0)sin(α1)|001…>,依此类推,直到获得如公式(2)中的|x>。为此,可以执行经典的预处理以递归地计算n-1个加载角,时间为O(n):
以这种方式加载数据的能力使用了每个输入向量都是标准化的假设,即||x||2=1。这种标准化约束看起来可能是任意的,并影响从数据中学习的能力。事实上,在正交神经网络的情况下,这种标准化应该不会降低训练,因为正交权重矩阵实际上是正交化的,因此是范数保持的。因此,在经典和量子环境中,通过将每个分量除以||x||2来改变输入向量的范数都不是问题。归一化将强制每个输入具有相同的标准,或者在图像上下文中具有相同的“亮度”,这可能是有益的,也可能是有害的,具体取决于用例。
2.4有关数据加载器电路的其他信息
在给定对经典数据点(例如,x=(x1,x2,…,xd))的访问权的情况下,数据加载的第一步是有效地对经典数据进行预处理,例如,仅花费O(d)总时间(其中隐藏对数因子),以便创建参数集合(例如,θ=(θ1,θ2,...,θd-1)),这将是我们的量子数据加载电路中使用的(d-1)个双量子比特门的参数。在预处理过程中,我们还可以跟踪向量的范数。请注意,这些角度参数因使用的数据加载器电路而异。
我们可以使用三种不同类型的数据加载器电路。图4B-图4D示出了用于八个量子比特的这些不同的数据加载器电路。具体地,图4B是“并行加载器电路”的图示,图4C是另一对角线加载器电路的图示,而图4D是“半对角加载器电路”的图示。每幅图中的X对应于单量子比特Pauli X门,而垂直线表示双量子比特BS门。
最浅的数据加载器电路是并行数据加载器电路(图4B中的示例),其使用d个量子比特和d-1个BS门来加载d维数据点。并行加载器电路的深度为log(d)+1。虽然该数据加载器可能具有三种不同类型的数据加载器中最小的深度,但它也可能具有最高的量子比特连接性。换句话说,并行数据加载器的电路图可以具有被应用于非最近邻量子比特的最大数目的BS门。
构建并行数据加载器电路的示例方法如下。我们从初始化为0状态的所有量子比特开始。在第一步中,我们对第一量子比特应用X门。然后,利用我们之前构造的角度θ,通过分层添加BS门来构造电路。第一层具有1个BS门,第二层具有2个BS门,第三层具有4个BS门,直到具有d/2个门的第log(d)层。向其添加门的量子比特遵循树结构(例如,二叉树结构)。在第一层中,我们具有一个BS门,在量子比特(0,d/2)之间,角度为θ1,在第二层中,我们具有两个BS门,在(0,d/4)之间,角度为θ2,以及(d/2,3d/4)之间,角度为θ3,在第三层中,有四个BS门,在量子比特(0,d/8)之间,角度为θ4,在(d/4,3n/8)之间,角度为θ5,在(d/2,5d/8),角度为θ6,在(3D/4,7d/8)之间,角度为θ7,其他层依此类推。在2020年8月6日提交的美国专利申请第16/986,553号中也描述了并行数据加载器电路,该申请通过引用并入本文。
另外两种类型的数据加载器电路可能具有较差的渐近深度(换句话说,较大深度),但应用于非最近邻退出的BS门较少。
对角线数据加载器使用d个量子比特和d-1个BS门,它们可以应用于电路图中最近的相邻量子比特(例如,参见图4C)。然而,对角线数据加载器可能具有d-1的电路深度。
半对角线加载器类似地使用d个量子比特和d-1个BS门,它们可以应用于电路图中最近的相邻量子比特(例如,参见图4D)。然而,半对角线加载器可以具有d/2的深度。如图4D所示,半对角线加载器类似于对角线加载器,除了它从中间量子比特(而不是顶部或底部量子比特)开始。
为了确定使用哪个数据加载器电路,我们通常选择增加深度最小的数据加载器。例如,对于金字塔电路,对角数据加载器电路很适合,尽管其固有深度很大(如上所述)。然而,对于其他神经网络层电路,情况可能并非如此。当没有这样的技巧时,并行加载器通常是首选,因为它的深度很小。
3.○rthoNN前馈传递
3.1前馈传递简介
给定角度,可以找到唯一的矩阵,并且给定矩阵,可以唯一地指定角度。为了获得层的权重矩阵的条目ωij,我们使用以下规则获取从(例如,所有)可能的从量子比特j到i的路径的表达式和:
(A)如果我们经过任何角度为θn的门,我们乘以cos(θn)。
(B)如果我们在任何角度为θn的门上上升,我们乘以-sin(θn)。
(C)如果我们在任何角度为θn的门上下降,我们乘以sin(θn)。
由于这类似于上述BS门的实现,因此可以使用诸如递归、动态编程或以适当的顺序将门应用于权重矩阵的各种技术来高效地以这种或类似的方式计算权重矩阵。
为了从给定的正交矩阵获得角度,我们从右到左逐列遍历正交矩阵,并在每列中从下到上(直到反对角元之前)。例如,参见图15B。因为我们知道每个矩阵元素的角度子集的正弦和余弦的表达式,所以我们可以将其等同于正交矩阵中相应的实际值。以这种方式遍历它会得到只有一个未知角的公式,因此可以检索到。
我们可以将这些层按顺序组合在一起,以创建更大的量子神经网络。在每一层之间,人们可以测量量子态,应用非线性,然后将数据上传到下一层。例如,参见图14A-图14B(下面进一步描述)。
我们还可以在金字塔结构之前或之后添加另一个量子层,以构建包含我们的构建的不同架构。
为了加载每一层的数据,我们可以使用图5中的结构或任何类似的数据加载过程。角度是从输入向量在向量的维度中以线性时间计算的。
3.2前馈传递的详细说明
以下段落进一步描述了上文第3.1节中的主题。
在本节中,我们将详细说明量子金字塔电路对一元编码输入的影响,如公式(2)所示。最后,我们还将看到如何用很小的开销来经典地模拟这个量子电路,从而能够提供一个完全经典的方案。
让我们首先考虑一个纯一元输入,其中只有量子比特j处于状态|1>(例如,|00000010))。这种一元输入被转换为一元状态的叠加,每个状态都有幅度。如果我们再次考虑这些可能的一元输出中的一个状态,其中只有量子比特i处于状态|1>,则其幅度可以被解释为将|1>从量子比特j转移到量子比特i的条件幅度。直观地,该值是与连接量子比特j和量子比特i的每个可能路径相关联的量子幅度之和,如图5所示。
利用输入和输出量子比特之间的连接性图像,我们可以构造一个矩阵其中每个元素Wij是将|1>从量子比特j转移到量子比特i的总条件幅度。
图5是示出在量子金字塔电路上实现8x8神经网络层的从第7一元状态到第6一元状态的三条可能路径的图。图5示出了可以采取正好三条路径来将输入量子比特j=6(第7一元状态)映射到量子比特i=5(第6一元状态)的示例。每条路径都有一定的幅度。例如,路径505在第一门处向上移动,然后在接下来的三个门中保持不动,其结果幅度为-sin(θ16)cos(θ17)cos(θ23)cos(θ24)。所有可能路径的幅度之和给出了矩阵W的元素W56(其中,为简单起见,s(θ)和c(θ)分别表示sin(θ)和coS(θ):
W56=-s(θ16)c(θ22)s(θ23)-s(θ16)c(θ17)c(θ23)c(θ24)+s(θ16)s(θ17)c(θ18)s(θ24) (5)
事实上,如果我们只考虑由量子门参数指定的一元基,n×n矩阵W可以被视为量子电路的酉矩阵。酉阵是复酉矩阵,但在我们的示例中,只有实数运算,该矩阵是正交的。这证明了任意矩阵W与金字塔量子电路之间的对应关系。
我们的n量子比特量子电路的Hilbert空间中的完全酉UW是一个2n×2n矩阵,其中嵌入n×n矩阵W作为一元基上的子矩阵。这是通过将数据加载为一元状态并仅使用保持0和1的数目恒定的BS门来实现的。
例如,如图6所示,3量子比特金字塔电路被描述为唯一的3×3矩阵,其可以被验证为正交。更具体地,图6示出了3量子比特金字塔电路和等价正交矩阵的示例。c(θ)和s(θ)分别表示cos(θ)和sin(θ)。
在图5中,我们考虑了输入和输出都是一元的情况。但对于实际数据,如第2.3节所示,输入和输出状态实际上是一元状态的叠加。由于量子力学在没有测量的情况下是线性的,所以前面的描述仍然有效,并且可以应用于一元状态的线性组合。
让我们考虑一个输入向量被编码为量子态/>其中|ei>表示第i个一元状态,如公式(3)中所解释的。根据W的定义,每个一元|ei>将经历一个适当的演化/>通过线性关系,这会产生以下映射
如上所述,我们的量子电路等价地由稀疏酉或在一元基上由矩阵来描述。这可以用下式来概括
UW|x>=|Wx> (7)
我们从公式(6)和公式(7)中看到,输出实际上是|y>,即向量y=Wx的一元编码,它是n×n正交阵W与输入之间的矩阵乘法的输出。正如预期的那样,少的每个元素由给出。该映射的图示见图7A-图7C。
图7A-图7C是应用于具有两个非零值的加载向量x的金字塔电路的图。输出是y=Wx的一元编码,其中W是与电路相关联的对应正交矩阵。
因此,对于任何给定的神经网络的正交层,都可能存在复制它的量子金字塔电路。另一方面,任何量子金字塔电路都可能实现某种类型的正交层。
有关多层分支、每层末尾的断层扫描(tomography)以及应用非线性的方法的其他详细信息,请参见第10节。
因此,这项工作中提出的量子电路可以被正确地称为“量子神经网络”,尽管这个术语已经用于表示与神经网络在概念上有一些相似之处的任意变分电路。通过我们的量子金字塔电路,我们控制和理解量子映射。它以模块化的方式实现每一层及其非线性。我们的正交量子神经网络在训练策略上也是不同的(详见第4节)。
3.1经典实现
虽然量子金字塔电路是作为正交神经网络新方法的灵感而提出的,但这些量子电路可以在经典计算系统上以很小的开销进行经典模拟,从而产生了正交神经网络的经典方法。
经典的算法可能是对量子金字塔电路的模拟,其中每个BS门被其两个输入之间的平面旋转所取代。
如图8A和8B所示,我们提出了一个类似的经典金字塔电路,其中每一层由个平面旋转组成,总共有/>个基本运算。因此,我们的单层前馈传递与通常的矩阵乘法具有相同的复杂度O(n2)。
图8A和图8B示出了执行x→y=Wx的4×4情况(n=4)上的单个正交层的经典表示。可以选择角度和权重,使得我们的经典金字塔电路(图8A)和普通经典网络(图8B)是等价的。每条连接线代表标量乘法和所指示的值。在经典金字塔电路(图8A)上,显示了内层(innerlayer)ζλ。时间步米(timestep)对应于两个内层之间的线(定义见第4节)。
执行量子电路进行推理可能仍然具有优势,因为量子电路的深度为O(n),而不是矩阵向量乘法的O(n2)经典复杂性。然而,如下面所讨论的,我们方法的一个优点是可以在时间O(n2)内经典地训练正交权重矩阵,而不是先前最众所周知的O(n3)。
换言之,可以通过顺序应用神经网络的每一层来对任何输入数据进行推理。这相当于将输入乘以生成的正交权重矩阵。对于(n×n)层,经典地,这需要时间O(n2),这是将nxn矩阵与n维输入向量相乘的时间,而量子电路可以用O(n)来执行这一乘法,因为量子电路的深度是O(n)。
4.OrthoNN训练:角度梯度估计和正交阵更新
4.1OrthoNN训练简介
为清楚起见,本节其余段落重新表述上述说明。
与经典的前馈神经网络不同,梯度下降直接在BS门角上进行,而不是在权矩阵元上进行。这可以以多种方式来执行,例如批量梯度下降、随机梯度下降等,并且具有适当的学习率。在数学上,更新规则可以是并且可以使用不同类型的优化器,如adam、rmsprop、yogi等。
为了计算成本函数C关于BS门的角度的梯度,误差不仅可以在网络的各层上反向传播,而且可以在我们分别由Δl和δλ表示的迷你层(也称为“时间步长”)上反向传播。Δl是表示相对于层的输入zl的误差(梯度)的向量,即δλ是表示相对于迷你层的输入ζλ的误差(梯度)的矢量,即/>
δλ的值可以按以下方式计算。δλ=(ωλ)T·δλ+1用于层索引λ的权重矩阵(ωλ)T。对于最后一个时间步长,也就是第一个要计算的时间步长,我们有
为了计算Δl的值,可以使用以下公式:Δl-1=δ0⊙σ′(zl),其中σ′是激活函数σ的导数。
对于作用在和微层λ中的量子比特i和i+1的具有角度θ的BS门,梯度计算可以推导为以下表达式:它可以在恒定时间内计算。另见公式9和图9。
为了正确和有效地实现上述架构和学习算法,我们观察到,每一层计算和更新权重所花费的时间与具有每个数据点的n个输入和m个输出的层的O(nm)规模相同。这与经典的非正交神经网络一样好,并提供了正交性所提供的优势。前向传递(唯一的推理),一旦模型被训练,提供二次加速比,其规模为O(n),而不是经典情况下O(nm)。
4.2OrthoNN训练详细说明
以下段落进一步描述了上文第4.1节中的主题。
第8节介绍了完全连接的神经网络中反向传播的介绍和符号。
当使用量子电路实现神经网络的层时,需要更新的参数不再直接是权矩阵的单个元素,而可能是产生这些矩阵的BS门的角度。因此,我们设计了一种基于角度的适应于我们的设置的反向传播方法。
我们首先介绍神经网络的单层l的一些表示法,为简单起见,在该表示法中并不明确。我们假设我们有和输入量子比特一样多的输出量子比特,但这可以很容易地扩展到矩形情况。
我们首先在每个神经网络层中引入时间步米的概念,它对应于电路金字塔结构中的计算步骤(参见图9)。对于金字塔电路,对于n个输入,有2n-3个这样的时间步米,每个由整数λ∈[0,…,λmax]索引。应用时间步长包括应用矩阵wλ.,该矩阵由在该时间步长垂直对齐的所有BS门组成(wλ是一元基中的酉门)。当应用时间步长时,结果状态是名为内层的一元基中的一个向量,并由ζλ表示。这个演化可以写成ζλ+1=wλ.ζλ。我们使用类似于真实层l的这种表示法,具有权重矩阵Wl和结果向量zl(请参见第8节)。
实际上,针对第一个内层的对应关系是ζ0=al-1,它是实际层的输入,最后一个时间步长的对应关系是zl=wλmax·ζλmax。我们还有Wl=wλmax…w1w0。我们使用相同类型的符号来表示反向传播误差。在每个时间步长λ处,我们定义一个内部误差该定义类似于层误差/>事实上,在没有非线性的情况下,可以使用相同的反向传播公式来检索每个内部误差向量δλ=(wλ)T·δλ+1。特别是,对于最后一个时间步长,也就是第一个要计算的时间步长,我们有/>最后,我们可以使用对应关系/>来检索上一层l-1的误差,其中⊙表示Hadamard乘积,或按项相乘。
这种分解为时间步长的原因是能够有效地获得关于每个角度的梯度。让我们考虑一个角度为θi的门,以时间步长λ作用于量子比特i和i+1。我们使用由整数k索引的内层和内部误差向量的每个分量来分解梯度
由于时间步长λ仅由分离的BS门组成,因此矩阵wλ包括在公式(1)中给出的对角排列的2x2块子矩阵。这些子矩阵中只有一个取决于这里考虑的角度θ,在矩阵中的位置i和i+1。因此,我们可以将上面的梯度重写为:
因此,我们展示了一种计算每个角度梯度的方法:在前馈过程中,顺序应用每个2n-3=O(n)时间步长并存储结果向量(内层ζλ)。在反向传播过程中,通过反向应用时间步长来获得内部误差δλ。为此,我们通过首先计算δλ+1,然后计算δλ.,从λmax到0来“反向传播”误差。然后,可以对每个角度θi使用梯度下降法,同时保持总体等价权重矩阵的正交性:
这种梯度下降的一个有趣的方面是,优化是在角度景观(landscape)中执行的,而不是在同等权重的景观上执行的。这些景观可能是不同的,因此优化可以产生不同的模型。
从上面的描述可以看出,这是一种获得角度梯度的经典算法,它允许在保持严格正交性的同时有效地经典地训练OrthoNN。
为了获得角度的梯度,在前馈传递期间可以存储2n-3个内层ζλ。接下来,在给定下一层的误差的情况下,可以对每个时间步米执行反向循环(参见图9)。在每个时间步米,每个角度参数的梯度可以通过应用公式(9)来确定。这对每个角度使用O(1)运算。由于金字塔电路每个时间步米最多有n/2个角度,因此估计梯度的复杂度为O(n2)。在每个时间步米之后,也计算下一个内部误差δλ-1,最多使用4n/2次运算。
因此,该经典算法允许在O(n2)内计算n(n-1)/2个角度的梯度,以便在不考虑权矩阵的严格正交性的情况下执行梯度下降。这比以前基于奇异值分解方法的方法快得多,并且提供了与正常神经网络一样快的训练方法(例如,参见表1),同时提供了额外的正交性属性。
5.数值实验
我们进行了基本的数值实验,以验证金字塔电路的学习能力使用经典的模拟。在这些实验中,我们使用手写数字的数据集(在本例中,是标准的MNIST数据集)来比较我们的金字塔OrthoNN和SVB算法。
图10是数值实验的曲线图。该图将具有近似OrthoNN 1010(使用SVB算法)的标准神经网络1005和我们的金字塔OrthoNN 1015进行比较。图中显示,经典NN 1005、经典几乎正交NN 1010和金字塔正交NN 1015的训练都能获得良好且相当的学习精度。x轴是历元(epoch)的数目(即,训练步数)。y轴是精度。连续的线是“训练集”的精度,它是用于更新权重/参数的数据集。虚线是“测试集”的精度,“测试集”是在训练过程中看不到的数据集。测试集数据验证了该模型没有与训练数据“过度匹配”。金字塔ortho-NN曲线图10105稍晚收敛的原因尚不清楚,但这似乎不是一个基本特征。总体而言,图10中的曲线图表明,我们的建议似乎至少在小规模的经典模拟中是有效的。
6.意义
本公开描述了在二次时间运行的正交神经网络(OrthoNN)的训练方法,这是对基于奇异值分解的先前方法的显著改进。
我们的方法的-个想法是用一个由二维旋转组成的等价金字塔电路来代替通常的权重和正交矩阵。每一次旋转都可以通过一个角度进行参数化,并且梯度下降发生在角度的优化场景中。这种独特类型的梯度反向传播可以确保权重矩阵的完美正交性,同时与以前的工作相比提高了运行时间。此外,经典和量子方法都可以用于推理,其中在近期量子计算系统上的前向传递可能在运行时间上提供可证明的优势。本公开还通过引入新的工具、概念和与经典深度学习理论的等价物来扩展量子深度学习的领域。
7.正交神经网络的描述
正交神经网络(OrthoNN)背后的思想是向对应于神经网络层的权重矩阵添加约束。对这些矩阵应用正交性,在推广误差方面具有理论和实际意义。正交性可以确保低权重冗余,并且可以保持权重矩阵的特征值的大小以避免梯度消失。在复杂度方面,对于单层,OrthoNN的前馈通路是一个矩阵乘法,因此如果n×n是正交矩阵的大小,则运行时间为O(n2)。
正交神经网络的一个难点是在梯度下降过程中保持矩阵的正交性,同时更新矩阵。为此已经提出了几种算法,但它们都指出,纯粹的正交性在计算上很难保持。
如本文所使用的,正交矩阵是指其列和行都是正交化向量的实方阵。表达这一点的一种方式是QTQ=QQT=I,,其中QT是q的转置,并且I是单位矩阵。
8.神经网络反向传播的一般描述
在全连接神经网络中,反向传播是更新每一层权重矩阵的一种有效方法。在l层,我们记下它的权重矩阵Wl和偏置bl。每一层后面都有一个非线性函数σ,因此可以写成
al=σ(Wl·al-1+bl)=σ(zl) (10)
在最后一层之后,可以定义一个成本函数C,它将输出与基本事实进行比较。目标是计算C相对于每个权重和偏差的梯度,即和/>在反向传播中,该方法计算最后一层的这些梯度,然后传播回第一层。
l层的误差向量可由定义。可以给出向后递归关系/>其中⊙表示Hadamard乘积,或逐项乘法。请注意,前面的计算反转应用层(应用矩阵乘法)。然后我们可以证明l层的权重梯度矩阵的每个元素由/>给出。类似地,关于偏置的梯度定义为/>
一旦计算出这些梯度,就可以利用学习率η(注意,η可以与第4节中使用的η相同或不同)使用梯度下降规则来更新参数:
9.量子计算概论
这一部分提供了一个可能对这项工作有帮助的简洁的量子信息背景。
9.1量子比特
在经典计算中,比特可以是0或1。从量子信息的角度来看,量子比特或qubit可以处于状态|0>,|1>。我们使用括号记号|·>来指定比特的量子性质。量子比特可以是两个状态的叠加α|0>+β|1>,其中使得|α|2+|β|2=1。系数α和β称为振幅。测量量子比特时观察到0或1的概率与幅度有关:
p(0)=|α|2,p(1)=|β|2 (12)
正如量子物理学告诉我们的那样,在测量之前,任何叠加都是可能的,这赋予了计算方面的特殊能力。对于n个量子比特,2n个可能的二进制组合(例如|01…1001>)可以同时存在,每个组合都有自己的幅度。
n个量子比特系统可以表示为2n维Hilbert空间中的归一化矢量。多量子比特系统被称为量子铲存器。如果|p>和|q>是两个量子态或量子寄存器,则整个系统可以表示为张量积也写为|p>|q>或|p,q>。
9.2量子计算
与经典电路中的逻辑门一样,量子比特或量子寄存器是使用量子门处理的。门是Hilbert空间中的酉映射,保持量子态向量的单位范数。因此,作用在n个量子比特上的量子门是一个矩阵使得/>其中/>是U的共轭转置。
常见的单量子比特门包括映射和/>的Hadamard门/>创建量子叠加,置换|0>和|1>的非门/>或由角度θ参数化的Ry旋转门,由/>给出。
常见的两量子比特门包括CNOT门它是仅当第一量子比特处于状态|1>时才应用于第二量子比特的非门,或者类似的CZ门/>
在这项工作中,我们使用BS门。在一些实施例中,可以将该门实现为称为FSIM的本机门,或者使用四个Hadamard门、两个Ry旋转门和两个两量子比特CZ门来实现。该电路的示例如图11所示。
量子门的一个优点是它们能够应用于输入的叠加。事实上,给定门U使得U|x>→|f(x)>,它可以一次应用于x的所有可能组合
10.有关量子金字塔电路的其他详细信息:
10.1断层扫描和误差消除
如图7A-图7C所示,当使用量子电路时,输出为量子态|y>=|Wx>。就像在量子机器学习中常见的那样,使用一种名为断层扫描的过程,一路走下去,考虑检索经典输出的成本,可能是很重要的。在我们的示例中,这可能很重要,因为在每一层之间,量子输出被转换为经典输出,以便应用非线性函数,然后为下一层重新加载。
10.1.1误差缓解
在详细介绍断层扫描过程之前,有趣的是要注意到,由于我们的限制是一元状态,对于误差缓解目的来说,出现了很大的好处。事实上,由于我们可能期望在每一层仅获得一元状态的量子叠加,所以可以对测量进行后处理以丢弃包括非一元状态(即,在状态|1>或基态中具有多于一个量子比特的状态)的测量结果。最常见的误差是在I1>和I0>之间比特翻转一下。发生两个比特翻转的情况甚至更不可能发生,这将通过我们的误差缓解。
10.1.2断层扫描
恢复量子态的振幅是以多次测量为代价的,这需要电路运行多次,因此增加了运行时间的乘法开销。在最终结果中,有限数目的样本也是近似的来源。在这项工作中,我们允许l∞误差。对n个量子比特进行一元编码的量子态|y>的l∞断层扫描可能需要O(log(n)/δ2)测量,其中δ>0是允许的误差门限。对于每个j∈[n],获得具有绝对误差δ的[yj],并且如果[yj]<δ,则很可能不测量它,因此设置为0。在实践中,人们会在实验过程中进行尽可能多的测量,并从测量的次数中推导出等价精度的δ。
在一些实施例中,可以确定向量的每个分量的符号。事实上,由于我们测量的概率是量子幅度的平方模数,因此符号可能不会很明显。在神经网络的情况下,为了应用某些类型的非线性,获得层的分量的符号可能是重要的。例如,ReLu激活功能通常用于将所有负分量设置为0。
在图12A-12C中,我们建议对我们的金字塔电路进行特定的增强(例如,附加电路),以低成本获得矢量分量的符号。具体地,图12A-图12C示出了检索结果向量|y>=|Wx>的每个分量的值和符号的断层扫描过程。图12A示出了前面描述的金字塔电路。图12B和12C示出了具有附加电路的金字塔电路。具体地,图12B和12C包括具有角度π/4的附加BS门,以比较相邻组件之间的符号。在所有三种情况下,均可应用l∞断层扫描。l∞断层扫描是一种方法,它确定从一个量子态中提取多少个样本来检索它的近似描述。这种近似是在相对于‘无限范数’(而不是通常的‘L2’或欧几里得范数)有相对误差的情况下进行的。
标志检索过程可以包括三个部分。
该电路首先如上所述被应用(例如,执行图12A中的电路),从而允许使用l∞断层扫描以精度δ>0来检索每个平方幅度测量一元状态|e1>(即|100...))的概率为
在修改后的电路上第二次应用相同的步骤(例如,执行图12B中的电路)。它具有末端具有角度π/4的附加BS门(例如,符号电路1205A),其逐对地混合幅度。度量|e1>和|e2>的概率现在由p(e1)=(y1+y2)2和p(e2)=(y1-y2)2给出。因此,如果p(e1)>p(e2),我们有sign(y1)≠sign(y2),并且如果p(e1)<p(e2),我们有sign(y1)=sign(y2)。对于(y3,y4)对也是如此,以此类推。
再次应用相同的步骤,除了附加的BS门被移位下面的一个位置(例如,执行图12C中的电路,包括符号电路1205B)。然后比较这些对的符号:(y2,y3),(y4,y5),依此类推。
例如,假设y1>0,可以确定具有其符号的每个值yj。这个过程的好处是只增加了一个恒定的深度(换句话说,它不会随着量子比特数的增加而增长)。在这种情况下,深度增加1。然而,此过程可能会使用三倍以上的运行。具有体征检索的断层扫描过程的总成本由给出。
在图13中,我们提出了另一种方法来获得结果向量|y>=|Wx>的每个分量的幅值及其符号的值。与上面的过程相比,它执行单个电路,但它可能需要额外的量子比特,并且电路的深度可以是3n+O(1)而不是2n+O(1)。该电路初始化(|0>+|1>)|0>中的量子比特,其中最后的|0>对应于将由金字塔电路和加载器处理的n个量子比特。接下来,根据公式(6),应用归一化输入向量x的数据加载器,金字塔电路将状态映射到:
然后,我们对一致范数-1向量使用额外的数据加载器。请注意,此加载器是以相反的顺序构建的,以适应金字塔并限制深度的增加。在对第一个额外的量子比特进行受控操作之后,我们也应用了这个加载器的伴随。回想一下,如果电路U后面跟/>则它等价于恒等式。因此,这只在额外量子比特叠加的某些部分加载了均匀态:
然后,Hadamard门将两个部分的幅度混合在额外的量子比特上:
在这个状态下,我们可以看到,测量处于状态0的额外量子比特和处于一元状态ej的概率由给出。因此,对于每个j,如果经过多次测量,我们观察到我们可以推导出Wjx>0.。有了这个符号,我们就可以得到值/>
结合l∞断层扫描和非线性,给出了该断层扫描的总成本为
10.2多量子层
在前面的部分中,我们已经看到了如何实现量子电路来执行一个正交层的演化。在经典的深度学习中,这些层被堆叠在一起,以获得表现力和准确性。在每一层之间,可以对结果向量应用非线性函数。
使用我们的量子金字塔电路的好处是能够简单地将它们连接起来,以模拟多层神经网络。在每一层之后,执行输出态|z>的断层扫描以检索对应于其量子幅度的每个分量。然后经典地应用非线性函数σ来获得a=σ(z)。下一层从新的一元数据加载器开始。该方案通过层层应用神经网络,使NISQ器件的量子电路深度保持在合理的水平。
图14A和14B各自示出了具有层的示例神经网络。图14A示出了具有三层的神经网络的经典表示。层[8,8,4,4]的节点。图14B示出了使用量子电路的等效神经网络。该电路包括多个金字塔电路的级联(金字塔电路中的门具有参数θi)。在每一层之间执行测量操作并应用非线性。此外,每一层都以新的一元数据加载器开始(数据加载器电路中的门具有参数αi)
在一些实施例中,该电路可以在每个金字塔层(例如由CNOT或CZ组成)之后包括附加的纠缠门。这将标志着脱离一元基的一步,但可能有效地允许探索Hilbert空间中更多的相互作用。
11.示例电路
这一章节描述了具有不同架构的示例量子电路,这些电路可用于实现正交神经网络的一层。具体内容汇总如下表2:
名称 | 示例附图 | 门数 | 深度 | 示例连接 |
金字塔 | 图18A | n(n-1)/2 | 2n-3 | 最近的邻居 |
蝶形 | 图18B | nlog(n)/2 | log(n) | 多对多连接 |
砖形 | 图18C | n(n-1)/2 | n | 最近的邻居 |
V | 图18D | 2n-3 | 2n-3 | 最近的邻居 |
X | 图18E | 2n-3 | n-1 | 最近的邻居 |
表2:实现正交神经网络层的示例电路
表2中列出的电路说明如下。
金字塔电路将在其他章节中介绍。图18A中示出了示例金字塔电路。
蝶形电路的灵感来自于Cooley-Tukey FFT算法的蝶形电路。本文描述的蝶形电路是表征减少但强大的正交层类别的有效方式。与其他电路(log(n)深度)相比,该电路是低深度电路。由于参数(nlog(n)/2)的减少,蝶形层并不刻画所有的正交矩阵(具有行列式1),但仍覆盖一类正交矩阵,如一元傅里叶变换。该电路可能需要全对全量子比特连接。对于该电路,并行数据加载器可能是优选的。
图18B中示出了一个示例蝶形电路。图18B中的垂直线表示BS门。图18B中的蝶形电路的层可以描述如下。第一层应用BS门,第一量子比特和第五量子比特。第二层对第二量子比特和第六量子比特应用BS门。第三层对第三量子比特和第七量子比特应用BS门。第四层将BS门应用于第四量子比特和第八量子比特(第八量子比特是本例中的最后一个量子比特)。第五层向第一量子比特和第三量子比特应用BS门,并向第五量子比特和第七量子比特应用BS门。第六层将BS门应用于第二量子比特和第四量子比特,并将BS门应用于第六量子比特和第八量子比特。第七层包括:应用于第一量子比特和第二量子比特的BS门、应用于第三量子比特和第四量子比特的BS门、应用于第五量子比特和第六量子比特的BS门、以及应用于第七量子比特和第八量子比特的BS门。然而,根据图中量子比特的位置,其他布置也是可能的。
砖形电路是表2中具有BS门的最有深度效率的正交层电路,其可以用行列式1表征整个类的正交矩阵。砖形电路可以具有与金字塔电路相同数目的参数(n(n-1)/2),但深度大约为其一半。砖形电路的一些实施例使用最近邻量子比特连接。然而,使用数据加载器加载数据可能会增加额外的深度(例如,对于半对角线加载器为n/2,或者对于并行加载器为log(n))。在许多情况下,由于其深度较小,砖形电路可能是优选的(例如,最佳的)。
图18C中示出了示例砖形电路。图18C中的砖形电路的层可以被描述如下:第一层将BS门应用于量子比特1和2,BS门应用于量子比特3和4,BS门应用于量子比特5和6,以及BS门应用于量子比特7和8。第二层将BS门应用于量子比特2和3,BS门应用于量子比特4和5,以及BS门应用于量子比特6和7。在图18C中,这导致BS门形成矩形形状。然而,根据图中量子比特的位置,其他形状也是可能的。
V电路是金字塔电路的简化版本。V电路是为NISQ硬件设计的。这一层提供了从每个量子比特到每个量子比特的路径,但只有线性参数(2n-3)。最好使用带有V电路的对角线数据加载器。
图18D中示出了示例V电路。图18D的V电路的层可以如下描述:第一层将BS门应用于量子比特1和2。第二层将BS门应用于量子比特2和3。该模式持续到第七层将BS门应用于量子比特7和8(在该示例中,量子比特8是最后一个量子比特)。第八层将BS门应用于量子比特6和7。第九层将BS门应用于量子比特5和6。该模式一直持续到最后一层将BS门应用于量子比特1和2。在图18D中,这导致BS门形成V形。然而,根据图中量子比特的位置,其他形状也是可能的。
X电路(不要与X门混淆)是砖形电路的简化版本。X电路是为NISQ硬件设计的。这一层提供了从每个量子比特到每个量子比特的路径,但只有线性参数(2n-3)。附加的加载器深度可以与砖形电路相同。
图18E中示出了示例X电路。图18E的X电路的层可以如下描述:第一层将BS门应用于量子比特1和2,并将BS门应用于量子比特7和8(量子比特8是本例中的最后一个量子比特)。第二层将BS门应用于量子比特2和3,并将BS门应用于量子比特6和7。第三层将BS门应用于量子比特3和4,并将BS门应用于量子比特5和6。第四层将BS门应用于量子比特4和5。该模式以相反的顺序继续,直到最后一层将BS门应用于量子比特1和2,并将BS门应用于量子比特7和8。在图18E中,这导致BS门形成X形状。然而,其他形状也是可能的,这取决于图中量子比特的位置。
上述电路的训练方法可能与第4节中描述的相同。例如,我们逐层内层,使用与上述金字塔层相同的更新规则来更新每个角度。
如上所述,上述电路提供从每个量子比特到每隔一个量子比特的路径。例如,查看图18A-18E中的电路图之一,可以使用水平线(线)和垂直线(BS门)来跟踪从一个量子比特到任何其他量子比特的路径集合。从一个量子比特到另一个量子比特的每个路径集合对应于正交矩阵的一个元素(例如,对应于量子电路的矩阵,限制为‘一元’基)。如果从一个量子比特到另一个量子比特的路径不可用,则矩阵的匹配元素是不可调的。这有助于实现完全连接的神经网络层,因为每个输入节点都连接到完全连接的神经网络层中的每个输出节点。
上述电路可以表征特殊的正交群组,即具有行列式+1的正交阵。通过在最后一个量子比特的末尾应用Z门,它们也可以被推广以包含具有行列式-1的正交阵。
11.1使用蝶形电路执行一元傅里叶变换
传统上,实现傅里叶变换(FFT)的矩阵由下式给出:
其中欧米茄是单位矩阵的根。
一元域中的傅里叶变换可以通过使用蝶形电路架构来执行,每个BS门具有一个附加单量子比特门。图19是使用蝶形电路进行一元傅里叶变换的电路的图示。该电路包括全部具有固定角度的BS门(垂直线)。该电路还包括使用另一种类型的一量子比特旋转门,由其中有-ωk的白色正方形表示,其矩阵由[[1,0],[0,-ωk]]给出,其中ω是相应的单位矩阵的根。因此,图19中的电路是酉阵(限于一元基)恰好是FFT矩阵的量子电路。
12.示例方法
12.1执行量子电路以实现神经网络层的示例方法。
图16是用于执行量子电路以实现神经网络层的示例方法的流程图。神经网络层具有n>0个输入节点、d>0个输出节点和正交权重矩阵。该方法被描述为由例如包括经典计算系统和量子计算系统的计算系统来执行。计算系统可以通过执行存储在非瞬态计算机可读存储介质上的指令来执行该方法的操作。
计算系统执行1610应用BS门的量子电路的至少O(log(n))层,每个BS门是单个参数化的两量子比特门,BS门的数目等于正交权重矩阵的自由度数目。在一些实施例中,BS门被应用于量子计算机的x>0个量子比特。在一些实施例中,量子电路的至少O(log(n))层的执行由模拟量子计算机的经典计算机执行(例如,参见3.1节以了解更多信息)。在一些实施例中,神经网络层是完全连接的。在一些实施例中,n=d。
O(log(n))层中的BS门的数目可以等于(2n-1-d)*d/2(例如,参见第2节以了解更多信息)。在一些实施例中,O(log(n))层仅包括BS门(例如,参见图2A和2A及相关描述)。另外地或备选地,量子比特数x等于神经网络层的输入节点数n(例如,参见图2A-3B和相关描述)。
在一些实施例中,每个BS门被应用于量子计算机的相邻量子比特。相邻的量子比特可以指量子计算机的量子比特寄存器上的最近邻量子比特。通常,一对不相邻的量子比特是距离足够远,或者它们之间有足够多的阻碍量子比特或其他组件的量子比特,使得用于在实现它们的物理平台中耦合量子比特的机制在没有对耦合过程或硬件进行一些修改的情况下不能在这对之间直接实现两个量子比特的相互作用。在电路图上,量子比特寄存器上的相邻量子比特可以彼此相邻。例如,参考图2A,量子比特2可以与量子比特寄存器上的量子比特1和3相邻。
在一些实施例中,至少O(log(n))层根据金字塔图案将BS门应用于量子比特(例如,参见图2A)。在一些实施例中,金字塔图案包括:第一层,包括应用于第一量子比特和第二量子比特的第一BS门;第二层,包括应用于第二量子比特和第三量子比特的第二BS门;第三层,包括应用于第一量子比特和第二量子比特的第三BS门,以及应用于第三量子比特和第四量子比特的第四BS门;以及第四层,包括应用于第二量子比特和第三量子比特的第五BS门,以及应用于第四量子比特和第四量子比特的第六BS门。该模式可以继续,直到BS门被应用于最终的量子比特(例如,图2A中的量子比特8)。在此之后,可以以相反的顺序将BS门层应用于量子比特。例如,金字塔图案包括将BS门应用于第一和第二量子比特的最后一层、将BS门应用于第二和第三量子比特的倒数第二层,等等。
在一些实施例中,计算系统在量子计算机的x个量子比特上准备一元量子态(例如,通过执行量子门),该一元量子态对应于要应用于神经网络层的输入数据(例如,向量)(例如,参见第2.3节以了解更多信息)。一元量子态可以是对应于输入数据向量的一元状态的叠加。在一些实施例中,通过执行至少O(log(n))层在x个量子比特上形成的输出量子态也是一元量子态,该输出一元量子态对应于神经网络层的输出数据(例如,关于更多信息,参见第3节)。在一些实施例中,计算系统通过执行将X门应用于x个量子比特之一的第一层,以及在执行第一层之后,执行将n-1个BS门应用于量子计算机的x个量子比特的n-1层(例如,关于更多信息,参见图4A和相关描述),来准备关于x个量子比特的一元量子态。以下至少一个可以在执行O(log(n))层之一之前执行:(1)第一层或(2)n-1层中的至少一层(例如,如参考图4A所述,在金字塔电路410的第一门之前执行X门和数据加载器电路405的门)。在一些实施例中,O(log(n))层中的一个或多个与n-1个层中的一个或多个同时执行(例如,关于图4A,数据加载器电路405的一些门与金字塔电路410的一些门同时执行)。在一些实施例中,n-1层根据线性级联图案应用n-1个BS门(例如,参见图4A中的电路405)。
12.2训练神经网络层的示例方法。
图17是用于训练具有正交权重矩阵的神经网络层的示例方法1700的流程图。方法1700的步骤可以以不同的顺序执行,并且该方法可以包括不同的、附加的或更少的步骤。该方法被描述为由例如包括经典计算系统和量子计算系统的计算系统来执行。计算系统可以通过执行存储在非瞬态计算机可读存储介质上的指令来执行该方法的操作。此外,通过方法1700的步骤制造的神经网络可以存储在非瞬态计算机可读存储介质上。有关训练量子神经网络的更多信息,请参见第4节。
该计算系统执行1710量子电路的BS门的层。每个BS门是单个参数化双量子比特门。权重矩阵的权重基于BS门的参数值。在一些实施例中,量子计算系统执行量子电路的BS门的层。
计算系统确定1720成本函数相对于量子电路的BS门的参数的梯度。
计算系统基于成本函数的梯度更新1730量子电路的BS门的参数值。更新后的参数值保持了权重矩阵的正交性。
在一些实施例中,确定成本函数的梯度包括确定相对于量子电路的每个BS门的参数的成本函数的梯度。
在一些实施例中,执行量子电路的BS门的层包括计算系统在执行量子电路的每一层λ之后测量得到的量子态ζλ。在一些实施例中,计算系统确定量子电路的层λ的误差δ。在一些实施例中,确定量子电路的层λ的误差δ包括计算系统根据以下逆顺序确定量子电路的每一层的误差:其中δλ是量子电路的层λ的误差,并且wλ是量子电路的层λ中的BS门的矩阵表示。成本函数C相对于作用于量子比特i和i+1的BS门的参数θi的梯度可由下式定义:
在一些实施例中,基于成本函数的梯度来更新量子电路的BS门的参数值包括计算系统:根据更新量子电路的BS门的参数θi的值,其中η是学习率。
13.计算系统的描述
图20A是示出计算系统2000的实施例的框图。在图20A的示例中,计算系统2000包括经典计算系统2010(也称为非量子计算系统)和量子计算系统2020,然而计算系统可以仅包括经典计算系统或量子计算系统。经典计算系统2010可以控制量子计算系统2020。参考图15进一步描述经典计算系统2010的实施例。虽然经典计算系统2010和量子计算系统2020一起被示出,但它们可以是物理上分离的系统(例如,在云架构中)。在其他实施例中,计算系统2000包括不同或附加的元件(例如,多量子计算系统2020)。此外,可以以与所描述的不同的方式在元件之间分配功能。
图20B是说明量子计算系统2020的实施例的框图。量子计算系统2020包括任意数目的量子比特(“量子比特”)2050和相关联的量子比特控制器2040。如图20C所示,量子比特150可以在量子计算系统2020的量子比特寄存器中。下面将进一步描述量子比特。量子比特控制器2040是控制一个或多个量子比特2050的模块。量子比特控制器2040可以包括诸如CPU、GPU或FPGA的经典处理器。量子比特控制器2040可以对一个或多个量子比特2050执行物理操作(例如,它可以对量子比特2040执行量子门操作)。在图20B的示例中,示出了针对每个量子比特2050的单独的量子比特控制器2040,然而,量子比特控制器2050可以控制量子计算系统2020的多个(例如,所有)量子比特2050,或者多个控制器2050可以控制单个量子比特。例如,量子比特控制器2050可以是单独的处理器、同一处理器上的并行线程或两者的某种组合。在其他实施例中,量子计算系统2020包括不同的或附加的元件。此外,可以以与所描述的不同的方式在元件之间分配功能。
图20D是示出在计算系统2000上执行量子例程的示例的流程图。经典计算系统2010生成2060要由量子计算系统2020执行或处理的量子过程。量子过程可以包括要由量子计算系统2020执行的指令或子例程。在一个示例中,量子过程是量子电路。这个过程可以用量子编程语言或QASM或Quil等中间表示法在数学上表示。
量子计算系统2020执行2065该过程并计算2070结果(称为射击或跑动)。计算结果可以包括执行由量子计算系统2020产生的、由执行过程产生的量子态的测量。实际上,这可以通过测量一个或多个量子比特2050的值来执行。量子计算系统2020通常执行多次射击以累积来自概率执行的统计。射击次数和射击之间发生的任何改变(例如,参数改变)可以被称为调度。调度可以由过程指定。结果(或累积结果)由经典计算系统2010记录2075。可以在满足终止条件(例如,发生阈值次数的射击)之后返回结果。
图21是根据一个实施例的经典计算系统2010年的示例架构。量子计算系统2020还可以具有参考图21描述的一个或多个组件。尽管图21描绘了根据一个实施例的高级框图,其示出了用作在此描述的一个或多个实体的一部分或全部的计算机系统的物理组件。计算机可以具有图21中提供的组件的附加组件、更少组件或组件变体。尽管图21描绘了计算机2100,但该图意在作为可能存在于计算机系统中的各种特征的功能描述,而不是作为在此描述的实现的结构图示。在实践中,并且如本领域普通技术人员所认识到的,分开显示的物品可以组合,并且一些物品可以分开。
图21中示出了耦合到芯片组2104的至少一个处理器2102。还耦合到芯片组2104的还有存储器2106、存储设备2108、键盘2110、图形适配器2112、定点设备2114和网络适配器2116。显示器2118耦合到图形适配器2112。在一个实施例中,芯片组2104的功能由存储器控制器集线器2120和I/O集线器2122提供。在另一实施例中,存储器2106直接耦合到处理器2102而不是芯片组2104。在一些实施例中,计算机2100包括用于互连这些组件的一个或多个通信总线。一个或多个通信总线可选地包括互连和控制系统组件之间的通信的电路(有时称为芯片组)。
存储设备2108是任何非易失性计算机可读存储介质,例如硬盘驱动器、光盘只读存储器、DVD盘或固态存储设备或其他光存储设备、盒式磁带、磁带、磁盘存储设备或其他磁存储设备、磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。这样的存储设备2108也可以被称为永久存储器。定点设备2114可以是鼠标、轨迹球或其他类型的定点设备,并且与键盘2110结合使用以将数据输入到计算机2100中。图形适配器2112在显示器2118上显示图像和其他信息。网络适配器2116将计算机2100耦合到局域网或广域网。
存储器2106保存处理器2102使用的指令和数据。存储器2106可以是非永久性存储器,其示例包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、ROM、EEPROM、闪存。
如本领域公知的,计算机2100可以具有不同于图21所示的组件或其他组件。此外,计算机2100可以缺少某些图示的组件。在一个实施例中,充当服务器的计算机2100可以缺少键盘2110、定点设备2114、图形适配器2112或显示器2118。此外,存储设备2108可以是计算机2100的本地或远程(例如体现在存储区域网络(SAN)内)。
如本领域公知的,计算机2100适合于执行用于提供在此描述的功能的计算机过程模块。如本文所使用的,术语“模块”指的是用来提供指定功能的计算机过程逻辑。因此,模块可以用硬件、固件或软件来实现。在一个实施例中,过程模块存储在存储设备2108上,加载到存储器2106中,并由处理器302执行。
返回参考图20A-20C,量子计算系统2020利用量子力学定律来执行计算。量子处理装置、量子计算机、量子处理器和量子处理单元都是量子计算系统的示例。量子计算系统可以是通用的或非通用的量子处理设备(通用的量子设备可以执行任何可能的量子电路(受电路使用的量子比特不超过量子设备所拥有的限制))。量子处理设备通常使用所谓的量子比特,即量子比特。虽然经典比特的值总是为0或1,但量子比特是一种量子力学系统,它的值可以是0、1,也可以是这两个值的叠加。量子比特的示例物理实现包括超导量子比特、自旋量子比特、囚禁离子、中性原子阵列和光子系统(例如,波导中的光子)。为了本公开的目的,量子比特可以由单个物理量子比特实现,或者作为本身包括多个物理量子比特的误差保护的逻辑量子比特来实现。这项披露也不是专门针对量子比特的。本发明可以被概括为应用于其构建块是量子比特(d能级量子系统,其中d>2)或量子连续变量而不是量子比特的量子计算系统。
量子电路是一个或多个门的有序集合。子电路可以指作为较大电路的一部分的电路。门表示对一个或多个量子比特执行的酉运算。量子门可以用酉阵来描述。量子电路的深度是在量子计算系统上执行该电路所需的最少步骤。量子电路的深度可以小于门的总数,因为作用于量子比特的非重叠子集的门可以并行执行。量子电路的层可以指电路的一个步骤,在该步骤期间可以并行执行多个门。在一些实施例中,量子电路由量子计算系统执行。在这个意义上,量子电路可以被认为是由量子计算系统可以执行的一组指令或操作组成的。为了在量子计算系统上执行量子电路,用户可以通知量子计算系统要执行什么电路。量子计算系统可以包括核心量子设备和用于协调对量子设备的控制的经典外围/控制设备(例如,量子比特控制器)两者。当人们试图让量子计算机执行电路时,对量子电路的描述可以发送到这个经典的控制设备。
可变量子电路可以指执行多次的参数化量子电路,其中每次可以改变一些参数值。参数化量子电路的参数可以指门酉矩阵的参数。例如,绕y轴旋转的闸门可以由描述旋转角度的实数来参数化。变分量子算法是利用经典计算机来选择和改变变分量子电路的参数的一类混合量子经典算法。通常,经典处理器基于参数电路的先前执行的测量结果来更新变化参数。
要在一个或多个量子计算机上执行的量子电路的描述可以存储在非瞬态计算机可读存储介质中。术语“计算机可读存储介质”应包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“计算机可读介质”还应被视为包括能够存储用于由量子计算系统执行的指令并且使得量子计算系统执行在此公开的任何一种或多种方法的任何介质。术语“计算机可读介质”包括但不限于固态存储器、光介质和磁介质形式的数据储存库。
上述方法可适用于云量子计算系统,其中量子计算作为共享服务提供给不同的用户。一个示例在专利申请编号15/446,973,“Quantum Computing as a Service”(量子计算即服务)中进行了描述,其通过引用并入本文。
14.其他注意事项
以上公开描述了示例实施例,仅用于说明目的。被描述为基本的、重要的或以其他方式暗示需要的任何特征应该被解释为仅对于该实施例是必需的,并且不一定包括在其他实施例中。
此外,上述公开内容经常使用短语“我们”(和其他类似阶段)来指代正在执行操作(例如,算法中的步骤)的实体。这些短语是为了方便使用而使用的。这些短语可以指正在执行所述操作的计算系统(例如,包括经典计算系统和量子计算系统)。
上述说明的某些部分在算法过程或操作方面描述了实施例。这些算法描述和表示通常被计算领域的技术人员用来将其工作的实质有效地传达给本领域的其他技术人员。虽然在功能上、计算上或逻辑上描述了这些操作,但可以理解,这些操作是由计算机过程实现的,该计算机过程包括由处理器或等效电路、微代码等执行的指令。此外,有时将这些功能操作的安排称为模块也已被证明是方便的,而不会失去一般性。在某些情况下,模块可以在硬件、固件或软件中实现。
如在此所使用的,任何对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定元素、特征、结构或特性被包括在至少一个实施例中。短语“在一个实施例中”在说明书中的不同地方出现并不一定都是指相同的实施例。类似地,在元素或组件之前使用“一”只是为了方便。本说明书应理解为表示存在一个或多个元件或组件,除非它显然是另一种意思。如在此使用的,术语“包括”、“包含”、“具有”或其任何其他变体旨在涵盖非排他性包含。例如,包括元素列表的过程、方法、物品或设备不必仅限于那些元素,而可以包括未明确列出或该过程、方法、物品或设备固有的其他元素。此外,除非有相反的明文规定,“或”指的是包含性或,而不是排他性或。例如,条件A或B满足以下任一条件:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),且A和B均为真(或存在)。
此外,使用“一”来描述实施例的元素和组件。这样做只是为了方便,并让人对披露有一个大致的了解。这一描述应理解为包括一个或至少一个,单数也包括复数,除非它显然是另一种意思。当数值被描述为“近似值”或“实质上”(或其导数)时,此类数值应被解释为精度为+/-10%,除非上下文中有明显的另一含义。例如,“大约十个”应该理解为“在九到十一的范围内”。
备选实施例以计算机硬件、固件、软件和/或其组合来实现。实现可以在有形地包含在机器可读存储设备中的计算机过程产品中实现,以便由可编程处理器执行;并且方法步骤可以通过可编程处理器执行指令过程来执行,以通过对输入数据进行操作并生成输出来执行功能。如本文所使用的,‘处理器’可以指一个或多个处理器。实施例可以有利地在可编程系统上可执行的一个或多个计算机过程中实现,所述可编程系统包括至少一个被耦合以从数据存储系统接收数据和指令以及向数据存储系统发送数据和指令的可编程处理器、至少一个输入设备和至少一个输出设备。每个计算机过程可以用高级过程或面向对象的编程语言来实现,或者如果需要,可以用汇编语言或机器语言来实现;并且在任何情况下,该语言都可以是编译或解释语言。例如,适当的处理器包括通用和专用微处理器。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。通常,计算机将包括用于存储数据文件的一个或多个大容量存储设备;这些设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及光盘。适合于有形地包含计算机过程指令和数据的存储设备包括所有形式的非易失性存储器,例如包括半导体存储设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM盘。上述任何一种都可以由ASIC(专用集成电路)和其他形式的硬件来补充或并入。
尽管上述描述包含许多细节,但这些不应被解释为限制本发明的范围,而仅仅是说明不同的示例。应当理解,本公开的范围包括上面没有详细讨论的其他实施例。在不背离本发明的精神和范围的情况下,可以在本文公开的方法和装置的布置、操作和细节中进行对本领域技术人员显而易见的各种其他修改、改变和变化。
Claims (40)
1.一种用于执行量子电路以实现神经网络的层的方法,所述层具有n>0个输入节点、d>0个输出节点和正交权重矩阵,所述方法包括:
执行应用BS门的所述量子电路的至少O(log(n))个层,每个BS门是单个参数化的双量子比特门,所述BS门的数目等于所述正交权重矩阵的自由度的数目。
2.根据权利要求1所述的方法,其中所述量子电路的所述O(log(n))个层中的所述BS门的数目等于(2n-1-d)*d/2。
3.根据权利要求1所述的方法,其中所述量子电路的所述O(log(n))个层仅包括BS门。
4.根据权利要求1所述的方法,其中所述量子电路的所述O(log(n))个层由量子计算系统执行,并且所述BS门被应用于所述量子计算系统的x>0个量子比特。
5.根据权利要求4所述的方法,其中所述量子比特的数目x等于所述神经网络的所述层的输入节点的数目n。
6.根据权利要求4所述的方法,其中每个BS门被应用于所述量子计算系统的相邻量子比特。
7.根据权利要求4所述的方法,其中所述量子电路的所述层包括:
第一层,包括被应用于第一量子比特和第二量子比特的第一BS门;
第二层,包括被应用于所述第二量子比特和第三量子比特的第二BS门;
第三层,包括被应用于所述第三量子比特和第四量子比特的第三BS门;以及
第四层,包括被应用于第四量子比特和第五量子比特的第四BS门。
8.根据权利要求7所述的方法,其中:
所述第三层还包括被应用于所述第一量子比特和所述第二量子比特的第五BS门;并且
所述第四层还包括被应用于所述第二量子比特和所述第三量子比特的第六BS门。
9.根据权利要求7所述的方法,其中:
所述第一层还包括被应用于第七量子比特和第八量子比特的第五BS门;
所述第二层还包括被应用于第六量子比特和所述第七量子比特的第六BS门;并且
所述第三层还包括被应用于所述第五量子比特和所述第六量子比特的第七BS门。
10.根据权利要求4所述的方法,还包括:在所述量子计算系统的所述x个量子比特上准备一元量子态,所述一元量子态与要被应用于所述神经网络的所述层的输入数据相对应。
11.根据权利要求10所述的方法,其中通过至少执行所述O(log(n))个层而在所述x个量子比特上形成的输出量子态是一元量子态,所输出的所述一元量子态与所述神经网络的所述层的输出数据相对应。
12.根据权利要求10所述的方法,其中在所述x个量子比特上准备所述一元量子态包括:
执行所述量子电路的第一层,所述第一层将X门应用于x个量子比特中的一个;以及
在执行所述第一层之后,执行将n-1个BS门应用于所述量子计算系统的所述x个量子比特的所述量子电路的n-1个层,其中所述量子电路的所述O(log(n))个层中的一个或多个层与所述n-1个层中的一个或多个层并发执行。
13.根据权利要求4所述的方法,其中所述量子电路的所述O(log(n))个层包括:
第一层,包括被应用于第一量子比特和第五量子比特的第一BS门;
第二层,包括被应用于第二量子比特和第六量子比特的第二BS门;
第三层,包括被应用于第三量子比特和第七量子比特的第三BS门;
第四层,包括被应用于第四量子比特和第八量子比特的第四BS门;
第五层,包括被应用于所述第一量子比特和所述第三量子比特的第五BS门,以及被应用于所述第五量子比特和所述第七量子比特的第六BS门;
第六层,包括被应用于所述第二量子比特和所述第四量子比特的第七BS门,以及被应用于所述第六量子比特和所述第八量子比特的第八BS门;以及
第七层,包括:
被应用于所述第一量子比特和所述第二量子比特的第九BS门;
被应用于所述第三量子比特和所述第四量子比特的第十BS门;
被应用于所述第五量子比特和所述第六量子比特的第十一BS门;以及
被应用于所述第七量子比特和所述第八量子比特的第十二BS门。
14.根据权利要求4所述的方法,其中所述量子电路的所述O(log(n))个层包括:
第一层,包括:
被应用于第一量子比特和第二量子比特的第一BS门;
被应用于第三量子比特和第四量子比特的第二BS门;
被应用于第五量子比特和第六量子比特的第三BS门;以及
被应用于第七量子比特和第八量子比特的第四BS门;以及第二层,包括:
应用于所述第二量子比特和所述第三量子比特的第五BS门;
被应用于所述第四量子比特和所述第五量子比特的第六BS门;以及
被应用于所述第六量子比特和所述第七量子比特的第七BS门。
15.根据权利要求1所述的方法,其中所述量子电路的所述O(log(n))个层由模拟量子计算系统的经典计算系统执行。
16.一种非瞬态计算机可读存储介质,包括用于执行量子电路的存储指令,所述存储指令在由计算系统执行时,使所述计算系统执行操作,所述操作包括:
执行应用BS门的所述量子电路的至少O(log(n))个层,每个BS门是单个参数化的双量子比特门,所述BS门的数目等于正交权重矩阵的自由度的数目。
17.根据权利要求16所述的非瞬态计算机可读存储介质,其中所述O(log(n))个层中的所述BS门的数目等于(2n-1-d)*d/2。
18.根据权利要求16所述的非瞬态计算机可读存储介质,其中所述量子电路的所述O(log(n))个层仅包括BS门。
19.根据权利要求16所述的非瞬态计算机可读存储介质,其中所述计算系统包括量子计算系统,其中所述量子电路的所述O(log(n))个层由所述量子计算系统执行,并且所述BS门被应用于所述量子计算系统的x>0个量子比特。
20.根据权利要求19所述的非瞬态计算机可读存储介质,其中所述量子比特的数目x等于所述神经网络的所述层的输入节点的数目n。
21.一种用于利用正交权重矩阵训练神经网络的层的方法,所述方法包括:
执行量子电路的BS门的层,每个BS门是单个参数化的双量子比特门,所述权重矩阵的权重基于所述BS门的参数的值;
确定成本函数相对于所述量子电路的所述BS门的参数的梯度;
基于所述成本函数的所述梯度更新所述量子电路的所述BS门的参数的值,所述参数的更新的值保持所述权重矩阵的正交性。
22.根据权利要求21所述的方法,其中确定所述成本函数的梯度包括:确定所述成本函数相对于所述量子电路的每个BS门的所述参数的梯度。
23.根据权利要求21所述的方法,其中执行所述量子电路的BS门的层包括:在所述量子电路的每一层λ被执行之后测量所得到的量子态ζλ。
24.根据权利要求23所述的方法,还包括确定针对所述量子电路的层λ的误差δ。
25.根据权利要求24所述的方法,其中确定针对所述量子电路的层λ的误差δ包括根据下式以相反顺序确定针对所述量子电路的每一层的误差:
δλ=(wλ)T.δλ+1,
其中δλ是针对所述量子电路的层λ的所述误差,并且wλ是所述量子电路的层λ中BS门的矩阵表示。
26.根据权利要求25所述的方法,其中所述成本函数C相对于作用于量子比特i和i+1的BS门的参数θi的梯度由下式定义:
27.根据权利要求26所述的方法,其中基于所述成本函数的所述梯度来更新所述量子电路的所述BS门的所述参数的值包括:
根据更新所述量子电路的BS门的参数θi的值,其中η为学习率。
28.根据权利要求21所述的方法,其中量子计算系统执行所述量子电路的所述BS门的所述层。
29.一种非瞬态计算机可读存储介质,包括存储指令,所述存储指令在由计算系统执行时,使所述计算系统执行操作,所述操作包括:
执行量子电路的BS门的层,每个BS门是单个参数化的双量子比特门,所述权重矩阵的权重基于所述BS门的参数的值;
确定成本函数相对于所述量子电路的所述BS门的参数的梯度;
基于所述成本函数的所述梯度更新所述量子电路的所述BS门的参数的值,所述参数的更新的值保持所述权重矩阵的正交性。
30.根据权利要求29所述的非瞬态计算机可读存储介质,其中确定所述成本函数的梯度包括:确定所述成本函数相对于所述量子电路的每个BS门的所述参数的梯度。
31.根据权利要求29所述的非瞬态计算机可读存储介质,其中执行所述量子电路的BS门的层包括:在所述量子电路的每一层λ被执行之后测量所得到的量子态ζλ。
32.根据权利要求31所述的非瞬态计算机可读存储介质,还包括确定针对所述量子电路的层λ的误差δ。
33.根据权利要求32所述的非瞬态计算机可读存储介质,其中确定针对所述量子电路的层λ的误差δ包括根据下式以相反顺序确定针对所述量子电路的每一层的误差:
δλ=(wλ)T.δλ+1,
其中δλ是针对所述量子电路的层λ的所述误差,并且wλ是所述量子电路的层λ中BS门的矩阵表示。
34.根据权利要求33所述的非瞬态计算机可读存储介质,其中所述成本函数C相对于作用于量子比特i和i+1的BS门的参数θi的梯度由下式定义:
35.根据权利要求34所述的非瞬态计算机可读存储介质,其中基于所述成本函数的所述梯度来更新所述量子电路的所述BS门的所述参数的值包括:
根据更新所述量子电路的BS门的参数θi的值,其中η为学习率。
36.根据权利要求29所述的非瞬态计算机可读存储介质,其中量子计算系统执行所述量子电路的所述BS门的所述层。
37.一种神经网络,被存储在非瞬态计算机可读存储介质上,其中所述神经网络由如下过程制造,所述过程包括:
执行量子电路的BS门的层,每个BS门是单个参数化的双量子比特门,所述权重矩阵的权重基于所述BS门的参数的值;
确定成本函数相对于所述量子电路的所述BS门的参数的梯度;
基于所述成本函数的所述梯度更新所述量子电路的所述BS门的参数的值,所述参数的更新的值保持所述权重矩阵的正交性。
38.根据权利要求37所述的神经网络,其中确定所述成本函数的梯度包括:确定所述成本函数相对于所述量子电路的每个BS门的所述参数的梯度。
39.根据权利要求37所述的神经网络,其中执行所述量子电路的BS门的层包括:在所述量子电路的每一层λ被执行之后测量所得到的量子态ζλ。
40.根据权利要求39所述的神经网络,还包括确定针对所述量子电路的层λ的误差δ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202141023642 | 2021-05-27 | ||
IN202141023642 | 2021-05-27 | ||
PCT/US2022/031171 WO2022251526A2 (en) | 2021-05-27 | 2022-05-26 | Classical and quantum algorithms for orthogonal neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117693753A true CN117693753A (zh) | 2024-03-12 |
Family
ID=84230347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280051811.7A Pending CN117693753A (zh) | 2021-05-27 | 2022-05-26 | 正交神经网络的经典算法和量子算法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11829877B2 (zh) |
EP (1) | EP4323924A2 (zh) |
CN (1) | CN117693753A (zh) |
WO (1) | WO2022251526A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024123742A1 (en) * | 2022-12-05 | 2024-06-13 | IonQ, Inc. | Quantum convolutional neural network circuit |
CN116431807B (zh) * | 2023-03-31 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 一种文本分类方法、装置、存储介质及电子装置 |
CN116523065B (zh) * | 2023-04-18 | 2024-07-12 | 北京百度网讯科技有限公司 | 确定量子设备演化酉矩阵的方法及装置、电子设备和介质 |
CN116384498B (zh) * | 2023-06-07 | 2023-08-18 | 上海微观纪元数字科技有限公司 | 变分量子算法线路的并行训练方法及存储介质 |
CN118171922B (zh) * | 2024-05-15 | 2024-08-02 | 国网湖北省电力有限公司武汉供电公司 | 基于多维度信息的电力系统资产风险评估方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024750A1 (en) | 2002-07-31 | 2004-02-05 | Ulyanov Sergei V. | Intelligent mechatronic control suspension system based on quantum soft computing |
US10467544B2 (en) | 2015-12-31 | 2019-11-05 | International Business Machines Corporation | Multi-qubit tunable coupling architecture using fixed-frequency superconducting qubits |
US20200272930A1 (en) | 2017-09-15 | 2020-08-27 | President And Fellows Of Harvard College | Quantum Artificial Neural Networks |
WO2019143680A1 (en) * | 2018-01-18 | 2019-07-25 | Google Llc | Classification using quantum neural networks |
EP3861481A4 (en) | 2018-10-05 | 2022-07-13 | President and Fellows of Harvard College | QUANTUM CONVOLUTED NEURAL NETWORKS |
US11687816B2 (en) | 2020-04-08 | 2023-06-27 | QC Ware Corp. | Quantum data loader |
-
2022
- 2022-05-26 CN CN202280051811.7A patent/CN117693753A/zh active Pending
- 2022-05-26 EP EP22812181.0A patent/EP4323924A2/en active Pending
- 2022-05-26 WO PCT/US2022/031171 patent/WO2022251526A2/en active Application Filing
- 2022-05-26 US US17/825,774 patent/US11829877B2/en active Active
- 2022-05-26 US US17/825,803 patent/US20220391705A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220391705A1 (en) | 2022-12-08 |
US20230081852A1 (en) | 2023-03-16 |
EP4323924A2 (en) | 2024-02-21 |
US11829877B2 (en) | 2023-11-28 |
WO2022251526A3 (en) | 2023-01-12 |
WO2022251526A2 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117693753A (zh) | 正交神经网络的经典算法和量子算法 | |
Yang et al. | Feed-forward neural network training using sparse representation | |
Anderson et al. | Loop equations and bootstrap methods in the lattice | |
Gorodetsky et al. | Gradient-based optimization for regression in the functional tensor-train format | |
US11728011B2 (en) | System and method for molecular design on a quantum computer | |
Kerenidis et al. | Classical and quantum algorithms for orthogonal neural networks | |
US11687816B2 (en) | Quantum data loader | |
Huang et al. | Learning to learn variational quantum algorithm | |
Wu et al. | wpScalable quantum neural networks for classification | |
Nieman et al. | Control implemented on quantum computers: Effects of noise, nondeterminism, and entanglement | |
Stock | Efficiency and redundancy in deep learning models: Theoretical considerations and practical applications | |
Litinskii et al. | Eigenvalues of Ising connection matrix with long-range interaction | |
Neukart et al. | On quantum computers and artificial neural networks | |
Acampora et al. | Training variational quantum circuits through genetic algorithms | |
JP2002042104A (ja) | 量子ソフトコンピューティングを使用した制御システムと制御方法 | |
Thabet et al. | Laplacian Eigenmaps with variational circuits: a quantum embedding of graph data | |
Hodapp et al. | Equivariant Tensor Networks | |
Alarcon et al. | Accelerating the training of single layer binary neural networks using the HHL quantum algorithm | |
Leal et al. | Training ensembles of quantum binary neural networks | |
Zhong et al. | Quantum Competition Network Model Based On Quantum Entanglement. | |
Koyasu et al. | Distributed coordinate descent algorithm for variational quantum classification | |
Iftemi et al. | Quantum Computing Applications and Impact for Cyber Physical Systems | |
Wrighter | Improved Grover’s Implementation of Quantum Binary Neural Networks | |
Xing et al. | Research on encoding path distance based on constructing quantum adjacency phase matrix | |
Saha et al. | Exploring the applications of deep reinforcement learning and quantum variational circuit In quantum machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |