CN118014090A - 一种变分量子线路的线路参数更新方法及相关装置 - Google Patents
一种变分量子线路的线路参数更新方法及相关装置 Download PDFInfo
- Publication number
- CN118014090A CN118014090A CN202410141071.7A CN202410141071A CN118014090A CN 118014090 A CN118014090 A CN 118014090A CN 202410141071 A CN202410141071 A CN 202410141071A CN 118014090 A CN118014090 A CN 118014090A
- Authority
- CN
- China
- Prior art keywords
- loss function
- update
- iteration step
- updating
- quantum
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 285
- 238000012360 testing method Methods 0.000 claims description 111
- 238000005259 measurement Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 23
- 238000013461 design Methods 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 239000002096 quantum dot Substances 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 12
- 238000000354 decomposition reaction Methods 0.000 description 11
- 239000012530 fluid Substances 0.000 description 9
- 238000005457 optimization Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 101000801619 Homo sapiens Long-chain-fatty-acid-CoA ligase ACSBG1 Proteins 0.000 description 2
- 102100033564 Long-chain-fatty-acid-CoA ligase ACSBG1 Human genes 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 235000010634 bubble gum Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000005283 ground state Effects 0.000 description 2
- 230000005610 quantum mechanics Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012443 analytical study Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004587 chromatography analysis Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/70—Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Testing Of Individual Semiconductor Devices (AREA)
Abstract
本发明公开了一种变分量子线路的线路参数更新方法及相关装置,属于量子计算技术领域,方法包括:每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;响应当前损失函数值不收敛,基于变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新变分参数;其中,变分参数的更新量由当前迭代步的更新步长和损失函数梯度序列共同决定;更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。由于每一迭代步的更新步长均基于前一迭代步的更新步长动态调整得到,其数值准确性相对较高,能够在迭代过程中逐渐降低损失函数值,并且加速损失函数的下降过程,从而减少量子计算所需时间,提高计算效率,节约量子计算资源。
Description
技术领域
本发明属于量子计算技术领域,特别是一种变分量子线路的线路参数调整方法及相关装置。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
量子线路又称量子逻辑电路,表示在抽象的概念下,对量子比特进行操作的线路。通过量子线路模型描述的量子算法,可以操控量子计算机,使其对输入状态进行处理,并且输出特定的测量值。其中,变分量子线路(Variational Quantum Circuit,简称VQC)是一种设计灵活的量子线路,其中的参数可以进行优化以适应特定的计算任务。变分量子线路形式的灵活性使其成为量子计算中许多应用的核心部分,适用于解决多种问题。例如,可以利用变分量子线路进行量子态制备、线性方程组的求解、实现量子近似优化算法和构建量子神经网络等。
现有技术中,变分量子线路中的变分参数在迭代过程中需要不断进行优化,以使得损失函数值沿其梯度方向逐渐减小。但是在每一迭代步中优化变分参数时,若变分参数的更新步长的预设值较大,变分参数的调整就不够准确,相较于前一迭代步,当前迭代步的损失函数值可能难以降低;相应的,若该更新步长的预设值较小,又会导致损失函数下降缓慢,由此需要增加迭代步数,从而浪费了宝贵的量子计算资源。
发明内容
本发明的目的是提供一种变分量子线路的线路参数更新方法及相关装置,旨在针对每一迭代步分别设置变分参数的更新步长,从而不仅使得损失函数值可以沿其梯度方向下降,并且加快了下降速度,减少了量子计算所需时间,提高了计算效率。
本发明的一个实施例提供了一种变分量子线路的线路参数更新方法,所述方法包括:
每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;
响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
可选的,所述基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数,包括:
基于前一迭代步的更新步长、当前迭代步的步长更新参数和当前迭代步对应的损失函数梯度序列,确定当前迭代步的试验更新量;
根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数;
基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,更新当前迭代步的更新步长和变分参数。
可选的,所述基于前一迭代步的更新步长、当前迭代步的步长更新参数和当前迭代步对应的损失函数梯度序列,确定当前迭代步的试验更新量,包括:
基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长;
获取所述试验更新步长和当前迭代步对应的损失函数梯度序列的乘积,作为当前迭代步的试验更新量;
所述根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数,包括:
计算前一迭代步确定的变分参数与所述当前迭代步的试验更新量的差值,作为当前迭代步的试验变分参数。
可选的,所述步长更新参数包括数值固定的第一步长更新子参数和数值可变的第二步长更新子参数;
所述基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长,包括:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长。
可选的,所述基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,更新当前迭代步的更新步长和变分参数,包括:
判断所述试验变分参数对应的损失函数值是否满足:所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,所述试验变分参数对应的损失函数值与前一迭代步的损失函数值的比值在第一预设数值范围内;
基于判断结果,更新当前迭代步的更新步长和变分参数。
可选的,所述基于判断结果,更新当前迭代步的更新步长和变分参数,包括:
若满足,则将所述试验更新步长作为当前迭代步确定的更新步长,将所述试验变分参数作为当前迭代步确定的变分参数,并将所述第二步长更新子参数更新为第一预设值。
可选的,所述方法还包括:
若不满足,则将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,与前一迭代步的损失函数值的比值在第一预设数值范围内。
可选的,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路包括损失函数值测量线路;
每一迭代步中,所述损失函数梯度序列基于以下步骤得到:
针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述损失函数值测量线路测量得到该变分参数调整后的一个目标损失函数值;
分别计算每一目标差值与所述预设差分步长∈之商,作为所述损失函数梯度序列中对应的一个元素;其中,所述目标差值为一个目标损失函数值与变分参数调整前的损失函数值之差。
可选的,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路包括损失函数值测量线路和损失函数梯度测量线路;
所述损失函数梯度测量线路用于测量所述损失函数分解得到的每一微分梯度项,所述微分梯度项用于构建得到所述损失函数梯度序列。
本发明的又一实施例提供了一种变分量子线路的线路参数更新装置,所述装置包括:
测量模块,用于每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;
更新模块,用于响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一实施例中所述的方法。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一实施例中所述的方法。
与现有技术相比,本发明提供的一种变分量子线路的线路参数更新方法及相关装置,每一迭代步中,可以在量子芯片上运行变分量子线路对应的量子操作,并测量该量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;若当前损失函数值不收敛,还可以响应当前损失函数值不收敛,基于该变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新变分参数;其中,变分参数的更新量由当前迭代步的更新步长和损失函数梯度序列共同决定;更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
本实施例提供的方案中,通过在量子芯片上运行变分量子线路对应的量子操作制备量子态,从而基于测量该量子态得到的损失函数值,判断当前损失函数值不收敛时,可以基于前一迭代步的更新步长和当前迭代步的步长更新参数,调整得到针对当前迭代步的更新步长,进而更新变分量子线路的变分参数。由于每一迭代步的更新步长均与前一迭代步相关,其数值准确性相对较高,可以在迭代过程中逐渐降低损失函数;并且通过合理地设置步长更新参数,能够加速损失函数的下降过程,从而减少量子计算所需时间,提高计算效率,节约了量子计算资源。
附图说明
图1为本发明实施例提供的一种变分量子线路的线路参数更新系统的网络框图;
图2为本发明实施例提供的一种变分量子线路的线路参数更新方法的流程图;
图3为本发明实施例提供的一种变分量子线路的具体结构示意图;
图4为本发明实施例提供的一种量子态测量线路的具体结构示意图;
图5为本发明实施例提供的一种变分量子线路的线路参数更新装置的示意图;
图6为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图1是本发明实施例提供的一种变分量子线路的线路参数更新系统的网络框图。变分量子线路的线路参数更新系统可以包括网络110、服务器120、无线设备130、客户机140、存储150、经典计算单元160、量子计算单元170,还可以包括未示出的附加存储器、经典处理器、量子处理器和其他设备。
网络110是用于为变分量子线路的线路参数更新系统内连接在一起的各种设备和计算机之间提供通信链路的介质,包括但不限于互联网、企业内部网、局域网、移动通信网及其组合,连接方式可以采用有线、无线通信链路或光纤电缆等。
服务器120、无线设备130和客户机140是常规的数据处理系统,可包含数据和具有执行常规计算过程的应用程序或软件工具。客户机140可以是个人计算机或网络计算机,故数据也可以是服务器120提供的。无线设备130可以是智能手机、平板、笔记本电脑、智能可穿戴设备等。存储单元150可以包括数据库151,其可以被配置为存储量子比特参数、量子逻辑门参数、量子线路、量子程序等数据。
经典计算单元160(量子计算单元170)可以包括用于处理经典数据(量子数据)的经典处理器161(量子处理器171)和用于存储经典数据(量子数据)的存储器162(存储器172),经典数据(量子数据)可以是引导文件、操作系统镜像、以及应用程序163(应用程序173),应用程序163(应用程序173)可以用于实现根据本发明实施例提供的变分量子线路的线路参数更新方法编译的量子算法。
经典计算单元160(量子计算单元170)中存储或产生的任何数据或信息也可以被配置成以类似的方式在另一个经典(量子)处理系统中存储或产生,同样其执行的任何应用程序也可以被配置成以类似的方式在另一个经典(量子)处理系统中执行。
需要说明的是,真正的量子计算机是混合结构的,它至少包括图1中的两大部分:经典计算单元160,负责执行经典计算与控制;量子计算单元170,负责运行量子程序进而实现量子计算。
上述经典计算单元160和量子计算单元170可以是集成在一台设备中,也可以是分布在两台不同的设备之中。例如包括经典计算单元160的第一设备运行经典计算机操作系统,其上提供了量子应用程序开发工具和服务,以及还提供了量子应用程序所需的存储和网络服务。用户通过其上的量子应用程序开发工具和服务开发量子程序,以及通过其上的网络服务将量子程序发送至包括量子计算单元170的第二设备。第二设备运行量子计算机操作系统,通过量子计算机操作系统对该量子程序的代码进行解析编译成量子处理器170可以识别和执行的指令,量子处理器170根据该指令实现量子程序对应的量子算法。
经典计算单元160中的经典处理器161的计算单元是基于硅芯片的CMOS管,这种计算单元不受时间和相干性的限制,即,这种计算单元是不受使用时长限制,随时可用。此外,在硅芯片中,这种计算单元的数量也是充足的,目前一个经典处理器161中的计算单元的数量是成千上万的,计算单元数量的充足且CMOS管可选择的计算逻辑是固定的,例如:与逻辑。借助CMOS管运算时,通过大量的CMOS管结合有限的逻辑功能,以实现运算效果。
量子计算单元170中量子处理器171的基本计算单元是量子比特,量子比特的输入受相干性的限制,也受相干时间的限制,即,量子比特是受使用时长限制的,并不是随时可用的。在量子比特的可用使用时长内充分使用量子比特是量子计算的关键性难题。此外,量子计算机中量子比特的数量是量子计算机性能的代表指标之一,每个量子比特通过按需配置的逻辑功能实现计算功能,鉴于量子比特数量受限,而量子计算领域的逻辑功能是多样化的,例如:哈德玛门(Hadamard门,H门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、X门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门等等。量子计算时,需借助有限的量子比特结合多样的逻辑功能组合实现运算效果。
基于这些不同,经典逻辑功能作用在CMOS管的设计和量子逻辑功能作用在量子比特的设计是显著和本质不同的;经典逻辑功能作用在CMOS管的设计是不需要考虑CMOS管的个体性,如CMOS管在硅芯片中的表示是第几个CMOS管的个体标识、位置、每个CMOS管的可使用时长,故而经典逻辑功能组成的经典算法只表达算法的运算关系,不表达算法对CMOS管个体的依赖。
而量子逻辑功能作用在量子比特需要考虑量子比特的个体性,如量子比特在量子芯片中是第几个量子比特的个体标识、位置以及和周围量子比特的关系、以及每个量子比特可使用时长。故而量子逻辑功能组成的量子算法不仅表达算法的运算关系,更表达算法对量子比特个体的依赖。
量子芯片可以包括量子比特和对量子比特进行调控的通道,量子逻辑门通过模拟信号实现,不同组合的模拟信号通过对量子比特进行调控的通道施加在量子比特上,从而实现不同功能的量子电路,完成对数据的处理。所以,量子逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计,这也是基于量子逻辑功能实现的量子算法的独特性,是和基于经典逻辑功能实现的经典算法的本质和显著不同。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。
变分量子线路形式的灵活性使其成为量子计算中的通用工具,适用于解决多种问题。例如,可以利用变分量子线路进行量子态制备、线性方程组的求解、实现量子近似优化算法和构建量子神经网络等。本实施例中,主要以变分量子线性求解器中的变分量子线路为例,具体说明本方案提供的变分参数的更新步长的动态更新方法。
在很多科学技术领域(例如,流体力学、金融学、生物学、化学等)都涉及到线性方程组的求解问题,如何快速精准求解线性方程组的研究工作就显示出了很重要的理论和应用价值,因此发展了许多有效的线性方程组求解技术和方法。例如,在CFD(ComputationalFluid Dynamics,计算流体动力学)领域中,可以基于各种离散化的数学方法构建表示流体状态变化的线性方程组,从而对流体力学的问题进行数值实验、计算机模拟和分析研究,包括:计算流体在稳定状态下不同位置处的温度、密度等状态信息。
使用经典计算机模拟线性方程组时,随着系数矩阵的规模增加,经典算法的复杂度将呈指数级增长,从而导致计算非常耗时。而量子计算是一种新型计算方式,其通过量子力学理论构建了一种计算框架,在某些场景中,比起最优的经典算法,量子计算具有指数加速的效果。因此可以利用量子计算机的计算优势对不同的系统进行模拟仿真,构建该系统的线性方程组,通过对计算该线性方程组在预设条件下的目标解,可以得到该系统在稳定状态下的信息。
为了基于量子计算的方法对某一目标系统进行模拟,从而求解得到该目标系统对应的线性方程组的解。首先,需要获取该目标系统对应的线性方程组Ax=b,其中,x表示该目标系统中待确定的物理量,那么通过量子计算的方法对该目标系统进行模拟和量子态演化,最终可以得到其中的物理量的信息。具体的,在一种实施方式中,如模拟CFD技术领域中的流体系统时,上述线性方程组Ax=b则可以用于表示目标流体的离散化网格中各网格单元的状态变化;其中,向量x表示各网格单元在当前时刻与前一时刻的流体状态的差值;向量b表示与前一个时刻的流体状态和网格单元的坐标信息相关的残差向量;矩阵A表示与前一个时刻的流体状态和网格单元的坐标信息相关的系数矩阵。
进而,在对该线性方程组的量子计算模拟过程中,可以将线性方程组的信息编码到量子比特上,具体涉及到将线性方程组的系数矩阵A和残差向量b编码成相应的量子态。在一种实施方式中,可以将上述经典数据的信息编码到该线性方程组对应的哈密顿量中,通过哈密顿模拟的方式代替将经典数据转为量子态。也即基于系数矩阵A和残差向量b,构造线性方程组Ax=b对应的哈密顿量,该哈密顿量的基态(也即最低能态)则对应于线性方程组的解,那么基于该哈密顿量构建的损失函数达到最小值时,线性方程组的解也就确定了。
进一步的,一种常用的量子态编码和损失函数迭代优化的量子线路就是上述变分量子线路,变分量子线路中的线路参数可以包括变分参数和变分参数的更新步长,其中,变分参数为含参量子逻辑门的旋转角度,在对线性方程组的量子计算模拟过程中,通过调整含参量子逻辑门的旋转角度,可以使对应的损失函数值发生变化。
参见图2,图2为本发明实施例提供的一种变分量子线路的线路参数更新方法,所述方法包括以下步骤:
步骤201,每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列。
步骤202,响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;
其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
具体的,以变分量子线性求解器中的变分量子线路为例,现有的通过量子计算的方式模拟目标系统对应的线性方程组的方案中,主要包括以下步骤:构造哈密顿量、选取拟设方式、获取损失函数梯度、量子态层析和拟设参数优化。其中,线性方程组Ax=b对应的哈密顿量的形式通常是固定的,例如,构造的哈密顿量H可以为其中,A为该线性方程组的系数矩阵,/>表示A的转置共轭矩阵,I为单位矩阵,b为该线性方程组的残差向量,且已经归一化,满足<b|b>=1。
不失一般性的,假设系数矩阵A为自共轭矩阵,否则,在一种实施方式中,可以取使得构建的线性方程组CACx=Cb成立且满足矩阵CA自共轭,进而可以通过量子计算的方式模拟该新构建的线性方程组,能够计算得到原线性方程组Ax=b的解x。
进一步的,本领域技术人员所知的是,选取的拟设方式的优劣将决定计算成功与否和准确性等,因此拟设的构建是至关重要的。线性方程组的量子计算模拟方法所需的拟设方式可以为一种参数化的量子线路,如包含多个含参量子逻辑门的变分量子线路。其中的拟设参数也就是变分量子线路中的变分参数,举例来说,选取的拟设方式可以为高效硬件拟设(Hardware Efficient Ansatz,简称HEA),高效硬件拟设是一种通用性高的拟设方式。在一种实施方式中,高效硬件拟设对应的变分量子线路的具体结构可以如图3所示,其中,虚线框中的部分量子线路是一个高效硬件拟设层(Layer of HEA),该变分量子线路可以由多个高效硬件拟设层共同组成,每一高效硬件拟设层中的含参量子逻辑门为RY门,为含参量子逻辑门/>的旋转角度,从而通过各级高效硬件拟设层中的多个RY门,可以编码得到线性方程组的近似解的量子态。
高效硬件拟设的好处在于能够便捷地动态调整拟设,即添加或减少拟设层数,可以动态地调整拟设的比特数和线路深度。在另一种实施方式中,还可以选取固定拟设结构的拟设方式,该拟设方式一般用于模拟固定已知维度的线性方程组,并且由于该拟设方式是特定设置的,因此求解效率一般较高。
上述拟设方式中的拟设参数(即变分参数)可以定义为θ={θ1,…,θi,…θI},其中,拟设参数的数量为I,从而该拟设方式可以整体描述为也即该拟设方式可以实现以下量子态演化:U(θ)|0>=|φ>,上述拟设方式可以简写为Uθ。进而基于上述哈密顿量H构建的损失函数可以定义为/> 其中,/>为Uθ的转置共轭,损失函数L(θ)可以简写为L。
那么,即可以利用上诉变分量子线路制备得到线性方程组的近似解的量子态,为了在迭代过程中不断优化变分参数θ,以使损失函数L(θ)沿梯度方向逐渐减小,当前常用的方案中,需要获取损失函数的微分梯度,以构建损失函数梯度序列,也即获取L(θ)的梯度进而可以更新每一变分参数为θi=θi-λgi。其中,梯度g为变分参数θ的更新方向,λ为变分参数θ的更新步长。
本发明实施例提供的方案中,上述损失函数梯度序列可以通过多种方式构建得到。在一种实施方式中,首先可以将损失函数L(θ)在泡利基上进行分解,得到多项,并将上述分解产生的各项中的在泡利基上继续分解。最终,由于对/>分解产生的各项是可测量的,从而可以通过多个损失函数梯度测量线路,分别测量并获取损失函数L(θ)微分梯度的各项/>进而构建得到损失函数梯度序列g。
相应的,在另一种实施方式中,可以仅通过损失函数值测量线路获取损失函数L(θ)的多个目标损失函数值,其中,每一目标损失函数值是通过将对应的一个变分参数单独调整预设差分步长后,利用损失函数值测量线路测量得到的。进而可以通过有限差分的方式近似得到损失函数的多个近似导数di,由此逼近了损失函数的微分梯度进而可以基于上述多个近似导数di构建得到一个差分梯度序列d,并将该差分梯度序列d作为所述损失函数梯度序列g。
上述通过多个损失函数梯度测量线路直接测量并构建损失函数梯度序列,或,基于差分方法近似逼近微分梯度,进而构建差分梯度序列,作为损失函数梯度序列的方案,将在下文进行具体解释说明,在此不再赘述。
具体的,在一种实施方式中,用于获取每一近似解对应的损失函数值的量子态测量线路可以为Hadamard Test线路,上述Hadamard Test线路的具体结构可以如图4所示,图中初始状态为|0>的量子比特为辅助量子比特,目标量子比特的量子态|φ>为上述变分量子线路制备得到的线性方程组的近似解的量子态。对上述变分量子线路当前制备的近似解对应的损失函数在泡利基上进行分解,可以得到:
那么可以基于分解产生的σk项构建多种受控U门,并在辅助量子比特的控制下分别作用于目标量子比特的量子态|φ>。
Hadamard Test是一种常用的量子态测量方法,可以用于确定量子态|φ>相对于参考态|σk>的相位,是许多量子算法的关键子程序,如量子相位估计等。Hadamard Test的工作方式是:首先对控制比特应用一个Hadamard变换,对量子态应用一个受控U门;在应用受控U门后,再对控制比特应用另一个Hadamard变换,并在标准基上对其进行测量。通过多次重复Hadamard测试并对结果取平均,可以估计目标量子比特相对于参考态的相位。
其中,需要观测<φ|σk|φ>的实部时,S=I,即相当于无作用。只需对辅助量子比特进行观测,观测结果为0的概率减去观测结果为1的概率,即为<φ|σk|φ>的实部值。同理,需要观测〈φ|σk|φ〉的虚部时,S=diag{1,-i}。仍只需对辅助量子比特进行观测,观测结果为0的概率减去观测结果为1的概率,即为<φ|σk|φ>的虚部值。在本发明实施例提供的方案中,损失函数值为实数,因此可以省略上述S门。
相应的,也可以基于上述Hadamard Test线路构建获取损失函数的梯度的量子线路,需要将该U门的矩阵形式基于上述每一微分梯度的分解形式进行对应的修改,利用上述量子线路获取损失函数的梯度的缺点在于,需要分别构建大量的量子线路。那么,基于上述Hadamard Test线路进行多次测量,即可得到当前的变分参数对应的损失函数值和损失函数梯度序列。
由于哈密顿量的基态对应于线性方程组的解,那么基于该哈密顿量构建的损失函数达到最小值时,变分量子线路制备的量子态则对应了线性方程组的解。那么,首先可以判断当前的损失函数值是否收敛,在一种实施方式中,可以预先设置损失函数值的收敛精度η,当前的损失函数值达到预设收敛精度η时,可以认为该损失函数值已收敛。
进而在每一迭代步中,若当前损失函数值不收敛,可以基于前一迭代步的更新步长和当前迭代步的步长更新参数,计算得到当前迭代步的更新步长。该步长更新参数可以在每一迭代步中动态地进行优化,以使得相邻迭代步间的更新步长保持一定的相似性,从而保证更新步长在更新过程中能够保持相对较高的数值准确性,那么由当前迭代步的更新步长和损失函数梯度序列共同决定的变分参数的更新量,可以使得损失函数值在迭代过程中逐渐降低。并且该步长更新参数可以进行微调,逐步放大更新步长,也即更新量可以在满足损失函数值下降的基础上逐渐增大,以加快损失函数下降速度,从而降低量子计算所需的迭代步数,减少量子计算所需时间,提高计算效率,节约量子计算资源。
可见,本发明实施例提供的方案中,可以通过在量子芯片上运行变分量子线路对应的量子操作制备量子态,从而基于测量该量子态得到的损失函数值,判断当前损失函数值不收敛时,可以基于前一迭代步的更新步长和当前迭代步的步长更新参数,调整得到针对当前迭代步的更新步长,进而更新变分量子线路的变分参数。由于每一迭代步的更新步长均与前一迭代步相关,其数值准确性相对较高,可以在迭代过程中逐渐降低损失函数;并且通过合理地设置步长更新参数,能够加速损失函数的下降过程,从而减少量子计算所需时间,提高计算效率,节约了量子计算资源,并且促进了运行于真实量子芯片的量子线性求解器的进一步发展。
作为本发明实施例的一种实施方式,所述基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数,可以包括以下步骤:
步骤301,基于前一迭代步的更新步长、当前迭代步的步长更新参数和当前迭代步对应的损失函数梯度序列,确定当前迭代步的试验更新量。
步骤302,根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数。
在一种实施方式中,所述步骤301可以包括以下步骤:
步骤3011,基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长。
步骤3012,获取所述试验更新步长和当前迭代步对应的损失函数梯度序列的乘积,作为当前迭代步的试验更新量。
具体的,为了使得每一迭代步中的变分参数相较于前一迭代步有优化,也即每一迭代步的损失函数值均小于前一迭代步的损失函数值,可能需要在每一迭代步中对变分参数进行多次试验性的调整。因此,在每一迭代步中,试验变分参数为在该迭代步中不断优化的变分参数的试验值,直至其对应的损失函数值小于前一迭代步的损失函数值时,可以将其作为该迭代步最终的变分参数。
同理,试验更新步长为在该迭代步中不断优化的更新步长的试验值,与试验变分参数相对应,满足上述条件时的试验更新步长可以作为该迭代步最终的更新步长。那么,便可以基于当前迭代步的试验更新步长,确定对应的试验更新量,从而根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数。
在本发明实施例提供的方案中,为了进一步加快损失函数值的下降速度,可以预设一个可变的步长更新参数α。从而在迭代过程中,可以基于该当前迭代步最新的步长更新参数α和前一迭代步的更新步长λref的四则运算结果,相较于前一迭代步的更新步长,将当前迭代步的更新步长进行放大,以得到当前迭代步的试验更新步长。
在一种实施方式中,上述步长更新参数α的取值范围可以为α>1.0,因此可以获取前一迭代步的更新步长λref和当前迭代步最新的步长更新参数α的乘积αλref,作为当前迭代步的试验更新步长;并获取基于差分方法得到的该迭代步对应的差分梯度序列d,将该差分梯度序列d近似作为损失函数梯度序列g,计算该试验更新步长αλref与差分梯度序列d的乘积,为当前迭代步的试验更新量αλrefd。
在一种实施方式中,所述步骤302可以包括:
计算前一迭代步确定的变分参数与所述当前迭代步的试验更新量的差值,作为当前迭代步的试验变分参数。
进而可以计算前一迭代步确定的变分参数θt与该试验更新量αλrefd的差值θt-αλrefd,作为当前迭代步的试验变分参数。
在另一种实施方式中,所述步长更新参数可以包括数值固定的第一步长更新子参数和数值可变的第二步长更新子参数;所述步骤3011可以为:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长。
也即,上述步长更新参数α可以包括数值固定的第一步长更新子参数α1和数值可变的第二步长更新子参数α2,并将前一迭代步的更新步长λref、第一步长更新子参数α1和第二步长更新子参数α2三者的乘积,作为当前迭代步的试验更新步长α1α2λref;其中,α1的取值范围可以为α1>1.0,α2的初始值可以为1。那么,基于第一步长更新子参数和第二步长更新子参数,也可以实现上述在迭代过程中放大更新步长的效果,从而加快损失函数值的下降速度;并且由于第二步长更新子参数是可变的,在每一迭代步中还可以对其进行多次调整和优化,使得该迭代步对应的损失函数值尽可能的减小。
步骤303,基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,更新当前迭代步的更新步长和变分参数。
在一种实施方式中,所述步骤303可以包括以下步骤:
步骤3031,判断所述试验变分参数对应的损失函数值是否满足:
所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,所述试验变分参数对应的损失函数值与前一迭代步的损失函数值的比值在第一预设数值范围内;
步骤3032,基于判断结果,更新当前迭代步的更新步长和变分参数。
所述步骤3032可以包括:
若满足,则将所述试验更新步长作为当前迭代步确定的更新步长,将所述试验变分参数作为当前迭代步确定的变分参数,并将所述第二步长更新子参数更新为第一预设值。
若不满足,则将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,与前一迭代步的损失函数值的比值在第一预设数值范围内。
具体的,若试验变分参数对应的损失函数值小于前一迭代步的损失函数值,说明该试验变分参数对损失函数值的下降有优化效果;同理,若试验变分参数对应的损失函数值与前一迭代步的损失函数值的比值在第一预设数值范围内,也可以表示该试验变分参数对损失函数值的下降有优化效果。例如,上述第一预设数值范围可以为[0.8-0.95],从而可以更加清楚准确地设置损失函数值的下降需求,对损失函数值的下降效果进行量化的比较分析。
那么,以仅判断试验变分参数对应的损失函数值是否小于前一迭代步的损失函数值为例,对任一迭代步的更新步长和变分参数的更新步骤进行说明。
在上述实施方式中,得到了当前迭代步的试验更新步长α1α2λref后,可以计算得到当前的试验变分参数θt-α1α2λrefg,便可以基于该试验变分参数调整变分量子线路,并利用损失函数值测量线路获取对应的损失函数值,将该试验变分参数对应的损失函数值和前一迭代步的损失函数值进行大小比较。
若该试验变分参数对应的损失函数值小于前一迭代步的损失函数值,说明该试验变分参数对损失函数值的下降有优化效果,可以将该试验更新步长α1α2λref作为当前迭代步确定的更新步长,将该试验变分参数θt-α1α2λrefg作为当前迭代步确定的变分参数,所述当前迭代步确定的更新步长和变分参数可以作为下一迭代步中,对更新步长和变分参数进行多次试验性调整的初始值;并将第二步长更新子参数更新为第一预设值。例如,第一预设值可以保持为1不变。从而在当前损失函数值收敛时可以确定该线性方程组的目标解,在暂时不收敛时可以继续确定下一迭代步的损失函数梯度序列,并在下一迭代步中继续基于上述确定的更新步长和更新参数,进行多次试验性调整。
若该试验变分参数对应的损失函数值不小于前一迭代步的损失函数值,说明当前的试验变分参数θt-α1α2λrefg对损失函数值的下降无优化效果,因此需要继续调整试验变分参数和试验更新步长,直至调整后的损失函数值小于前一迭代步的损失函数值。
由于当前的试验变分参数θt-α1α2λrefg对损失函数值的下降无优化效果,而损失函数梯度序列是通过损失函数梯度测量线路测量得到的,或,由通过差分方法得到的差分梯度序列近似表示的,均较为准确;因此可以考虑:是否是由于更新步长λref设置得不合理,而第一步长更新子参数α1又放大了试验更新步长,可能导致试验更新步长过大,由此试验变分参数变化过大造成损失函数值无法下降。在一种实施方式中,可以将第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积。第二预设值可以为0至1之间的一个预设值,从而在多次调整过程中,可以使得试验更新步长在大于前一迭代步的更新步长λref和小于λref之间变化,以得到更加合理的试验更新步长。
例如,第一步长更新子参数α1可以为1.2,第二步长更新子参数α2的初始值可以为1,第二预设值可以为0.5。从而第一次调整得到的试验更新步长可以为1.2×1×λref=1.2λref,该试验更新步长相较于前一迭代步的更新步长λref达到了放大效果,进而该第一次调整得到的试验变分参数为θt-1.2λrefg。那么若该试验变分参数对应的损失函数值L(θt-1.2λrefg)小于前一迭代步的损失函数值L(θt),则可以将该试验更新步长1.2λref作为当前迭代步确定的更新步长,将该试验变分参数θt-1.2λrefg作为当前迭代步确定的变分参数。
若该试验变分参数对应的损失函数值L(θt-1.2λrefg)不小于前一迭代步的损失函数值L(θt),则可以再次调整试验更新步长,具体为将该第二步长更新子参数α2更新为当前第二步长更新子参数1和第二预设值0.5的乘积1×0.5=0.5,并返回执行根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的损失函数梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数的步骤。也即在第二次调整中,将试验更新步长变为1.2×0.5×λref=0.6λref,此时的试验更新步长小于前一迭代步的更新步长λref,该第一次调整得到的试验变分参数为θt-0.6λrefg,进而再次判断该试验变分参数对应的损失函数值L(θt-0.6λrefg)是否小于前一迭代步的损失函数值L(θt)。通过上述方式可以多次迭代地调整试验更新步长和试验变分参数,直至该迭代步的试验变分参数对应的损失函数值小于前一迭代步的损失函数值。
在一种实施方式中,可以将变分参数在上述每一迭代步中的迭代更新过程定义为外层迭代;并将每一迭代步内,试验更新步长和试验变分参数的调整过程定义为内层迭代。其中,外层迭代的最终目的是不断优化变分参数的取值,以使得损失函数值逐渐降低;内层迭代的最终目的是动态调整变分参数的更新步长,以使得每一迭代步相较于前一迭代步的损失函数值均有下降。并可以预先设置外层迭代和内层迭代的循环次数上限,分别为外层迭代参数tmax和内层迭代参数pmax。
从而在每一迭代步内,当内层迭代次数达到pmax时,确认当前的线性方程组的量子计算模拟失败,可以重新设置损失函数值的收敛精度η、预设差分步长∈、第一步长更新子参数α1、第二步长更新子参数α2或初始更新步长λ0等参数。在外层迭代次数达到tmax,或,某一迭代步的损失函数值达到预设收敛精度η时,可以停止对该线性方程组的量子计算模拟,并获取损失函数值满足预设收敛精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为该线性方程组的目标解。
可见,本发明实施例提供的方案中,通过设置数值固定的第一步长更新子参数α1和数值可变的第二步长更新子参数α2,不仅可以在每一迭代步中,逐渐放大试验更新步长,从而加速损失函数值的下降过程。并且还可以在初次调整试验变分参数的效果不理想时,对试验更新步长和试验变分参数进行更高精度的迭代处理,使得在每一迭代步中都尽可能达到损失函数逐渐下降的效果,提高了通过量子计算模拟线性方程组时的成功率。
作为本发明实施例的一种实施方式,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路可以包括损失函数值测量线路和损失函数梯度测量线路;
所述损失函数梯度测量线路用于测量损失函数分解得到的每一微分梯度项,所述微分梯度项用于构建得到所述损失函数梯度序列。
本实施例中,可以利用预先构建的量子态测量线路,测量在量子芯片上运行上述变分量子线路对应的量子操作得到的量子态,例如,可以使用上述Hadamard Test线路测量损失函数分解得到的每一微分梯度项,从而构建得到损失函数梯度序列g。
具体的,通过量子计算的方式模拟线性方程组时,为了获取损失函数梯度序列g,可以通过构建大量的量子线路分别获取每一微分梯度gi。例如,执行该方案时,首先需要将损失函数L(θ)在泡利基上进行分解,得到:
基于上述分解方式,可以产生分别为和<b|A|φ>三项,其中的/>可以继续分解为:
再将上式中的在泡利基上进行分解,可以得到:
其中,J=J(i)是Ui(θi)在泡利基下分解的项数,cj是各项的系数,σj是泡利基元。上述分解方式的优势在于:对/>分解产生的各项是可测量的,从而可以通过多个量子线路分别测量并获取损失函数L(θ)梯度的各项/>
那么,假设上述方案中的哈密顿量在泡利基上可以分级为分解得到的项数为K;上述分解得到的各项中的Ui(θi)在泡利基上分解的项数为J;且上述拟设方式中的拟设参数的数量为I。则可以得到:本实施例中的利用量子计算的方式模拟目标系统对应的线性方程组时,所需的直接测量损失函数的微分梯度g的各项的量子线路的总数量为O(IJK)。上述方案中的分解方式极大地降低了每一量子线路的深度,但是也导致了用于计算分解过程的经典计算量的增大,产生了大量的量子线路总数量。
为了降低模拟线性方程组所需的量子线路的数量,还可以基于损失函数值测量线路获取的多个损失函数值,利用差分逼近的思想近似地计算得到了该梯度。差分法是一种微分方程数值方法,其通过有限差分来近似导数,寻求微分方程的近似解。
相应的,作为本发明实施例的另一种实施方式,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路可以包括损失函数值测量线路;
在每一迭代步中,所述损失函数梯度序列可以基于以下步骤得到:
步骤401,针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述损失函数值测量线路测量得到该变分参数调整后的一个目标损失函数值。
具体的,在一种实施方式中,损失函数梯度序列可以使用基于多个损失函数值计算得到的差分梯度序列近似地表示,差分梯度序列包括对多个损失函数值做差分运算得到的损失函数的多个近似梯度,用于指示每一变分参数的更新方向,即含参量子逻辑门的旋转方向;更新步长用于指示每一迭代步中,含参量子逻辑门的旋转角度变化量。
那么,在每一迭代步中,所述差分梯度序列基于前一迭代步的损失函数值、预设差分步长和多个目标损失函数值确定;其中,每一所述目标损失函数值通过将对应的一个变分参数单独调整预设差分步长后,利用所述损失函数值测量线路测量得到。
具体的,在初始迭代步中,首先可以使用上述损失函数值测量线路获取初始变分参数θ={θ1,…,θi,…θI}对应的初始损失函数值L(θ1,…,θi,…,θI),如果基于该初始损失函数值判断初始迭代步不满足预设迭代终止条件,即初始损失函数值不收敛时,则需要对变分参数进行循环迭代,以使得在每一迭代步中逐渐降低损失函数值。其中,初始变分参数可以是任意的,也可以是本领域技术人员设置的经验值等;例如,预设迭代终止条件可以为损失函数值的预设收敛精度η为η=10-8或10-9,或预设迭代步数达到1000、10000步等,在此不做具体限定。相应的,如果基于该初始损失函数值判断初始迭代步满足预设迭代终止条件,即初始损失函数值已收敛时,可以获取当前变分量子线路制备得到的量子态,将该量子态对应的近似解作为该目标线性方程组的目标解。
如果初始迭代步不满足预设迭代终止条件,那么在之后的第一迭代步中,可以基于预设差分步长∈,分别将每一变分参数θi单独调整为θi+∈,并且在每次调整后,使用上述损失函数值测量线路获取对应的一个目标损失函数值。例如,将第一个变分参数θ1单独调整为θ1+∈,从而得到对应的目标损失函数值L1(θ1+∈),…,将第I个变分参数θI单独调整为θI+∈,从而得到对应的目标损失函数值LI(θI+∈);从而得到I个目标损失函数值组成的序列。
其中,预设差分步长∈用于表示利用差分方法逼近损失函数的梯度的精度,当其取值过大时,由于精度较低可能难以实现目标逼近效果,从而导致损失函数值无法下降;当其取值过小时,由于精度较高又会加大循环迭代所需的步数;因此预设差分步长∈的取值需要综合考虑上述具体情况,例如,可以取值为10-1、10-3或10-5等,在此也不做具体限定。
步骤402,分别计算每一目标差值与所述预设差分步长∈之商,作为所述损失函数梯度序列中对应的一个元素;
其中,所述目标差值为一个目标损失函数值与变分参数调整前的损失函数值之差。
进一步的,已经得到了I个目标损失函数值组成的序列,进而可以分别计算一个目标损失函数值Li(θi+∈)与变分参数调整前的损失函数值L(θ1,…,θi,…,θI)之差,作为目标差值,再计算每一目标差值与上述预设差分步长∈之商,作为差分梯度序列d={d1,…,di,…dI}中对应的一个元素di,即:
该序列元素di则近似于损失函数的微分梯度g中对应项gi,di≈gi;并且随着∈→0,‖d-g‖→0。那么该差分梯度序列d可以近似地表示损失函数梯度序列g,再基于该差分梯度序列d和变分参数的更新步长的乘积,可以更新得到每一迭代步中的变分参数,再获取该迭代步的损失函数值,并判断该迭代步是否满足预设迭代终止条件,从而通过循环迭代的方式逐渐降低了损失函数值,直至满足预设迭代终止条件时,可以得到该线性方程组的目标解。
可见,在本实施例中,通过合理地设置预设差分步长∈,可以快速且准确地通过差分法逼近损失函数的微分梯度,从而构建得到近似表示损失函数的损失函数梯度序列的差分梯度序列,进而计算该差分梯度序列和变分参数的更新步长的乘积,可以循环迭代地更新变分量子线路中的变分参数,逐渐降低损失函数值,直至满足预设迭代终止条件,即可得到该线性方程组的目标解。
通过获取线性方程组的损失函数的多个损失函数值,可以通过有限差分的方式近似得到损失函数的多个近似导数,由此逼近了损失函数的微分梯度。从而不需要大量的损失函数梯度测量线路得到梯度信息,只需少量的损失函数值测量线路得到损失函数信息,即可近似地得到梯度。那么模拟线性方程组所需的量子线路的总数量将由O(IJK)下降为O(IK),并且在每个运行的量子线路中都少了一个受控σj门。从而不仅显著减小了模拟线性方程组所需的量子线路的数量,也节约了大量的量子计算资源,并且降低了计算时间,大大提高了计算效率,促进了运行于真实量子芯片的量子线性求解器的进一步发展。
参见图5,图5为本发明实施例提供的一种变分量子线路的线路参数更新装置,所述装置包括:
测量模块501,用于每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列。
更新模块502,用于响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;
其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
关于上述变分量子线路的线路参数更新装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述变分量子线路的线路参数更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图6,本说明书实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式中的变分量子线路的线路参数更新方法。请参阅图6,所述计算机设备可以是经典计算机。所述计算机设备也可以是量子计算机。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的变分量子线路的线路参数更新方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的变分量子线路的线路参数更新方法。
可以理解,本说明书中的具体的示例只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程组成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种变分量子线路的线路参数更新方法,其特征在于,所述方法包括:
每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;
响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
2.如权利要求1所述的方法,其特征在于,所述基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数,包括:
基于前一迭代步的更新步长、当前迭代步的步长更新参数和当前迭代步对应的损失函数梯度序列,确定当前迭代步的试验更新量;
根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数;
基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,更新当前迭代步的更新步长和变分参数。
3.如权利要求2所述的方法,其特征在于,所述基于前一迭代步的更新步长、当前迭代步的步长更新参数和当前迭代步对应的损失函数梯度序列,确定当前迭代步的试验更新量,包括:
基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长;
获取所述试验更新步长和当前迭代步对应的损失函数梯度序列的乘积,作为当前迭代步的试验更新量;
所述根据前一迭代步确定的变分参数和当前迭代步的试验更新量,确定当前迭代步的试验变分参数,包括:
计算前一迭代步确定的变分参数与所述当前迭代步的试验更新量的差值,作为当前迭代步的试验变分参数。
4.如权利要求3所述的方法,其特征在于,所述步长更新参数包括数值固定的第一步长更新子参数和数值可变的第二步长更新子参数;
所述基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长,包括:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长。
5.如权利要求2所述的方法,其特征在于,所述基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,更新当前迭代步的更新步长和变分参数,包括:
判断所述试验变分参数对应的损失函数值是否满足:所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,所述试验变分参数对应的损失函数值与前一迭代步的损失函数值的比值在第一预设数值范围内;
基于判断结果,更新当前迭代步的更新步长和变分参数。
6.如权利要求4或5所述的方法,其特征在于,所述基于判断结果,更新当前迭代步的更新步长和变分参数,包括:
若满足,则将所述试验更新步长作为当前迭代步确定的更新步长,将所述试验变分参数作为当前迭代步确定的变分参数,并将所述第二步长更新子参数更新为第一预设值。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
若不满足,则将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值,和/或,与前一迭代步的损失函数值的比值在第一预设数值范围内。
8.如权利要求1所述的方法,其特征在于,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路包括损失函数值测量线路;
每一迭代步中,所述损失函数梯度序列基于以下步骤得到:
针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述损失函数值测量线路测量得到该变分参数调整后的一个目标损失函数值;
分别计算每一目标差值与所述预设差分步长∈之商,作为所述损失函数梯度序列中对应的一个元素;其中,所述目标差值为一个目标损失函数值与变分参数调整前的损失函数值之差。
9.如权利要求1所述的方法,其特征在于,所述量子操作得到的量子态通过预先构建的量子态测量线路进行测量,所述预先构建的量子态测量线路包括损失函数值测量线路和损失函数梯度测量线路;
所述损失函数梯度测量线路用于测量所述损失函数分解得到的每一微分梯度项,所述微分梯度项用于构建得到所述损失函数梯度序列。
10.一种变分量子线路的线路参数更新装置,其特征在于,所述装置包括:
测量模块,用于每一迭代步中,在量子芯片上运行变分量子线路对应的量子操作,并测量所述量子操作得到的量子态,获得当前的变分参数对应的损失函数值和损失函数梯度序列;
更新模块,用于响应当前所述损失函数值不收敛,基于所述变分量子线路中针对当前迭代步确定的变分参数的更新步长,更新所述变分参数;其中,所述变分参数的更新量由当前迭代步的更新步长和所述损失函数梯度序列共同决定;所述更新步长基于前一迭代步的更新步长和当前迭代步的步长更新参数得到。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1-9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1-9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410141071.7A CN118014090A (zh) | 2024-01-31 | 2024-01-31 | 一种变分量子线路的线路参数更新方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410141071.7A CN118014090A (zh) | 2024-01-31 | 2024-01-31 | 一种变分量子线路的线路参数更新方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118014090A true CN118014090A (zh) | 2024-05-10 |
Family
ID=90945840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410141071.7A Pending CN118014090A (zh) | 2024-01-31 | 2024-01-31 | 一种变分量子线路的线路参数更新方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118014090A (zh) |
-
2024
- 2024-01-31 CN CN202410141071.7A patent/CN118014090A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114492814B (zh) | 基于量子计算模拟目标体系能量的方法、装置及介质 | |
CN114418105B (zh) | 一种基于量子线路处理量子应用问题的方法及装置 | |
CN110135577A (zh) | 训练全连接神经网络的装置及方法 | |
CN114492815B (zh) | 一种基于量子化学计算目标体系能量的方法、装置及介质 | |
CN114519429B (zh) | 获取目标体系的可观测量的方法、装置及介质 | |
CN114936646A (zh) | 一种量子化数据处理方法和装置 | |
CN115618663B (zh) | 一种网格方程与物理方程耦合的量子求解方法及装置 | |
CN117436538A (zh) | 基于量子过程层析的量子通道确定方法及相关装置 | |
CN118014090A (zh) | 一种变分量子线路的线路参数更新方法及相关装置 | |
CN116245184B (zh) | 量子体系下的热化态制备方法、设备及存储介质 | |
CN118014089A (zh) | 一种线性方程组的量子计算模拟方法及相关装置 | |
CN116090274B (zh) | 基于量子计算的材料变形模拟方法、装置、终端及介质 | |
CN116340714B (zh) | 一种张量数据处理方法及相关装置 | |
CN116306952B (zh) | 一种分子性质预测方法、装置、存储介质及电子装置 | |
CN114418104B (zh) | 一种量子应用问题的处理方法及装置 | |
Sazo et al. | Evolution of two-dimensional grain boundary networks implemented in GPU | |
CN116070707A (zh) | 基于量子线路的线性系统求解方法、装置、介质及设备 | |
CN116957084A (zh) | 基于混合子空间的线性系统求解方法、装置、介质及设备 | |
CN116090571A (zh) | 基于广义极小残量的量子线性求解方法、装置及介质 | |
CN118227928A (zh) | 一种基于量子计算的线性方程组的求解方法及装置 | |
CN117113874A (zh) | 一种基于量子牛顿法的流体状态更新方法及相关装置 | |
CN117993150A (zh) | 代理模型训练方法、目标对象优化方法及相关装置 | |
CN116992970A (zh) | 一种量子模拟方法及装置 | |
CN117056646A (zh) | 一种用于子空间的变分量子线性求解方法、装置及介质 | |
CN116263883A (zh) | 基于多项式预处理器的量子线性求解方法、装置及设备 |
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 |