CN116415667A - 数据处理方法、机器学习框架及相关设备 - Google Patents

数据处理方法、机器学习框架及相关设备 Download PDF

Info

Publication number
CN116415667A
CN116415667A CN202111680613.0A CN202111680613A CN116415667A CN 116415667 A CN116415667 A CN 116415667A CN 202111680613 A CN202111680613 A CN 202111680613A CN 116415667 A CN116415667 A CN 116415667A
Authority
CN
China
Prior art keywords
quantum
machine learning
module
qubits
learning model
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
Application number
CN202111680613.0A
Other languages
English (en)
Inventor
方圆
孔小飞
李蕾
窦猛汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Benyuan Quantum Computing Technology Hefei Co ltd
Original Assignee
Benyuan Quantum Computing Technology Hefei Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Benyuan Quantum Computing Technology Hefei Co ltd filed Critical Benyuan Quantum Computing Technology Hefei Co ltd
Priority to CN202111680613.0A priority Critical patent/CN116415667A/zh
Priority to PCT/CN2022/143597 priority patent/WO2023125857A1/zh
Publication of CN116415667A publication Critical patent/CN116415667A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开了一种数据处理方法、机器学习框架及相关设备,该方法包括:调用量子模块和经典模块创建包括量子程序的机器学习模型,调用数据结构模块获取目标数据并创建包括目标数据的张量数据;调用量子模块基于量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将第二量子比特划分为多组;调用量子模块针对每一组第二量子比特,基于量子程序生成包括该组第二量子比特的量子线路;基于张量数据得到每组量子线路的输入数据,并将输入数据分别输入每一量子线路,得到每一量子线路的输出结果。根据量子程序生成多个量子线路,用于处理输入数据,进而提高对数据的运算效率。

Description

数据处理方法、机器学习框架及相关设备
技术领域
本发明属于量子计算技术领域,特别是涉及一种数据处理方法、机器学习框架及相关设备。
背景技术
机器学习模型由于其优异的性能而被广泛应用于人工智能研究,通过利用标注好的训练数据对机器学习模型进行训练,可以得到符合预期的机器学习模型,进而将其用于语音识别、图像识别等具体应用工作。机器学习模型无须人为设立其用于具体应用工作的标准,通过训练机器学习模型可以自己建立相应的工作标准,对于不同应用工作具有较好的适应性。随着量子计算的发展,包含量子程序的机器学习模型也越来越多。
相关技术中,由于目前量子计算机中的量子比特的数量有限,因此在包含量子程序的机器学习模型运行时,如何根据有限的量子比特来运行其中的量子程序以提高对数据的处理效率显得至关重要。
发明内容
本发明的目的是提供一种数据处理方法、机器学习框架及相关设备,旨在机器学习模型运行时,根据有限的量子比特管理机器学习模型中的量子程序的运行方式以提高对数据的处理效率。
为了实现上述目的,本发明实施例的第一方面,提供一种数据处理方法,应用于包括机器学习框架的电子设备,所述机器学习框架包括数据结构模块、量子模块和经典模块,所述方法包括:
调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
可选地,所述基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,包括:
将所述量子设备中允许使用的第二量子比特的数量除以所述量子程序所需的第一量子比特的数量得到中间数;
将小于等于所述中间数的最大整数作为目标数;
将所述第二量子比特划分为数量为所述目标数的多组。
可选地,所述针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,包括:
针对每一组所述第二量子比特,基于所述量子程序生成用于作用于该组所述第二量子比特的量子逻辑门;
生成包括该组所述第二量子比特和所述量子逻辑门的量子线路。
可选地,所述方法还包括:
基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
可选地,所述经典模块还用于创建所述机器学习模型的训练层,所述方法还包括:
调用所述经典模块创建所述机器学习模型的训练层;
将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型。
可选地,所述训练层包括损失函数层和优化器层,所述经典模块包括:
损失函数单元,被配置为计算所述机器学习模型的损失函数;
优化器单元,被配置为在训练所述机器学习模型时基于所述损失函数更新所述机器学习模型的参数,以对所述机器学习模型进行优化;
所述调用所述经典模块创建所述机器学习模型的训练层,包括:
调用所述损失函数单元创建所述损失函数层;
调用所述优化器单元创建所述优化器层。
可选地,所述将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型,包括:
将所述预测结果输入所述损失函数层,以计算所述机器学习模型的损失函数的值;
在确定所述损失函数的值不满足预设条件时,将所述损失函数的值输入所述优化器层,以基于所述损失函数的值更新所述量子程序的参数;
确定更新所述参数后的所述机器学习模型的所述损失函数的值;
在确定该损失函数的值满足预设条件时,将更新所述参数后的所述机器学习模型作为训练后的所述机器学习模型。
可选地,所述基于所述损失函数的值更新所述量子程序的参数,包括:
基于所述损失函数的值计算所述损失函数相对于所述量子程序的同一所述参数的梯度;
基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数。
可选地,所述基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数,包括:
计算多个所述梯度的平均值;
将所述平均值乘以步长得到偏置量;
将所述量子程序的所述参数减去所述偏置量以更新所述量子程序的所述参数。
本发明实施例的第二方面,提供一种机器学习框架,所述框架包括:
数据结构模块,被配置为获取目标数据并创建包括所述目标数据的张量数据;
经典模块,被配置为创建机器学习模型;
量子模块,被配置为创建机器学习模型,以及基于量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,以使得每组所述量子线路的输入数据确定时,将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
本发明实施例的第三方面,提供一种数据处理装置,应用于包括机器学习框架的电子设备,所述机器学习框架包括数据结构模块、量子模块和经典模块,所述装置包括:
第一创建模块,用于调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
划分模块,用于调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
生成模块,用于调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
输入模块,用于基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
可选地,所述划分模块还用于:
将所述量子设备中允许使用的第二量子比特的数量除以所述量子程序所需的第一量子比特的数量得到中间数;
将小于等于所述中间数的最大整数作为目标数;
将所述第二量子比特划分为数量为所述目标数的多组。
可选地,所述生成模块还用于:
针对每一组所述第二量子比特,基于所述量子程序生成用于作用于该组所述第二量子比特的量子逻辑门;
生成包括该组所述第二量子比特和所述量子逻辑门的量子线路。
可选地,所述装置还包括:
确定模块,用于基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
可选地,所述经典模块还用于创建所述机器学习模型的训练层,所述装置还包括:
第二创建模块,用于调用所述经典模块创建所述机器学习模型的训练层;
更新模块,用于将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型。
可选地,所述训练层包括损失函数层和优化器层,所述经典模块包括:
损失函数单元,被配置为计算所述机器学习模型的损失函数;
优化器单元,被配置为在训练所述机器学习模型时基于所述损失函数更新所述机器学习模型的参数,以对所述机器学习模型进行优化;
所述第二创建模块还用于:
调用所述损失函数单元创建所述损失函数层;
调用所述优化器单元创建所述优化器层。
可选地,所述更新模块还用于:
将所述预测结果输入所述损失函数层,以计算所述机器学习模型的损失函数的值;
在确定所述损失函数的值不满足预设条件时,将所述损失函数的值输入所述优化器层,以基于所述损失函数的值更新所述量子程序的参数;
确定更新所述参数后的所述机器学习模型的所述损失函数的值;
在确定该损失函数的值满足预设条件时,将更新所述参数后的所述机器学习模型作为训练后的所述机器学习模型。
可选地,所述更新模块还用于:
基于所述损失函数的值计算所述损失函数相对于所述量子程序的同一所述参数的梯度;
基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数。
可选地,所述更新模块还用于:
计算多个所述梯度的平均值;
将所述平均值乘以步长得到偏置量;
将所述量子程序的所述参数减去所述偏置量以更新所述量子程序的所述参数。
本发明实施例的第四方面,提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面中任一项所述方法的步骤。
本发明实施例的第五方面,提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一方面中任一项所述方法的步骤。
基于上述技术方案,对于调用量子模块和经典模块创建的机器学习模型,在将张量数据输入该模型之前,根据量子程序所需的第一量子比特的数量,以及可用的第二量子比特的数量,生成多组对应于量子程序的量子线路,进而使得张量数据输入机器学习模型得到用于输入多组量子线路的多个输入数据后,可以将多个输入数据输入到多组量子线路,以利用多组量子线路对输入数据进行相关的量子计算,提高量子程序运行的效率。
附图说明
图1是根据一示例性实施例示出的一种数据处理方法的计算机终端的硬件结构框图。
图2是根据一示例性实施例示出的一种数据处理方法的流程图。
图3是根据一示例性实施例示出的一种机器学习框架的框图。
图4是根据一示例性实施例示出的一种数据处理方法包括的步骤S22的流程图。
图5是根据一示例性实施例示出的一种数据处理方法包括的步骤S23的流程图。
图6是根据一示例性实施例示出的一种数据处理方法的另一流程图。
图7是根据一示例性实施例示出的一种数据处理方法的另一流程图。
图8是根据一示例性实施例示出的一种机器学习框架的经典模块的框图。
图9是根据一示例性实施例示出的一种数据处理方法包括的步骤S76的流程图。
图10是根据一示例性实施例示出的一种数据处理方法包括的步骤S77的流程图。
图11是根据一示例性实施例示出的一种数据处理方法包括的步骤S772的流程图。
图12是根据一示例性实施例示出的一种数据处理方法包括的步骤S7722的流程图。
图13是根据一示例性实施例示出的一种数据处理装置的框图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种数据处理方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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>对应的向量可以为
Figure BDA0003446662470000093
量子态右矢|1>对应的向量可以为/>
Figure BDA0003446662470000092
图2是根据一示例性实施例示出的一种数据处理方法的流程图。参见图2,本实施例提供一种基于机器学习框架的模型训练方法,该方法可以应用于包括如图3所示的机器学习框架30的电子设备,所述机器学习框架30包括数据结构模块31、量子模块32和经典模块33,所述方法包括:
S21,调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据。
S22,调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组。
S23,调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路。
S24,基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
具体来讲,机器学习框架30集成了众多用于创建和训练机器学习模型的函数集,通过其定义的接口可以方便的调用这些函数实现对机器学习模型的相关操作。如图3所示,所述机器学习框架30可以包括:
数据结构模块31,被配置为获取目标数据并创建包括所述目标数据的张量数据;
经典模块33,被配置为创建机器学习模型;
量子模块32,被配置为创建机器学习模型,以及基于量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,以使得每组所述量子线路的输入数据确定时,将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
具体来讲,数据结构模块31定义了张量数据的数据结构,通过调用数据结构模块31,可以将输入的目标数据转化为张量数据,以用于输入机器学习模型进行正向计算。当然,在其它可能的实施方式中,数据结构模块31还可以被配置为对张量数据执行运算,例如数据结构模块31还可以定义张量数据之间数学运算和逻辑运算等,进而可以调用数据结构模块31基于张量数据之间的运算关系创建机器学习模型的经典计算层,例如经典神经网络的全连接层通过函数y=wx+b定义了输入数据x和输出数据y之间的关系,其中w和b为参数,通过将输入数据x、参数w、参数b转化为张量数据,并调用数据结构模块31对这些张量数据执行与该函数对应的运算,可以构建全连接层。
在一种可能的实施方式中,数据结构模块31可以用于将输入的目标数据按照预设的数据结构排列以创建用于输入所述机器学习模型的张量数据,以及创建以所述预设的数据结构排列且数值确定的用于输入所述机器学习模型的张量数据。进而在步骤S21中,对于输入的目标数据,可以将目标数据按照预设的数据结构排列以得到张量数据,目标数据可以作为张量数据的一部分存储。例如获取的目标数据为1,2,3,可以将输入的该目标数据转化为向量结构[1,2,3]作为张量数据的一部分。需要说明的是,目标数据可以是用于训练机器学习模型的数据,也可以是待预测分类的数据。
需要说明的是,张量数据除包括按照预设的数据结构排列的数据值即上述目标数据外,还可以包括计算得到该数据值的张量数据的信息以及该张量数据相对于包含所述数据值的张量数据的梯度函数,其中计算得到该数据值的张量数据的信息可以包括该张量数据的变量、数据值存储地址以及数据值等,只要其表明该张量数据对应节点是计算得到该数据值的张量数据对应节点的前驱节点即可。以上述函数关系y=wx+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的梯度值。
具体来讲,对于量子模块32,可以通过调用该量子模块32创建机器学习模型的量子计算层,量子计算层为包含量子程序的程序模块,可以用于实现对应量子程序的量子计算,通过对量子程序按照一定的标准进行封装,使得量子计算层便于在创建和训练机器学习模型时进行使用。对于机器学习模型通过量子计算实现的部分,均可以理解为对应的量子计算层。量子程序为实现量子计算的程序,可以通过调用量子模块32创建按特定顺序作用于量子比特的量子逻辑门得到量子程序,并对量子程序进行封装得到量子计算层。此外,量子模块32还可以根据上述第一量子比特的数量及第二量子比特的数量对第二量子比特进行分组,进而再基于量子程序生成对应于多组第二量子比特的量子线路,以得到多组量子线路用于处理数据,其具体执行方式可以参见后续对于数据分类方法相关步骤的描述。
具体来讲,对于经典模块33,可以用过调用该经典模块33创建机器学习模型的经典计算层,经典计算层为机器学习模型中的经典计算部分,其可以是通过经典模块33对创建好的经典计算程序按照一定标准进行封装得到,使得经典计算层便于在训练机器学习模型时进行使用。在创建好量子计算层和经典计算层后,可以通过经典模块33对其进行封装,创建符合一定标准的抽象类层,抽象类层通过编程语言中的类(class)的方法实现,通过对量子计算层和经典计算层封装可以创建符合一定标准的机器学习模型,例如创建的抽象类层定义了正向运算机器学习模型的方式,便于在训练机器学习模型时对机器学习模型进行正向运算以得到用于计算损失函数的计算结果,同时也可以得到反向计算时进行梯度计算的顺序关系。经典模块33还可以用于创建机器学习模型的训练层对机器学习模型进行训练。
在步骤S21中,可以调用量子模块32创建量子计算层,调用经典模块33创建经典计算层,再利用经典模块33对量子计算层和经典计算层进行封装得到混合量子计算和经典计算的机器学习模型。当然也可以调用量子模块32创建量子计算层后,直接利用经典模块33对量子计算层进行封装得到纯量子机器学习模型。同时对于输入的目标数据,调用数据结构模块31创建包含目标数据的张量数据,以用于输入机器学习模型。
在步骤S22中,量子设备可以包含一定数量的量子比特用于执行量子计算,例如可以包含量子芯片,量子芯片包含一定数量的量子比特,第二量子比特即量子设备中当前没有执行量子计算任务,处于空闲状态可以被随时利用的量子比特。第一量子比特即实现量子程序或构建量子程序对应的量子线路所需的量子比特。可以调用量子模块32,通过相关的接口获取输入的量子程序所需的第一量子比特的数量,也可以直接从量子计算层中自动获取量子程序所需的第一量子比特的数量。对于允许使用的第二量子比特的数量,同样可以通过接口传参获取,也可以自动获取量子设备的状态信息,进而从状态信息中获取量子设备允许使用的第二量子比特的数量。本发明对于如何获取这两者数量不作具体限制。
获取所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量之后,根据这两个数量对可用的第二量子比特进行分组,得到多组第二量子比特数量。
可选地,如图4所示,基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,包括:
S221,将所述量子设备中允许使用的第二量子比特的数量除以所述量子程序所需的第一量子比特的数量得到中间数。
S222,将小于等于所述中间数的最大整数作为目标数。
S223,将所述第二量子比特划分为数量为所述目标数的多组。
在步骤S221中,做上述除法运算得到中间数,举例来讲,量子设备中当前处于空闲状态且能被正常使用的量子比特有64个,进而允许使用的第二量子比特的数量为64,运行量子程序最少需要10个量子比特,进而量子程序所需的第一量子比特的数量为10,将64除以10得到中间数6.4。
得到中间数后,执行步骤S222,沿用前述例子,在小于等于6.4的数中,最大的整数为6,故将6作为目标数。得到目标数后,进入执行步骤S223,将第二量子比特划分为多组,组数为目标数,每组所述第二量子比特的数量大于或等于所述量子程序所需的第一量子比特的数量,沿用前述例子,将64个第二量子比特划分为6组,每组第二量子比特的数量均为10,当然,由于还有4个允许使用的第二量子比特,也可以在划分的6组第二量子比特中,4组第二量子比特均为11个,其余2组第二量子比特均为10个。在一种可能的实施方式中,第二量子比特也可以被划分为1组。
当然在其它可能的实施方式中,也可以基于量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量执行其它运算,以对第二量子比特分组,例如第二量子比特的数量为64,第一量子比特的数量为10,可以先将64减去一个固定数如20留存部分第二量子比特,再将剩下的数量44除以10进行分组。本发明对于采用何种方式对第二量子比特分组不作具体限制。
对第二量子比特分组后,执行步骤S23,对于每一组第二量子比特,根据量子程序在基于组第二量子比特上生成量子线路,量子线路对应的量子计算与量子程序对应的量子计算相同,例如量子程序用于实现运算y=x*w+b,其中,x为量子程序的输入数据,y为量子程序的输出数据,w和b为参数,则量子线路也用于实现运算y=x*w+b。在一种可能的实施方式中,量子程序包括了一系列按顺序作用于第一量子比特的量子逻辑门,则生成的量子线路也可以包括与量子程序的量子逻辑门相同的量子逻辑门,当然,也可以对量子程序的量子逻辑门进行优化后生成执行相同量子计算的量子逻辑门用于构建量子线路。例如量子程序包含的量子逻辑门依次为H门、RZ门、泡利X门,则对应生成的量子线路也可以依次包含H门、RZ门、泡利X门,当然生成的量子线路也可以对量子逻辑门进行优化,进而包含不同的量子逻辑门,但执行的量子计算仍然与量子程序相同。对于生成的每一个量子线路,其可以相同,也可以不同,只要其执行的量子计算均与量子程序相同即可,本发明对此不做具体限制。
可选地,如图5所示,针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,包括:
S231,针对每一组所述第二量子比特,基于所述量子程序生成用于作用于该组所述第二量子比特的量子逻辑门。
S232,生成包括该组所述第二量子比特和所述量子逻辑门的量子线路。
在步骤S231中,参见前述描述,可以根据量子程序生成与量子程序包含的量子逻辑门相同的量子逻辑门,也可以对量子程序的量子逻辑门进行优化,生成不同的量子逻辑门用于作用于第二量子比特,只要其执行的量子计算相同即可。
在步骤S232中,量子线路包括第二量子比特和前述量子逻辑门,量子逻辑门按照一定顺序作用于第二量子比特,其顺序可以与量子程序的量子逻辑门相同。当然,量子线路还可以包括针对部分的第二量子比特或所有第二量子比特的测量操作。
创建机器学习模型后,生成量子线路可以是在运行机器学习模型之前,也可以与机器学习模型运行同步执行。
生成量子线路后,执行步骤S24,可以将张量数据输入机器学习模型,进而在正向运行机器学习模型的过程中,得到用于输入量子线路的输入数据。例如对于包含一经典计算层和量子计算层的机器学习模型,获取多个目标数据后对应创建多个张量数据,其需要依次经过经典计算层和量子计算层计算后得到机器学习模型的输出结果。对于量子计算层中的量子程序,生成对应的多组量子线路后,将多个张量数据先输入经典计算层进行计算,得到的经典计算层的多个输出数据可以作为多个量子线路的输入数据,以输入每一量子线路,得到每一量子线路的输出结果。当然,多个量子线路可以并行运行,也可以根据调度按照一定的时间差运行。输入每个量子线路的输入数据可以不同。
基于上述技术方案,对于调用量子模块和经典模块创建的机器学习模型,在将张量数据输入该模型之前,根据量子程序所需的第一量子比特的数量,以及可用的第二量子比特的数量,生成多组对应于量子程序的量子线路,进而使得张量数据输入机器学习模型得到用于输入多组量子线路的多个输入数据后,可以将多个输入数据输入到多组量子线路,以利用多组量子线路对输入数据进行相关的量子计算,提高量子程序运行的效率。
图6是根据一示例性实施例示出的一种数据处理方法的另一流程图。如图6所示,该方法包括:
S61,调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据。
S62,调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组。
S63,调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路。
S64,基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
S65,基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
其中,步骤S61至步骤S64可以分别参见步骤S21至步骤S24。
得到每一量子线路的输出结果后,执行步骤S65,机器学习模型继续对该输出结果进行运算得到对张量数据的预测结果。举例来讲,机器学习模型依次包括一量子计算层和经典计算层,基于量子计算层的量子程序生成对应的量子线路后,将张量数据输入量子线路得到输出结果。进而将输出结果再输入经典计算层,得到计算结果,该计算结果作为机器学习模型对张量数据的预测结果,以使得机器学习模型完成对目标数据的预测任务。
可选地,所述经典模块33还用于创建所述机器学习模型的训练层,图7是根据一示例性实施例示出的一种数据处理方法的另一流程图。如图7所示,该方法包括:
S71,调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据。
S72,调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组。
S73,调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路。
S74,基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
S75,基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
S76,调用所述经典模块创建所述机器学习模型的训练层。
S77,将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型。
其中,步骤S71至步骤S74可以分别参见步骤S21至步骤S24,步骤S75可以参见步骤S65。
得到预测结果后,执行步骤S76,以创建用于对机器学习模型进行训练的训练层。
可选地,参见图8,所述训练层包括损失函数层和优化器层,所述经典模块33包括:
损失函数单元331,被配置为计算所述机器学习模型的损失函数;
优化器单元332,被配置为在训练所述机器学习模型时基于所述损失函数更新所述机器学习模型的参数,以对所述机器学习模型进行优化;
可选地,参见图9,调用所述经典模块创建所述机器学习模型的训练层,包括:
S761,调用所述损失函数单元创建所述损失函数层。
S762,调用所述优化器单元创建所述优化器层。
具体来讲,损失函数单元331用于计算机器学习模型的损失函数,例如可以计算机器学习模型对张量数据的预测结果与标签数据的平方差作为损失函数,也可以计算该预测结果与标签数据的二元交叉熵(Binary Cross Entropy)作为损失函数。优化器单元332则可以用于根据损失函数相对于机器学习模型的参数的梯度,利用梯度下降算法更新机器学习模型的参数对其进行优化。例如优化器采用的梯度下降算法可以为随机梯度下降算法(StochasticGradient Descent,SGD),自适应梯度算法(Adaptive gradient algorithm,Adagrad)、自适应矩估计(Adaptive Moment Estimation,Adam)中的任意一种,当然还可以采用其它的算法更新机器学习模型的参数,本发明对于损失函数单元331可以计算哪些种类的损失函数以及优化器单元332采用何种方法更新参数不作具体限制。
为实现对机器学习模型的训练,可以执行步骤S761,调用所述损失函数单元331创建所述损失函数层,损失函数层为封装好的计算模块,其定义了损失函数的计算方式,进而在机器学习模型的预测结果输入到损失函数层时,可以根据损失函数层定义的计算方式计算机器学习模型的损失函数。创建好损失函数层之后可以进入执行步骤S762,调用所述优化器单元332创建所述优化器层,以在预测结果输入到损失函数层,计算出损失函数之后,根据损失函数更新机器学习模型的参数,直至得到合适的参数使得机器学习模型能达到预期的效果,完成对机器学习模型的优化。
创建好训练层后,进入执行步骤S77,将机器学习模型的预测结果输入到前述训练层,按照一定的方法对机器学习模型的参数进行更新,如果更新参数后的机器学习模型满足预设条件,例如其对应的损失函数的值小于阈值,则停止更新参数,并将更新参数后的机器学习模型作为训练后的机器学习模型。如果更新参数后的机器学习模型不满足预设条件,例如其对应的损失函数的值大于阈值,则可以继续更新参数,直至得到满足预设条件的机器学习模型为止。
在一种可能的实施方式中,同一组张量数据会重复多次输入机器学习模型进行训练,每次输入张量数据之前,可以随机变换张量数据的顺序,以防止机器学习模型由于重复训练导致的过度训练,利用梯度下降算法时,防止损失函数收敛至局部最小值。具体地,对于步骤S74,在将所述输入数据分别输入每一所述量子线路前,可以随机变换输入数据的顺序。也可以在基于所述张量数据得到每组所述量子线路的输入数据之前,随机变换张量数据顺序,进而变换张量数据输入机器学习模型的顺序。
可选地,参见图10,将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型,包括:
S771,将所述预测结果输入所述损失函数层,以计算所述机器学习模型的损失函数的值。
S772,在确定所述损失函数的值不满足预设条件时,将所述损失函数的值输入所述优化器层,以基于所述损失函数的值更新所述量子程序的参数。
S773,确定更新所述参数后的所述机器学习模型的所述损失函数的值。
S774,在确定该损失函数的值满足预设条件时,将更新所述参数后的所述机器学习模型作为训练后的所述机器学习模型。
为对创建的机器学习模型进行训练,进入执行步骤S771,将机器学习模型对张量数据的预测结果输入损失函数层,计算机器学习模型的损失函数的值,损失函数表征机器学习模型的预测结果与符合真实计算情况的标签数据之间的差距。例如目标数据可以包括样本数据和标签数据,样本数据输入机器学习模型得到预测结果后,将预测结果输入损失函数层,计算标签数据与预测结果之间的差的平方,并对所有的差的平方求和计算损失函数的值。
在步骤S772中,可以通过将损失函数的值与预设的阈值比较,来判断损失函数的值是否满足预设条件,例如在确定损失函数的值大于或等于阈值时,将损失函数的值输入优化器层。当然也可以通过其它方法确定损失函数的值不满足预设条件,只要能通过预设函数的值判断当前的机器学习模型不符合预期即可。不满足预设条件时,将损失函数的值输入优化器层,可以利用损失函数的值求损失函数相对于机器学习模型的参数的梯度,进而基于梯度下降算法更新机器学习模型的参数。
在步骤S773中,在对机器学习模型更新参数后,重新计算其对应的损失函数的值。并重新判断损失函数的值是否满足预设条件,如果不满足,可以返回执行步骤S772,继续根据损失函数的值更新机器学习模型的参数,如果满足,则可以进入执行步骤S774。
在步骤S774中,确定损失函数的值满足预设条件时,例如损失函数的值小于阈值,则表示机器学习模型对目标数据中样本数据的预测结果与标签数据的差距很小,机器学习模型能达到预期的应用效果,进而将更新参数后的机器学习模型作为训练后的机器学习模型,停止更新参数。
可选地,参见图11,基于所述损失函数的值更新所述量子程序的参数,包括:
S7721,基于所述损失函数的值计算所述损失函数相对于所述量子程序的同一所述参数的梯度。
S7722,基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数。
在步骤S7721中,例如可以求损失函数相对于其参数的偏导数以得到损失函数相对量子程序的参数的梯度。由于前述生成了多个量子线路,进而对多个张量数据处理得到多个输出结果,对于多个输出结果,机器学习模型对其处理得到多个预测结果,多个预测结果可以得到损失函数的多个值,对于损失函数的多个值,均计算损失函数相对于同一参数的梯度,得到多个梯度。
在步骤S7722中,根据求得的多个梯度,带入梯度下降算法的相关公式中,更新机器学习模型的参数。梯度反映了损失函数变化最快的方向,通过梯度下降算法可以快速的变更参数,进而提高损失函数的值变化的速度,以快速的找到满足预设条件的损失函数的值对应的参数,得到符合要求的机器学习模型。
可选地,参见图12,基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数,包括:
S77221,计算多个所述梯度的平均值。
S77222,将所述平均值乘以步长得到偏置量。
S77223,将所述量子程序的所述参数减去所述偏置量以更新所述量子程序的所述参数。
具体来讲,为更新量子程序的参数,在得到多个梯度后,执行步骤S77221,可以计算多个梯度的算数平均值,例如共10个梯度,则可以将这10个梯度相加后再除以10得到平均值。得到平均值后,进入执行步骤S77222,将平均值与步长相乘,步长可以是预设的数值,表示每次参数更新时其变化量的大小,两者相乘的乘积作为偏置量,进而进入执行步骤S77223,将量子程序的参数减去偏置量得到新的参数值,在将新的参数值替换之前的参数值,完成对量子程序的参数的更新。
由于生成了多个量子线路,用于执行相应的量子计算,因此可以进行分布式训练,将数据分散到不同的量子设备中训练,以提高训练的效率。
图13是根据一示例性实施例示出的一种数据处理装置的框图,该装置130可以应用于包括如图3所示的机器学习框架30的电子设备,所述机器学习框架30包括数据结构模块31、量子模块32和经典模块33,所述装置包括:
第一创建模块131,用于调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
划分模块132,用于调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
生成模块133,用于调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
输入模块134,用于基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
可选地,所述划分模块132还用于:
将所述量子设备中允许使用的第二量子比特的数量除以所述量子程序所需的第一量子比特的数量得到中间数;
将小于等于所述中间数的最大整数作为目标数;
将所述第二量子比特划分为数量为所述目标数的多组。
可选地,所述生成模块133还用于:
针对每一组所述第二量子比特,基于所述量子程序生成用于作用于该组所述第二量子比特的量子逻辑门;
生成包括该组所述第二量子比特和所述量子逻辑门的量子线路。
可选地,所述装置130还包括:
确定模块,用于基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
可选地,所述经典模块33还用于创建所述机器学习模型的训练层,所述装置130还包括:
第二创建模块,用于调用所述创建所述机器学习模型的训练层;
更新模块,用于将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型。
可选地,如图8所示,所述训练层包括损失函数层和优化器层,所述经典模块33包括:
损失函数单元331,被配置为计算所述机器学习模型的损失函数;
优化器单元332,被配置为在训练所述机器学习模型时基于所述损失函数更新所述机器学习模型的参数,以对所述机器学习模型进行优化;
可选地,所述第二创建模块还用于:
调用所述损失函数单元创建所述损失函数层;
调用所述优化器单元创建所述优化器层。
可选地,所述更新模块还用于:
将所述预测结果输入所述损失函数层,以计算所述机器学习模型的损失函数的值;
在确定所述损失函数的值不满足预设条件时,将所述损失函数的值输入所述优化器层,以基于所述损失函数的值更新所述量子程序的参数;
确定更新所述参数后的所述机器学习模型的所述损失函数的值;
在确定该损失函数的值满足预设条件时,将更新所述参数后的所述机器学习模型作为训练后的所述机器学习模型。
可选地,所述更新模块还用于:
基于所述损失函数的值计算所述损失函数相对于所述量子程序的同一所述参数的梯度;
基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数。
可选地,所述更新模块还用于:
计算多个所述梯度的平均值;
将所述平均值乘以步长得到偏置量;
将所述量子程序的所述参数减去所述偏置量以更新所述量子程序的所述参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明的再一实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述数据处理方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述数据处理方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (13)

1.一种数据处理方法,其特征在于,应用于包括机器学习框架的电子设备,所述机器学习框架包括数据结构模块、量子模块和经典模块,所述方法包括:
调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,包括:
将所述量子设备中允许使用的第二量子比特的数量除以所述量子程序所需的第一量子比特的数量得到中间数;
将小于等于所述中间数的最大整数作为目标数;
将所述第二量子比特划分为数量为所述目标数的多组。
3.如权利要求1所述的方法,其特征在于,所述针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,包括:
针对每一组所述第二量子比特,基于所述量子程序生成用于作用于该组所述第二量子比特的量子逻辑门;
生成包括该组所述第二量子比特和所述量子逻辑门的量子线路。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述输出结果确定所述机器学习模型对所述张量数据的预测结果。
5.如权利要求4所述的方法,其特征在于,所述经典模块还用于创建所述机器学习模型的训练层,所述方法还包括:
调用所述经典模块创建所述机器学习模型的训练层;
将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型。
6.如权利要求5所述的方法,其特征在于,所述训练层包括损失函数层和优化器层,所述经典模块包括:
损失函数单元,被配置为计算所述机器学习模型的损失函数;
优化器单元,被配置为在训练所述机器学习模型时基于所述损失函数更新所述机器学习模型的参数,以对所述机器学习模型进行优化;
所述调用所述经典模块创建所述机器学习模型的训练层,包括:
调用所述损失函数单元创建所述损失函数层;
调用所述优化器单元创建所述优化器层。
7.如权利要求6所述的方法,其特征在于,所述将所述预测结果输入所述训练层,以对所述量子程序的参数进行更新,得到训练后的所述机器学习模型,包括:
将所述预测结果输入所述损失函数层,以计算所述机器学习模型的损失函数的值;
在确定所述损失函数的值不满足预设条件时,将所述损失函数的值输入所述优化器层,以基于所述损失函数的值更新所述量子程序的参数;
确定更新所述参数后的所述机器学习模型的所述损失函数的值;
在确定该损失函数的值满足预设条件时,将更新所述参数后的所述机器学习模型作为训练后的所述机器学习模型。
8.如权利要求7所述的方法,其特征在于,所述基于所述损失函数的值更新所述量子程序的参数,包括:
基于所述损失函数的值计算所述损失函数相对于所述量子程序的同一所述参数的梯度;
基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数。
9.如权利要求8所述的方法,其特征在于,所述基于多个所述梯度和梯度下降算法更新所述量子程序的所述参数,包括:
计算多个所述梯度的平均值;
将所述平均值乘以步长得到偏置量;
将所述量子程序的所述参数减去所述偏置量以更新所述量子程序的所述参数。
10.一种机器学习框架,其特征在于,所述框架包括:
数据结构模块,被配置为获取目标数据并创建包括所述目标数据的张量数据;
经典模块,被配置为创建机器学习模型;
量子模块,被配置为创建机器学习模型,以及基于量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组,针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路,以使得每组所述量子线路的输入数据确定时,将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
11.一种数据处理装置,其特征在于,应用于包括机器学习框架的电子设备,所述机器学习框架包括数据结构模块、量子模块和经典模块,所述装置包括:
创建模块,用于调用所述量子模块和所述经典模块创建包括量子程序的机器学习模型,调用所述数据结构模块获取目标数据并创建包括所述目标数据的张量数据;
划分模块,用于调用所述量子模块基于所述量子程序所需的第一量子比特的数量和量子设备中允许使用的第二量子比特的数量将所述第二量子比特划分为多组;
生成模块,用于调用所述量子模块针对每一组所述第二量子比特,基于所述量子程序生成包括该组所述第二量子比特的量子线路;
输入模块,用于基于所述张量数据得到每组所述量子线路的输入数据,并将所述输入数据分别输入每一所述量子线路,得到每一所述量子线路的输出结果。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
CN202111680613.0A 2021-12-30 2021-12-30 数据处理方法、机器学习框架及相关设备 Pending CN116415667A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111680613.0A CN116415667A (zh) 2021-12-30 2021-12-30 数据处理方法、机器学习框架及相关设备
PCT/CN2022/143597 WO2023125857A1 (zh) 2021-12-30 2022-12-29 基于机器学习框架系统的模型训练方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111680613.0A CN116415667A (zh) 2021-12-30 2021-12-30 数据处理方法、机器学习框架及相关设备

Publications (1)

Publication Number Publication Date
CN116415667A true CN116415667A (zh) 2023-07-11

Family

ID=87055249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111680613.0A Pending CN116415667A (zh) 2021-12-30 2021-12-30 数据处理方法、机器学习框架及相关设备

Country Status (1)

Country Link
CN (1) CN116415667A (zh)

Similar Documents

Publication Publication Date Title
CN109993299A (zh) 数据训练方法及装置、存储介质、电子装置
CN113850389B (zh) 一种量子线路的构建方法及装置
CN108304926B (zh) 一种适用于神经网络的池化计算装置及方法
WO2022267854A1 (zh) 量子计算任务处理方法、系统、装置及操作系统
CN116644804B (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN114358317B (zh) 基于机器学习框架的数据分类方法及相关设备
WO2022206842A1 (zh) 量子线路编译方法、装置、编译框架及量子操作系统
CN114819163B (zh) 量子生成对抗网络的训练方法、装置、介质及电子装置
CN114372539B (zh) 基于机器学习框架的分类方法及相关设备
CN114511094B (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
CN116415667A (zh) 数据处理方法、机器学习框架及相关设备
CN115879562B (zh) 一种量子程序初始映射的确定方法、装置及量子计算机
CN116011681A (zh) 一种气象数据预测方法、装置、存储介质及电子装置
CN114372583B (zh) 基于机器学习框架的量子程序优化方法及相关设备
CN116523059A (zh) 数据处理方法、机器学习框架及相关设备
CN116432691A (zh) 基于机器学习框架的模型训练方法及相关设备
CN116432710B (zh) 机器学习模型构建方法、机器学习框架及相关设备
CN118101493B (zh) 智算中心网络架构的仿真寻优方法、装置、设备及介质
CN116542337A (zh) 数据处理方法、机器学习框架及相关设备
WO2024066808A1 (zh) 量子线路生成方法、装置、存储介质及电子装置
CN115879555B (zh) 量子模数快速乘法运算方法、装置及模数算术组件
CN116432764B (zh) 机器学习框架
CN114970872B (zh) 量子线路的编译方法、装置、介质及电子装置
CN116738126B (zh) 一种基于计算域分解的微分方程求解方法及装置
CN116187489A (zh) 一种qaoa算法的优化方法、装置、终端及存储介质

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