一种量子联邦学习方法及系统转让专利

申请号 : CN202310645770.0

文献号 : CN116366250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李亚麟张晓星高站勇邵烽

申请人 : 江苏微知量子科技有限公司

摘要 :

本发明公开了一种量子联邦学习方法及系统,其技术方案是:具体步骤如下:S101:融合计算节点初始化全局参数θ_0,并将初始化的全局参数利用量子计算节点的公钥加密后发送给对应的量子计算节点;S102:量子计算节点利用自己的私钥对接收到的加密信息进行解密,得到θ_0,利用θ_0对本地的变分量子线路VQC模型进行初始化,并循环迭代的执行如下步骤:在第t+1次循环迭代过程中,对于每一个量子计算节点,执行下列计算步骤,其中,t初始值为0;S103:当上述VQC模型收敛时,停止S102迭代过程,得到训练好的VQC模型,本发明有益效果是:保障了各方隐私,具有更高的性能,可以加快收敛速度,进而降低通信成本。

权利要求 :

1.一种量子联邦学习方法,其特征在于,包括:

S101:融合计算节点初始化全局参数θ0,并将初始化的全局参数利用量子计算节点的公钥加密后发送给对应的量子计算节点;

S102:量子计算节点利用自己的私钥对接收到的加密信息进行解密,得到θ0,利用θ0对本地的变分量子线路VQC模型进行初始化,并循环迭代的执行如下步骤:在第t+1次循环迭代过程中,对于每一个量子计算节点,执行下列计算步骤,其中,t初始值为0;

S1021:将本地训练数据输入本地VQC模型,得到输出结果;

S1022:基于输出结果利用如下梯度下降公式更新本地参数得到

其中, 表示第i个量子计算节点第t次迭代后得到的参数,ηi表示第i个量子计算节点的学习步长, 为第i个量子计算节点对应的伪逆矩阵, 表示第i个量子计算节点中VQC模型的损失函数的梯度,Li表示第i个量子计算节点中VQC模型的损失函数,i∈(1,n),n为量子计算节点数量;

S1023:各量子计算节点利用公钥QKpu对得到 加密后的 发送给融合计算节点,融合计算节点基于同态加密原理计算全局参数的加密信息,具体如下:

其中,wi表示第i个量子计算节点的权重, 为第i个量子计算节点第t+1次迭代训练后的参数,θt+1为t+1次迭代训练后融合计算得到的全局参数,E()表示具有同态性质的加密函数;

S1024:融合计算节点将E(θt+1)发送给各个量子计算节点,各个量子计算节点利用私钥QKpr对其解密得到全局参数θt+1,并利用该全局参数θt+1更新自己的VQC模型,返回S1021进入执行下一次迭代;

S103:当上述VQC模型收敛时,停止S102迭代过程,得到训练好的VQC模型。

2.根据权利要求1所述的一种量子联邦学习方法,其特征在于:所述步骤S1022中的损失函数为平方损失函数或交叉熵损失函数。

3.根据权利要求1所述的一种量子联邦学习方法,其特征在于:所述步骤S102中,VQC模型包括编码模块、不含参量子计算模块和含参量子计算模块,不含参量子计算模块和含参量子计算模块构成量子计算层。

4.根据权利要求3所述的一种量子联邦学习方法,其特征在于:所述编码模块包括作用于所述VQC模型中每个量子比特的RY门。

5.根据权利要求3所述的一种量子联邦学习方法,其特征在于:所述不含参量子计算模块包括作用于所述VQC模型中量子比特的CNOT门。

6.根据权利要求3所述的一种量子联邦学习方法,其特征在于:所述含参量子计算模块包括RX门、RY门和RZ门中的至少一者,用于作用于所述VQC模型中的量子比特。

7.一种用于实现权利要求1‑6任意一项所述的量子联邦学习方法的量子联邦学习系统,其特征在于:包括融合计算节点(110)和量子计算节点一(121)、量子计算节点二(122)、量子计算节点三(123),融合计算节点为实现经典计算的服务器,量子计算节点为量子计算机,融合计算节点和量子计算节点通过经典信道通信,融合计算节点数量为1个,量子计算节点的数量为多个;

