一种量子卷积操作器
本申请要求于2021年02月26日提交中国专利局,申请号为202110213240.X,申请名称为“一种量子卷积操作的实现方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请还要求于2021年04月29日提交中国专利局,申请号为202110473480.3,申请名称为“一种基于量子线路的卷积操作方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请还要求于2021年03月30日提交中国专利局,申请号为202110339877.3,申请名称为“一种量子图像识别方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请还要求于2021年04月29日提交中国专利局,申请号为202110475104.8,申请名称为“一种量子图像识别的显示方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请还要求于2021年06月28日提交中国专利局,申请号为202110722243.6,申请名称为“一种基于量子经典混合神经网络的图像识别方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请还要求于2021年12月31日提交中国专利局,申请号为202111683374.4,申请名称为“一种量子卷积操作器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于量子计算技术领域,特别是一种量子卷积操作器。本申请还涉及一种量子卷积操作的实现方法及装置。本申请还涉及一种基于量子线路的卷积操作方法及装置。本申请还涉及一种量子图像识别方法及装置。本申请还涉及一种量子图像识别的显示方法及装置。本申请还涉及一种基于量子经典混合神经网络的图像识别方法及装置。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
在经典计算机领域,卷积神经网络模型可以用于图像识别、自然语言处理、语音识别等领域,旨在提取图像、语言、语音等信息载体中的特征信息。然而,量子计算的技术如何应用于神经网络模型领域亟需探索解决。
发明内容
本申请的目的是提供一种量子卷积操作器,以解决现有技术中的不足,它能够实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种量子卷积操作器,所述量子卷积操作器包括:量子态编码模块、量子纠缠模块、量子卷积核模块、测量模块和计算模块;
所述量子态编码模块,用于将当前组输入数据编码到量子比特上;
所述量子纠缠模块,用于关联所述量子比特的量子态信息;
所述量子卷积核模块,用于提取所述量子态信息对应的特征信息;
所述测量模块,用于测量预设量子比特的量子态并获得对应的振幅;
所述计算模块,用于根据测量的量子态及其振幅,计算所述当前组输入数据对应的卷积结果。
可选的,所述量子态编码模块包括:量子逻辑门;所述将当前组输入数据编码到量子比特上,包括:
确定当前组输入数据对应的量子逻辑门中的可变参数值,其中,所述量子逻辑门支持动态修改所述可变参数值。
可选的,所述量子卷积操作器还包括:更新模块,所述更新模块用于根据预设映射关系,更新下一组输入数据对应的量子态编码模块。
可选的,所述根据预设映射关系,更新下一组输入数据对应的量子态编码 模块,包括:
根据输入数据与量子态编码线路的预设映射关系,更新下一组输入数据对应的量子态编码线路,得到新的量子态编码线路作为更新后的量子态编码模块。
可选的,所述根据测量的量子态及其振幅,计算所述输入数据对应的卷积结果,包括:
根据测量的量子态及其振幅,计算所述预设量子比特为预设量子态时对应的概率,作为所述当前组输入数据对应的卷积结果。
可选的,在所述量子纠缠模块和/或所述量子卷积核模块包括量子逻辑门的情况下,该量子逻辑门中的可变参数值由预先训练确定。
可选的,所述输入数据包括:图像、自然语言或音频数据。
可选的,所述量子态编码模块包括:量子逻辑门RX门、RY门、RZ门或X门。
可选的,所述量子纠缠模块包括:作用于相邻两个量子比特的CNOT门,其中,最后一个CNOT门作用于最后一位量子比特和第一位量子比特。
可选的,所述量子卷积核模块包括量子逻辑门U3门,其中,所述U3门的酉矩阵为:
其中,所述α,β,γ为角度变量。
与现有技术相比,本申请提供的一种量子卷积操作器,包括:量子态编码模块、量子纠缠模块、量子卷积核模块、测量模块和计算模块;量子态编码模块,用于将当前组输入数据编码到量子比特上;量子纠缠模块,用于关联量子比特的量子态信息;量子卷积核模块,用于提取量子态信息对应的特征信息;测量模块,用于测量预设量子比特的量子态并获得对应的振幅;计算模块,用于根据测量的量子态及其振幅,计算当前组输入数据对应的卷积结果,从而实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的目的还在于提供一种量子卷积操作的实现方法及装置,以解决现有技术中的不足,它能够实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种量子卷积操作的实现方法,包括:
获得目标对象的属性信息的第一属性值;
将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
可选的,所述目标对象包括:图像、自然语言或音频信息。
可选的,所述包含可变参数的量子线路包括:
包含第一预设量子逻辑门的量子态编码子线路,所述量子态编码子线路用于将属性值编码到量子态上;
包含第二预设量子逻辑门的量子纠缠子线路,所述量子纠缠子线路用于关联量子比特的量子态信息;
包含第三预设量子逻辑门的量子卷积核子线路,所述量子卷积核子线路用于提取量子态信息携带的、属性值的特征信息并输出对应的卷积结果;
其中,若所述第二预设量子逻辑门为含有可变参数的预设量子逻辑门,将所述第二预设量子逻辑门作为第一预设量子逻辑门或第三预设量子逻辑门,所述第三预设量子逻辑门的第二可变参数的第二参数值通过迭代更新确定,所述量子态编码子线路、所述量子纠缠子线路、所述量子卷积核子线路中的量子比特数量相同,均为属性值的数量。
可选的,所述预先训练完成的量子卷积模型通过以下方式训练得到:
构建包括量子态编码子线路、量子纠缠子线路和量子卷积核子线路的量子线路;
获得训练对象的属性信息的第二属性值,根据所述第一预设量子逻辑门的种类和所述第二属性值,计算所述量子线路中第一预设量子逻辑门的第一参数 值,并初始化所述量子线路中第三预设量子逻辑门的第二参数值;
运行当前量子线路,对当前量子线路输出的量子态进行测量,根据测量结果计算所述第二属性值对应的卷积结果;
将所述卷积结果与预设期望值进行对比,若所述卷积结果未达到预设期望值,利用训练算法对所述第二参数值进行迭代更新,直至计算得到的卷积结果达到预设期望值,其中,所述训练算法包括:梯度下降法、牛顿法、拟牛顿法或共轭梯度法;
将包含迭代更新完成的第二参数值的量子线路,作为训练完成的量子卷积模型。
可选的,所述将所述第一属性值输入预先训练完成的量子卷积模型,包括:
根据所述第一预设量子逻辑门的种类,计算所述第一属性值对应的第一参数值;
将所述第一属性值对应的第一参数值输入包含迭代更新完成的第二参数值的量子线路,得到包含所述第一属性值对应的第一参数值和所述迭代更新完成的第二参数值的量子线路。
可选的,所述运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果,包括:
运行包含所述第一属性值对应的第一参数值和所述迭代更新完成的第二参数值的量子线路,输出第一属性值对应的量子态;
对所述量子线路中预设位量子比特的量子态进行测量,确定测量的量子态为|1>态的概率,作为所述第一属性值对应的卷积结果;
或,对所述量子线路中各量子比特的量子态进行测量,根据测量的各量子态及其概率计算所述第一属性值对应的卷积结果。
可选的,所述根据测量的各量子态及其概率计算所述第一属性值对应的卷积结果,包括:
将每一量子态对应的十进制值与该量子态的概率乘积进行累加,得到所述第一属性值对应的卷积结果。
本申请的又一实施例提供了一种量子卷积操作的实现装置,包括:
数据获得模块,用于获得目标对象的属性信息的第一属性值;
输入确定模块,用于将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
运行输出模块,用于运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
与现有技术相比,本申请通过的一种量子卷积操作的实现方法,首先获得目标对象的属性信息的第一属性值;将第一属性值输入预先训练完成的量子卷积模型,其中,量子卷积模型由包含可变参数的量子线路构建,量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由第一属性值确定;运行预先训练完成的量子卷积模型,输出第一属性值对应的卷积结果,从而实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的目的还在于提供一种基于量子线路的卷积操作方法及装置,以解决现有技术中的不足,它能够实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种基于量子线路的卷积操作方法,方法包括:
接收目标数据的属性信息的一组属性值;
将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
可选的,所述目标数据包括:图像、自然语言或音频数据。
可选的,所述编码子线路模块包括第一含参量子逻辑门,所述第一含参量子逻辑门包括第一可调参数;
所述将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路,包括:
根据所述一组属性值,计算所述第一可调参数的第一可调参数值;
将所述第一可调参数值输入所述第一含参量子逻辑门中。
可选的,所述训练子线路模块包括用于被训练的第二含参量子逻辑门中的第二可调参数,且所述训练子线路模块的量子比特数与所述编码子线路模块相同,均为所述一组属性值的个数。
可选的,所述对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果,包括:
对所述量子线路的所有量子比特位进行测量,得到所述所有量子比特的各量子态及其振幅;
计算所述振幅对应的概率,根据所述各量子态及其概率,计算所述一组属性值的卷积结果。
可选的,所述根据所述各量子态及其概率,计算所述一组属性值的卷积结果,包括:
将每一量子态对应的十进制值与概率的乘积进行累加,将累加之和确定为所述一组属性值的卷积结果。
可选的,所述根据所述各量子态及其概率,计算所述一组属性值的卷积结果,包括:
根据各所述量子态中预设子态的个数及其对应的概率,计算所述一组属性值的卷积结果。
本申请的又一实施例一种基于量子线路的卷积操作装置,装置包括:
接收模块,用于接收目标数据的属性信息的一组属性值;
编码模块,用于将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
确定模块,用于运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
与现有技术相比,本申请通过的一种基于量子线路的卷积操作方法,首先接收目标数据的属性信息的一组属性值,将一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;运行量子线路,对量子线路进行测量,根据测量结果确定一组属性值的卷积结果,从而实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的目的还在于提供一种量子图像识别方法及装置,以解决现有技术中的不足,它能够实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种量子图像识别方法,包括:
接收目标图像数据;
将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
可选的,所述目标图像数据包括:灰度图像数据或彩色图像数据。
可选的,所述量子卷积神经网络包括:量子态编码子线路、量子纠缠子线路和量子卷积核子线路;其中,
所述量子态编码子线路用于将所述目标图像数据的像素点信息编码到量子态上;
所述量子纠缠子线路用于关联量子比特的量子态信息;
所述量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
可选的,所述将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,包括:
根据所述目标图像数据的像素点信息,确定所述量子态编码子线路中量子逻辑门的待输入参数值;
将所述待输入参数值,输入所述量子态编码子线路。
可选的,所述运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,包括:
在所述一层或多层量子卷积神经网络为一层的情况下,依次运行所述量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对所述量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为所述量子卷积神经网络的测量结果;
在所述一层或多层量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
可选的,所述将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果,包括:
根据所述量子卷积神经网络的测量结果,计算所述目标图像数据的卷积结果;
将所述卷积结果输入预选训练完成的经典神经网络,根据所述经典神经网络中神经元的权重,计算各个图像类别对应的概率;
根据所述各个图像类别对应的概率,输出所述目标图像数据的识别结果。
本申请的又一实施例提供了一种量子图像识别装置,包括:
数据接收模块,用于接收目标图像数据;
输入运行模块,用于将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
结果输出模块,用于将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
与现有技术相比,本申请提供的一种量子图像识别方法,通过接收目标图像数据,将目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行量子卷积神经网络,获得并测量携带目标图像数据的特征信息的量子态,其中,量子卷积神经网络由包含可调参数的量子线路构建;然后,将量子态的测量结果输入预选训练完成的经典神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的目的还在于提供一种量子图像识别的显示方法及装置,以解决现有技术中的不足,它能够实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种量子图像识别的显示方法,包括:
接收用户针对目标图像的输入操作;
响应所述输入操作,在第一区域显示所述目标图像;
接收用户针对所述目标图像的识别操作;
响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
在第二区域显示所述目标图像的识别结果。
可选的,所述目标图像包括:灰度图像数据或彩色图像数据。
可选的,所述利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果,包括:
将所述目标图像输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像的特征信息的量子态;
将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像的识别结果。
可选的,所述量子卷积神经网络包括:量子态编码子线路、量子纠缠子线路和量子卷积核子线路;其中,
所述量子态编码子线路用于将所述目标图像的像素点信息编码到量子态上;
所述量子纠缠子线路用于关联量子比特的量子态信息;
所述量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
可选的,所述将所述目标图像输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,包括:
根据所述目标图像的像素点信息,确定所述量子态编码子线路中量子逻辑门的待输入参数值;
将所述待输入参数值,输入所述量子态编码子线路。
可选的,所述运行所述量子卷积神经网络,获得并测量携带所述目标图像的特征信息的量子态,包括:
在所述一层或多层量子卷积神经网络为一层的情况下,依次运行所述量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对所述量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为所述量子卷积神经网络的测量结果;
在所述一层或多层量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比 特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
可选的,所述将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像的识别结果,包括:
根据所述量子卷积神经网络的测量结果,计算所述目标图像的卷积结果;
将所述卷积结果输入预选训练完成的经典神经网络,根据所述经典神经网络中神经元的权重,计算各个图像类别对应的概率;
根据所述各个图像类别对应的概率,输出所述目标图像的识别结果。
本申请的又一实施例提供了一种量子图像识别的显示装置,包括:
第一接收模块,用于接收用户针对目标图像的输入操作;
第一响应模块,用于响应所述输入操作,在第一区域显示所述目标图像;
第二接收模块,用于接收用户针对所述目标图像的识别操作;
第二响应模块,用于响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
结果显示模块,用于在第二区域显示所述目标图像的识别结果。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
与现有技术相比,本申请提供的一种量子图像识别的显示方法,通过接收用户针对目标图像的输入操作;响应输入操作,在第一区域显示目标图像;接收用户针对目标图像的识别操作;响应识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别目标图像,输出目标图像的识别结果;其中,量子卷积神经网络由包含可调参数的量子线路构建;在第二区域显示目标图像的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的目的还在于提供一种基于量子经典混合神经网络的图像识别方 法及装置,以解决现有技术中的不足,它能够实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请的一个实施例提供了一种基于量子经典混合神经网络的图像识别方法,方法包括:
接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
可选的,所述量子线路包括:用于像素值编码的编码子线路、用于训练的一条或多条训练子线路,所述特征学习模块还包括:池化层。
可选的,所述编码子线路包括第一含参量子逻辑门,所述第一含参量子逻辑门包括第一可调参数;
所述将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,包括:
针对所述目标图像数据的每组像素值,计算该组像素值对应的、所述第一可调参数的第一可调参数值;
将所述第一可调参数值输入所述第一含参量子逻辑门中。
可选的,所述训练子线路包括用于被训练的第二含参量子逻辑门中的第二可调参数,且所述训练子线路的量子比特数与所述编码子线路相同,均为一组像素值的个数。
可选的,所述分类模块包括:全连接层;
所述运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果,包括:
通过所述量子卷积核对每组像素值进行卷积操作,输出卷积后的第一特征图;
通过所述池化层对所述第一特征图进行池化操作,输出池化后的第二特征图;
通过所述全连接层对所述第二特征图进行分类,输出分类结果,作为所述目标图像数据的识别结果。
可选的,所述通过所述量子卷积核对每组像素值进行卷积操作,输出卷积后的第一特征图,包括:
运行所述量子线路,对所述量子线路进行测量,根据测量结果确定每组像素值的卷积结果,所述卷积结果组成第一特征图。
可选的,所述对所述量子线路进行测量,根据测量结果确定每组像素值的卷积结果,包括:
对所述量子线路的所有量子比特位进行测量,得到所述所有量子比特的各量子态及其振幅;
计算所述振幅对应的概率,根据各所述量子态中预设子态的个数及其对应的概率,计算每组像素值的卷积结果。
本申请的又一实施例一种基于量子经典混合神经网络的图像识别装置,装置包括:
接收模块,用于接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
输入模块,用于将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
输出模块,用于运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。
与现有技术相比,本申请提供的一种基于量子经典混合神经网络的图像识别方法,通过接收目标图像数据;其中,目标图像数据为灰度图像数据或彩色图像数据;将目标图像数据输入预先训练完成的、用于图像识别的量子经典混 合神经网络,其中,量子经典混合神经网络包括:特征学习模块和分类模块,特征学习模块包括:由量子线路表示的量子卷积核;运行量子经典混合神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
附图说明
图1为本申请实施例提供的一种量子卷积操作器的结构示意图;
图2为本申请实施例提供的一种量子态编码模块的结构示意图;
图3为本申请实施例提供的一种输入数据与量子态编码线路的预设映射关系示意图;
图4为本申请实施例提供的一种量子纠缠模块的结构示意图;
图5为本申请实施例提供的一种量子卷积核模块的结构示意图。
图6为本申请实施例提供的一种量子卷积操作的实现方法的计算机终端的硬件结构框图;
图7为本申请实施例提供的一种量子卷积操作的实现方法的流程示意图图;
图8为本申请实施例提供的一种包含可变参数的量子线路的结构示意图;
图9为本申请实施例提供的另一种包含可变参数的量子线路的结构示意图;
图10为本申请实施例提供的再一种包含可变参数的量子线路的结构示意图;
图11为本申请实施例提供的一种量子卷积操作的实现装置的结构示意图。
图12为本申请实施例提供的一种基于量子线路的卷积操作方法的计算机终端的硬件结构框图;
图13为本申请实施例提供的一种基于量子线路的卷积操作方法的流程示意图图;
图14为本申请实施例提供的一种基于量子线路的卷积操作装置的结构示意图。
图15为本申请实施例提供的一种量子图像识别方法的计算机终端的硬件结构框图;
图16为本申请实施例提供的一种量子图像识别方法的流程示意图;
图17为本申请实施例提供的一种包含可调参数的量子线路的结构示意图;
图18为本申请实施例提供的另一种包含可调参数的量子线路的结构示意图;
图19为本申请实施例提供的再一种包含可调参数的量子线路的结构示意图;
图20为本申请实施例提供的一种量子图像识别装置的结构示意图。
图21为本申请实施例提供的一种量子图像识别的显示方法的计算机终端的硬件结构框图;
图22为本申请实施例提供的一种量子图像识别的显示方法的流程示意图;
图23为本申请实施例提供的一种包含可调参数的量子线路的结构示意图;
图24为本申请实施例提供的另一种包含可调参数的量子线路的结构示意图;
图25为本申请实施例提供的再一种包含可调参数的量子线路的结构示意图;
图26为本申请实施例提供的一种量子图像识别的显示装置的结构示意图。
图27为本申请实施例提供的一种基于量子经典混合神经网络的图像识别方法的计算机终端的硬件结构框图;
图28为本申请实施例提供的一种基于量子经典混合神经网络的图像识别方法的流程示意图图;
图29为本申请实施例提供的一种基于量子经典混合神经网络的图像识别装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本申请实施例首先提供了一种量子卷积操作器,可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程 序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图1,图1为本申请实施例提供的一种量子卷积操作器的结构示意图,所述量子卷积操作器可以包括:量子态编码模块101、量子纠缠模块102、量子卷积核模块103、测量模块104和计算模块105;
所述量子态编码模块101,用于将当前组输入数据编码到量子比特上;
具体的,量子态编码模块可以包括:量子逻辑门。将当前组输入数据编码到量子比特上,可以确定当前组输入数据对应的量子逻辑门中的可变参数值,其中,量子逻辑门支持动态修改可变参数值。
示例性的,输入数据包括但不限于:图像、自然语言或音频数据,量子态编码模块包括但不限于:量子逻辑门RX门、RY门、RZ门或X门,其中,RX门、RY门、RZ门可直接支持动态修改可变参数值,X门的酉矩阵为固定参数值。本申请中定义酉矩阵包括可变参数的量子逻辑门,可称为可变量子逻辑门(Variational Quantum Gate,VQG),即RX门、RY门、RZ门为:VQG_RX、VQG_RY、VQG_RZ。
示例性的,图2为一种量子态编码模块的结构示意图。如图2所示,量子线路包括4量子比特,对应4个输入数据,每个量子比特依次包括VQG_RX、VQG_RY量子逻辑门操作,量子逻辑门的参数可以为对应输入数据的反正切值或输入数据平方的反正切值,或者参数值=输入数据*π/2等等。需要说明的是,本申请对量子逻辑门种类、数量以及参数的计算方式并不做限定。
具体的,量子卷积操作器还可以包括:更新模块,更新模块用于根据预设映射关系,更新下一组输入数据对应的量子态编码模块。
在当前组的输入数据完成计算后,量子态编码模块的结构还可以根据输入数据的不同进行更新,然后运行更新后的量子态编码模块,即:将下一组输入数据编码到新的量子态编码模块的量子比特上。例如,可利用基态编码(basis encoding)方法,将下一组输入数据编码到量子比特上。
在实际应用中,可以根据输入数据与量子态编码线路的预设映射关系,更新下一组输入数据对应的量子态编码线路,得到新的量子态编码线路作为更新后的量子态编码模块。
示例性的,图3为一种输入数据与量子态编码线路的预设映射关系示意图。如图3所示,图3(a)、图3(b)、图3(c)、图3(d)分别为输入数据为0111、0100、0110、0101时对应的量子态编码线路,包括:量子比特q
0、q
1、q
2、q
3,以及量子逻辑门RX门、RY门、RZ门和X门。
所述量子纠缠模块102,用于关联所述量子比特的量子态信息;
具体的,量子纠缠模块可以包括:作用于相邻两个量子比特的CNOT门,其中,最后一个CNOT门作用于最后一位量子比特和第一位量子比特。例如,图4所示的一种量子纠缠模块的结构示意图,包括:4个CNOT门,每个CNOT门用图标
及其实心连线表示,实心作用的量子比特为控制比特,图标
作用的量子比特为受控比特。
所述量子卷积核模块103,用于提取所述量子态信息对应的特征信息;
具体的,量子卷积核模块可以包括量子逻辑门U3门,其中,U3门的酉矩阵为:
其中,α,β,γ为角度变量。例如,图5所示的一种量子卷积核模块的结构示意图,包括:4个可变量子逻辑门VQG_U3门,每个VQG_U3门作用一个量子比特,可以动态修改角度变量,避免重复搭建线路造成资源损耗。
所述测量模块104,用于测量预设量子比特的量子态并获得对应的振幅;
具体的,测量模块可以包括量子测量操作Measure,具体可以根据需求设定预设量子比特,例如为第一位量子比特或所有位量子比特。
量子态,即量子比特的逻辑状态。在量子算法(或称量子程序)中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为q
1、q
2、q
3,表示第1位、第2位、第3位量子比特,在二进制表示方式中从高位到低位排序为q
2q
1q
0,该组量子比特对应的量子态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态的位与量子比特对应一致,如|001>态,001从高位到低位对应q
3q
2q
1,|>为狄拉克符号。对于包含N个量子比特q
0、q
1、…、q
n、…、q
N-1的量子线路,二进制表示量子态的位阶排序为q
N-1q
N-2…、q
1q
0。
以单个量子比特说明,单个量子比特的逻辑状态ψ可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数,振幅的模的平方表示概率,|a|
2、|b|
2分别表示逻辑状态是|0>态、|1>态的概率,|a|
2+|b|
2=1。简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于唯一确定的本征态。
所述计算模块105,用于根据测量的量子态及其振幅,计算所述当前组输入数据对应的卷积结果。
具体的,可以根据测量的量子态及其振幅,计算所预设量子比特为预设量子态时对应的概率,作为当前组输入数据对应的卷积结果。
示例性的,可以测量第一位量子比特的|1>态的振幅,计算振幅的模的平方为对对应概率,作为当前组输入数据的卷积结果。或者,测量所有位量子比特假设4位的|1111>态的振幅,计算振幅的模的平方为对应概率,作为当前组输入数据的卷积结果。
具体的,在量子纠缠模块和/或量子卷积核模块包括量子逻辑门的情况下,该量子逻辑门中的可变参数值可以由预先训练确定。
在一种实现方式中,量子卷积操作器的训练方式如下:
接收训练数据集的一组输入数据,将该组输入数据通过量子态编码模块编码到量子比特,并初始化量子纠缠模块和量子卷积核模块中的变量参数值,其 中,变量参数值可随机初始化确定,也可根据需求设为固定的初始值;
运行量子卷积操作器,通过测量模块进行测量,根据测量的量子态及其振幅,计算当前组输入数据对应的卷积结果;
将卷积结果与预设期望值进行对比,若卷积结果未达到预设期望值,利用训练算法对变量参数值进行迭代更新,直至确定的卷积结果达到预设期望值,其中,训练算法可以包括:梯度下降法(更具体可以是反向传播算法)、牛顿法、拟牛顿法或共轭梯度法等等;
将包含迭代更新完成的变量参数值的量子卷积操作器,作为训练完成的量子卷积操作器。
可见,本申请提供的一种量子卷积操作器,包括:量子态编码模块、量子纠缠模块、量子卷积核模块、测量模块和计算模块;量子态编码模块,用于将当前组输入数据编码到量子比特上;量子纠缠模块,用于关联量子比特的量子态信息;量子卷积核模块,用于提取量子态信息对应的特征信息;测量模块,用于测量预设量子比特的量子态并获得对应的振幅;计算模块,用于根据测量的量子态及其振幅,计算当前组输入数据对应的卷积结果,从而实现量子计算在卷积神经网络模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例进一步提供了一种量子卷积操作的实现方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图6为本申请实施例提供的一种量子卷积操作的实现方法的计算机终端的硬件结构框图。如图6所示,计算机终端可以包括一个或多个(图6中仅示出一个)处理器1002(处理器1002可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1004,可选地,上述计算机终端还可以包括用于通信功能的传输装置1006以及输入输出设备1008。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
存储器1004可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子卷积操作的实现方法对应的程序指令/模块,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1006可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子 测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图7,图7为本申请实施例提供的一种量子卷积操作的实现方法的流程示意图,可以包括如下步骤:
S2001,获得目标对象的属性信息的第一属性值;
具体的,目标对象可以包括但不限于:图像、自然语言或音频信息,例如视频的每一帧图像、单独拍摄的图片、聊天记录的语言文本、语音信息等等,属性信息是指承载和体现目标对象的隐含特征的信息。以图像为例,图像的属性信息包括:像素信息、轮廓信息、颜色信息、标签信息等等,属性值则是属性信息对应的具象化的数据值,例如:像素值、标签值等等。
示例性的,目标对象为图像,属性信息为像素信息,第一属性值为像素值, 该图像则可以用具体的数字形式具象化为数据,图像数据为一矩阵,矩阵的每一元素即为像素值。在实际应用中,可以获得图像数据矩阵的特定数量个元素(一元素值即为一像素值),该特定数量由用户根据具体需求设置。
S2002,将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
具体的,包含可变参数的量子线路可以包括以下子线路:
包含第一预设量子逻辑门的量子态编码子线路,所述量子态编码子线路用于将属性值编码到量子态上;
包含第二预设量子逻辑门的量子纠缠子线路,所述量子纠缠子线路用于关联量子比特的量子态信息;
包含第三预设量子逻辑门的量子卷积核子线路,所述量子卷积核子线路用于提取量子态信息携带的、属性值的特征信息并输出对应的卷积结果;
其中,预设量子逻辑门的区分以其所属的子线路确定,不以量子逻辑门的类型划分,即:属于量子态编码子线路的量子逻辑门为第一预设量子逻辑门,属于量子纠缠子线路的量子逻辑门为第二预设量子逻辑门,属于量子卷积核子线路的量子逻辑门为第三预设量子逻辑门。
需要说明的是,若第二预设量子逻辑门为含有可变参数的预设量子逻辑门,可以将第二预设量子逻辑门视为第一预设量子逻辑门或第三预设量子逻辑门。并且,第三预设量子逻辑门的第二可变参数的第二参数值可以通过迭代更新确定,量子态编码子线路、量子纠缠子线路、量子卷积核子线路中的量子比特数量相同,均为属性值的数量。
在一种实现方式中,如图8所示为一种可变参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特,对应4个输入的属性值;
组成量子态编码子线路的4个RY门和4个RZ门,共8个第一预设量子逻辑门,其中,RY门包含的旋转角度参数的第一参数值(旋转角度值),具体可为输入的4个属性值x
1、x
2、x
3、x
4的反正切值arctan(x
1)、arctan(x
2)、arctan(x
3)、arctan(x
4);RZ门包含的旋转角度的第一参数值,具体可为输入 的4个属性值x
1、x
2、x
3、x
4的平方的反正切值
组成量子纠缠子线路的4个第二预设量子逻辑门CNOT门,CNOT门的图标用
及其连线表示;
组成量子卷积核子线路的4个第三预设量子逻辑门U3门,每个U3门包含3个可变的第二参数α、β、γ,如图8中R(α
1,β
1,γ
1)、R(α
2,β
2,γ
2)、R(α
3,β
3,γ
3)、R(α
4,β
4,γ
4)所示,对应第二参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作;其中,U3门的酉矩阵为:
在另一种实现方式中,如图9所示为另一种可变参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RX门,RX门包含的旋转角度的第一参数值(旋转角度值),具体可为输入的4个属性值a
00、a
01、a
10、a
11的反正切值或4个属性值的平方的反正切值;
同时起到量子纠缠子线路和量子卷积核子线路作用的量子纠缠和卷积核子线路,包括3个受控RZ门和3个受控RX门,该6个预设量子逻辑门均为含有可变参数的预设量子逻辑门,此处均视为第三预设量子逻辑门,对应第二参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作。
在再一种实现方式中,如图10所示为再一种可变参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RY门,RY门包含的旋转角度的第一参数值,具体可为输入的4个属性值的反正切值;
组成量子纠缠子线路的4个第二预设量子逻辑门,包括1个RX门、1个RZ门和2个CNOT门,RX门和RZ门为含有可变参数的预设量子逻辑门,此处视为第一预设量子逻辑门,对应第一参数值可为对应量子比特位输入的属性值 的反正切值;
组成量子卷积核子线路的2个第三预设量子逻辑门,包括1个RY门和1个RX门,对应第二参数值通过迭代更新确定;以及,位于线路末尾的所有量子比特位上的测量操作。
具体的,预先训练完成的量子卷积模型可以通过以下方式训练得到:
S20021,构建包括量子态编码子线路、量子纠缠子线路和量子卷积核子线路的量子线路;
其中,该量子线路由上述实现方式进行构建,且对包含可变参数的量子线路种类、量子逻辑门种类及数量、以及第一参数值的计算方式不做限制。
S20022,获得训练对象的属性信息的第二属性值,根据第一预设量子逻辑门的种类和第二属性值,计算量子线路中第一预设量子逻辑门的第一参数值,并初始化量子线路中第三预设量子逻辑门的第二参数值;
其中,训练对象可与目标对象的类别相同例如均为图像,训练对象的属性信息与目标对象的属性信息一致例如均为像素信息,第二属性值也为像素值(与第一属性值区别在于所属的对象不同,一个对应目标对象,另个对应目标对象);
第一参数值通过第一预设量子逻辑门和第二属性值计算确定,例如,图8所示RY门的第一参数值为第二属性值的反正切值,RZ门的第一参数值为第二属性值的平方的反正切值;初始的第二参数值可随机初始化确定,也可根据需求设为固定值。
S20023,运行当前量子线路,对当前量子线路输出的量子态进行测量,根据测量结果计算第二属性值对应的卷积结果;
具体的,在第一参数值和第二参数值分别确定后,运行当前量子线路,可以测量第一位量子比特的|1>态的概率,作为测量结果,并直接作为卷积结果;也可以测量所有量子比特的量子态及其概率,作为测量结果,然后根据该测量结果计算对应的卷积结果,例如,将各二进制量子态对应的十进制值(如|0011>对应十进制3)与对应概率的乘积进行累加,累加之和作为卷积结果。
S20024,将卷积结果与预设期望值进行对比,若卷积结果未达到预设期望值,利用训练算法对第二参数值进行迭代更新,直至计算得到的卷积结果达到 预设期望值,其中,训练算法可以包括:梯度下降法、牛顿法、拟牛顿法或共轭梯度法;
如果卷积结果未达到预设的期望值,则可以通过常用的训练算法如梯度下降法(更具体可以是反向传播算法)进行训练,以对第二参数值进行迭代更新,直至卷积结果达到预设的期望值,完成训练,得到训练完成的第二参数值。
S20025,将包含迭代更新完成的第二参数值的量子线路,作为训练完成的量子卷积模型。
具体的,将第一属性值输入预先训练完成的量子卷积模型,可以根据第一预设量子逻辑门的种类,计算第一属性值对应的第一参数值;其中,对于第一属性值对应的第一参数值的计算方式与第二属性值同理;
将第一属性值对应的第一参数值输入包含迭代更新完成的第二参数值的量子线路,得到包含所述第一属性值对应的第一参数值和迭代更新完成的第二参数值的量子线路。
S2003,运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
具体的,可以运行包含第一属性值对应的第一参数值和迭代更新完成的第二参数值的量子线路,输出第一属性值对应的量子态;
对所述量子线路中预设位量子比特的量子态进行测量,确定测量的量子态为|1>态的概率,作为所述第一属性值对应的卷积结果;其中,预设位量子比特与训练过程中测量的量子比特位相同,可以为第一位量子比特;
或者,对量子线路中各量子比特的量子态进行测量,根据测量的各量子态及其概率计算第一属性值对应的卷积结果,具体可以将每一量子态对应的十进制值与该量子态的概率乘积进行累加,得到第一属性值对应的卷积结果。需要说明的是,此处卷积结果的计算方法与训练过程中采用的卷积结果的计算方法保持一致。
本领域技术人员可以理解的是,在实际应用中,一次卷积操作能够提取目标对象中的部分隐含的特征信息,可以通过多层卷积叠加提取目标对象的最终卷积结果。量子卷积操作只需根据卷积特征提取的覆盖范围即卷积核的范围中的输入数据数量(输入的属性值数量)申请相同数量的量子比特(数量为n), 然后构建量子线路并进行训练,采用训练好的量子线路对经典数据进行卷积操作,只需将数据编码到量子态,然后通过量子线路进行量子态演化和测量得到单次的卷积结果,此量子操作的复杂度可以达到O(log(n)),从而很大程度的提高卷积计算的效率。
可见,通过获得目标对象的属性信息的第一属性值;将第一属性值输入预先训练完成的量子卷积模型,其中,量子卷积模型由包含可变参数的量子线路构建,量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由第一属性值确定;运行预先训练完成的量子卷积模型,输出第一属性值对应的卷积结果,从而实现量子计算在卷积模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
参见图11,图11为本申请实施例提供的一种金融交易数据中协整对的量子查找装置的结构示意图,与图7所示的流程相对应,所述装置包括:
数据获得模块6001,用于获得目标对象的属性信息的第一属性值;
输入确定模块6002,用于将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
运行输出模块6003,用于运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
具体的,所述目标对象包括:图像、自然语言或音频信息。
具体的,所述包含可变参数的量子线路包括:
包含第一预设量子逻辑门的量子态编码子线路,所述量子态编码子线路用于将属性值编码到量子态上;
包含第二预设量子逻辑门的量子纠缠子线路,所述量子纠缠子线路用于关联量子比特的量子态信息;
包含第三预设量子逻辑门的量子卷积核子线路,所述量子卷积核子线路用于提取量子态信息携带的、属性值的特征信息并输出对应的卷积结果;
其中,若所述第二预设量子逻辑门为含有可变参数的预设量子逻辑门,将所述第二预设量子逻辑门作为第一预设量子逻辑门或第三预设量子逻辑门,所 述第三预设量子逻辑门的第二可变参数的第二参数值通过迭代更新确定,所述量子态编码子线路、所述量子纠缠子线路、所述量子卷积核子线路中的量子比特数量相同,均为属性值的数量。
具体的,所述预先训练完成的量子卷积模型通过以下方式训练得到:
构建包括量子态编码子线路、量子纠缠子线路和量子卷积核子线路的量子线路;
获得训练对象的属性信息的第二属性值,根据所述第一预设量子逻辑门的种类和所述第二属性值,计算所述量子线路中第一预设量子逻辑门的第一参数值,并初始化所述量子线路中第三预设量子逻辑门的第二参数值;
运行当前量子线路,对当前量子线路输出的量子态进行测量,根据测量结果计算所述第二属性值对应的卷积结果;
将所述卷积结果与预设期望值进行对比,若所述卷积结果未达到预设期望值,利用训练算法对所述第二参数值进行迭代更新,直至计算得到的卷积结果达到预设期望值,其中,所述训练算法包括:梯度下降法、牛顿法、拟牛顿法或共轭梯度法;
将包含迭代更新完成的第二参数值的量子线路,作为训练完成的量子卷积模型。
具体的,所述输入确定模块,具体用于:
根据所述第一预设量子逻辑门的种类,计算所述第一属性值对应的第一参数值;
将所述第一属性值对应的第一参数值输入包含迭代更新完成的第二参数值的量子线路,得到包含所述第一属性值对应的第一参数值和所述迭代更新完成的第二参数值的量子线路。
具体的,所述运行输出模块,包括:
运行单元,用于运行包含所述第一属性值对应的第一参数值和所述迭代更新完成的第二参数值的量子线路,输出第一属性值对应的量子态;
测量单元,用于对所述量子线路中预设位量子比特的量子态进行测量,确定测量的量子态为|1>态的概率,作为所述第一属性值对应的卷积结果;
或,对所述量子线路中各量子比特的量子态进行测量,根据测量的各量子 态及其概率计算所述第一属性值对应的卷积结果。
具体的,所述根据测量单元,具体用于:
将每一量子态对应的十进制值与该量子态的概率乘积进行累加,得到所述第一属性值对应的卷积结果。
可见,通过获得目标对象的属性信息的第一属性值;将第一属性值输入预先训练完成的量子卷积模型,其中,量子卷积模型由包含可变参数的量子线路构建,量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由第一属性值确定;运行预先训练完成的量子卷积模型,输出第一属性值对应的卷积结果,从而实现量子计算在卷积模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S01,获得目标对象的属性信息的第一属性值;
S02,将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
S03,运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该 传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S01,获得目标对象的属性信息的第一属性值;
S02,将所述第一属性值输入预先训练完成的量子卷积模型,其中,所述量子卷积模型由包含可变参数的量子线路构建,所述量子线路中第一预设量子逻辑门的第一可变参数的第一参数值由所述第一属性值确定;
S03,运行所述预先训练完成的量子卷积模型,输出所述第一属性值对应的卷积结果。
本申请实施例进一步提供了一种基于量子线路的卷积操作方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图12为本申请实施例提供的一种基于量子线路的卷积操作方法的计算机终端的硬件结构框图。如图12所示,计算机终端可以包括一个或多个(图12中仅示出一个)处理器1102(处理器1102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1104,可选地,上述计算机终端还可以包括用于通信功能的传输装置1106以及输入输出设备1108。本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
存储器1104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于量子线路的卷积操作方法对应的程序指令/模块,处理器1102通过运行存储在存储器1104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1104可进一步包括相对于处理器1102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组 成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图13,图13为本申请实施例提供的一种基于量子线路的卷积操作方法的流程示意图,可以包括如下步骤:
S2101,接收目标数据的属性信息的一组属性值;
具体的,目标数据可以包括但不限于:图像、自然语言或音频数据,例如视频的每一帧图像、单独拍摄的图片、聊天记录的语言文本、语音信息等等,属性信息是指承载和体现目标数据的隐含特征的信息。以图像为例,图像的属性信息包括:像素信息、轮廓信息、颜色信息、标签信息等等,属性值则是属性信息对应的具象化的数据值,例如:像素值、标签值等等。
示例性的,目标数据为图像,属性信息为像素信息,第一属性值为像素值,该图像则可以用具体的数字形式具象化为数据,图像数据为一矩阵,矩阵的每一元素即为像素值。在实际应用中,每次可以接收图像数据矩阵的一组像素值,该组像素值的数量由用户根据具体需求设置,例如一组4个相邻的像素值。
S2102,将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
具体的,编码子线路模块可以包括第一含参量子逻辑门,第一含参量子逻辑门包括第一可调参数,编码子线路模块的量子比特数为该组属性值的个数。
其中,含参量子逻辑门是指酉矩阵含有可调参数的量子逻辑门。编码子线路模块中的第一含参量子逻辑门可以为旋转逻辑门,例如RX门、RY门、RZ门的一种或多种组合,对逻辑门顺序不做限定,具体包括:RX门;RY门;RZ门;RX门和RY门;RX门和RZ门;RY门和RZ门;RX门、RY门和RZ门。需要说明的是,编码子线路中每个量子比特上设置的逻辑门相同。
在实际应用中,将一组属性值编码到预先训练完成的、用于卷积操作的量子线路,可以根据该组属性值,计算第一可调参数的第一可调参数值;将第一可调参数值输入第一含参量子逻辑门中。
其中,第一可调参数值可以为:对应属性值的反正切值或平方的反正切值,还可以通过预设公式计算,例如,第一可调参数值=属性值*π/2等等。
示例性的,一组属性值为4个像素值x
1、x
2、x
3、x
4,编码子线路包括4个量子比特,每个量子比特上的第一含参量子逻辑门均为RY门。计算4个RY门中的第一可调参数值,分别为θ
1=x
1*π/2、θ
2=x
2*π/2、θ
3=x
3*π/2、θ
4=x
4*π/2。
再示例性的,一组属性值为4个像素值x
1、x
2、x
3、x
4,编码子线路包括4个量子比特,每个量子比特上的第一含参量子逻辑门均为RY门和RZ门的组合。计算4个RY门中的第一可调参数值,分别为对应属性值的反正切值arctan x
1、arctan x
2、arctan x
3、arctan x
4;计算4个RZ门中的第一可调参数值,分别可以为对应属性值的平方的反正切值
具体的,训练子线路模块包括第二含参量子逻辑门,作用于单量子比特,例如RY门等等,还包括不含可调参数的预设量子逻辑门,作用于两量子比特,例如作用于相邻两个比特上的CNOT门等等。第二含参量子逻辑门包含第二可调参数,第二可调参数值通过训练确定。并且,训练子线路模块的量子比特数与编码子线路模块的量子比特数相同,均为该组属性值的个数,训练子线路模块的层数可根据卷积操作的实际应用需求设置。
具体的,预先训练完成的量子线路可以通过以下方式训练得到:
构建包括编码子线路模块和训练子线路模块的量子线路;
接收训练数据集的属性信息的一组属性值,将该组属性值同理编码到该量 子线路中的编码子线路模块,并初始化训练子线路模块中的第二可调参数值,其中,第二可调参数值可随机初始化确定,也可根据需求设为固定的初始值;
运行当前量子线路,对当前量子线路进行测量,根据测量结果同理确定该组属性值的卷积结果;
将卷积结果与预设期望值进行对比,若卷积结果未达到预设期望值,利用训练算法对第二可调参数值进行迭代更新,直至确定的卷积结果达到预设期望值,其中,训练算法可以包括:梯度下降法(更具体可以是反向传播算法)、牛顿法、拟牛顿法或共轭梯度法等等;
将包含迭代更新完成的第二可调参数值的量子线路,作为训练完成的量子线路。
S2103,运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
在实际应用中,还可以继续多次接收不同组属性值,通过重复上述多次卷积操作,实现目标数据的完整覆盖。例如,接收图像的一组4个像素值,在进行卷积操作后,再次接收下一组4个像素值,重复上述步骤,以此类推,直至完成图像所有像素点的卷积操作。
具体的,对量子线路进行测量,根据测量结果确定一组属性值的卷积结果,可以对量子线路的所有量子比特位进行测量,得到所有量子比特的各量子态及其振幅;计算振幅对应的概率,根据各量子态及其概率,计算该组属性值的卷积结果。
在一种实现方式中,可以将每一量子态对应的十进制值(如|11>态对应十进制值3)与概率的乘积进行累加,将累加之和确定为所述一组属性值的卷积结果。
在另一种实现方式中,可以根据各量子态中预设子态的个数及其对应的概率,计算该组属性值的卷积结果。例如,2量子比特的测量结果为:
|00>态,概率P
0;|01>态,概率P
1;|10>态,概率P
2;|11>态,概率P
3。计算卷积结果为:
其中,n
0、n
1、n
2、n
3分别为|00>态、|01>态、|10>态、|11>态中预设子 态|1>的个数,即n
0=0、n
1=1、n
2=1、n
3=2,得到:
P
0-P
1-P
2+P
3
在实际应用中,对量子线路进行测量,根据测量结果确定一组属性值的卷积结果,也可以对量子线路的预设位量子比特进行测量,得到预设位量子比特的各量子态及其振幅;计算各量子态中预设量子态的振幅对应的概率,作为该组属性值的卷积结果。例如,预设位量子比特可以为第一位量子比特,预设量子态可以为第一位量子比特的|1>态,等等。
本领域技术人员可以理解的是,在实际应用中,一次卷积操作能够提取目标数据中的部分隐含的特征信息,可以通过多层卷积叠加提取目标数据的最终卷积结果。量子卷积操作只需根据卷积特征提取的覆盖范围即卷积核的范围中的输入数据数量(输入的属性值数量)申请相同数量的量子比特(数量为n),然后构建量子线路并进行训练,采用训练好的量子线路对经典数据进行卷积操作,只需将数据编码到量子态,然后通过量子线路进行量子态演化和测量得到单次的卷积结果,此量子操作的复杂度可以达到O(log(n)),从而很大程度的提高卷积计算的效率。
可见,通过接收目标数据的属性信息的一组属性值;将一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;运行量子线路,对量子线路进行测量,根据测量结果确定一组属性值的卷积结果,从而实现量子计算在卷积模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
参见图14,图14为本申请实施例提供的一种基于量子线路的卷积操作装置的结构示意图,与图13所示的流程相对应,所述装置包括:
接收模块3101,用于接收目标数据的属性信息的一组属性值;
编码模块3102,用于将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
确定模块3103,用于运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
具体的,所述目标数据包括:图像、自然语言或音频数据。
具体的,所述编码子线路模块包括第一含参量子逻辑门,所述第一含参量子逻辑门包括第一可调参数;
所述编码模块,具体用于:
根据所述一组属性值,计算所述第一可调参数的第一可调参数值;
将所述第一可调参数值输入所述第一含参量子逻辑门中。
具体的,所述训练子线路模块包括用于被训练的第二含参量子逻辑门中的第二可调参数,且所述训练子线路模块的量子比特数与所述编码子线路模块相同,均为所述一组属性值的个数。
具体的,所述确定模块,包括:
测量单元,用于对所述量子线路的所有量子比特位进行测量,得到所述所有量子比特的各量子态及其振幅;
计算单元,用于计算所述振幅对应的概率,根据所述各量子态及其概率,计算所述一组属性值的卷积结果。
具体的,所述计算单元,具体用于:
将每一量子态对应的十进制值与概率的乘积进行累加,将累加之和确定为所述一组属性值的卷积结果。
具体的,所述计算单元,具体用于:
根据各所述量子态中预设子态的个数及其对应的概率,计算所述一组属性值的卷积结果。
可见,通过接收目标数据的属性信息的一组属性值;将一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;运行量子线路,对量子线路进行测量,根据测量结果确定一组属性值的卷积结果,从而实现量子计算在卷积模型领域的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S11,接收目标数据的属性信息的一组属性值;
S12,将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
S13,运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S11,接收目标数据的属性信息的一组属性值;
S12,将所述一组属性值编码到预先训练完成的、用于卷积操作的量子线路;其中,所述量子线路包括用于属性值编码的编码子线路模块、用于训练的一层或多层训练子线路模块;
S13,运行所述量子线路,对所述量子线路进行测量,根据测量结果确定所述一组属性值的卷积结果。
本申请实施例首先提供了一种量子图像识别方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图15为本申请实施 例提供的一种量子图像识别方法的计算机终端的硬件结构框图。如图15所示,计算机终端可以包括一个或多个(图15中仅示出一个)处理器1202(处理器1202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1204,可选地,上述计算机终端还可以包括用于通信功能的传输装置1206以及输入输出设备1208。本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。
存储器1204可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子图像识别方法对应的程序指令/模块,处理器1202通过运行存储在存储器1204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1204可进一步包括相对于处理器1202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1206可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模 拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图16,图16为本申请实施例提供的一种量子卷积操作的实现方法的 流程示意图,可以包括如下步骤:
S2201,接收目标图像数据;
具体的,目标图像数据可以包括:灰度图像数据或彩色图像数据。
例如,接收的图像数据是灰度图像,其通道数量为1个通道,数据维度大小以四维张量矩阵形式且数值范围是在0到1之间的浮点数。假设接收的图像数量是1张1通道的大小为28*28的灰度图像,则其共有1*1*28*28=784个像素点;或者,假设传入的图像数据是10张3通道的彩色图像,图像大小是32*32,则共有10*3*32*32=30720个像素点。在计算资源有限的情况下,可以分批次对图像进行后续处理。
S2202,将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
具体的,量子卷积神经网络可以包括:包含第一预设量子逻辑门的量子态编码子线路、包含第二预设量子逻辑门的量子纠缠子线路和包含第三预设量子逻辑门的量子卷积核子线路;
其中,量子态编码子线路用于将目标图像数据的像素点信息编码到量子态上;量子纠缠子线路用于关联量子比特的量子态信息;量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
并且,预设量子逻辑门的区分以其所属的子线路确定,不以量子逻辑门的类型划分,即:属于量子态编码子线路的量子逻辑门为第一预设量子逻辑门,属于量子纠缠子线路的量子逻辑门为第二预设量子逻辑门,属于量子卷积核子线路的量子逻辑门为第三预设量子逻辑门。
需要说明的是,若第二预设量子逻辑门为含有可调参数的预设量子逻辑门,可以将第二预设量子逻辑门视为第一预设量子逻辑门或第三预设量子逻辑门,其中,第三预设量子逻辑门的可调参数值可以通过迭代更新确定。并且,在一层量子卷积神经网络中,量子态编码子线路、量子纠缠子线路、量子卷积核子线路中的量子比特数量相同。
在实际应用中,一层量子卷积神经网络可以包括多条量子态编码子线路、 相同多条量子纠缠子线路和相同多条量子卷积核子线路。可以将目标图像数据的像素点等分为多块,将每块图像数据的像素点信息编码到对应量子态编码子线路上,每条量子态编码子线路的量子比特数与每块图像数据的像素点数量相同。多条量子态编码子线路之间为并行设置(量子纠缠子线路和量子卷积核子线路同理),一条量子态编码子线路、一条量子纠缠子线路和一条量子卷积核子线路组成部分量子卷积神经网络,以提取部分图像数据即单块图像数据的特征信息。
具体的,将目标图像数据输入预先训练完成的、用于量子卷积操作的量子卷积神经网络,可以根据目标图像数据的像素点信息(具体可以是像素值),确定量子态编码子线路中量子逻辑门(即第一预设量子逻辑门)的待输入参数值;将待输入参数值,输入量子态编码子线路中的第一预设量子逻辑门。其中,第一预设量子逻辑门可以为RX门、RY门、RZ门的任意一个或多个,且每个量子比特上施加的第一预设量子逻辑门均相同。另外,第二预设量子逻辑门若被视为第一预设量子逻辑门,则该第二预设量子逻辑门的可调参数值也可由目标图像数据的像素值确定。
在一种实现方式中,如图17所示为一层由可调参数的量子线路构建的量子卷积神经网络示意图,包括:
4个初始态为|0>态的量子比特,对应4个像素点;
组成量子态编码子线路的4个RY门和4个RZ门,共8个第一预设量子逻辑门,其中,RY门包含的待输入参数值,具体可为输入的4个像素值x
1、x
2、x
3、x
4的反正切值arctan(x
1)、arctan(x
2)、arctan(x
3)、arctan(x
4);RZ门包含的待输入参数值,具体可为输入的4个属性值x
1、x
2、x
3、x
4的平方的反正切值
组成量子纠缠子线路的4个第二预设量子逻辑门CNOT门,CNOT门的图标用
及其连线表示;
组成量子卷积核子线路的4个第三预设量子逻辑门U3门,每个U3门包含3个可调参数α、β、γ,如图17中R(α
1,β
1,γ
1)、R(α
2,β
2,γ
2)、R(α
3,β
3,γ
3)、R(α
4,β
4,γ
4)所示,对应可调参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作;其中,U3门的酉矩阵为:
在另一种实现方式中,如图18所示为另一种可调参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RX门,RX门包含的待输入参数值,具体可为输入的4个像素值a
00、a
01、a
10、a
11的反正切值或4个像素值的平方的反正切值;
同时起到量子纠缠子线路和量子卷积核子线路作用的量子纠缠和卷积核子线路,包括3个受控RZ门和3个受控RX门,该6个预设量子逻辑门均为含有可调参数的预设量子逻辑门,此处均视为第三预设量子逻辑门,对应可调参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作。
在再一种实现方式中,如图19所示为再一种可调参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RY门,RY门包含的待输入参数值,具体可为输入的4个像素值的反正切值;
组成量子纠缠子线路的4个第二预设量子逻辑门,包括1个RX门、1个RZ门和2个CNOT门,RX门和RZ门为含有可调参数的预设量子逻辑门,此处则视为第一预设量子逻辑门,对应待输入参数值可为对应量子比特位输入的像素值的反正切值;
组成量子卷积核子线路的2个第三预设量子逻辑门,包括1个RY门和1个RX门,对应可调参数值通过迭代更新确定;以及,位于线路末尾的所有量子比特位上的测量操作。
具体的,运行量子卷积神经网络,获得并测量携带目标图像数据的特征信息的量子态,可以包括以下两种情况:
在量子卷积神经网络仅为一层的情况下,依次运行量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为量子卷积神经网络的测量结果。
在实际应用中,对于多条量子卷积核子线路,可以测量每条量子卷积核子线路中的预设位量子比特的量子态及其概率,作为该层量子卷积神经网络的测量结果。需要说明的是,每条量子卷积核子线路对应测量的预设量子比特位是保持一致的,例如均为第一位或均为所有位。
在量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
对于多层量子卷积神经网络,下一层网络中量子态编码子线路条数为上一层网络中量子卷积核子线路条数与子线路中量子比特数的比值。例如,当前层网络包括16条量子态编码子线路、16条量子纠缠子线路和16条量子卷积核子线路,每条量子态编码子线路/量子纠缠子线路/量子卷积核子线路的量子比特数为4,则下一层网络包括4条量子态编码子线路、4条量子纠缠子线路和4条量子卷积核子线路,每条量子态编码子线路/量子纠缠子线路/量子卷积核子线路的量子比特数为4。
需要说明的是,量子卷积神经网络的层数,可以根据需要解决的具体问题复杂度进行设置。比如,一个图像识别的二分类问题,其问题比较简单,可以使用两到三层量子卷积神经网络来进行问题的解决,对于复杂的多分类问题就需要加深网络的深度,构建出多层量子卷积网络来进行解决,具体需要根据实际效果来决定网络深度。
具体的,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定,可以为:
测量上一层量子卷积核子线路中第一位量子比特的|0>态或|1>态(假设为|1>态)的概率,作为下一层量子态编码子线路中的待输入参数值。
例如,上一层8条量子卷积核子线路,对应测量8个|1>态的概率,每条量子卷积核子线路包含4个量子比特,则将前4个|1>态的概率,作为下一层2条量子态编码子线路中1条的待输入参数值,将后4个|1>态的概率,作为另1 条的待输入参数值。
或者,也可以测量上一层每条量子卷积核子线路中所有量子比特的量子态及其概率,作为测量结果。例如,将各二进制量子态对应的十进制值(如|0011>对应十进制3)与对应概率的乘积进行累加,将累加之和作为下一层量子态编码子线路的待输入参数值。
S2203,将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
具体的,可以根据量子卷积神经网络的测量结果,计算目标图像数据的卷积结果;将卷积结果输入预选训练完成的经典神经网络,根据经典神经网络中神经元的权重,计算各个图像类别对应的概率;根据各个图像类别对应的概率,输出目标图像数据的识别结果。其中,经典神经网络是指经典计算领域的神经网络,例如为全连接神经网络等等。
具体的,可以测量最后一层网络中每条量子卷积核子线路的预设位量子比特的|0>态或|1>态的概率,作为卷积结果。或者,测量最后一层网络中每条量子卷积核子线路的所有量子比特的量子态及其概率,将各二进制量子态对应的十进制值与对应概率的乘积进行累加,将累加之和作为卷积结果。
示例性的,最后一层量子卷积神经网络包括4条量子卷积核子线路,测量每条量子卷积核子线路的第一位量子比特的|1>态的概率分别为p
1、p
2、p
3、p
4,作为卷积结果。假设图像类别包括3类:猫、狗和青蛙,经典神经网络为全连接网络,神经元的权重分别为:
第1条子线路对应猫、狗和青蛙的权重为w
11、w
12、w
13;
第2条子线路对应猫、狗和青蛙的权重为w
21、w
22、w
23;
第3条子线路对应猫、狗和青蛙的权重为w
31、w
32、w
33;
第4条子线路对应猫、狗和青蛙的权重为w
41、w
42、w
43;
计算各个图像类别对应的识别概率为:
识别图像为猫的概率:p
1*w
11+p
2*w
21+p
3*w
31+p
4*w
41;
识别图像为狗的概率:p
1*w
12+p
2*w
22+p
3*w
32+p
4*w
42;
识别图像为青蛙的概率:p
1*w
13+p
2*w
23+p
3*w
33+p
4*w
43。
最后,可以输出识别概率最高的图像类别,作为目标图像数据的识别结果。 或者,可以依次输出多个乃至全部概率及其对应的图像类别,以概率高低排序,作为目标图像数据的识别结果,例如,识别结果为:
猫:87%;狗:11%;青蛙:2%。
在实际应用中,可以通过对量子卷积神经网络相关比特的测量和经典神经网络,输出计算出的识别结果,将识别结果与真实结果进行对比,构建损失函数,通过损失函数对量子卷积神经网络中可调参数的梯度来迭代更新,以完成量子卷积神经网络的训练。
对于图像识别的分类问题可以使用交叉熵损失函数,公式如下:
其中,n为图像类别数量,y
i表示第i个图像类别,例如,y
1、y
2、y
3表示猫、狗、青蛙,p(y
i)表示分类数据的真实标签概率分布,q(y
i)表示分类数据的预测标签概率分布。
可调参数的梯度计算方式可以如下:
其中,f(x;θ
i)可理解为量子卷积神经网络对应的量子卷积函数,具体为在当前输入为x(像素值)和θ
i(可调参数)时量子卷积神经网络对应测量得到的概率值,x为输入的像素值,θ
i为量子逻辑门的当前可调参数,
为梯度。
可调参数更新方式可以如下:
其中,η为学习率,其值主要依据网络迭代收敛的情况确定,例如为1e-3。如果不收敛或收敛速度过快,比如训练3轮就已经收敛,表示值过大,需要相对减小其值;如果收敛速度较慢,比如训练了30轮,仍然不见收敛,则表示值过小,需要相对调大。
可见,通过接收目标图像数据,将目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行量子卷积神经网络,获得并测量携带目标图像数据的特征信息的量子态,其中,量子卷积神经网络由 包含可调参数的量子线路构建;然后,将量子态的测量结果输入预选训练完成的经典神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
参见图20,图20为本申请实施例提供的一种量子图像识别装置的结构示意图,与图16所示的流程相对应,所述装置包括:
数据接收模块6201,用于接收目标图像数据;
输入运行模块6202,用于将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
结果输出模块6203,用于将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
具体的,所述目标图像数据包括:灰度图像数据或彩色图像数据。
具体的,所述量子卷积神经网络包括:量子态编码子线路、量子纠缠子线路和量子卷积核子线路;其中,
所述量子态编码子线路用于将所述目标图像数据的像素点信息编码到量子态上;
所述量子纠缠子线路用于关联量子比特的量子态信息;
所述量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
具体的,所述输入运行模块,具体用于:
根据所述目标图像数据的像素点信息,确定所述量子态编码子线路中量子逻辑门的待输入参数值;
将所述待输入参数值,输入所述量子态编码子线路。
具体的,所述输入运行模块,具体用于:
在所述一层或多层量子卷积神经网络为一层的情况下,依次运行所述量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对所述量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为所述量子卷积神经网络的测量结果;
在所述一层或多层量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
具体的,所述结果输出模块,具体用于:
根据所述量子卷积神经网络的测量结果,计算所述目标图像数据的卷积结果;
将所述卷积结果输入预选训练完成的经典神经网络,根据所述经典神经网络中神经元的权重,计算各个图像类别对应的概率;
根据所述各个图像类别对应的概率,输出所述目标图像数据的识别结果。
可见,通过接收目标图像数据,将目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行量子卷积神经网络,获得并测量携带目标图像数据的特征信息的量子态,其中,量子卷积神经网络由包含可调参数的量子线路构建;然后,将量子态的测量结果输入预选训练完成的经典神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S21,接收目标图像数据;
S22,将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
S23,将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存 储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S21,接收目标图像数据;
S22,将所述目标图像数据输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像数据的特征信息的量子态,其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
S23,将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像数据的识别结果。
本申请实施例进一步提供了一种量子图像识别的显示方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图21为本申请实施例提供的一种量子图像识别的显示方法的计算机终端的硬件结构框图。如图21所示,计算机终端可以包括一个或多个(图21中仅示出一个)处理器1302(处理器1302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1304,可选地,上述计算机终端还可以包括用于通信功能的传输装置1306以及输入输出设备1308。本领域普通技术人员可以理解,图21所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图21中所示更多或者更少的组件,或者具有与图21所示不同的配置。
存储器1304可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子图像识别的显示方法对应的程序指令/模块,处理器1302通过运行存储在存储器1304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1304可进一步包括相对于处理器1302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1306包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子 测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图22,图22为本申请实施例提供的一种量子图像识别的显示方法的流程示意图,可以包括如下步骤:
S2301,接收用户针对目标图像的输入操作;
示例性的,可以在终端界面显示若干随机示例图片组成图片集,用户针对目标图像的输入操作可以为:对图片集中想要识别的一张图片的点选操作。另外,用户还可以触发终端界面中的图片更新功能操作,更新图片集。或者,输入操作可以为:针对本地图片的上传操作等等。
S2302,响应所述输入操作,在第一区域显示所述目标图像;
具体可以在终端界面的第一区域单独显示目标图像。
其中,目标图像(图片)可以包括:灰度图像数据或彩色图像数据。例如,接收的图像数据是灰度图像,其通道数量为1个通道,数据维度大小以四维张量矩阵形式且数值范围是在0到1之间的浮点数。假设接收的图像数量是1张1通道的大小为28*28的灰度图像,则其共有1*1*28*28=784个像素点;假设传入的图像数据是1张3通道的彩色图像,图像大小是32*32,则共有3*32*32=3072个像素点。
S2303,接收用户针对所述目标图像的识别操作;
示例性的,可以接收用户针对终端界面中的识别功能按钮的点击操作,通过该点击操作开始对目标图像的识别。
S2304,响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
其中,量子卷积神经网络是指用于量子计算领域的卷积神经网络,对应经典计算领域的卷积神经网络,可以理解为经典卷积神经网络对应的量子版本,通过训练能够用于图像识别。
具体的,在一种实现方式中,利用预先训练完成的、用于图像识别的量子卷积神经网络识别目标图像,输出目标图像的识别结果,可以包括:
S23041:将所述目标图像输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像的特征信息的量子态;
本申请提供的一种量子卷积神经网络,可理解为包含可调参数的量子线路,具体可以包括:包含第一预设量子逻辑门的量子态编码子线路、包含第二预设量子逻辑门的量子纠缠子线路和包含第三预设量子逻辑门的量子卷积核子线路;
其中,量子态编码子线路用于将目标图像的像素点信息编码到量子态上;量子纠缠子线路用于关联量子比特的量子态信息;量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
并且,预设量子逻辑门的区分以其所属的子线路确定,不以量子逻辑门的类型划分,即:属于量子态编码子线路的量子逻辑门为第一预设量子逻辑门, 属于量子纠缠子线路的量子逻辑门为第二预设量子逻辑门,属于量子卷积核子线路的量子逻辑门为第三预设量子逻辑门。
需要说明的是,若第二预设量子逻辑门为含有可调参数的预设量子逻辑门,可以将第二预设量子逻辑门视为第一预设量子逻辑门或第三预设量子逻辑门,其中,第三预设量子逻辑门的可调参数值可以通过迭代更新(也就是训练)确定。并且,在一层量子卷积神经网络中,量子态编码子线路、量子纠缠子线路、量子卷积核子线路中的量子比特数量相同。
在实际应用中,一层量子卷积神经网络可以包括多条量子态编码子线路、相同多条量子纠缠子线路和相同多条量子卷积核子线路。可以将目标图像的像素点等分为多块,将每块图像数据的像素点信息编码到对应量子态编码子线路上,每条量子态编码子线路的量子比特数与每块图像数据的像素点数量相同。多条量子态编码子线路之间为并行设置(量子纠缠子线路和量子卷积核子线路同理),其中,一条量子态编码子线路、一条量子纠缠子线路和一条量子卷积核子线路组成部分量子卷积神经网络,以提取部分图像数据即单块图像数据的特征信息。
具体的,将目标图像输入预先训练完成的、用于量子卷积操作的量子卷积神经网络,可以根据目标图像的像素点信息(具体可以是像素值),确定量子态编码子线路中量子逻辑门(即第一预设量子逻辑门)的待输入参数值;将待输入参数值,输入量子态编码子线路中的第一预设量子逻辑门。其中,第一预设量子逻辑门可以为RX门、RY门、RZ门的任意一个或多个组合,且每个量子比特上施加的第一预设量子逻辑门均相同。另外,第二预设量子逻辑门若被视为第一预设量子逻辑门,则该第二预设量子逻辑门的可调参数值也可由目标图像的像素值确定。
在一种实现方式中,如图23所示为一层由可调参数的量子线路构建的量子卷积神经网络示意图,包括:
4个初始态为|0>态的量子比特,对应4个像素点的像素值;
组成量子态编码子线路的4个RY门和4个RZ门,共8个第一预设量子逻辑门,其中,RY门包含的待输入参数值,具体可为输入的4个像素值x
1、x
2、x
3、x
4的反正切值arctan(x
1)、arctan(x
2)、arctan(x
3)、arctan(x
4);RZ门 包含的待输入参数值,具体可为输入的4个属性值x
1、x
2、x
3、x
4的平方的反正切值
组成量子纠缠子线路的4个第二预设量子逻辑门CNOT门,CNOT门的图标用
及其连线表示;
组成量子卷积核子线路的4个第三预设量子逻辑门U3门,每个U3门包含3个可调参数α、β、γ,如图23中R(α
1,β
1,γ
1)、R(α
2,β
2,γ
2)、R(α
3,β
3,γ
3)、R(α
4,β
4,γ
4)所示,对应可调参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作;其中,U3门的酉矩阵为:
在另一种实现方式中,如图24所示为另一种可调参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RX门,RX门包含的待输入参数值,具体可为输入的4个像素值a
00、a
01、a
10、a
11的反正切值或4个像素值的平方的反正切值;
同时起到量子纠缠子线路和量子卷积核子线路作用的量子纠缠和卷积核子线路,包括3个受控RZ门和3个受控RX门,该6个预设量子逻辑门均为含有可调参数的预设量子逻辑门,此处均视为第三预设量子逻辑门,对应可调参数值通过迭代更新确定;以及,位于线路末尾的第一位量子比特上的测量操作。
在再一种实现方式中,如图25所示为再一种可调参数的量子线路的结构示意图,包括:
4个初始态为|0>态的量子比特;
组成量子态编码子线路的4个第一预设量子逻辑门RY门,RY门包含的待输入参数值,具体可为输入的4个像素值的反正切值;
组成量子纠缠子线路的4个第二预设量子逻辑门,包括1个RX门、1个RZ门和2个CNOT门,RX门和RZ门为含有可调参数的预设量子逻辑门,此处 则视为第一预设量子逻辑门,对应待输入参数值可为对应量子比特位输入的像素值的反正切值;
组成量子卷积核子线路的2个第三预设量子逻辑门,包括1个RY门和1个RX门,对应可调参数值通过迭代更新确定;以及,位于线路末尾的所有量子比特位上的测量操作。
具体的,运行量子卷积神经网络,获得并测量携带目标图像的特征信息的量子态,可以包括以下两种情况:
在量子卷积神经网络仅为一层的情况下,依次运行量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为量子卷积神经网络的测量结果。
在实际应用中,对于多条量子卷积核子线路,可以测量每条量子卷积核子线路中的预设位量子比特的量子态及其概率,作为该层量子卷积神经网络的测量结果。需要说明的是,每条量子卷积核子线路对应测量的预设量子比特位是保持一致的,例如均为第一位或均为所有位。
在量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
对于多层量子卷积神经网络,下一层网络中量子态编码子线路条数为上一层网络中量子卷积核子线路条数与子线路中量子比特数的比值。例如,当前层网络包括16条量子态编码子线路、16条量子纠缠子线路和16条量子卷积核子线路,每条量子态编码子线路/量子纠缠子线路/量子卷积核子线路的量子比特数为4,则下一层网络包括4条量子态编码子线路、4条量子纠缠子线路和4条量子卷积核子线路,每条量子态编码子线路/量子纠缠子线路/量子卷积核子线路的量子比特数为4。
需要说明的是,量子卷积神经网络的层数,可以根据需要解决的具体问题复杂度进行设置。比如,一个图像识别的二分类问题,其问题比较简单,可以使用两到三层量子卷积神经网络来进行问题的解决,对于复杂的多分类问题就 需要加深网络的深度,构建出多层量子卷积网络来进行解决,具体需要根据实际效果来决定网络深度。
具体的,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定,可以为:
测量上一层量子卷积核子线路中第一位量子比特的|0>态或|1>态(假设为|1>态)的概率,作为下一层量子态编码子线路中的待输入参数值。
例如,上一层8条量子卷积核子线路,对应测量8个|1>态的概率,每条量子卷积核子线路包含4个量子比特,则将前4个|1>态的概率,作为下一层2条量子态编码子线路中1条的待输入参数值,将后4个|1>态的概率,作为另1条的待输入参数值。
或者,也可以测量上一层每条量子卷积核子线路中所有量子比特的量子态及其概率,作为测量结果。例如,将各二进制量子态对应的十进制值(如|0011>对应十进制3)与对应概率的乘积进行累加,同理将累加之和作为下一层量子态编码子线路的待输入参数值。
S23042:将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像的识别结果。
具体的,可以根据量子卷积神经网络的测量结果,计算目标图像的卷积结果;将卷积结果输入预选训练完成的经典神经网络,根据经典神经网络中神经元的权重,计算各个图像类别对应的概率;根据各个图像类别对应的概率,输出目标图像的识别结果。其中,经典神经网络即指经典计算领域的神经网络,例如为全连接神经网络等等。
具体的,可以测量最后一层网络中每条量子卷积核子线路的预设位量子比特的|0>态或|1>态的概率,作为卷积结果。或者,测量最后一层网络中每条量子卷积核子线路的所有量子比特的量子态及其概率,将各二进制量子态对应的十进制值与对应概率的乘积进行累加,将累加之和作为卷积结果。
示例性的,最后一层量子卷积神经网络包括4条量子卷积核子线路,测量每条量子卷积核子线路的第一位量子比特的|1>态的概率分别为p
1、p
2、p
3、p
4,作为卷积结果。假设图像类别设为3类:猫、狗和青蛙,经典神经网络为全连接网络,神经元的权重分别为:
第1条子线路对应猫、狗和青蛙的权重为w
11、w
12、w
13;
第2条子线路对应猫、狗和青蛙的权重为w
21、w
22、w
23;
第3条子线路对应猫、狗和青蛙的权重为w
31、w
32、w
33;
第4条子线路对应猫、狗和青蛙的权重为w
41、w
42、w
43;
计算各个图像类别对应的识别概率为:
识别图像为猫的概率:p
1*w
11+p
2*w
21+p
3*w
31+p
4*w
41;
识别图像为狗的概率:p
1*w
12+p
2*w
22+p
3*w
32+p
4*w
42;
识别图像为青蛙的概率:p
1*w
13+p
2*w
23+p
3*w
33+p
4*w
43。
最后,可以输出识别概率最高的图像类别,作为目标图像的识别结果。或者,可以依次输出多个乃至全部概率及其对应的图像类别,以概率高低排序,作为目标图像的识别结果,例如,识别结果为:
猫:87%;狗:11%;青蛙:2%。
在实际应用中,可以通过对量子卷积神经网络相关比特的测量和经典神经网络,输出计算出的识别结果,将识别结果与真实结果进行对比,构建损失函数,通过损失函数对量子卷积神经网络中可调参数的梯度来迭代更新,以完成量子卷积神经网络的训练。
对于图像识别的分类问题可以使用交叉熵损失函数,公式如下:
其中,n为图像类别数量,y
i表示第i个图像类别,例如,y
1、y
2、y
3表示猫、狗、青蛙,p(y
i)表示分类数据的真实标签概率分布,q(y
i)表示分类数据的预测标签概率分布。
可调参数的梯度计算方式可以如下:
其中,f(x;θ
i)可理解为量子卷积神经网络对应的量子卷积函数,具体为在当前输入为x(像素值)和θ
i(可调参数)时量子卷积神经网络对应测量得到的概率值,x为输入的像素值,θ
i为量子逻辑门的当前可调参数,
为梯度。
可调参数更新方式可以如下:
其中,η为学习率,其值主要依据网络迭代收敛的情况确定,例如为1e-3。如果不收敛或收敛速度过快,比如训练3轮就已经收敛,表示值过大,需要相对减小其值;如果收敛速度较慢,比如训练了30轮,仍然不见收敛,则表示值过小,需要相对调大。
S2305,在第二区域显示所述目标图像的识别结果。
示例性的,可以在终端界面的第二区域显示图像类别标签及其对应概率信息,对显示形式不进行限定。对于设定的多分类图像类别,识别结果即限定于这些图像类别之中,或者说,可以理解为,训练的量子卷积神经网络即用于基于设定图像类别的多分类。
可见,通过接收用户针对目标图像的输入操作;响应输入操作,在第一区域显示目标图像;接收用户针对目标图像的识别操作;响应识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别目标图像,输出目标图像的识别结果;其中,量子卷积神经网络由包含可调参数的量子线路构建;在第二区域显示目标图像的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
参见图26,图26为本申请实施例提供的一种量子图像识别的显示装置的结构示意图,与图22所示的流程相对应,所述装置包括:
第一接收模块6301,用于接收用户针对目标图像的输入操作;
第一响应模块6302,用于响应所述输入操作,在第一区域显示所述目标图像;
第二接收模块6303,用于接收用户针对所述目标图像的识别操作;
第二响应模块6304,用于响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
结果显示模块6305,用于在第二区域显示所述目标图像的识别结果。
具体的,所述目标图像包括:灰度图像数据或彩色图像数据。
具体的,所述第二响应模块,包括:
输入运行单元,用于将所述目标图像输入预先训练完成的、用于量子卷积操作的一层或多层量子卷积神经网络,运行所述量子卷积神经网络,获得并测量携带所述目标图像的特征信息的量子态;
结果输出单元,用于将所述量子态的测量结果输入预选训练完成的经典神经网络,输出所述目标图像的识别结果。
具体的,所述量子卷积神经网络包括:量子态编码子线路、量子纠缠子线路和量子卷积核子线路;其中,
所述量子态编码子线路用于将所述目标图像的像素点信息编码到量子态上;
所述量子纠缠子线路用于关联量子比特的量子态信息;
所述量子卷积核子线路用于提取量子态信息携带的像素点对应的特征信息。
具体的,所述输入运行单元,具体用于:
根据所述目标图像的像素点信息,确定所述量子态编码子线路中量子逻辑门的待输入参数值;
将所述待输入参数值,输入所述量子态编码子线路。
具体的,所述输入运行单元,具体用于:
在所述一层或多层量子卷积神经网络为一层的情况下,依次运行所述量子态编码子线路、量子纠缠子线路和量子卷积核子线路;
对所述量子卷积核子线路中的预设量子比特进行测量,得到测量出的各量子态及其概率,作为所述量子卷积神经网络的测量结果;
在所述一层或多层量子卷积神经网络为多层的情况下,依次运行各层量子卷积神经网络,对每一层量子卷积神经网络中量子卷积核子线路的预设量子比特进行测量,直至得到最后一层量子卷积神经网络的测量结果,其中,下一层量子卷积神经网络的输入根据上一层量子卷积神经网络的测量结果确定。
具体的,所述结果输出单元,具体用于:
根据所述量子卷积神经网络的测量结果,计算所述目标图像的卷积结果;
将所述卷积结果输入预选训练完成的经典神经网络,根据所述经典神经网 络中神经元的权重,计算各个图像类别对应的概率;
根据所述各个图像类别对应的概率,输出所述目标图像的识别结果。
可见,通过接收用户针对目标图像的输入操作;响应输入操作,在第一区域显示目标图像;接收用户针对目标图像的识别操作;响应识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别目标图像,输出目标图像的识别结果;其中,量子卷积神经网络由包含可调参数的量子线路构建;在第二区域显示目标图像的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S31,接收用户针对目标图像的输入操作;
S32,响应所述输入操作,在第一区域显示所述目标图像;
S33,接收用户针对所述目标图像的识别操作;
S34,响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
S35,在第二区域显示所述目标图像的识别结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S31,接收用户针对目标图像的输入操作;
S32,响应所述输入操作,在第一区域显示所述目标图像;
S33,接收用户针对所述目标图像的识别操作;
S34,响应所述识别操作,利用预先训练完成的、用于图像识别的量子卷积神经网络识别所述目标图像,输出所述目标图像的识别结果;其中,所述量子卷积神经网络由包含可调参数的量子线路构建;
S35,在第二区域显示所述目标图像的识别结果。
本申请实施例进一步提供了一种基于量子经典混合神经网络的图像识别方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图27为本申请实施例提供的一种基于量子经典混合神经网络的图像识别方法的计算机终端的硬件结构框图。如图27所示,计算机终端可以包括一个或多个(图27中仅示出一个)处理器1402(处理器1402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1404,可选地,上述计算机终端还可以包括用于通信功能的传输装置1406以及输入输出设备1408。本领域普通技术人员可以理解,图27所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图27中所示更多或者更少的组件,或者具有与图27所示不同的配置。
存储器1404可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于量子经典混合神经网络的图像识别方法对应的程序指令/模块,处理器1402通过运行存储在存储器1404内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1404可进一步包括相对于处理器1402远程设置的存储器,这些远程存储器可以通过网络连接至计算机终 端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1406可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量 子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图28,图28为本申请实施例提供的一种基于量子经典混合神经网络的图像识别方法的流程示意图,可以包括如下步骤:
S2401,接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
具体的,对图像的形式和内容不做限定,包括文字图像等等。
例如,接收的图像数据是灰度图像,其通道数量为1个通道,接收的图像用数据维度大小为四维的张量矩阵形式表示,且像素值范围是在0到1之间的浮点数。假设,接收的图像数量是1张1通道的大小为28*28的灰度图像,则其共有1*1*28*28=784个像素点;或者,假设传入的图像数据是10张3通道的彩色图像,图像大小是32*32,则共有10*3*32*32=30720个像素点。
S2402,将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
具体的,量子经典混合神经网络是指涉及量子计算与经典计算的混合神经网络。并且,量子线路可以包括:用于像素值编码的编码子线路、用于训练的 一条或多条训练子线路,特征学习模块还可以包括:池化层(Pooling)。
其中,一条量子线路对应一个量子卷积核,一个量子卷积核扫描目标图像,对应提取一种特征。在实际应用中,可以设置多条量子线路,对应多个量子卷积核,从而提取目标图像的多种特征,形成多张特征图,用于更准确地识别图像。
具体的,编码子线路可以包括第一含参量子逻辑门,第一含参量子逻辑门包括第一可调参数,编码子线路的量子比特数为待输入的目标图像数据中一组像素值的个数。
其中,含参量子逻辑门是指酉矩阵含有可调参数的量子逻辑门。编码子线路中的第一含参量子逻辑门可以为旋转逻辑门,例如RX门、RY门、RZ门的一种或多种组合,对逻辑门顺序不做限定,具体包括:RX门;RY门;RZ门;RX门和RY门;RX门和RZ门;RY门和RZ门;RX门、RY门和RZ门。需要说明的是,编码子线路中每个量子比特上设置的逻辑门相同。
在实际应用中,量子卷积核一次扫描目标图像数据中的一组像素值,即量子线路一次接收一组像素值的输入。在下一次扫描时,可以将当前组像素值对应的扫描位置右移一步或多步,扫描右移后的下一组像素值,从而进行下一组像素值的输入。
具体的,针对目标图像数据的每组像素值,可以计算该组像素值对应的、第一可调参数的第一可调参数值,将第一可调参数值输入第一含参量子逻辑门中。
其中,第一可调参数值可以为:对应像素值的反正切值或平方的反正切值,还可以通过预设公式计算,例如,第一可调参数值=像素值*π/2等等。
示例性的,一组4个像素值x
1、x
2、x
3、x
4,编码子线路包括4个量子比特,每个量子比特上的第一含参量子逻辑门均为RY门。计算4个RY门中的第一可调参数值,分别为θ
1=x
1*π/2、θ
2=x
2*π/2、θ
3=x
3*π/2、θ
4=x
4*π/2。
再示例性的,一组4个像素值x
1、x
2、x
3、x
4,编码子线路包括4个量子比特,每个量子比特上的第一含参量子逻辑门均为RY门和RZ门的组合。计算4个RY门中的第一可调参数值,分别为对应像素值的反正切值arctan x
1、arctan x
2、arctan x
3、arctan x
4;计算4个RZ门中的第一可调参数值,分 别可以为对应像素值的平方的反正切值
具体的,训练子线路可以包括第二含参量子逻辑门,作用于单量子比特,例如RY门等等,还包括不含可调参数的预设量子逻辑门,作用于两量子比特,例如作用于相邻两个比特上的CNOT门等等。第二含参量子逻辑门包含第二可调参数,第二可调参数值通过训练确定。并且,训练子线路的量子比特数与编码子线路的量子比特数相同,均为一组像素值的个数,训练子线路的数量可根据卷积操作的实际应用需求设置(串行设置,即量子线路依次包括:编码子线路、训练子线路1、训练子线路2、……)。
S2403,运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
其中,分类模块可以包括:全连接层(Fully-Connected,全连接网络)。具体的,可以通过量子卷积核对每组像素值进行卷积操作,输出卷积后的第一特征图;通过池化层对所述第一特征图进行池化操作,输出池化后的第二特征图;通过全连接层对所述第二特征图进行分类,输出分类结果,作为所述目标图像数据的识别结果。
具体的,可以运行量子线路,对量子线路进行测量,根据测量结果确定每组像素值的卷积结果,各组像素值的卷积结果组成第一特征图。
具体的,可以对量子线路的所有量子比特位进行测量,得到所有量子比特的各量子态及其振幅;计算振幅对应的概率,根据各量子态及其概率,计算每组像素值的卷积结果。
在一种实现方式中,可以根据各量子态中预设子态的个数及其对应的概率,计算每组像素值的卷积结果。例如,2量子比特的测量结果为:
|00>态,概率P
0;|01>态,概率P
1;|10>态,概率P
2;|11>态,概率P
3。计算卷积结果为:
其中,n
0、n
1、n
2、n
3分别为|00>态、|01>态、|10>态、|11>态中预设子态|1>的个数,即n
0=0、n
1=1、n
2=1、n
3=2,从而得到卷积结果为:
P
0-P
1-P
2+P
3
在另一种实现方式中,可以将每一量子态对应的十进制值(如|11>态对应十进制值3)与概率的乘积进行累加,将累加之和确定为每组像素值的卷积结果。
在实际应用中,对量子线路进行测量,根据测量结果确定每组像素值的卷积结果,也可以对量子线路的预设位量子比特进行测量,得到预设位量子比特的各量子态及其振幅;计算各量子态中预设量子态的振幅对应的概率,作为该组像素值的卷积结果。例如,预设位量子比特可以为第一位量子比特,预设量子态可以为第一位量子比特的|1>态,等等。
然后,各组像素值经过量子线路得到卷积结果值,对应排布形成第一特征图,第一特征图的数量与量子线路的数量相同。将第一特征图经过池化和全连接操作,可以输出识别概率最高的图像类别,作为目标图像数据的识别结果。或者,可以依次输出多个乃至全部概率及其对应的图像类别,以概率高低排序,作为目标图像数据的识别结果,例如,假设图像类别包括3类:猫、狗和青蛙,输出的识别结果可以为:猫:87%;狗:11%;青蛙:2%。
在第一次卷积和池化后,可继续进行多次卷积和池化的迭代操作,以提高目标图像识别的准确性。其中,池化和全连接为现有技术,在进行全连接层操作时,先将池化后的第二特征图进行展开(Flatten),然后进行对应神经元及权重的计算等等,本申请在此不对其进行赘述。
在实际应用中,还可以将识别结果与真实结果进行对比,构建损失函数,通过损失函数对量子卷积核第二可调参数的梯度来迭代更新,以完成量子经典混合神经网络的训练。
对于图像识别的分类问题可以使用交叉熵损失函数,公式如下:
其中,n为图像类别数量,y
i表示第i个图像类别,例如,y
1、y
2、y
3表示猫、狗、青蛙,p(y
i)表示分类数据的真实标签概率分布,q(y
i)表示分类数据的预测标签概率分布。
可调参数的梯度计算方式可以如下:
其中,f(x;θ
i)可理解为量子卷积核对应的量子卷积函数,具体为在当前输入为x(像素值)和θ
i(第二可调参数)时量子卷积核对应测量得到的概率值,x为输入的像素值,θ
i为量子逻辑门的当前第二可调参数,
为梯度。
第二可调参数更新方式可以如下:
其中,η为学习率,其值主要依据网络迭代收敛的情况确定,例如为1e-3。如果不收敛或收敛速度过快,比如训练3轮就已经收敛,表示值过大,需要相对减小其值;如果收敛速度较慢,比如训练了30轮,仍然不见收敛,则表示值过小,需要相对调大。
可见,通过接收目标图像数据,将目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,运行量子经典混合神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
参见图29,图29为本申请实施例提供的一种基于量子经典混合神经网络的图像识别装置的结构示意图,与图28所示的流程相对应,所述装置包括:
接收模块3401,用于接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
输入模块3402,用于将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
输出模块3403,用于运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
具体的,所述量子线路包括:用于像素值编码的编码子线路、用于训练的一条或多条训练子线路,所述特征学习模块还包括:池化层。
具体的,所述编码子线路包括第一含参量子逻辑门,所述第一含参量子逻 辑门包括第一可调参数;
所述输入模块,具体用于:
针对所述目标图像数据的每组像素值,计算该组像素值对应的、所述第一可调参数的第一可调参数值;
将所述第一可调参数值输入所述第一含参量子逻辑门中。
具体的,所述训练子线路包括用于被训练的第二含参量子逻辑门中的第二可调参数,且所述训练子线路的量子比特数与所述编码子线路相同,均为一组像素值的个数。
具体的,所述分类模块包括:全连接层;
所述输出模块,包括:
卷积单元,用于通过所述量子卷积核对每组像素值进行卷积操作,输出卷积后的第一特征图;
池化单元,用于通过所述池化层对所述第一特征图进行池化操作,输出池化后的第二特征图;
分类单元,用于通过所述全连接层对所述第二特征图进行分类,输出分类结果,作为所述目标图像数据的识别结果。
具体的,所述卷积单元,包括:
测量子单元,用于运行所述量子线路,对所述量子线路进行测量,根据测量结果确定每组像素值的卷积结果,所述卷积结果组成第一特征图。
具体的,所述测量子单元,具体用于:
对所述量子线路的所有量子比特位进行测量,得到所述所有量子比特的各量子态及其振幅;
计算所述振幅对应的概率,根据各所述量子态中预设子态的个数及其对应的概率,计算每组像素值的卷积结果。
可见,通过接收目标图像数据,将目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,运行量子经典混合神经网络,输出目标图像数据的识别结果,从而实现量子计算在图像识别神经网络的应用,以发挥量子计算的并行优势,并补充相关技术的空白。
本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机程 序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S41,接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
S42,将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
S43,运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S41,接收目标图像数据;其中,所述目标图像数据为灰度图像数据或彩色图像数据;
S42,将所述目标图像数据输入预先训练完成的、用于图像识别的量子经典混合神经网络,其中,所述量子经典混合神经网络包括:特征学习模块和分类模块,所述特征学习模块包括:由量子线路表示的量子卷积核;
S43,运行所述量子经典混合神经网络,输出所述目标图像数据的识别结果。
以上依据图式所示的实施例详细说明了本申请的构造、特征及作用效果,以上所述仅为本申请的较佳实施例,但本申请不以图面所示限定实施范围,凡是依照本申请的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本申请的保护范围内。