CN114358317A - 基于机器学习框架的数据分类方法及相关设备 - Google Patents
基于机器学习框架的数据分类方法及相关设备 Download PDFInfo
- Publication number
- CN114358317A CN114358317A CN202210282555.4A CN202210282555A CN114358317A CN 114358317 A CN114358317 A CN 114358317A CN 202210282555 A CN202210282555 A CN 202210282555A CN 114358317 A CN114358317 A CN 114358317A
- Authority
- CN
- China
- Prior art keywords
- quantum
- logic gate
- parameter
- data
- sub
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于机器学习框架的数据分类方法及相关设备,所述机器学习框架包括量子模块,所述方法包括:调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。通过该技术方案可以提高对待分类数据的分类准确度。
Description
技术领域
本发明属于量子计算技术领域,特别是涉及一种基于机器学习框架的数据分类方法及相关设备。
背景技术
机器学习模型由于其优异的性能而被广泛应用于人工智能研究,通过利用标注好的训练数据对机器学习模型进行训练,可以得到符合预期的机器学习模型,进而将其用于语音识别、图像识别等具体应用工作。机器学习模型无须人为设立其用于具体应用工作的标准,通过训练机器学习模型可以自己建立相应的工作标准,对于不同应用工作具有较好的适应性。随着量子计算的发展,包含量子程序的机器学习模型也越来越多。
相关技术中,如何利用机器学习模型提高对待分类数据的分类准确度至关重要。
发明内容
本发明的目的是提供一种基于机器学习框架的数据分类方法及相关设备,旨在提高对待分类数据的分类准确度。
为了实现上述目的,本发明实施例的第一方面,提供一种基于机器学习框架的数据分类方法,所述机器学习框架包括量子模块,所述方法包括:
调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
可选地,所述调用所述量子模块创建包括量子程序的分类模型,包括:
调用所述量子模块创建所述第一含参量子逻辑门,调用所述量子模块创建所述第二含参量子逻辑门,并将所述第一含参量子逻辑门和所述第二含参量子逻辑门级联得到计算单元;
创建包括至少两个所述计算单元的量子程序;
创建封装有所述量子程序的分类模型。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述调用所述量子模块创建所述第一含参量子逻辑门,包括:
调用所述角度编码单元创建用于将所述输入数据作为自身参数的所述第一含参量子逻辑门。
可选地,所述第一含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述调用所述量子模块创建所述第二含参量子逻辑门,包括:
调用所述角度编码单元创建用于在训练所述分类模型时更新自身参数的所述第二含参量子逻辑门。
可选地,所述第二含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述创建包括至少两个所述计算单元的量子程序,包括:
将至少两个所述计算单元按照预设顺序排列,得到作用于一个或多个量子比特的量子程序。
可选地,所述创建包括至少两个所述计算单元的量子程序,包括:
获取多比特量子逻辑门;
将所述多比特量子逻辑门及至少两个所述计算单元按照预设顺序排列,得到作用于多个量子比特的量子程序。
可选地,所述机器学习框架还包括经典模块,所述方法还包括:
调用所述经典模块创建所述分类模型的训练层,并获取训练数据;
将所述训练数据输入所述分类模型,得到输出数据;
将所述输出数据输入所述训练层,以对所述第二含参量子逻辑门的参数进行更新,得到训练后的所述分类模型。
本发明实施例的第二方面,提供一种基于机器学习框架的数据分类装置,所述机器学习框架包括量子模块,所述装置包括:
第一创建模块,用于调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
第一输入模块,用于将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
可选地,所述第一创建模块还用于:
调用所述量子模块创建所述第一含参量子逻辑门,调用所述量子模块创建所述第二含参量子逻辑门,并将所述第一含参量子逻辑门和所述第二含参量子逻辑门级联得到计算单元;
创建包括至少两个所述计算单元的量子程序;
创建封装有所述量子程序的分类模型。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述第一创建模块还用于:
调用所述角度编码单元创建用于将所述输入数据作为自身参数的所述第一含参量子逻辑门。
可选地,所述第一含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
可选地,所述第一创建模块还用于:
调用所述角度编码单元创建用于在训练所述分类模型时更新自身参数的所述第二含参量子逻辑门。
可选地,所述第二含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述第一创建模块还用于:
将至少两个所述计算单元按照预设顺序排列,得到作用于一个或多个量子比特的量子程序。
可选地,所述第一创建模块还用于:
获取多比特量子逻辑门;
将所述多比特量子逻辑门及至少两个所述计算单元按照预设顺序排列,得到作用于多个量子比特的量子程序。
可选地,所述机器学习框架还包括经典模块,所述装置还包括:
第二创建模块,用于调用所述经典模块创建所述分类模型的训练层,并获取训练数据;
第二输入模块,用于将所述训练数据输入所述分类模型,得到输出数据;
更新模块,用于将所述输出数据输入所述训练层,以对所述第二含参量子逻辑门的参数进行更新,得到训练后的所述分类模型。
本发明实施例的第三方面,提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面中任一项所述方法的步骤。
本发明实施例的第四方面,提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一方面中任一项所述方法的步骤。
基于上述技术方案,通过调用量子模块创建包括至少两个计算单元的分类模型,将相同的待分类数据作为输入数据输入至每个计算单元的第一含参量子逻辑门,运行分类模型时,可以通过量子程序对相同的待分类数据进行多次运算处理,进而提高了对待分类数据的分类准确度。
附图说明
图1是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的计算机终端的硬件结构框图。
图2是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的流程图。
图3是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法包括的步骤S21的流程图。
图4是根据一示例性实施例示出的一种分类模型中量子程序的量子线路图。
图5是根据一示例性实施例示出的一种分类模型中量子程序的另一量子线路图。
图6是根据一示例性实施例示出的一种分类模型中量子程序的另一量子线路图。
图7是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法包括的步骤S212的流程图。
图8是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法包括的步骤S22的流程图。
图9是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的另一流程图。
图10是根据一示例性实施例示出的一种分类模型中量子程序的另一量子线路图。
图11是根据一示例性实施例示出的一种分类模型的分类准确度曲线图。
图12是根据一示例性实施例示出的一种基于机器学习框架的数据分类装置的框图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种基于机器学习框架的数据分类方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储基于量子线路的基于机器学习框架的数据分类方法的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于机器学习框架的数据分类方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线)、以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而***作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至成千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门,泡利X门)、泡利-Y门(Y门,泡利Y门)、泡利-Z门(Z门,泡利Z门)、RX门(RX旋转门)、RY门(RY旋转门)、RZ门(RZ旋转门)等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的向量进行计算。例如,量子态右矢|0>对应的向量可以为,量子态右矢|1>对应的向量可以为。
图2是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的流程图,该机器学习框架包括量子模块,如图2所示,该方法包括:
S21,调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态。
S22,将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
具体来讲,机器学习框架集成了众多用于创建和训练机器学习模型的函数集,通过其定义的接口可以方便的调用函数集中的函数实现对机器学习模型的相关操作。机器学习框架包括的上述量子模块可以被配置为创建机器学习模型中的量子计算层,量子计算层为包含量子程序的程序模块,可以用于实现对应量子程序的量子计算,通过对量子程序按照一定的标准进行封装得到量子计算层,便于在创建和训练机器学习模型时进行使用。量子程序为实现量子计算的程序,可以通过调用量子模块创建按特定顺序作用于量子比特的量子逻辑门得到量子程序,并对量子程序进行封装得到量子计算层。
在一种可能的实施方式中,所述机器学习框架可以包括:
数据结构模块,被配置为创建用于输入机器学习模型的张量数据,以及对所述张量数据执行运算;
量子模块,被配置为创建用于创建机器学习模型的量子计算层;
经典模块,被配置为创建用于创建机器学习模型的经典计算层、用于封装所述量子计算层和所述经典计算层的抽象类层、用于训练优化所述机器学习模型的训练层。
具体来讲,数据结构模块定义了张量数据的数据结构,通过调用数据结构模块,可以将输入的数据转化为张量数据,以用于输入机器学习模型进行正向计算。当然,数据结构模块还可以被配置为对张量数据执行运算,例如数据结构模块还可以定义张量数据之间的数学运算和逻辑运算等,进而可以调用数据结构模块基于张量数据之间的运算关系创建机器学习模型的经典计算层,例如经典神经网络的全连接层通过函数y=w*x+b定义了输入全连接层的数据x和输出全连接层的数据y之间的关系,其中w和b为参数,通过将数据x、参数w、参数b转化为张量数据,并调用数据结构模块对这些张量数据执行与该函数对应的运算,可以构建全连接层。
在一种可能的实施方式中,数据结构模块可以用于将输入的数据按照预设的数据结构排列以创建用于输入所述机器学习模型的张量数据,以及创建以所述预设的数据结构排列且数值确定的用于输入所述机器学习模型的张量数据。例如可以将获取的数据1,2,3按照预设的列表数据结构[1,2,3]排列创建新的张量数据,也可以直接创建按照预设的列表数据结构[1,1,1]排列的元素全为1的张量数据。
需要说明的是,张量数据除包括按照预设的数据结构排列的数据值外,还可以包括计算得到该数据值的其它张量数据的信息以及包含所述数据值的张量数据相对于所述其它张量数据的梯度函数,其中计算得到该数据值的其它张量数据的信息可以包括该其它张量数据的变量、数据值存储地址以及数据值等,只要其表明该其它张量数据对应节点是计算得到该数据值的张量数据对应节点的前驱节点即可。以上述函数关系y=w*x+b为例,对于张量数据y,其包括y对应的数据值如[1,2,3],还包括计算得到y的w、x、b的张量数据的信息以及y分别相对于w、x、b的梯度函数,在一种可能的实施方式中,该信息可以包括w、x和b的数据值存储地址,张量数据y包括y相对于w的梯度函数x,y相对于x的梯度函数w,以及y相对于b的梯度函数1,进而在训练机器学习模型时,通过反向传播计算y分别相对于w、x、b的梯度值,具体可以直接从张量数据y中获取y的数据值,以及w、x、b的数据值和对应的梯度函数,通过这些数据值和对应的梯度函数计算y分别相对于w、x、b的梯度值。
具体来讲,对于经典模块,可以用过调用该经典模块创建机器学习模型的经典计算层,经典计算层为机器学习模型中的经典计算部分,其可以是通过经典模块对创建好的经典计算程序按照一定标准进行封装得到,使得经典计算层便于在训练机器学习模型时进行使用。在创建好量子计算层和经典计算层后,可以通过经典模块对其进行封装,创建符合一定标准的抽象类层,抽象类层通过编程语言中的类(class)的方法实现,通过对量子计算层和经典计算层封装可以创建符合一定标准的机器学习模型,例如创建的抽象类层定义了正向运算机器学习模型的方式,当然也可以只对量子计算层或经典计算层进行封装,便于在训练机器学习模型时对机器学习模型进行正向运算以得到用于计算损失函数的计算结果,同时也可以得到反向计算时进行梯度计算的顺序关系。经典模块还可以用于创建机器学习模型的训练层对机器学习模型进行训练。
在步骤S21中,分类模型是一种机器学习模型,即可以通过训练更新自身的参数值,以优化处理任务的指标表现。该分类模型包括量子程序,即该分类模型的部分或全部基于量子计算实现,参见前述对于机器学习框架的描述,可以调用量子模块创建按照特定顺序作用于量子比特的量子逻辑门得到量子程序,并对量子程序进行封装得到量子计算层,然后对量子计算层进行封装得到分类模型。
与其它分类模型不同的是,该分类模型包括至少两个计算单元,每个计算单元包括至少一个第一含参量子逻辑门和至少一个第二含参量子逻辑门,且第一含参量子逻辑门和第二含参量子逻辑门级联,即第一含参量子逻辑门与第二含参量子逻辑门按照预设顺序依次作用于相同的量子比特,例如每个计算单元包括一个第一含参量子逻辑门及一个第二含参量子逻辑门,计算单元作用于单个量子比特时,其中的第一含参量子逻辑门先作用于该量子比特,然后剩下的第二含参量子逻辑门后作用于该量子比特。在其它的实施方式中,每个计算单元也可以包括2个第一含参量子逻辑门与3个第二含参量子逻辑门,该计算单元作用于单个量子比特时,其中的2个第一含参量子逻辑门先作用于该量子比特,然后剩余的3个第二含参量子逻辑门后作用于该量子比特。当然,计算单元的作用对象也可以是多个量子比特,对此,本发明不作具体限制。
第一含参量子逻辑门可以将输入数据编码至量子比特的量子态,例如可以将输入数据作为第一含参量子逻辑门的参数,进而在第一含参量子逻辑门作用于量子比特时,使得量子比特从初始态演化至特定的量子态,第二含参量子逻辑门作用于量子比特时,可以使量子比特的量子态从前述特定的量子态演化至目标态,目标态即包含分类结果信息或用于得到分类结果信息的中间信息的量子态,通过对其进行处理可以提取出分类结果。一般而言,第二含参量子逻辑门的参数可以通过训练确定。
可选地,参见图3,在步骤S21中,调用所述量子模块创建包括量子程序的分类模型,包括:
S211,调用所述量子模块创建所述第一含参量子逻辑门,调用所述量子模块创建所述第二含参量子逻辑门,并将所述第一含参量子逻辑门和所述第二含参量子逻辑门级联得到计算单元。
S212,创建包括至少两个所述计算单元的量子程序。
S213,创建封装有所述量子程序的分类模型。
在步骤S211中,可以通过相应的接口调用量子模块创建第一含参量子逻辑门和第二含参量子逻辑门,并将两者按照前述方式级联得到计算单元。
可选地,所述量子模块可以包括:
角度编码单元,被配置为创建含参量子逻辑门。
具体来讲,可以通过与角度编码单元对应的接口调用角度编码单元,并输入参数值创建含参量子逻辑门,在创建含参量子逻辑门时,确定含参量子逻辑门对应的酉矩阵的参数的值为输入的参数值,进而可以确定相应的含参量子逻辑门。
可选地,在步骤S211中,调用所述量子模块创建所述第一含参量子逻辑门,包括:
调用所述角度编码单元创建用于将所述输入数据作为自身参数的所述第一含参量子逻辑门。
具体来讲,可以通过相应的接口调用角度编码单元创建第一含参量子逻辑门,并且将输入数据作为第一含参量子逻辑门的参数。可选地,所述第一含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。举例来讲,可以通过接口RX(qubits[0],np.pi/3)创建第一含参量子逻辑门,该第一含参量子逻辑门为RX门,作用于对应编号0的量子比特qubits[0],且该RX门的参数为π/3。
可选地,在步骤S211中,调用所述量子模块创建所述第二含参量子逻辑门,包括:
调用所述角度编码单元创建用于在训练所述分类模型时更新自身参数的所述第二含参量子逻辑门。
具体来讲,可以通过相应的接口调用角度编码单元创建第二含参量子逻辑门,赋予第二含参量子逻辑门的参数的初始值为随机值或特定值,并且可以在训练分类模型时不断优化第二含参量子逻辑门的参数,直至满足要求。可选地,所述第二含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。举例来讲,可以通过接口RY(qubits[1],np.pi/2)创建第二含参量子逻辑门,该第二含参量子逻辑门为RY门,作用于对应编号1的量子比特qubits[1],且该RY门的参数为π/2。当然,在其它可能的实施方式中,第一含参量子逻辑门和第二含参量子逻辑门也可以为其它包含参数的量子逻辑门,本发明对此不做具体限制。
得到计算单元后,进入执行步骤S212,可以将至少两个计算单元按照预设顺序进行排列,进而创建相应的量子程序。需要说明的是,不同的计算单元可以相同,也可以不同,只要其包含第一含参量子逻辑门和第二含参量子逻辑门即可,本发明对此不做具体限制。
可选地,在步骤S212中,创建包括至少两个所述计算单元的量子程序,包括:
将至少两个所述计算单元按照预设顺序排列,得到作用于一个或多个量子比特的量子程序。
具体来讲,可以将至少两个所述计算单元按照预设的顺序排列,例如按照一定的先后顺序排列为作用于单个量子比特的量子程序,或者按照一定的先后顺序排列为作用于多个量子比特的量子程序,需要说明的是,多个量子比特指的是2个或2个以上的量子比特。举例来讲,参见图4,对于N个计算单元,,……,将其按照如图4中量子线路所示的计算单元的顺序排列,得到作用于单个量子比特的对应于该量子线路的量子程序。参见图5,对于2N个计算单元,,……,,,……,将其按照如图5中量子线路所示的计算单元的顺序排列,得到作用于2个量子比特的对应于该量子线路的量子程序。
可选地,参见图7,在步骤S212中,所述创建包括至少两个所述计算单元的量子程序,包括:
S2121,获取多比特量子逻辑门。
S2122,将所述多比特量子逻辑门及至少两个所述计算单元按照预设顺序排列,得到作用于多个量子比特的量子程序。
具体来讲,在步骤S2121中,多比特量子逻辑门为同时作用于2个或2个以上量子比特的量子逻辑门,例如CNOT门、CR门、iSWAP门、CZ门(控制Z门)等等。可以通过相应的接口调用相应的多比特量子逻辑门。然后在步骤S2122中,将多比特量子逻辑门以及至少两个计算单元按照预设顺序排列,得到相应的量子程序。参见图6,多比特量子逻辑门为CZ门,获取该CZ门后,将该CZ门与2N个计算单元,,……,,,……,按照图6中量子线路所示的顺序进行排列,可以得到对应图6的量子线路的量子程序。
得到量子程序后,进入执行步骤S213,可以通过对量子程序进行封装创建分类模型,具体来讲,可以将量子程序与经典程序一同封装,也可以单独对量子程序进行封装,例如通过相应接口,将量子程序作为参数传入,创建包括该量子程序的量子计算层,同时量子计算层中还可以封装有其它程序,例如用于计算量子程序的输出相对于量子程序的参数的梯度的程序,以便于在训练分类模型时计算相关梯度,完成对量子程序参数的更新。之后可以对量子计算层进行封装,将分类模型包括的各个量子计算层以及各个量子计算层正向运算的顺序封装入分类模型中,以便于后续对分类模型进行正向运算。
在步骤S22中,将待分类数据输入至分类模型,以正向运行分类模型,得到分类模型的输出结果,然后对输出结果进行相关运算后得到分类结果。
可选地,参见图8,在步骤S22中,将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,包括:
S221,将待分类数据作为所述输入数据输入至所述分类模型的所述第一含参量子逻辑门。
S222,正向运行所述分类模型,得到所述分类模型输出的输出结果。
在步骤S221中,可以通过分类模型的调用接口,将待分类数据通过该接口传入分类模型中,进而将该待分类数据作为输入数据输入至第一含参量子逻辑门中,作为第一含参量子逻辑门的参数确定第一含参量子逻辑门对应的酉矩阵,进而确定分类模型。需要说明的是,输入每个第一含参量子逻辑门的待分类数据可以是相同的。
输入待分类数据后,执行步骤S222中,正向运行所述分类模型,可以按照分类模型中定义的顺序运行分类模型不同的量子计算层,运行量子计算层包括运行量子计算层中的量子程序,对于量子程序,即将其中的计算单元也即第一含参量子逻辑门和第二含参量子逻辑门按照量子程序预先定义的顺序依次作用于相应的量子比特,最后通过测量门对量子比特进行测量得到分类模型输出的输出结果。
对于待分类数据,可以将待分类数据按照预设的数据结构排列以得到张量数据,例如获取的待分类数据为1,2,3,可以将该待分类数据转化为向量结构[1,2,3]作为张量数据。进而将该张量数据按照前述方式输入分类模型的第一含参量子逻辑门中。
可选地,在步骤S22中,基于所述输出结果确定分类结果,包括:
对所述输出结果进行加权求和得到分类结果。
具体来讲,输出结果可能包括不同的量子态以及相应量子态出现的概率,对这些概率进行加权求和可以得到对待分类数据的分类结果,例如可以对不同的概率分别乘以相应的权重后得到不同的乘积,再将各个乘积相加得到分类结果。
基于上述技术方案,通过调用量子模块创建包括至少两个计算单元的分类模型,将相同的待分类数据作为输入数据输入至每个计算单元的第一含参量子逻辑门,运行分类模型时,可以通过量子程序对相同的待分类数据进行多次运算处理,进而提高了对待分类数据的分类准确度。
图9是根据一示例性实施例示出的一种基于机器学习框架的数据分类方法的另一流程图,该机器学习框架包括量子模块和经典模块,如图9所示,该方法包括:
S91,调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态。
S92,调用所述经典模块创建所述分类模型的训练层,并获取训练数据。
S93,将所述训练数据输入所述分类模型,得到输出数据。
S94,将所述输出数据输入所述训练层,以对所述第二含参量子逻辑门的参数进行更新,得到训练后的所述分类模型。
S95,将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
其中,步骤S91可以参见步骤S21,步骤S95可以参见步骤S22。
创建分类模型后,执行步骤S92,调用经典模块创建训练层,经典模块可以参见前述描述,训练层可以包括损失函数层和优化器层,其中,损失函数层包括分类模型的损失函数,例如均方差损失函数、交叉熵损失函数等,优化器层包括了更新分类模型的参数的方法如梯度下降算法,例如随机梯度下降算法(Stochastic Gradient Descent,SGD),自适应梯度算法(Adaptive gradient algorithm,Adagrad)、自适应矩估计(Adaptive MomentEstimation,Adam)等。损失函数层和优化器层均可以通过相应的接口进行调用。训练数据可以是用于输入分类模型训练分类模型的数据,例如其可以为待分类的图片数据。
在步骤S93中,可以将训练数据作为输入数据输入至第一含参量子逻辑门中,作为第一含参量子逻辑门的参数确定第一含参量子逻辑门对应的酉矩阵,进而确定分类模型,并正向运行分类模型以对训练数据进行运算,得到分类模型输出的输出数据。
在步骤S94中,可以将输出数据输入训练层中的损失函数层,以根据输出数据计算分类模型的损失函数的值,然后将损失函数的值输入优化器层,根据损失函数的值和相应的梯度下降算法对分类模型中第二含参量子逻辑门的参数进行更新,并重新计算更新参数后的损失函数的值,当其小于阈值时停止训练,将更新参数后的分类模型作为训练后的分类模型,用于步骤S95中对待分类数据进行分类计算。若损失函数的值大于或等于阈值,则可以继续训练分类模型,直至其对应损失函数的值小于阈值。当然,在其它可能的实施方式中,也可以将训练数据多次输入分类模型进行多次训练,当训练次数达到预设的次数时停止训练分类模型。
举例来讲,创建包括如图10所示的量子线路对应的量子程序,并创建包括该量子程序的分类模型,其包括4个计算单元,分别为计算单元101、计算单元102、计算单元103和计算单元104,对于每个计算单元中的第一含参量子逻辑门,均包括依次作用于量子比特105的第一RZ门和第一RY门,其每个第一RZ门接收的待分类数据相同,每个第一RY门接收的待分类数据相同,对于每个计算单元中的第二含参量子逻辑门,均包括依次作用于量子比特105的第二RZ门、第二RY门和第三RZ门,且最后设有一测量门用于对量子比特105进行测量以得到分类模型的输出结果或输出数据。该分类模型用于对随机生成的二维坐标数据进行分类,以半径为1的圆区分两类数据,圆内数据标签为1,圆外数据标签为0。获取训练数据500个,以及测试数据500个,分类模型对训练数据和测试数据的分类准确度如图11所示,其中曲线111用于表征训练数据的准确度,曲线112用于表征测试数据的准确度,可以发现,随着分类模型对训练数据训练的迭代次数的增加,该分类模型的分类准确度逐渐增加,最终可以具有较高的分类准确度。
图12是根据一示例性实施例示出的一种基于机器学习框架的数据分类装置的框图,该机器学习框架包括量子模块,如图12所示,该装置120包括:
第一创建模块121,用于调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
第一输入模块122,用于将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
可选地,所述第一创建模块121还用于:
调用所述量子模块创建所述第一含参量子逻辑门,调用所述量子模块创建所述第二含参量子逻辑门,并将所述第一含参量子逻辑门和所述第二含参量子逻辑门级联得到计算单元;
创建包括至少两个所述计算单元的量子程序;
创建封装有所述量子程序的分类模型。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述第一创建模块121还用于:
调用所述角度编码单元创建用于将所述输入数据作为自身参数的所述第一含参量子逻辑门。
可选地,所述第一含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
可选地,所述第一创建模块121还用于:
调用所述角度编码单元创建用于在训练所述分类模型时更新自身参数的所述第二含参量子逻辑门。
可选地,所述第二含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
可选地,所述第一创建模块121还用于:
将至少两个所述计算单元按照预设顺序排列,得到作用于一个或多个量子比特的量子程序。
可选地,所述第一创建模块121还用于:
获取多比特量子逻辑门;
将所述多比特量子逻辑门及至少两个所述计算单元按照预设顺序排列,得到作用于多个量子比特的量子程序。
可选地,所述机器学习框架还包括经典模块,所述装置120还包括:
第二创建模块,用于调用所述经典模块创建所述分类模型的训练层,并获取训练数据;
第二输入模块,用于将所述训练数据输入所述分类模型,得到输出数据;
更新模块,用于将所述输出数据输入所述训练层,以对所述第二含参量子逻辑门的参数进行更新,得到训练后的所述分类模型。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明的再一实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述基于机器学习框架的数据分类方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述基于机器学习框架的数据分类方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (12)
1.一种基于机器学习框架的数据分类方法,其特征在于,所述机器学习框架包括量子模块,所述方法包括:
调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
2.如权利要求1所述的方法,其特征在于,所述调用所述量子模块创建包括量子程序的分类模型,包括:
调用所述量子模块创建所述第一含参量子逻辑门,调用所述量子模块创建所述第二含参量子逻辑门,并将所述第一含参量子逻辑门和所述第二含参量子逻辑门级联得到计算单元;
创建包括至少两个所述计算单元的量子程序;
创建封装有所述量子程序的分类模型。
3.如权利要求2所述的方法,其特征在于,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述调用所述量子模块创建所述第一含参量子逻辑门,包括:
调用所述角度编码单元创建用于将所述输入数据作为自身参数的所述第一含参量子逻辑门。
4.如权利要求3所述的方法,其特征在于,所述第一含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
5.如权利要求2所述的方法,其特征在于,所述量子模块包括:
角度编码单元,被配置为创建含参量子逻辑门;
所述调用所述量子模块创建所述第二含参量子逻辑门,包括:
调用所述角度编码单元创建用于在训练所述分类模型时更新自身参数的所述第二含参量子逻辑门。
6.如权利要求5所述的方法,其特征在于,所述第二含参量子逻辑门包括RX门、RY门和RZ门中的至少一者。
7.如权利要求2所述的方法,其特征在于,所述创建包括至少两个所述计算单元的量子程序,包括:
将至少两个所述计算单元按照预设顺序排列,得到作用于一个或多个量子比特的量子程序。
8.如权利要求2所述的方法,其特征在于,所述创建包括至少两个所述计算单元的量子程序,包括:
获取多比特量子逻辑门;
将所述多比特量子逻辑门及至少两个所述计算单元按照预设顺序排列,得到作用于多个量子比特的量子程序。
9.如权利要求1所述的方法,其特征在于,所述机器学习框架还包括经典模块,所述方法还包括:
调用所述经典模块创建所述分类模型的训练层,并获取训练数据;
将所述训练数据输入所述分类模型,得到输出数据;
将所述输出数据输入所述训练层,以对所述第二含参量子逻辑门的参数进行更新,得到训练后的所述分类模型。
10.一种基于机器学习框架的数据分类装置,其特征在于,所述机器学习框架包括量子模块,所述装置包括:
第一创建模块,用于调用所述量子模块创建包括量子程序的分类模型,所述量子程序包括至少两个计算单元,每个所述计算单元均包括级联的第一含参量子逻辑门和第二含参量子逻辑门,所述第一含参量子逻辑门用于将输入数据编码至量子比特的量子态,所述第二含参量子逻辑门用于将所述量子比特的量子态演化至目标态;
第一输入模块,用于将待分类数据作为所述输入数据输入至所述分类模型,得到输出结果,并基于所述输出结果确定分类结果。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282555.4A CN114358317B (zh) | 2022-03-22 | 2022-03-22 | 基于机器学习框架的数据分类方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282555.4A CN114358317B (zh) | 2022-03-22 | 2022-03-22 | 基于机器学习框架的数据分类方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114358317A true CN114358317A (zh) | 2022-04-15 |
CN114358317B CN114358317B (zh) | 2022-06-21 |
Family
ID=81094555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210282555.4A Active CN114358317B (zh) | 2022-03-22 | 2022-03-22 | 基于机器学习框架的数据分类方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114358317B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293254A (zh) * | 2022-07-29 | 2022-11-04 | 合肥本源量子计算科技有限责任公司 | 基于量子多层感知器的分类方法及相关设备 |
CN116258197A (zh) * | 2023-05-16 | 2023-06-13 | 之江实验室 | 基于参数计算和通信调度的分布式训练加速方法和*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190042970A1 (en) * | 2018-09-27 | 2019-02-07 | Xiang Zou | Apparatus and method for a hybrid classical-quantum processor |
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
CN109478258A (zh) * | 2016-06-02 | 2019-03-15 | 谷歌有限责任公司 | 使用子逻辑控制训练量子演进 |
CN110692067A (zh) * | 2017-06-02 | 2020-01-14 | 谷歌有限责任公司 | 量子神经网络 |
WO2020168158A1 (en) * | 2019-02-15 | 2020-08-20 | Rigetti & Co, Inc. | Automated synthesizing of quantum programs |
US20200342344A1 (en) * | 2019-04-25 | 2020-10-29 | International Business Machines Corporation | Quantum circuit optimization using machine learning |
US20220014364A1 (en) * | 2020-07-10 | 2022-01-13 | Accenture Global Solutions Limited | Quantum information interception prevention |
-
2022
- 2022-03-22 CN CN202210282555.4A patent/CN114358317B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109478258A (zh) * | 2016-06-02 | 2019-03-15 | 谷歌有限责任公司 | 使用子逻辑控制训练量子演进 |
CN109416928A (zh) * | 2016-06-07 | 2019-03-01 | 伊路米纳有限公司 | 用于进行二级和/或三级处理的生物信息学***、设备和方法 |
CN110692067A (zh) * | 2017-06-02 | 2020-01-14 | 谷歌有限责任公司 | 量子神经网络 |
US20190042970A1 (en) * | 2018-09-27 | 2019-02-07 | Xiang Zou | Apparatus and method for a hybrid classical-quantum processor |
WO2020168158A1 (en) * | 2019-02-15 | 2020-08-20 | Rigetti & Co, Inc. | Automated synthesizing of quantum programs |
US20200342344A1 (en) * | 2019-04-25 | 2020-10-29 | International Business Machines Corporation | Quantum circuit optimization using machine learning |
US20220014364A1 (en) * | 2020-07-10 | 2022-01-13 | Accenture Global Solutions Limited | Quantum information interception prevention |
Non-Patent Citations (2)
Title |
---|
IORDANIS KERENIDIS ET AL.: "Classical and Quantum Algorithms for Orthogonal Neural Networks", 《ARXIV》 * |
窦通 等: "量子–经典混合神经网络及其故障诊断应用", 《控制理论与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293254A (zh) * | 2022-07-29 | 2022-11-04 | 合肥本源量子计算科技有限责任公司 | 基于量子多层感知器的分类方法及相关设备 |
CN116258197A (zh) * | 2023-05-16 | 2023-06-13 | 之江实验室 | 基于参数计算和通信调度的分布式训练加速方法和*** |
CN116258197B (zh) * | 2023-05-16 | 2023-09-08 | 之江实验室 | 基于参数计算和通信调度的分布式训练加速方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN114358317B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114358317B (zh) | 基于机器学习框架的数据分类方法及相关设备 | |
CN114358319B (zh) | 基于机器学习框架的分类方法及相关装置 | |
CN112016691B (zh) | 一种量子线路的构建方法及装置 | |
CN114792378B (zh) | 一种量子图像识别方法及装置 | |
CN114358318B (zh) | 基于机器学习框架的分类方法及相关装置 | |
CN114358216B (zh) | 基于机器学习框架的量子聚类方法及相关装置 | |
CN115293254A (zh) | 基于量子多层感知器的分类方法及相关设备 | |
CN114372539B (zh) | 基于机器学习框架的分类方法及相关设备 | |
CN114358295B (zh) | 基于机器学习框架的二分类方法及相关装置 | |
WO2023125858A1 (zh) | 一种数据处理方法、机器学习框架***及相关设备 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN116011681A (zh) | 一种气象数据预测方法、装置、存储介质及电子装置 | |
CN116403657A (zh) | 一种药物反应预测方法、装置、存储介质及电子装置 | |
CN114764620A (zh) | 一种量子卷积操作器 | |
CN114764619A (zh) | 一种基于量子线路的卷积操作方法及装置 | |
CN114372584B (zh) | 基于机器学习框架的迁移学习方法及相关装置 | |
CN116432764B (zh) | 机器学习框架 | |
CN116432710B (zh) | 机器学习模型构建方法、机器学习框架及相关设备 | |
CN114372583B (zh) | 基于机器学习框架的量子程序优化方法及相关设备 | |
CN116431807B (zh) | 一种文本分类方法、装置、存储介质及电子装置 | |
CN115908943B (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN116523059A (zh) | 数据处理方法、机器学习框架及相关设备 | |
CN116306952A (zh) | 一种分子性质预测方法、装置、存储介质及电子装置 | |
CN116542337A (zh) | 数据处理方法、机器学习框架及相关设备 | |
CN114881238A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |