CN116432710A - 机器学习模型构建方法、机器学习框架及相关设备 - Google Patents

机器学习模型构建方法、机器学习框架及相关设备 Download PDF

Info

Publication number
CN116432710A
CN116432710A CN202111680573.XA CN202111680573A CN116432710A CN 116432710 A CN116432710 A CN 116432710A CN 202111680573 A CN202111680573 A CN 202111680573A CN 116432710 A CN116432710 A CN 116432710A
Authority
CN
China
Prior art keywords
layer
machine learning
classical
quantum
compatible
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
Application number
CN202111680573.XA
Other languages
English (en)
Other versions
CN116432710B (zh
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 CN202111680573.XA priority Critical patent/CN116432710B/zh
Priority to PCT/CN2022/143597 priority patent/WO2023125857A1/zh
Publication of CN116432710A publication Critical patent/CN116432710A/zh
Application granted granted Critical
Publication of CN116432710B publication Critical patent/CN116432710B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Medical Informatics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种机器学习模型构建方法、机器学习框架及相关设备,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,本发明通过确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;构建包括所述兼容量子计算层的机器学习模型,实现了跨量子机器学习框架构建机器学习模型。

Description

机器学习模型构建方法、机器学习框架及相关设备
技术领域
本发明属于量子计算技术领域,特别是一种机器学习模型构建方法、机器学习框架及相关设备。
背景技术
经典的机器学习,尤其是深度学习,彻底改变了人工智能的许多子领域,并取得了重大成功。近年来,随着信息时代的到来,深度学习得到了迅速的发展。电子数据量的快速增长导致了深度学习模型的训练数据的大量增加。与此同时,电子计算机计算能力的迅速发展,特别是以图形处理单元(GPU)为代表的一系列新型电子计算设备的出现,使得深度学习模型的大规模训练成为现实。因此,深度学习已经大大超越了之前的传统算法,并在许多领域得到了广泛的应用。深度学习在数字图像分类、手写字符识别、视频分析等领域的表现已经达到或超过了人类。
随着量子计算的快速发展,以量子力学为基础,将量子计算与经典机器学习相结合的量子机器学习也开始迅速发展。量子机器学习利用量子计算机远超经典计算机的效率,结合大数据时代快速发展的机器学习算法,进一步提高了大数据的处理能力。
近年来,随着人们对量子机器学习的兴趣日益浓厚,涌现了大量量子机器学习框架,如TensorFlowQuantum、PennyLane、PaddleQuantum等。然而在电子设备仅包括一种量子机器学习框架时,对于习惯了另外一种量子机器学习框架的开发者来说,需要切换量子机器学习框架去构建机器学习模型,这是尤为困难的。
发明内容
本发明的目的是提供一种机器学习模型构建方法、机器学习框架及相关设备,旨在实现跨量子机器学习框架构建机器学习模型。
本发明的一个实施例提供了一种机器学习模型构建方法,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述方法包括:
确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;
构建包括所述兼容量子计算层的机器学习模型。
可选的,所述确定对应的所述第二机器学习框架的兼容量子计算层接口之前,所述方法还包括:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
可选的,所述第一机器学习框架还包括经典模块和数据结构模块,所述构建包括所述兼容量子计算层的机器学习模型,包括:
调用所述经典模块构建经典计算层以及调用所述数据结构模块构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
调用所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
可选的,所述经典模块包括经典神经网络层单元,所述经典神经网络层单元包括以下至少一者:指定模型经典神经网络层子单元,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层;
所述调用所述经典模块构建经典计算层,包括:
调用所述指定模型经典神经网络层子单元构建经典神经网络层,以及将所述经典神经网络层作为经典计算层;或者,
调用所述指定模型经典神经网络层子单元和所述激活层子单元构建经典神经网络层和激活层,以及将所述经典神经网络层和所述激活层作为经典计算层。
可选的,所述经典模块还包括抽象类子模块,所述通过所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型,包括:
调用所述抽象类子模块基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;
调用所述抽象类子模块基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;
调用所述抽象类子模块基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
本发明的又一实施例提供了一种机器学习模型构建装置,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述装置包括:
确定单元,用于确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
构建单元,用于通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;构建包括所述兼容量子计算层的机器学习模型。
可选的,所述确定对应的所述第二机器学习框架对应的兼容量子计算层接口之前,所述构建单元还用于:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
可选的,所述第一机器学习框架还包括经典模块和数据结构模块,所述构建包括所述兼容量子计算层的机器学习模型,所述构建单元,具体用于:
调用所述经典模块构建经典计算层以及调用所述数据结构模块构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
调用所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
可选的,所述经典模块包括经典神经网络层单元,所述经典神经网络层单元包括以下至少一者:指定模型经典神经网络层子单元,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层;
所述调用所述经典模块构建经典计算层,所述构建单元具体用于:
调用所述指定模型经典神经网络层子单元构建经典神经网络层,以及将所述经典神经网络层作为经典计算层;或者,
调用所述指定模型经典神经网络层子单元和所述激活层子单元构建经典神经网络层和激活层,以及将所述经典神经网络层和所述激活层作为经典计算层。
可选的,所述经典模块还包括抽象类子模块,所述通过所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型,所述构建单元具体用于:
调用所述抽象类子模块基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;
调用所述抽象类子模块基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;
调用所述抽象类子模块基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
本发明的又一实施例提供了一种机器学习框架,所述机器学习框架设置在电子装置内,所述机器学习框架包括:
兼容量子计算程序封装单元,被配置为调用兼容量子计算层接口构建兼容量子计算层,所述兼容量子计算层接口用于接收基于设置在所述电子装置外的第二机器学习框架内含的量子计算编程库创建的量子程序。
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明提供的机器学习模型构建方法,开发者可以基于自己习惯的第二机器学习框架内含的量子计算编程库创建的量子程序,然后在第一机器学习框架中确定对应的该第二机器学习框架对应的兼容量子计算层接口,通过第一机器学习框架包括的兼容量子计算程序封装单元调用该兼容量子计算层接口即可构建兼容量子计算层,从而实现了通过包括第一机器学习框架但不包括第二机器学习框架的电子设备进行机器学习模型的构建,进而实现跨量子机器学习框架构建机器学习模型。
附图说明
图1为本发明实施例提供的一种机器学习模型构建方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种机器学习模型构建方法的流程示意图;
图3为本发明实施例提供的一种机器学习模型构建装置的结构示意图;
图4为本发明实施例提供的一种机器学习框架的结构示意图;
图5为本发明实施例提供的另一种机器学习框架的结构示意图;
图6为本发明实施例提供的另一种机器学习框架的结构示意图;
图7为本发明实施例提供的另一种机器学习框架的结构示意图;
图8为本发明实施例提供的另一种机器学习框架的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种机器学习模型构建方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算。
参见图2,图2为本发明实施例提供的一种机器学习模型构建方法的流程示意图。该机器学习模型构建方法应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述方法包括:
步骤201:确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
步骤202:通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;
步骤203:构建包括所述兼容量子计算层的机器学习模型。
其中,量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式,借助量子的名为叠加和纠缠的两个现象,能够同时处理信息的多个状态。量子计算层为包含量子线路的程序模块,可以用于实现对应量子线路的量子计算,通过对量子线路按照一定的标准进行封装,使得量子计算层便于在创建和训练机器学习模型时进行使用。对于机器学习模型通过量子计算实现的部分,均可以理解为对应的量子计算层。
其中,兼容量子计算程序封装单元包括Compatiblelayer接口,该接口的继承接口例如可以有兼容量子计算层接口QiskitLayer,用于基于IBM的第二机器学习框架内含的量子计算编程库创建的量子程序;还可以有兼容量子计算层接口CirqLayer,用于基于谷歌的第二机器学习框架内含的量子计算编程库创建的量子程序;还可以有兼容量子计算层接口QuantumLayer,用于基于微软的第二机器学习框架内含的量子计算编程库创建的量子程序;还可以有兼容量子计算层接口QCISLayer,用于基于国盾的第二机器学习框架内含的量子计算编程库创建的量子程序;还可以有其他兼容量子计算层接口,用于基于其他公司的第二机器学习框架内含的量子计算编程库创建的量子程序,在此不再一一举例。
具体的,第二机器学习框架与兼容量子计算层接口具有一一对应的关系,确定对应的所述第二机器学习框架的兼容量子计算层接口,具体可以通过该对应关系进行确定。
具体的,通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层,可以将基于所述第二机器学习框架内含的量子计算编程库创建的量子程序作为兼容量子计算层接口的参数,通过调用该兼容量子计算层接口即可实现量子计算层的构建。
可选的,所述确定对应的所述第二机器学习框架的兼容量子计算层接口之前,所述方法还包括:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
其中,初始化函数例如可以为_init_(),运行函数例如可以为run()。
可选的,所述第一机器学习框架还包括经典模块和数据结构模块,所述构建包括所述兼容量子计算层的机器学习模型,包括:
调用所述经典模块构建经典计算层以及调用所述数据结构模块构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
调用所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
其中,经典计算是一种遵循经典物理学规律调控经典信息单元进行计算的传统计算模式,它通过一个二进制系统工作,即信息使用1或0来存储,不会理解0或1之外的任何东西。经典计算层与量子计算层相对应,其可以是对创建好的经典计算程序按照一定标准进行封装,使得经典计算层便于在创建和训练机器学习模型时进行使用。
其中,前向传播为将上一计算层的输出作为下一计算层的输入,并计算下一计算层的输出,一直运算到没有下一计算层为止,其中计算层可以为上述的经典计算层也可以为上述的量子计算层。
可选的,所述经典模块包括经典神经网络层单元,所述经典神经网络层单元包括以下至少一者:指定模型经典神经网络层子单元,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层;
所述调用所述经典模块构建经典计算层,包括:
调用所述指定模型经典神经网络层子单元构建经典神经网络层,以及将所述经典神经网络层作为经典计算层;或者,
调用所述指定模型经典神经网络层子单元和所述激活层子单元构建经典神经网络层和激活层,以及将所述经典神经网络层和所述激活层作为经典计算层。
其中,经典神经网络层接口包括以下至少一者:一维卷积层接口Conv1D()、二维卷积层接口Conv2D、二维转置卷积层接口ConvT2D()、平均池化层接口AvgPool2D()、最大池化层接口MaxPool2D()、嵌入层接口Embedding2D()、一维批量归一化层接口BatchNorm1D()、二维批量归一化层接口BatchNorm2D、全连接层接口Linear()、随机丢失层接口Dropout()。
其中,激活层接口包括以下至少一者:Sigmoid()、Softplus()、Softsign()、Softmax()、HardSigmoid()、Relu()、LeakyRelu()、Elu()、Tanh()。
其中,Sigmoid()对应的激活函数为
Figure BDA0003445160890000101
Softplus()对应的激活函数为Softplus(x)=log(1+ex),Softsign()对应的激活函数为/>
Figure BDA0003445160890000102
Softmax()对应的激活函数为/>
Figure BDA0003445160890000103
Relu()对应的激活函数为Relu(x)=max(0,x),LeakyRelu()对应的激活函数为/>
Figure BDA0003445160890000104
Elu()对应的激活函数为
Figure BDA0003445160890000105
Tanh()对应的激活函数为/>
Figure BDA0003445160890000106
Figure BDA0003445160890000107
HardSigmoid()对应的激活函数为
Figure BDA0003445160890000108
举例说明,创建的经典计算层和兼容量子计算层如下:
self.conv1=Conv2D(a)
self.maxpool=Maxpool2D(b)
self.conv2=Conv2D(c)
self.maxpool2=Maxpool2D(d)
self.fc1=Linear(e)
self.fc2=Linear(f)
self.hybrid=Qiskitlayer(g)
self.fc3=Linear(h)
其中,a、b、c、d、e、f、g、h为接口参数。
其中,经典模块包括赋值函数,可以通过赋值函数构建所述经典计算层与所述兼容量子计算层之间的前向传播关系。
举例说明,通过赋值函数构建的前向传播关系如下:
x=self.conv1(x)
x=self.maxpool1(x)
x=self.conv2(x)
x=maxpool2(x)
x=self.fc1(x)
x=self.fc2(x)
x=self.hybrid(x)
x=self.fc3(x)
return x
可选的,所述经典模块还包括抽象类子模块,所述通过所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型,包括:
调用所述抽象类子模块基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;
调用所述抽象类子模块基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;
调用所述抽象类子模块基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
其中,初始化函数为_init_(),前向传播函数为forward()。
基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层,那么可以如下:
Figure BDA0003445160890000121
基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系,那么可以如下:
Figure BDA0003445160890000122
Figure BDA0003445160890000131
基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型,那么可以如下:
Figure BDA0003445160890000132
与现有技术相比,本发明提供的机器学习模型构建方法,开发者可以基于自己习惯的第二机器学习框架内含的量子计算编程库创建的量子程序,然后在第一机器学习框架中确定对应的该第二机器学习框架对应的兼容量子计算层接口,通过第一机器学习框架包括的兼容量子计算程序封装单元调用该兼容量子计算层接口即可构建兼容量子计算层,从而实现了通过包括第一机器学习框架但不包括第二机器学习框架的电子设备进行机器学习模型的构建,进而实现跨量子机器学习框架构建机器学习模型。
参见图3,图3为本发明实施例提供的一种机器学习模型构建装置的结构示意图。本发明的又一实施例提供了一种机器学习模型构建装置,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述装置30包括:
确定单元301,用于确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
构建单元302,用于通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;构建包括所述兼容量子计算层的机器学习模型。
可选的,所述确定对应的所述第二机器学习框架对应的兼容量子计算层接口之前,所述构建单元302还用于:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
可选的,所述第一机器学习框架还包括经典模块和数据结构模块,所述构建包括所述兼容量子计算层的机器学习模型,所述构建单元302,具体用于:
调用所述经典模块构建经典计算层以及调用所述数据结构模块构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
调用所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
可选的,所述经典模块包括经典神经网络层单元,所述经典神经网络层单元包括以下至少一者:指定模型经典神经网络层子单元,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层;
所述调用所述经典模块构建经典计算层,所述构建单元302具体用于:
调用所述指定模型经典神经网络层子单元构建经典神经网络层,以及将所述经典神经网络层作为经典计算层;或者,
调用所述指定模型经典神经网络层子单元和所述激活层子单元构建经典神经网络层和激活层,以及将所述经典神经网络层和所述激活层作为经典计算层。
可选的,所述经典模块还包括抽象类子模块,所述通过所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型,所述构建单元302具体用于:
调用所述抽象类子模块基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;
调用所述抽象类子模块基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;
调用所述抽象类子模块基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
与现有技术相比,本发明提供的机器学习模型构建方法,开发者可以基于自己习惯的第二机器学习框架内含的量子计算编程库创建的量子程序,然后在第一机器学习框架中确定对应的该第二机器学习框架对应的兼容量子计算层接口,通过第一机器学习框架包括的兼容量子计算程序封装单元调用该兼容量子计算层接口即可构建兼容量子计算层,从而实现了通过包括第一机器学习框架但不包括第二机器学习框架的电子设备进行机器学习模型的构建,进而实现跨量子机器学习框架构建机器学习模型。
参见图4,图4为本发明实施例提供的一种机器学习框架的结构示意图。本发明的又一实施例提供了一种机器学习框架,所述机器学习框架设置在电子装置内,所述机器学习框架40包括:
兼容量子计算程序封装单元411,被配置为调用兼容量子计算层接口构建兼容量子计算层,所述兼容量子计算层接口用于接收基于设置在所述电子装置外的第二机器学习框架内含的量子计算编程库创建的量子程序。
参见图5,图5为本发明实施例提供的另一种机器学习框架的结构示意图。可选的,所述机器学习框架还包括量子模块41,所述量子模块包括所述兼容量子计算程序封装单元,所述量子计算模块被配置为构建量子计算层。
参见图6,图6为本发明实施例提供的另一种机器学习框架的结构示意图。可选的,所述机器学习框架还包括:
经典模块42,被配置为构建经典计算层;
数据结构模块43,被配置为构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
所述经典模块42,还被配置为被配置为将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
参见图7,图7为本发明实施例提供的另一种机器学习框架的结构示意图。可选的,所述经典模块42包括经典神经网络层单元421,所述经典神经网络层单元421包括以下至少一者:指定模型经典神经网络层子单元4211,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元4212,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层。
参见图8,图8为本发明实施例提供的另一种机器学习框架的结构示意图。可选的,所述经典模块42还包括抽象类子模块422,被配置为基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
与现有技术相比,本发明提供的机器学习模型构建方法,开发者可以基于自己习惯的第二机器学习框架内含的量子计算编程库创建的量子程序,然后在第一机器学习框架中确定对应的该第二机器学习框架对应的兼容量子计算层接口,通过第一机器学习框架包括的兼容量子计算程序封装单元调用该兼容量子计算层接口即可构建兼容量子计算层,从而实现了通过包括第一机器学习框架但不包括第二机器学习框架的电子设备进行机器学习模型的构建,进而实现跨量子机器学习框架构建机器学习模型。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;
构建包括所述兼容量子计算层的机器学习模型。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,该电子装置包括第一机器学习框架且不包括第二机器学习框架,所述第一机器学习框架包括兼容量子计算程序封装单元,该电子装置还包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;
构建包括所述兼容量子计算层的机器学习模型。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (10)

1.一种机器学习模型构建方法,其特征在于,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述方法包括:
确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;
构建包括所述兼容量子计算层的机器学习模型。
2.如权利要求1所述的方法,其特征在于,所述确定对应的所述第二机器学习框架的兼容量子计算层接口之前,所述方法还包括:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
3.如权利要求1所述的方法,其特征在于,所述第一机器学习框架还包括经典模块和数据结构模块,所述构建包括所述兼容量子计算层的机器学习模型,包括:
调用所述经典模块构建经典计算层以及调用所述数据结构模块构建所述经典计算层与所述兼容量子计算层之间的前向传播关系;
调用所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型。
4.如权利要求3所述的方法,其特征在于,所述经典模块包括经典神经网络层单元,所述经典神经网络层单元包括以下至少一者:指定模型经典神经网络层子单元,被配置为通过已封装的经典神经网络层接口构建指定模型的所述经典神经网络层;激活层子单元,被配置为构建用于对所述经典神经网络层的输出进行非线性变换的激活层;
所述调用所述经典模块构建经典计算层,包括:
调用所述指定模型经典神经网络层子单元构建经典神经网络层,以及将所述经典神经网络层作为经典计算层;或者,
调用所述指定模型经典神经网络层子单元和所述激活层子单元构建经典神经网络层和激活层,以及将所述经典神经网络层和所述激活层作为经典计算层。
5.如权利要求3所述的方法,其特征在于,所述经典模块还包括抽象类子模块,所述通过所述经典模块将所述经典计算层、所述兼容量子计算层以及所述经典计算层与所述兼容量子计算层之间的前向传播关系进行封装,得到机器学习模型,包括:
调用所述抽象类子模块基于初始化函数对所述兼容量子计算层和所述经典计算层初始化和封装,得到初始化和封装后的所述兼容量子计算层和所述经典计算层;
调用所述抽象类子模块基于前向传播函数对所述前向传播关系进行封装得到封装后的所述前向传播关系;
调用所述抽象类子模块基于模块类对所述初始化和封装后的所述兼容量子计算层和所述经典计算层,以及封装后的所述前向传播关系进行封装,得到机器学习模型。
6.一种机器学习模型构建装置,其特征在于,应用于包括第一机器学习框架且不包括第二机器学习框架的电子装置,所述第一机器学习框架包括兼容量子计算程序封装单元,所述装置包括:
确定单元,用于确定对应的所述第二机器学习框架的兼容量子计算层接口,所述兼容量子计算层接口用于提供基于所述第二机器学习框架内含的量子计算编程库创建的量子程序;
构建单元,用于通过所述兼容量子计算程序封装单元调用所述兼容量子计算层接口构建兼容量子计算层;构建包括所述兼容量子计算层的机器学习模型。
7.如权利要求6所述的装置,其特征在于,所述确定对应的所述第二机器学习框架对应的兼容量子计算层接口之前,所述构建单元还用于:
通过所述第二机器学习框架内含的量子计算编程库构建量子线路,以及调用初始化函数对所述量子线路进行初始化,通过运行函数定义所述量子线路的运行和测量方式,得到量子程序。
8.一种机器学习框架,其特征在于,所述机器学习框架设置在电子装置内,所述机器学习框架包括:
兼容量子计算程序封装单元,被配置为调用兼容量子计算层接口构建兼容量子计算层,所述兼容量子计算层接口用于接收基于设置在所述电子装置外的第二机器学习框架内含的量子计算编程库创建的量子程序。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
CN202111680573.XA 2021-12-30 2021-12-30 机器学习模型构建方法、机器学习框架及相关设备 Active CN116432710B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111680573.XA CN116432710B (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
CN202111680573.XA CN116432710B (zh) 2021-12-30 2021-12-30 机器学习模型构建方法、机器学习框架及相关设备

Publications (2)

Publication Number Publication Date
CN116432710A true CN116432710A (zh) 2023-07-14
CN116432710B CN116432710B (zh) 2024-06-14

Family

ID=87084186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111680573.XA Active CN116432710B (zh) 2021-12-30 2021-12-30 机器学习模型构建方法、机器学习框架及相关设备

Country Status (1)

Country Link
CN (1) CN116432710B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800883A (zh) * 2019-01-25 2019-05-24 合肥本源量子计算科技有限责任公司 量子机器学习框架构建方法、装置及量子计算机
CN110601826A (zh) * 2019-09-06 2019-12-20 北京邮电大学 一种基于机器学习的动态dwdm-qkd网络中的自适应信道分配方法
CN112784959A (zh) * 2021-01-13 2021-05-11 鹏城实验室 一种兼容多框架的深度学习模型快速搭建系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800883A (zh) * 2019-01-25 2019-05-24 合肥本源量子计算科技有限责任公司 量子机器学习框架构建方法、装置及量子计算机
WO2020151129A1 (zh) * 2019-01-25 2020-07-30 合肥本源量子计算科技有限责任公司 量子机器学习框架构建方法、装置、量子计算机及计算机存储介质
CN110601826A (zh) * 2019-09-06 2019-12-20 北京邮电大学 一种基于机器学习的动态dwdm-qkd网络中的自适应信道分配方法
CN112784959A (zh) * 2021-01-13 2021-05-11 鹏城实验室 一种兼容多框架的深度学习模型快速搭建系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHEN-YUN CHEN, ET AL: "VQNet:library for a quantum-classical hybrid neural network", 《QUANT-PH》, 26 January 2019 (2019-01-26), pages 1 - 11 *
赵勇杰,吴伟: "量子软件与量子云", 《信息通信技术与政策》, vol. 2020, no. 7, 31 July 2020 (2020-07-31), pages 49 - 57 *

Also Published As

Publication number Publication date
CN116432710B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN113850389B (zh) 一种量子线路的构建方法及装置
CN114358319B (zh) 基于机器学习框架的分类方法及相关装置
CN114358295B (zh) 基于机器学习框架的二分类方法及相关装置
CN114819163B (zh) 量子生成对抗网络的训练方法、装置、介质及电子装置
CN111461335A (zh) 基于mpi多进程的含噪声单量子逻辑门实现方法及装置
CN115293254B (zh) 基于量子多层感知器的分类方法及相关设备
CN114358318B (zh) 基于机器学习框架的分类方法及相关装置
CN113222153B (zh) 一种量子态的模拟方法、装置、存储介质和电子装置
CN114511094B (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
CN114372539B (zh) 基于机器学习框架的分类方法及相关设备
CN116432710B (zh) 机器学习模型构建方法、机器学习框架及相关设备
CN114372584B (zh) 基于机器学习框架的迁移学习方法及相关装置
CN115879562B (zh) 一种量子程序初始映射的确定方法、装置及量子计算机
CN114881238A (zh) 量子鉴别器的构造方法、装置、介质及电子装置
CN114881239A (zh) 量子生成器的构造方法、装置、介质及电子装置
CN116432721B (zh) 数据处理方法、机器学习框架及相关设备
CN116432763A (zh) 机器学习模型运行方法、机器学习框架及相关设备
CN113887730A (zh) 量子模拟器实现方法、装置、相关设备以及量子模拟方法
CN116415685A (zh) 含噪声机器学习模型创建方法、机器学习框架及相关设备
CN116432764B (zh) 机器学习框架
CN114764618B (zh) 一种针对线性系统的量子预处理方法及装置
CN114372583B (zh) 基于机器学习框架的量子程序优化方法及相关设备
CN116415667B (zh) 数据处理方法、机器学习框架及相关设备
CN116167407B (zh) 一种基于量子循环神经网络的数据预测方法及相关设备
CN114692879B (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