融合计算节点为第三方,用于对各个量子计算节点发送的更新参数进行融合计算,得到全局更新参数,量子计算节点拥有本地训练数据,用于利用训练数据对自身的变分量子线路VQC进行训练,每个量子计算节点的VQC模型均相同,对每个量子计算节点,其拥有相同的公钥QKpu和私钥QKpr。

说明书 :

一种量子联邦学习方法及系统

技术领域

[0001] 本发明涉及联邦学习技术领域,具体涉及一种量子联邦学习方法及系统。

背景技术

[0002] 联邦学习是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,量子计算是一种新兴的计算方式,基于量子态的叠加纠缠等实现数据运算,相比于经典计算方式,其计算速度大大加快,具有非常高的应用潜力,VQC(variational quantum circuit,变分量子线路)是一类含参数的量子计算线路模型,用于实现变分量子算法(VQA,variational quantum algorithm),与机器学习类似,其可以通过训练参数得到实用的量子线路。
[0003] 现有的一方面各量子计算节点不愿将自己的隐私数据与其他方分享,另一方面量子计算的计算数据为量子态数据,而通过量子信道分享量子态数据具有成本高,效率低的问题。

发明内容

[0004] 为此,本发明提供一种量子联邦学习方法及系统,以解决成本高,效率低的问题。
[0005] 为了实现上述目的,本发明提供如下技术方案:一种量子联邦学习方法,包括:
[0006] S101:融合计算节点初始化全局参数 ,并将初始化的全局参数利用量子计算节点的公钥加密后发送给对应的量子计算节点。
[0007] S102:量子计算节点利用自己的私钥对接收到的加密信息进行解密,得到 ,利用对本地的变分量子线路VQC模型进行初始化,并循环迭代的执行如下步骤:
[0008] 在第t+1次循环迭代过程中,对于每一个量子计算节点,执行下列计算步骤,其中,t初始值为0;
[0009] S1021:将本地训练数据输入本地VQC模型,得到输出结果;
[0010] S1022:基于输出结果利用如下梯度下降公式更新本地参数得到  :
[0011]
[0012] 其中,   表示第i个量子计算节点第t次迭代后得到的参数,  表示第i个量子计算节点的学习步长,  为第i个量子计算节点对应的伪逆矩阵,  表示第i个量子计算节点中VQC模型的损失函数的梯度,  表示第i个量子计算节点中VQC模型的损失函数,  ,n为量子计算节点数量;
[0013] S1023:各量子计算节点利用公钥  对得到  加密后的 发送给融合计算节点,融合计算节点基于同态加密原理计算全局参数的加密信息,具体如下:
[0014]
[0015] 其中,  表示第i个量子计算节点的权重,  为第i个量子计算节点第t+1次迭代训练后的参数,  为t+1次迭代训练后融合计算得到的全局参数,  表示具有同态性质的加密函数;
[0016] S1024:融合计算节点将  发送给各个量子计算节点,各个量子计算节点利用私钥  对其解密得到全局参数  ,并利用该全局参数  更新自己的VQC模型,返回S1021进入执行下一次迭代;
[0017] S103:当上述VQC模型收敛时,停止S102迭代过程,得到训练好的VQC模型。
[0018] 优选的,所述步骤S1022中的损失函数为平方损失函数或交叉熵损失函数。
[0019] 优选的,所述步骤S102中,VQC模型包括编码模块、不含参量子计算模块和含参量子计算模块,不含参量子计算模块和含参量子计算模块构成量子计算层。
[0020] 优选的,所述编码模块包括作用于所述VQC模型中每个量子比特的RY门。
[0021] 优选的,所述不含参量子计算模块包括作用于所述VQC模型中量子比特的CNOT门。
[0022] 优选的,所述含参量子计算模块包括RX门、RY门和RZ门中的至少一者,用于作用于所述VQC模型中的量子比特。
[0023] 一种量子联邦学习系统,包括融合计算节点110和量子计算节点一121、量子计算节点二122、量子计算节点三123,融合计算节点为实现经典计算的服务器,量子计算节点为量子计算机,融合计算节点和量子计算节点通过经典信道通信,融合计算节点数量为1个,量子计算节点的数量为多个;
[0024] 融合计算节点为第三方,用于对各个量子计算节点发送的更新参数进行融合计算,得到全局更新参数,量子计算节点拥有本地训练数据,用于利用训练数据对自身的变分量子线路VQC进行训练,每个量子计算节点的VQC模型均相同,
[0025] 对每个量子计算节点,其拥有相同的公钥  和私钥  。
[0026] 本发明实施例具有如下优点:
[0027] 1、 量子联邦学习框架,即各量子计算节点利用本地数据更新参数后,发送至融合计算节点计算全局变量,再返回各量子计算节点以更新本地模型,融合计算节点仅能获取加密的参数信息,而各个计算节点即使共享公钥私钥,也没有其他量子计算节点的参数信息,因此各方都无法直接获取其他方的参数,进而保障了各方隐私;
[0028] 2、 采用的梯度下降算法相比于传统的梯度下降算法如随机梯度下降算法(SGD)具有更高的性能,可以加快收敛速度,进而降低通信成本,融合计算节点采用的融合计算方法更新全局参数,能综合利用各个量子计算节点的参数,加快全局训练速度,利用了同态加密,使得各量子计算节点的参数不被融合计算节点获知,同时保障了融合计算的顺利进行。

