发明内容
本发明的目的是提供一种量子线路训练方法、装置、存储介质及电子装置,旨在实现提高量子线路输出结果的准确性。
为了实现上述目的,本发明实施例的第一方面,提供一种量子线路训练方法,所述方法包括:
复制待训练量子线路,得到多个第一量子线路;
对第一量子线路的结构和/或参数进行随机变异,得到多个不同的第二量子线路;
运行所述待训练量子线路和每一第二量子线路,并计算所述待训练量子线路和每一第二量子线路的损失函数值,得到多个损失函数值;
根据所述多个损失函数值,确定训练完成的量子线路。
可选的,所述根据所述多个损失函数值,确定训练完成的量子线路,包括:
确定所述多个损失函数中的最小损失函数值;
若所述最小损失函数值不满足预设条件,则将所述最小损函数值对应的第二量子线路作为待训练量子线路,并返回执行复制待训练量子线路,得到多个第一量子线路的步骤,直至所述最小损失函数值满足预设条件;
将所述最小损失函数值对应的第二量子线路作为训练完成的量子线路。
可选的,所述对第一量子线路的结构进行随机变异,包括:
通过量子逻辑门插入、量子逻辑门删除、量子逻辑门替换任一方式对第一量子线路的结构进行随机变异。
可选的,所述对第一量子线路的参数进行随机变异,包括:
通过随机参数修改第一量子线路的含参量子逻辑门的参数对第一量子线路的参数进行随机变异。
可选的,所述第二量子线路和待训练量子线路的损失函数值通过以下公式计算得到:
其中,C表示所述第二量子线路或所述待训练量子线路中量子逻辑门对应的酉矩阵,H为哈密顿量,表示初始量子态。
本发明实施例的第二方面,提供一种量子线路训练装置,所述装置包括:
复制模块,用于复制待训练量子线路,得到多个第一量子线路;
变异模块,用于对第一量子线路的结构和/或参数进行随机变异,得到多个不同的第二量子线路;
计算模块,用于运行所述待训练量子线路和每一第二量子线路,并计算所述待训练量子线路和每一第二量子线路的损失函数值,得到多个损失函数值;
确定模块,用于根据所述多个损失函数值,确定训练完成的量子线路。
本发明实施例的第三方面,提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面中任一项所述方法的步骤。
本发明实施例的第四方面,提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一方面中任一项所述方法的步骤。
本发明实施例的第五方面,提供一种量超协同系统,所述量超协同操作系统根据上述第一方面任一项中所述的方法实现量子线路训练。
本发明实施例的第六方面,提供一种量子计算机操作系统,所述量子计算机操作系统包括上述第一方面任一项所述的量子线路训练方法。
基于上述技术方案,通过对待训练量子线路复制,得到多个第一量子线路,对每一第一量子线路的结构和参数进行随机变异,计算每一得到的第二量子线路的损失函数值,根据计算得到的多个损失函数值确定训练完成的量子线路,通过对第一量子线路的结构和参数进行随机变异,避免了损失函数的梯度计算,使得训练完成的量子线路可以达到全局最优解,提高了量子线路输出结果的准确性。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种量子线路训练,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1是本发明实施例提供的一种量子线路训练方法的系统网络框图。应用于量子线路训练方法的系统可以包括网络110、服务器120、无线设备130、客户机140、存储单元150、经典处理系统160、量子处理系统170,还可以包括未示出的附加存储器、经典处理器、量子处理器和其他设备。
网络110是为应用于量子线路训练方法的系统网络内连接在一起的各种设备和计算机之间提供通信链路的介质,包括但不限于互联网、企业内部网、局域网、移动通信网及其组合,连接方式可以采用有线、无线通信链路或光纤电缆等。
服务器120和客户机140是常规的数据处理系统,可包含数据和具有执行常规计算过程的应用程序或软件工具。客户机140可以是个人计算机或网络计算机,故数据也可以是服务器120提供的。无线设备130可以是智能手机、平板、笔记本电脑、智能可穿戴设备等。存储单元150可以包括数据库151,其可以被配置为存储量子比特参数、量子逻辑门参数、量子线路、量子程序等数据。
经典处理系统160(量子处理系统170)可以包括用于处理经典数据(量子数据)的经典处理器161(量子处理器171)和用于存储经典数据(量子数据)的存储器163(存储器172),经典数据(量子数据)可以是引导文件、操作系统镜像、以及应用程序162(应用程序173),应用程序162(应用程序173)可以用于实现根据本发明实施例提供的量子线路训练方法编译的量子算法。
经典处理系统160(量子处理系统170)中存储或产生的任何数据或信息也可以被配置成以类似的方式在另一个经典(量子)处理系统中存储或产生,同样其执行的任何应用程序也可以被配置成以类似的方式在另一个经典(量子)处理系统中执行。
需要说明的是,真正的量子计算机是混合结构的,它至少包括图1中的两大部分:经典处理系统160,负责执行经典计算与控制;量子处理系统170,负责运行量子程序进而实现量子计算。
上述经典处理系统160和量子处理系统170可以是集成在一台设备中,也可以是分布在两台不同的设备之中。例如包括经典处理系统160的第一设备运行经典计算机操作系统,其上提供了量子应用程序开发工具和服务,以及还提供了量子应用程序所需的存储和网络服务。用户通过其上的量子应用程序开发工具和服务开发量子应用程序,以及通过其上的网络服务将量子程序发送至包括量子处理系统170的第二设备。第二设备运行量子计算机操作系统,通过量子计算机操作系统对该量子程序的代码进行解析,以及编译成量子计算机测控系统可以识别和执行的指令,量子处理器170根据该指令实现量子程序对应的量子算法。
在基于硅芯片的经典处理系统160中,经典处理器161的单元是CMOS管,这种计算单元不受时间和相干性的限制,即,这种计算单元是不受使用时长限制,随时可用。此外,在硅芯片中,这种计算单元的数量也是充足的,目前一个经典处理器中的计算单元的数量是成千上万的。计算单元数量的充足且CMOS管可选择的计算逻辑是固定的,例如:与逻辑。借助CMOS管运算时,通过大量的CMOS管结合有限的逻辑功能,以实现运算效果。
与经典处理系统160中的这种逻辑单元不同,量子处理系统170中量子处理器171的基本计算单元是量子比特,量子比特的输入受相干性的限制,也受相干时间的限制,即,量子比特是受使用时长限制的,并不是随时可用的。在量子比特的可用使用时长内充分使用量子比特是量子计算的关键性难题。此外,量子计算机中量子比特的数量是量子计算机性能的代表指标之一,每个量子比特通过按需配置的逻辑功能实现计算功能,鉴于量子比特数量受限,而量子计算领域的逻辑功能是多样化的,例如:哈德玛门(Hadamard门,H门)、泡利-X门(X门)、泡利-Y门(Y门)泡利-Z门(Z门)、X门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门等等。量子计算时,需借助有限的量子比特结合多样的逻辑功能组合实现运算效果。
基于这些不同,逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。基于此,针对如何在量子计算中实现量子线路训练,提高量子线路输出结果的准确性,本发明提出了一种量子线路训练方法、装置、存储介质及电子装置,旨在提高量子线路输出结果的准确性。
参见图2,图2是根据一示例性实施例示出的一种量子线路训练方法的流程图。本发明实施例提供了一种量子线路训练方法,该方法包括:
S201、复制待训练量子线路,得到多个第一量子线路。
其中,所述多个第一量子线路为至少两个量子线路,具体复制的第一量子线路的数量可以根据实际场景进行设置,例如可以复制3个第一量子线路。
针对给定哈密顿量为H的系统,初始量子态|ψ0>,构造关于该系统的量子线路(量子线路中量子逻辑门对应的酉矩阵C),得到待训练量子线路。为了得到该系统的最优解,需要对待训量子线路进行优化。
S202、对第一量子线路的结构和/或参数进行随机变异,得到多个不同的第二量子线路。
在本申请实施例中,上述对第一量子线路的结构进行随机变异,具体可以实现为:通过量子逻辑门插入、量子逻辑门删除、量子逻辑门替换任一方式对第一量子线路的结构进行随机变异。
本申请实施例中,可以按照预先设置的概率选择RX、RY和RZ等不同的逻辑门对每一第一量子线路的结构进行随机变异。例如,可以按照预先设置的0.3、0.3、0.4的概率来随机选择RX、RY和RZ。
如图3所示,图3为本申请实施例提供的一种第一量子线路结构随机变异的示例性示意图,图3所示的第一量子线路包括RZ门、RX门和受控RZ门,例如,在图3中可以通过量子逻辑门插入的方式对第一量子线路的结构进行随机变异,在RY门和RX门之间插入了一个随机选择的RX门,得到了第二量子线路。例如,可以通过删除量子逻辑门的方式对第一量子线路的结构进行随机变异,随机选择并删除了第一量子线路的RY门,得到了第二量子线路。再例如,还可以通过量子逻辑门替换的方式对第一量子线路的结构进行随机变异,通过作用于第1和第2两个量子比特的受控RZ门替换为了作用于第1和第3两个量子比特的受控RZ门,得到了第二量子线路。
在上述S202中,对第一量子线路的参数进行随机变异,具体可以实现为:通过随机参数修改第一量子线路的含参量子逻辑门的参数对第一量子线路的参数进行随机变异。
若在图3所示的第一量子线路中RY和RX门为含参量子逻辑门,则可以随机选取RY门或RX门,假设选取到了RY门,则可以通过随机参数修改RY门的参数对第一量子线路的参数进行随机变异。
通过上述方式对每一第一量子线路的结构和/或参数进行随机变异,得到的多个第二量子线路的结构和/或参数互不相同。
S203、运行待训练量子线路和每一第二量子线路,并计算待训练量子线路和每一第二量子线路的损失函数值,得到多个损失函数值。
具体的,可以将待训练量子线路和每一第二量子线路输入量子计算机中运行,待训练量子线路和第二量子线路的损失函数值通过以下公式计算得到
其中,C表示第二量子线路或待训练量子线路中量子逻辑门对应的酉矩阵,H为哈密顿量,表示初始量子态。
S204、根据多个损失函数值,确定训练完成的量子线路。
具体的,S204可以实现为:
确定多个损失函数中的最小损失函数值。
若最小损失函数值不满足预设条件,则将最小损函数值对应的第二量子线路作为待训练量子线路,并返回执行复制待训练量子线路,得到多个第一量子线路的步骤,直至最小损失函数值满足预设条件。将最小损失函数值对应的第二量子线路作为训练完成的量子线路。
其中,预设条件包括:预先设置的阈值或当前迭代计算的最小损失函数值和上一次迭代计算的最小损失函数值一致。
例如,待训练量子线路的损失函数为l0,3个第二量子线路的损失函数值分别为l1、l2和l3,假设损失函数值中l0、l1、l2和l3中最小损失函数值为l2,且l2未达到预设条件,则可以将l2对应的第二量子线路作为待训练量子线路。
采用本申请实施例,通过对待训练量子线路复制,得到多个第一量子线路,对每一第一量子线路的结构和参数进行随机变异,计算每一得到的第二量子线路的损失函数值,根据计算得到的多个损失函数值确定训练完成的量子线路,通过对第一量子线路的结构和参数进行随机变异,避免了损失函数的梯度计算,使得训练完成的量子线路可以达到全局最优解,提高了量子线路输出结果的准确性。
如图4所示,图4为本申请实施例提供的一种量子线路训练的流程示意图,下面结合图4对本申请实施例提供的量子线路训练方法进行说明。
步骤一、对待训练量子线路进行复制,得到3个第一量子线路。
步骤二、分别对三个第一量子线路的结构和/或参数进行随机变异,得到3个不同的第二量子线路。
步骤三、将3个第二量子线路输入量子计算机中运行,并计算待训练量子线路和每一第二量子线路的损失函数值。
其中,待训练量子线路的损失函数为l0,3个第二量子线路的损失函数值分别为l1、l2和l3。
步骤四、比较计算得到的损失函数值,确定最小损失函数值。
若最小损失函数值达到预设条件,则可以将最小损失函数值对应的第二量子线路作为训练完成的量子线路。
若最小损失函数值未达到预设条件,则将最小损失函数值对应的第二量子线路作为新的待训练量子线路,返回执行步骤一。
步骤五、将最小损失函数值对应的第二量子线路作为训练完成的量子线路。
采用本申请实施例,相比于现有技术中对损失函数进行梯度计算,只能在固定结构的量子线路上对连续的参数进行优化的训练方法,本申请实施例提供的量子线路训练方法可以对多个第一量子线路的结构或参数进行调整,得到多个不同的第二量子线路,相当于把第一量子线路的结构也当成一种可以调整的参数,本申请提供的训练方法始终选择损失函数值最小的第二量子线路作为新的待训练量子线路进行迭代,如此可以使得损失函数始终向着损失函数下降的方向进行,所以本申请提供的训练方法是收敛的,无需对损失函数进行梯度计算,避免了现有技术中梯度计算时出现贫瘠高原,梯度为0,只能得到局部最优解的情况,采用本申请实施例训练得到的量子线路可以达到全局最优解,量子线路的输出更加准确。
基于相同的发明构思,本申请实施例还提供了一种量子线路训练装置,如图5所示,该装置包括:
复制模块501,用于复制待训练量子线路,得到多个第一量子线路;
变异模块502,用于对第一量子线路的结构和/或参数进行随机变异,得到多个不同的第二量子线路;
计算模块503,用于运行所述待训练量子线路和每一第二量子线路,并计算所述待训练量子线路和每一第二量子线路的损失函数值,得到多个损失函数值;
确定模块504,用于根据所述多个损失函数值,确定训练完成的量子线路。
可选的,确定模块504,具体用于:
确定所述多个损失函数中的最小损失函数值;
若所述最小损失函数值不满足预设条件,则将所述最小损函数值对应的第二量子线路作为待训练量子线路,并触发复制模块501执行复制待训练量子线路,得到多个第一量子线路的步骤,直至所述最小损失函数值满足预设条件;
将所述最小损失函数值对应的第二量子线路作为训练完成的量子线路。
可选的,变异模块502,具体用于:
通过量子逻辑门插入、量子逻辑门删除、量子逻辑门替换任一方式对第一量子线路的结构进行随机变异。
可选的,变异模块502,具体用于:
通过随机参数修改第一量子线路的含参量子逻辑门的参数对第一量子线路的参数进行随机变异。
可选的,所述第二量子线路和待训练量子线路的损失函数值通过以下公式计算得到:
其中,C表示第二量子线路或待训练量子线路中量子逻辑门对应的酉矩阵,H为哈密顿量,表示初始量子态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明的再一实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述量子线路训练方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述量子线路训练方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤一、复制待训练量子线路,得到多个第一量子线路。
步骤二、对第一量子线路的结构或参数进行随机变异,得到多个不同的第二量子线路。
步骤三、运行待训练量子线路和每一第二量子线路,并计算待训练量子线路和每一第二量子线路的损失函数值,得到多个损失函数值。
步骤四、根据多个损失函数值,确定训练完成的量子线路。
在本申请又一实施例中,还提供了一种量超协同系统,所述量超协同操作系统根据上述量子线路训练方法实施例任一项中所述的方法实现量子线路训练。
本申请又一实施例中,还提供了一种量子计算机操作系统,所述量子计算机操作系统包括如上述实施例中所述的量子线路训练方法。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。