训练量子线路及数据嵌入的方法与流程

文档序号:29945188发布日期:2022-05-07 15:54阅读:156来源:国知局
训练量子线路及数据嵌入的方法与流程

1.本技术实施例大体上涉及量子计算领域,更具体地,涉及训练量子线路及数据嵌入的方法。


背景技术:

2.近年来,机器学习已在众多领域中得到了大量的应用。作为人工智能的核心,随着大数据时代各行业对数据分析需求的持续增加,如何基于机器学习对复杂多样的数据进行深层次的分析,更高效地利用信息成为当前大数据环境下机器学习研究的主要方向。为进一步优化传统机器学习,人们对利用量子线路辅助机器学习已开始有所研究。然而,目前的训练量子线路的方法较少。
3.因此,本技术提出一种训练量子线路及数据嵌入的方法。


技术实现要素:

4.本技术实施例的目的之一在于提供一种训练量子线路及数据嵌入的方法,与传统模型相比,其可减少需训练的参数量,所用的存储介质,即量子比特数目也大幅减少。
5.本技术的一实施例提供一种训练量子线路的方法,其包括:构建待训练的量子线路;以及用目标中的数据进行训练以更新量子线路,其中训练包括:将所用数据编码为量子态;以及将当前量子线路作用于该量子态。
6.本技术的另一实施例提供一种数据嵌入的方法,其包括:将待嵌入的数据编码为量子态;构建量子线路;以及将量子线路作用于量子态,其中该量子线路包括经训练的变分线路。
7.本技术的再一实施例还提供一种量子计算机,其经配置以实现上述训练量子线路或数据嵌入的方法。
8.本技术对的第四实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,其中处理器执行该计算机程序以时实现上述训练量子线路或数据嵌入的方法。
9.与现有技术相比,本技术实施例提供的训练量子线路及数据嵌入的方法,可有效提高数据处理速度与准确度。
附图说明
10.在下文中将简要地说明为了描述本技术实施例或现有技术所必要的附图以便于描述本技术的实施例。显而易见地,下文描述中的附图仅只是本技术中的部分实施例。对本领域技术人员而言,在不需要创造性劳动的前提下,依然可以根据这些附图中所例示的结构来获得其他实施例的附图。
11.图1为根据本技术一些实施例的训练量子线路的方法的示意图。
12.图2-4为根据本技术一些实施例的纠缠层的结构示意图。
13.图5为根据本技术一些实施例的数据嵌入的方法的示意图。
14.图6为根据本技术一些实施例的分子结构的示意图。
具体实施方式
15.为更好的理解本技术实施例的精神,以下结合本技术的部分优选实施例对其作进一步说明。
16.本技术的实施例将会被详细的描示在下文中。在本技术说明书全文中,将相同或相似的组件以及具有相同或相似的功能的组件通过类似附图标记来表示。在此所描述的有关附图的实施例为说明性质的、图解性质的且用于提供对本技术的基本理解。本技术的实施例不应该被解释为对本技术的限制。
17.另外,为便于描述,“第一”、“第二”、“第三”等等可在本文中用于区分一个图或一系列图的不同组件。“第一”、“第二”、“第三”等等不意欲描述对应组件。
18.在对本技术技术方案进行介绍之前,首先对本技术中涉及的一些关键术语进行解释说明:
19.1.量子计算:基于量子逻辑的计算方式,存储数据的基本单元是量子比特。
20.2.量子比特:量子计算的基本单元。传统计算机使用0和1作为二进制的基本单元。不同的是量子计算可以同时处理0和1,使得系统可以处于0和1的线性叠加态:|ψ》=α|0》+β|1》,这边α,β代表系统在0和1上的复数概率幅。它们的模平方|α|2,|β|2分别代表处于0和1的概率。
21.3.量子线路:量子通用计算机的一种表示,代表了相应量子算法/程序在量子门模型下的硬件实现。若量子线路中包含可调的控制量子门的参数,则被称为参数化的量子线路。
22.4.量子门:常使用矩阵表示,操作n个量子比特的门可以用2nx2n的酉矩阵表示。一个门输入跟输出的量子比特数量必须要相等。量子门的操作可以用代表量子门的矩阵与代表量子比特状态的向量作相乘来表示。
23.5.旋转门:旋转门是量子门的一种,是一组三个2
×
2的幺正厄米复矩阵(又称酉矩阵)。其中,旋转x门为旋转y门为旋转z门为旋转z门为
24.6.量子经典混合计算:一种内层利用量子线路进行计算得出相应物理量或损失函数,外层用传统的经典优化器调节量子线路变分参数的计算范式,可以最大限度地发挥量子计算的优势,被相信是有潜力证明量子优势的重要方向之一。
25.本技术使用量子计算的方法开发出了训练量子线路以用于数据嵌入的方法,通过使用量子计算的方法,有效提高了模型学习能力和运行效率。
26.图1为根据本技术一些实施例中的一种训练量子线路的方法示意图。该方法包括构建待训练的量子线路101;以及用目标中的数据进行训练以更新量子线路101,目标可包括训练集或者测试集。其中,训练量子线路101包括:将数据使用编码线路u(x)编码为量子
态(图1中的100);以及将当前量子线路作用于该量子态。
27.在本技术另一些实施中,训练量子线路的方法还可包括在计算基底上进行测量;以及将所测量的结果输入到经典神经网络。
28.如图1所示,量子线路101可为变分线路,其作用效果可用算符v(θ)来表示,通过使用本技术的训练方法可以将v(θ)训练为合适的酉变换。
29.上述目标中的数据可由第一数据库中的一或多个第一数据组成,比如,目标中的数据可为缺失了一或多个第一数据的数据。第一数据库由所有的第一数据组成。
30.本技术所提出的训练量子线路的方法可以更好地反映不同的第一数据之间或数据与第一数据之间的关联性。尤其对于复杂问题的计算,使用量子机器学习不仅可以加快计算速度,同时还可以提高计算精度。
31.在一些实施例中,训练量子线路的方法还包括:对第一数据库进行预处理。该预处理可包括将第一数据库中的每个第一数据映射到不同的编号,以及将每个第一数据按照编号映射到希尔伯特空间的计算基底。
32.例如,按照某种方式为每个第一数据分配一个数字编号(可以随意分配,也可以按照已有的分配规则,也可以将共同出现的第一数据编码为相近的编号,方法不一),一旦约定好了,就不可更改,这些编号组成了编码线路u(x)的输入x,也决定了编码后输出的量子态。
33.在一些实施例中,可以预先把第一数据库(设第一数据库的大小为v)中的每个第一数据以某种方式一一映射到0,1,2,3
……
v-1这些编号,映射方式随意,也可以将共同出现的第一数据编码为相近的编号,然后将每个第一数据按照编号映射到n个量子比特的2n个希尔伯特空间的基底(要求2n≥v即n≥log2v),例如0号第一数据对应|0》态矢,634号第一数据对应|634》,999号第一数据对应|999》,依此类推。
34.在一些实施例中,第一数据库预处理完成后,对于一个输入,例如,目标中的任一数据,设输入中含有c个词分别对应基底|x1》、|x2》、......、|xc》,u(x)将把量子比特(qubit)从初始态(出于简便用|0》代替)变换为一个等权重叠加态:)变换为一个等权重叠加态:依次构建图1中的u(x)使之能将所用的目标中的数据编码为量子态。
35.与传统模型中把第一数据映射为矢量空间的一个矢量不同,本技术将每个第一数据映射为希尔伯特空间的一个态矢,映射方式可以通过参数化量子线路训练得来,通过训练出具有一组合适的酉变换的参数的量子线路,将数据映射为希尔伯特空间的态矢,使得该态矢在各个计算基底上的投影可以反映数据与相应数据(如所缺失的一或多个第一数据)的关联性。
36.在一些实施例中,将所用数据编码为量子态包括:将所用数据编码为等权重叠加态,例如以及对每个量子比特进行一或多种量子门操作,其中每个量子比特包括第i个量子比特,且i=1,2,