附图说明

[0029] 为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0030] 本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
[0031] 图1为本发明提供的整体系统结构示意图;
[0032] 图2为本发明提供的VQC模型图一;
[0033] 图3为本发明提供的VQC模型图二;
[0034] 图4为本发明提供的VQC模型图三;
[0035] 图5为本发明提供的VQC模型图四。
[0036] 图中:110、融合计算节点;121、量子计算节点一;122、量子计算节点二;123、量子计算节点三。

具体实施方式

[0037] 以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] VQC模型用于执行特定的量子计算。量子计算由量子计算机执行完成,一般而言,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
[0039] 在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
[0040] 量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线)、以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
[0041] 不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
[0042] 一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至成千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
[0043] 需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利‑X门(X门,泡利X门)、泡利‑Y门(Y门,泡利Y门)、泡利‑Z门(Z门,泡利Z门)、RX门(RX旋转门)、RY门(RY旋转门)、RZ门(RZ旋转门)等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的向量进行计算。例如,量子态右矢|0>对应的向量可以为  ,量子态右矢|1>对应的向量可以为  。
[0044] 参照附图1‑5本发明提供的一种量子联邦学习方法,包括:
[0045] S101:融合计算节点初始化全局参数 ,并将初始化的全局参数利用量子计算节点的公钥加密后发送给对应的量子计算节点;
[0046] S102:量子计算节点利用自己的私钥对接收到的加密信息进行解密,得到  ,利用  对本地的变分量子线路VQC模型进行初始化,并循环迭代的执行如下步骤:
[0047] 在第t+1次循环迭代过程中,对于每一个量子计算节点,执行下列计算步骤,其中,t初始值为0
[0048] S1021:将本地训练数据输入本地VQC模型,得到输出结果;
[0049] S1022:基于输出结果利用如下梯度下降公式更新本地参数得到 
[0050]
[0051] 其中,  表示第i个量子计算节点第t次迭代后得到的参数,  表示第i个量子计算节点的学习步长,  为第i个量子计算节点对应的伪逆矩阵,  表示第i个量子计算节点中VQC模型的损失函数的梯度,  表示第i个量子计算节点中VQC模型的损失函数,i∈(1,n),n为量子计算节点数量;
[0052] 具体来讲,损失函数根据输出结果计算得到,例如可以为平方损失函数、交叉熵损失函数等;
[0053] 参见图2,VQC模型,包括编码模块、不含参量子计算模块和含参量子计算模块,不含参量子计算模块和含参量子计算模块构成量子计算层,同一个VQC模型中量子计算层可以有多个,(图2中,  下方为编码模块,  下方为不含参量子计算模块,  下方为含参量子计算模块);在一种可能的实施方式中,所述编码模块包括作用于所述VQC模型中每个量子比特的RY门,所述不含参量子计算模块包括作用于所述VQC模型中量子比特的CNOT门,所述含参量子计算模块包括RX门、RY门和RZ门中的至少一者,用于作用于所述VQC模型中的量子比特。
[0054] 编码模块将输入的经典数据  转化为量子态  ,不含参量子计算模块由一个或多个CNOT门构成,对于第l个量子计算层的不含参量子计算模块用  表示,含参量子计算模块由多个RX门、RY门和RZ门构成,其参数为所训练的参数,第l个量子计算层的含参量子计算模块用  表示。
[0055] 矩阵由所有量子计算层对应的子矩阵 按对角排列构成,计算方法如下:
[0056]
[0057]
[0058] 其中,对于每个含参量子计算模块可表达为  ,  为  的厄米生成算符,l为量子计算层的数量,r和s为序号。
[0059] 对于图3所示的包含2层量子计算层的VQC模型,参见图3,该VQC模型包括3个量子比特,作用于3个量子比特的一个编码模块以及两个量子计算层,编码模块包括3个分别作用于3个量子比特的RY门,RY门的参数为  与输入数据的乘积。在作用于量子比特的第一个量子计算层中,不含参量子计算模块包括2个CNOT门,第一个CNOT门作用于前两个量子比特,第二个CNOT门作用于后两个CNOT门,含参量子计算模块包括两个分别作用于前两个量子比特的RZ门。在作用于量子比特的第二个量子计算层中,不含参量子计算模块包括2个CNOT门,第一个CNOT门作用于前两个量子比特,第二个CNOT门作用于后两个CNOT门,含参量子计算模块包括两个分别作用于后两个量子比特的RY门和RX门。
[0060] 对于该VQC模型,其对应的伪逆矩阵  为:
[0061]
[0062] 其中:
[0063]
[0064] 参见图4,  , 通过分别测量编码模块输出的第1个和第2个量子比特的量子态得到,也即用于输入第一个量子计算层的量子态。参见图5,  ,  通过分别测量第一个量子计算层输出的第2个和第3个量子比特的量子态得到,也即用于输入第二个量子计算层的量子态。
[0065] S1023:各量子计算节点利用公钥 对得到  加密后的  )发送给融合计算节点,融合计算节点基于同态加密原理计算全局参数的加密信息,具体如下:
[0066]
[0067] 其中,  表示第i个量子计算节点的权重,  为第i个量子计算节点第t+1次迭代训练后的参数,  为t+1次迭代训练后融合计算得到的全局参数,  表示具有同态性质的加密函数。
[0068] 同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。具体来讲,各个量子计算节点可以基于加密函数  ,利用相同的公钥  对各自本地的参数  进行加密,然后将加密后的信息发送至融合计算节点,由融合计算节点直接对加密的信息进行上述计算,得到全局参数的加密信息。如此可以避免融合计算节点获取全局参数的相关信息,提高了计算过程的保密性。
[0069] S1024:融合计算节点将  发送给各个量子计算节点,各个量子计算节点利用私钥  对其解密得到全局参数 ,并利用该全局参数 更新自己的VQC模型,返回S1021进入执行下一次迭代。
[0070] 具体来讲,融合计算节点将计算得到的  发送给各个量子计算节点,各量子计算节点对其解密即得到全局参数,然后利用全局参数更新本地的VQC模型,完成1次迭代训练过程。
[0071] S103:当上述VQC模型收敛时,停止S102迭代过程,得到训练好的VQC模型。
[0072] 具体来讲,可以预先设定迭代次数的阈值,当实际迭代次数小于阈值时,认为VQC模型没有收敛;当实际迭代次数大于或等于阈值时,认为VQC模型收敛,进而停止迭代过程,将最后得到的VQC模型作为训练好的VQC模型。
[0073] 本发明的另一方面,参见图1,还提供一种量子联邦学习系统,包括融合计算节点110和量子计算节点一121、量子计算节点二122、量子计算节点三123,融合计算节点为实现经典计算的服务器,量子计算节点为量子计算机,融合计算节点和量子计算节点通过经典信道通信,融合计算节点数量为1个,量子计算节点的数量为多个。
[0074] 融合计算节点为第三方,用于对各个量子计算节点发送的更新参数进行融合计算,得到全局更新参数,量子计算节点拥有本地训练数据,用于利用训练数据对自身的变分量子线路VQC进行训练,每个量子计算节点的VQC模型均相同,
[0075] 对每个量子计算节点,其拥有相同的公钥 和私钥  。
[0076] 具体来讲,该量子联邦学习系统中的融合计算节点和各个量子计算节点可以用于实现上述量子联邦学习方法中的各个步骤,此处不再赘述。
[0077] 以上所述,仅是本发明的较佳实施例,任何熟悉本领域的技术人员均可能利用上述阐述的技术方案对本发明加以修改或将其修改为等同的技术方案。因此,依据本发明的技术方案所进行的任何简单修改或等同置换,尽属于本发明要求保护的范围。