,n。
37.在一些实施例中,数据可被描述为计算基底下通用的展开式依次遍历每个量子比特做如下操作:对于第i个量子比特,计算出2i个参数,其中所述参数
可为其中d=1,2,3,

,2i,以及对第i个量子比特依次执行2
i-1
个受控旋转门。此外,可用索引a=0,1,2,

,2
i-1-1表示这些受控旋转门,控制量子比特为前i-1个量子比特,受控旋转门a执行的是:如果前i-1个量子比特处于|a》,则旋转第i个量子比特,例如,将|0》旋转为否则什么都不做。以此构建了u(x)。
38.虽然上述流程涉及的受控门数量正比于2n,但由于大部分ck=0所以大部分p
i,d
=0,实际需要的受控门数量远小于2n。
39.本技术提出的将数据编码为量子态的方法可以用较少的量子比特编码更多的信息,通过将输入数据转化为量子叠加态的形式,将输入数据制备为量子态,以便于进行下一步的量子计算。当然,将所用数据编码为量子态并不局限于上述编码方法,可根据具体的输入数据构建编码线路u(x)。
40.例如,根据输入数据的具体情况,当使用4个量子比特的线路时,其对应的标签为2,由于2的二进制表示为0010,只需将u(x)中的受控旋转门的参数分别设为0、0、π和0即可,以此来对输入数据进行编码。
41.在一些实施例中,量子线路101可由两个子模块构成,一是由n层纠缠层组成的纠缠模块[如图1中的li(θ)],二是由单比特任意旋转门组成的单比特旋转模块。
[0042]
纠缠模块:由n层纠缠层组成,层数n的值可以根据需求自行选择,一般而言n越大,训练效果越好。纠缠层的作用是在不同量子比特之间施加两比特门,比如受控非(cnot)门,从而生成纠缠。每个纠缠层,又可分为两部分:参数化单比特旋转模块和结构固定的两比特操作模块(结构固定指的是没有可调的参数)。
[0043]
图2-4为根据本技术的一些实施例的纠缠层的结构示意图。如图2-4所示,其中参数化单比特操作模块是由3个分别绕着y轴、z轴、y轴的旋转操作组合而来,可调参数是旋转的角度。这是一种欧拉旋转分解,意味着这样的参数化的旋转可以组合成任意单比特旋转操作。而两比特操作模块则有多种可行的设计方案。如图2-4所示,两比特操作模块分别是三种典型的纠缠层结构,分别使用了最近邻cnot环结构(图2中的105)、次近邻cnot环结构(图3中的106)和两者结合的结构(图4中的107)。这些例子所需两比特门的数目都在o(nlog2v),v是第一数据库的大小,n是纠缠层的层数。当然本技术的纠缠模块并不局限于举例的这几种。
[0044]
单比特旋转模块:该模块由针对n个量子比特的n个单比特任意旋转门组成。任意旋转门,由3个分别绕着y轴、z轴、y轴的旋转操作组合而来,可调参数是旋转的角度。这是一种欧拉旋转角分解,这样的参数化的旋转可以组合成任意单比特旋转操作。
[0045]
v(θ)中的参数都是作为单比特旋转门的旋转角出现的,当需要测量某个力学量的期望值《m》对某个参数θj的导数时,可以应用参数移位定则,如上述提到的测量期望值及期望值的偏导数的方法进行计算。
[0046]
在一些实施例中,训练量子线路的方法还包括:在计算基底上进行多次测量(图1中的102)以得到模型预测值,例如期望值,以及比较模型预测值与参考值的差异,其中参考值与所用数据相对应。
[0047]
在一些实施例中,训练量子线路的方法还包括:根据损失函数使用梯度下降法更
新量子线路101,例如更新v(θ)中的参数θ。
[0048]
可根据需要的精度对所用数据进行重复训练,通过进行多次测量以得到计算基底上的塌缩概率分布,并将其作为模型预测值,比如“缺失的一或多个第一数据可能是什么”的概率分布,将第一数据库中的真实概率分布作为参考值,自由选择损失函数(比如交叉熵函数)来衡量模型预测值与参考值的差异,根据期望值及其偏导数计算损失函数及其梯度。
[0049]
例如,如图1所示,m是任意一个可测量物理量,例如用《m》来表示多个m的期望值,欲测量可以应用参数移位定则,先保持其余参数不变,用代替θj,重复运行线路多次(次数由精度要求决定),测得一个期望值再保持其余参数不变,用代替θj,重复运行线路多次(次数由精度要求决定),测得一个期望值将和相减后除以2便可得到欲测量的偏导数
[0050]
在一些实施例中,由于量子线路中所用参数少,也可进一步使用经典神经网络进行拟合处理,以进一步提高训练效率。例如可将测量的结果,如期望值,输入到经典神经网络,如一或多层感知机中,例如作为由一层或多层全连接层构成的多层感知机的输入,根据输出来预测与目标中的所用数据相应的数据,如“缺失的一或多个第一数据是什么”的概率分布。
[0051]
在一些实施例中,目标可以是训练集,用训练集中的不同数据进行多次训练以更新量子线路,直至遍历整个训练集,将整个训练集迭代训练r次(r可自由选择),以提高训练质量。
[0052]
在一些实施例中,目标也可为测试集,训练量子线路的方法还包括判断是否训练完成:根据预测值和参考值的差异计算损失函数并判断是否小于选定的阈值。如果测试集中的所选数据计算得的损失函数均小于某个选定的阈值,则结束训练,否则继续训练量子线路101,直到能通过测试集的测试为止。
[0053]
本技术的实施例还提供了一种数据嵌入的方法。图5为根据本技术一些实施例的数据嵌入的方法的示意图。如图5所示,该方法可包括:将输入数据编码为量子态(200);构建量子线路201;以及将量子线路201作用于量子态,其中量子线路201包括经训练的变分线路。
[0054]
在本技术的一些实施例中,可使用上述训练量子线路101的方法得到经构建的量子线路201。
[0055]
在本技术的一些实施例中,将输入数据编码为量子态与上述将输入数据编码为量子态的方法相类似。
[0056]
在一些实施例中,可根据实际需求,在对经量子线路201作用后的量子态进行测量后,将结果输入到一或多层感知机中,例如作为由一层或多层全连接层构成的多层感知机的输入,以完成数据的嵌入。
[0057]
通过进行多次测量202可得知与输入数据最相关联的相应的数据。由于本技术中的数据嵌入方法使用了量子计算的方法,其计算速度与准确度都得到了很大的提升。
[0058]
本技术训练量子线路及数据嵌入的方法使得需要训练的参数量大大减少,用到的存储介质,即量子比特数目也大大减少,同时,由于量子态天然就是归一化的,可以省去传统方法中非常消耗算力的归一化指数函数层(softmax)概率归一操作,从而使得数据嵌入的方法更便捷、准确。
[0059]
本技术的上述训练量子线路及数据嵌入的方法可应用于多个不同的领域。比如在自然语言处理(nlp)领域,根据上述训练量子线路的方法可得到具有合适的酉变换参数的量子线路,从而将单词、文本映射为希尔伯特空间的态矢,使得该态矢在各个计算基底上的投影可以反映词与词、文本与词的关联性。
[0060]
类似地,在化学分子特征学习中,使用上述训练量子线路及数据嵌入的方法可以学习分子的子结构在化学空间中的向量,并通过各个子结构求和最终得到整个化合物编码的向量。通过将化合物子结构映射为希尔伯特空间的态矢,使得该态矢在各个计算基底上的投影可以反映各个化合物子结构的关联性。克服了传统分子特征表示的缺点,例如稀疏性和位冲突,可用于活性预测,相似性检索等下游任务。
[0061]
图6为根据本技术一些实施例的分子结构10的示意图。
[0062]
根据本技术的一些实施例,对分子子结构库进行预处理还包括以下步骤:可以从zink与chembl数据库下载化合物集合,对已知的化合物集合进行去重,使用化学信息学工具rdkit对保留在化合物集合中分子量在12-600,重原子数在3-50,脂水分配系数clogp在-5到7,和只包含h氢,b硼,c碳,n氮,o氧,f氟,p磷,s硫,cl氯和br溴元素的化合物,其余删除,然后对每个化合物的smiles进行标准化,使用morgan算法,参数半径设置为0和1,得到每个原子标识11,然后将所有的原子标识按顺序组合成分子结构10,如图6所示。其中,对于出现次数少于三次的原子标识可被替换为“unseen”。
[0063]
类似地,在蛋白质序列特征学习方法中,将氨基酸映射为希尔伯特空间的态矢,使得该态矢在各个计算基底上的投影可以反映各个氨基酸的关联性。通过模型预训练产生的蛋白质序列有效地提取了一系列物理化学性质,可用于蛋白质家族分类,蛋白质结构预测,蛋白质相互作用等下游任务。
[0064]
应理解,虽然上述实施例中将训练量子线路及数据嵌入的方法分别应用在了语言处理、分子特征学习及蛋白质序列特征学习中,但是这仅只是用于说明本技术提供的一些应用的示范性实施例,而不应理解为对本技术所保护范围的限制。根据本技术的另一些实施例,上述训练量子线路及数据嵌入的方法也可应用于其它领域,比如生物、医药、金融等,例如基因学习的方法也可利用上述训练量子线路及数据嵌入的方法。
[0065]
在一些实施例中,基因学习的方法还包括:根据所述神经网络的输出得到模型预测值,比较模型预测值与参考值的差异,其中参考值与所用基因相关,例如参考值为与所用基因相对应的共表达基因对中的另一基因的真实概率分布。
[0066]
对于所用目标中的基因,例如一组共表达基因对中的一个基因,神经网络的输出可为该组共表达基因对中的真实另一基因的概率分布。
[0067]
将两个基因输入上述的基因嵌入模型后,得到各自对应的向量并将它们结合起来,如将两个向量进行叠加,通过输入到一个基因相互作用神经网络模型中(如两层神经网络),可以预测两个基因之间的相互作用
[0068]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序以被处理
器执行时实现上述训练量子线路及数据嵌入的方法。
[0069]
本技术实施例还提供一种可实现上述训练量子线路及数据嵌入的方法的量子计算机,其经配置以实现上述训练量子线路及数据嵌入的方法。例如,该量子计算机可包括处理单元以及存储设备,其中存储设备包括能够执行上述训练量子线路及数据嵌入的方法的软件。
[0070]
本技术的技术内容及技术特点已揭示如上,然而熟悉本领域的技术人员仍可能基于本技术的教示及揭示而作种种不背离本技术精神的替换及修饰。因此,本技术的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本技术的替换及修饰,并为本专利申请权利要求书所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1