Dual-Branch Speech Enhancement Neural Network with Convolutional Enhancement Window Attention
-
摘要:
在复杂环境以及突发背景噪音条件下,语音增强任务具有极大的困难和挑战. 主要原因是现有的语音增强方法未能有效捕获语谱图特征,尤其是局部信息. 在过去的研究中,Transformer模型更专注于音频的全局信息,而忽略了局部信息的重要性. 在音频经过短时傅里叶变换(STFT)处理后,多数模型仅使用幅值信息,而忽略了相位信息,导致它们未能有效捕获语谱图特征,从而影响了语音增强的效果. 基于此设计出一个带有卷积增强窗口注意力的双分支语音增强神经网络. 该模型采用U-NET架构,通过双分支结构对音频的幅值和相位信息同时建模;在2个分支之间引入复值计算模块以实现信息交互;在编码器层和解码器层之间的跳跃连接部分采用卷积增强窗口注意力模块,该模块执行基于非重叠窗口的自注意力操作,在捕获局部上下文信息的同时显著降低了语音增强模型的计算复杂度. 该模型在公开的Voicebank-Demand数据集上进行测试,与基线模型DCUNET 16和DCUNET20相比,在客观语音质量评估指标PESQ(perceptual evaluation of speech quality)分别提高了0.51和0.47. 除了PESQ指标外,其他指标也都有显著的提升. 相较于现有的各类语音增强模型,该模型在各项指标上均处于领先水平,尤其是在PESQ得分方面的提升更为显著.
Abstract:In complex environments and under sudden background noise conditions, speech enhancement tasks are extremely challenging due to the limited capturing of spectrogram features by existing methods, especially in capturing local information of the spectrogram. Previous work on Transformer models primarily focused on global information of the audio while neglecting the importance of local information. Many models only utilized the magnitude information and ignored the phase information after the audio underwent short-time Fourier transform (STFT), resulting in suboptimal capturing of spectrogram features and unsatisfactory speech enhancement results. Based on this, we propose a dual-branch speech enhancement neural network with convolutional enhancement window attention. The model adopts a U-NET architecture and simultaneously models the magnitude and phase information of the audio through the dual-branch structure. A complex computation module is introduced for information interaction between the two branches. The convolutional enhancement window attention module is employed in the skip-connection part between the encoder and decoder layers. It performs self-attention based on non-overlapping windows, significantly reducing the computational complexity of the speech enhancement model while capturing local contextual information. The proposed model is evaluated on the publicly available Voicebank-Demand dataset. Compared with the baseline models DCUNET 16 and DCUNET20, the proposed model achieves improvements of 0.51 and 0.47, respectively, in PESQ (perceptual evaluation of speech quality) metric. Other evaluation metrics also show significant enhancements. Compared with various existing speech enhancement models, the proposed model outperforms them in various metrics, particularly demonstrating remarkable improvements in PESQ scores.
-
近年来,机器学习已经成为人们日常生活中重要的部分之一,许多应用是基于机器学习算法实现的,数据集的质量是影响机器学习算法性能的决定性因素之一. 由于全球数据规模的迅速增长,大规模数据的存储和处理成为一个重要的问题[1]. 随着数据集规模的增大,数据集可用性也在随之增强,机器学习的重要性也在增大,但经典机器学习算法所需要的训练时间也随之激增. 特别是在计算复杂性较高的问题上,对于大规模数据经典算法无法在可接受的时间内解决问题,量子机器学习(quantum machine learning,QML)在其中展现出长足的优势. 最初,Google公司完成了一项量子超越传统实验[2],在对伪随机量子电路输出的采样任务上,最先进的Summit超级计算机上需要约10 000年才能完成,而使用53个量子比特(qubit)的NISQ设备仅需200 s即可完成. 这项实验标志着NISQ设备存在超越经典计算机的潜力. 然而,经典模拟技术的发展也在对量子霸权提出挑战. Huang等人[3]提出一种基于张量网络的经典模拟算法,能够在不到20天的时间内使用Summit完成53量子比特20周期的随机量子电路采样任务. Pan等人[4]提出了精确计算200万比特串的精确幅度的方法,获得比特串所需计算复杂度远低于Google公司使用的方法,获得振幅的计算复杂度也低于最先进的张量网络方法. 在实验中仅使用60个GPU,完成53量子比特和20个周期的Sycamore电路采样任务的经典模拟只用了5天. 因此,量子计算的优势是需要在长期发展中不断对比经典模拟和量子硬件才能得以证明的. 为了保持量子优势,构建更加复杂、更加能够体现量子优势的任务并实现,也需要支持更多量子比特、具有更高保真度的量子处理器. 目前最能体现量子优越性的实验是由中国科学技术大学Zhu等人[5]提出,实现了一种66量子比特2维超导量子处理器,命名“祖冲之2.1”,具有97.74%的保真度. 在该处理器上设置了60量子比特、20周期的随机电路采样任务,模拟该采样任务所需的经典计算成本大约是Sycamore处理器上所能完成的最难任务的500倍. “祖冲之2.1”使用了4.2 h来完成该任务,而使用目前最先进的经典模拟算法在超算Summit上完成该任务大约需要48 000年,量子优势的表现得到了显著增强.
量子机器学习是综合量子计算(quantum computing,QC)、量子信息(quantum information,QI)和机器学习形成的一门学科,主要研究如何利用量子计算机的特性完成机器学习任务,从而获得比经典算法更快的速度,这被称为量子优势. 当前量子机器学习方向可以分为3类:第1类是在量子实验环境下实现机器学习算法,利用量子特性改进经典算法,抑或是寻找可以在量子计算机上实现的更有效的新方法,以期提高计算效率、降低计算复杂度,这类研究被称为量子计算学习(quantum computational learning,QCL);第2类是通过量子计算过程启发得到新经典机器学习算法;第3类是将经典机器学习算法应用在量子实验中,包括物理化学模拟等,在物理研究领域应用较多. 本文综述的基于变分量子电路的量子机器学习算法属于量子计算学习.
由于量子硬件的限制,可以操控的量子比特数目较少以及量子纠缠和退相干造成的噪声是当前量子设备所面临的2个重大问题,物理学在原理的探究上进展缓慢,大规模量子比特、容错量子计算机在未来或许能够实现,但是在短期内进展缓慢. 当前多数研究集中于如何利用现有的NISQ设备来实现量子优势,根据是否使用 NISQ 设备可以将量子机器学习算法分为第1代量子机器学习算法[6-7]和第2代量子机器学习算法[8-16].
变分量子算法(variational quantum algorithms,VQAs)是为应用于 NISQ 设备而设计的算法,已经成为获取量子优势的主要手段之一. 变分量子算法是一种混合量子-经典算法,将任务拆分为2部分分别交给NISQ设备和经典计算机运行,以期在分配给NISQ设备的任务部分利用量子设备并行计算的特性获得量子加速. 变分量子算法已经被用于解决多种任务,包括变分量子本征求解器(variational quantum state eigensolver,VQE)[8]、用于组合优化问题求解的量子近似优化算法(quantum approximate optimization algorithm,QAOA)[9,7-19]、分子模拟[20]等,本文主要综述其在机器学习领域的应用.
在机器学习的领域,变分量子算法可以根据使用设备及实现方法简单分为2类:基于量子门电路的模型和基于绝热量子计算的模型,前者使用量子电路计算机,而后者使用量子退火机. 基于门电路的模型使用变分量子电路(variational quantum circuits,VQCs)作为学习任务的主体,数据被编码到量子比特上,经过一系列具有可学习参数的量子门离散化地操作量子比特以完成学习任务,最后通过测量操作得到结果,因此也称参数化量子电路(parameterized quantum circuits,PQCs),其具有深度浅、使用量子比特较少的特点. 经典计算机执行优化算法更新其参数. 这种学习方式类似于经典机器学习中的神经网络,故参数化量子电路也称量子神经网络(quantum neural networks,QNNs). 基于门的模型衍生出了基于脉冲的模型,使用含可训练参数的脉冲电路作为完成机器学习任务的电路主体. 基于绝热量子计算的算法源于绝热定理,通过将问题编码到初始哈密顿量基态上,依赖系统的绝热演化得到最终的哈密顿量,在演化结束后对系统测量得到问题的解. 相较而言,基于门和脉冲的模型更接近经典范式,是一种更通用的框架,能够提供更高的精度,解决问题更全面,但更容易受量子退相干影响,对纠错的要求更严格. 基于绝热量子计算的模型优势在于电路简单,可以减少量子退相干的问题,无需严格的纠错方法,适合于解决特定的组合优化问题,在机器学习任务中仅被用于生成模型中的量子玻尔兹曼机和量子自编码器. 在硬件设备的发展中,基于门电路的量子计算机以 IBM、微软、谷歌等公司为主,量子退火机则以 D-Wave公司为主.
本文重点综述基于门模型的变分量子算法在机器学习领域的应用,对于基于绝热量子计算和基于脉冲的模型仅对其开创性工作和近期进展作简要介绍. 表1总结了本文所讨论的模型及其可以用于实现的设备.
表 1 用于量子机器学习模型的设备Table 1. Device for Quantum Machine Learning模型 门电路 量子退火机 脉冲电路 分类器 √ × √ 量子卷积神经网络 √ × × 影子电路 √ × × 量子玻恩机 √ × × 量子玻尔兹曼机 √ √ × 量子自编码器 √ √ × 量子生成对抗网络 √ × × 量子强化学习 √ × × 量子电路结构搜索 √ × √ 注:“√”表示可以实现的设备,“×”表示不能实现的设备. 本文的主要贡献有3个:
1)针对变分量子算法应用和量子机器学习算法交叉领域,对在变分量子算法框架下实现的量子机器学习算法进行综述.
2)综述了变分量子算法框架下的量子强化学习算法以及量子神经架构搜索算法. 以此分类,按时间顺序对相关算法进行了总结,并对同类量子机器学习算法进行了对比分析.
3)对所总结的量子机器学习算法相关的经典优化算法、数据集以及模拟实验平台进行了总结与对比分析.
本综述介绍了变分量子算法相关的量子计算基础概念,介绍了实验数据集及模拟实验平台,详细介绍了变分量子算法的原理和基于变分量子电路实现的量子机器学习算法的原理和研究进展,总结了其在未来的挑战和展望.
1. 量子计算
量子计算是一种借助量子力学进行计算的方式. 在研究量子力学的过程中,人们发现量子系统具有模拟线性代数运算的功能,同时证明了量子算法在某些具体问题上远远优于经典算法,甚至可以实现指数级的加速. 量子计算有着广泛的应用,有望用于基础科学研究、化工、能源、材料、人工智能、信息安全、加密通信等领域,中短期有望在量子优化、量子模拟、量子增强人工智能等方向出现突破性进展.
1.1 量子比特
经典计算机操作的经典比特(bit)只有0和1这2种状态. 在量子计算机中,量子计算机操作的基本单元被称作量子比特或量子位. 与经典比特相对应,量子比特存在|0⟩和|1⟩共2种基态,与经典比特的区别是量子计算机中比特的状态可以是基态的叠加态. 叠加态也称量子态,用|ψ⟩表示,是以2个基态为基底的2维复空间上的向量,故可以表示为基态的线性组合:
|ψ⟩=α|0⟩+β|1⟩. (1) 对于n位量子比特构成的量子态可以表示为2n个基态的复合态:
|ψ⟩=α0…00⏟n位|0…00⟩⏟n位+α0…01⏟n位|0…01⟩⏟n位+…+α1…11⏟n位|1…11⟩⏟n位. (2) 式(2)也可以写为
|ψ⟩=2n−1∑i=0αi|i⟩, (3) 其中|i⟩表示n位量子比特构成的基态,αi表示该基态对应的概率幅. 量子态|ψ⟩被测量时塌缩到基态|i⟩的概率为|αi|2. 故概率幅满足归一化条件:
2n−1∑i=0αi=1. (4) 1.2 量子门
在经典计算机中,使用或、与、非等逻辑门能够对经典比特的状态进行变换. 相应地,在量子计算机中使用量子门可以操作量子比特的状态. 对量子比特进行逻辑运算可以视为乘一个2n×2n的矩阵. 量子门可以根据是否还有可学习的参数分为基本量子逻辑门和含参量子逻辑门,后者是构成参数化量子电路和实现变分量子算法的关键.
1.2.1 基本量子逻辑门
基本量子逻辑门也被称为固定门. 对于固定门,根据其操作的量子比特数目可以简单分为2类:单量子比特门与多量子比特门,多量子比特门中常用的包括双量子比特门与三量子比特门.
单量子比特门中,最基础的门是单位门,经过其变换的量子比特不发生变化,单位门常用于和其他门组合使用. 常用的单量子比特门主要包括Pauli-X门、Pauli-Y门、Pauli-Z门,其作用是对量子比特的概率振幅或相位进行翻转,在布洛赫球上表现为分别绕对应轴旋转π的角度. S门和T门与Pauli-Z门类似,区别在于绕Z轴的旋转度数分别为π2和π4. 常见的还包括Hadamard门,其作用为制备叠加态,例如作用于状态为0的量子比特|0⟩,可以得到概率均等的|0⟩和|1⟩.
多量子比特门包括2种类型的量子比特:控制比特和目标比特. 故按照是否含有控制比特可以将其分类为带控制量子门与不带控制量子门. 带控制量子门根据控制比特的状态决定对目标比特的不同操作. 常用的带控制的双量子比特门包括受控非门:CNOT 门(也称CX门)、CY门、CZ门、CS门等,其触发控制时作用与相应的单量子比特门一致. 交换门(SWAP)是常用的不带控制量子门,用于交换量子比特的状态. 常用的三量子比特门包括双控制式三量子非门:Toffoli门(CCNOT),以及单控制式量子交换门:Fredkin门(CSWAP)等.
量子门作用于量子态等同于对量子比特进行一个酉变换,因此量子门与酉算子是对应的,每个量子门可以用一个酉矩阵表示,满足 {\boldsymbol U}{{\boldsymbol U}^{\text{\dagger }}} = {{\boldsymbol U}^{\text{\dagger }}}{\boldsymbol U} = {\boldsymbol I} . 其中 {\boldsymbol U} 表示酉算子,对应1个酉矩阵, {{\boldsymbol U}^\dagger } 是 {\boldsymbol U} 对应的复共轭转置. 酉变换属于可逆变换,量子门对量子比特的变换是可逆的.
以Hardmard门为例,将其作用于基本量子态 \left| 0 \right\rangle 可以表示为 {\boldsymbol{H}}\left| 0 \right\rangle = \dfrac{1}{\sqrt 2 }({{\left| 0 \right\rangle + \left| 1 \right\rangle }}) ,将其作用于量子态 \left| 1 \right\rangle 可以表示为 {\boldsymbol{H}}\left| 1 \right\rangle = \dfrac{1}{\sqrt 2 }({{\left| 0 \right\rangle - \left| 1 \right\rangle }}) ,也可以作用于量子叠加态,如 {\boldsymbol{H}}\left[ {\dfrac{1}{\sqrt 2 }({{\left| 0 \right\rangle + \left| 1 \right\rangle }}}) \right] = \left| 1 \right\rangle .
表2中列举了一些常见的基本量子逻辑门及其符号和酉矩阵表示.
表 2 常用基本量子逻辑门Table 2. Frequently-Used Quantum Basic Gates量子逻辑门 符号表示 酉矩阵表示 单位门 I \left( {\begin{array}{*{20}{c}} 1&0 \\ 0&1 \end{array}} \right) Pauli-X门 X \left( {\begin{array}{*{20}{c}} 0&1 \\ 1&0 \end{array}} \right) Pauli-Y门 Y \left( {\begin{array}{*{20}{c}} 0&{ - {\text{i}}} \\ {\text{i}}&0 \end{array}} \right) Pauli-Z门 Z \left( {\begin{array}{*{20}{c}} 1&0 \\ 0&{ - 1} \end{array}} \right) Hadmard门 H \dfrac{{\sqrt 2 }}{2}\left( {\begin{array}{*{20}{c}} 1&1 \\ 1&{ - 1} \end{array}} \right) Phase门 S \left( {\begin{array}{*{20}{c}} 1&0 \\ 0&{\text{i}} \end{array}} \right) 交换门 SWAP \left( {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&0&1&0 \\ 0&1&0&0 \\ 0&0&0&1 \end{array}} \right) 受控非门 CNOT,CX \left( {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&0&1 \\ 0&0&1&0 \end{array}} \right) 受控Y门 CY \left( {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&0&{ - {\text{i}}} \\ 0&0&{\text{i}}&0 \end{array}} \right) 受控Z门 CZ \left( {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&1&0 \\ 0&0&0&{ - 1} \end{array}} \right) Toffoli门 Toffoli,CCNOT \left( {\begin{array}{*{20}{c}} 1&0&0&0&0&0&0&0 \\ 0&1&0&0&0&0&0&0 \\ 0&0&1&0&0&0&0&0 \\ 0&0&0&1&0&0&0&0 \\ 0&0&0&0&1&0&0&0 \\ 0&0&0&0&0&1&0&0 \\ 0&0&0&0&0&0&0&1 \\ 0&0&0&1&0&0&1&0 \end{array}} \right) Fredkin门 Fredkin,CSWAP \left( {\begin{array}{*{20}{c}} 1&0&0&0&0&0&0&0 \\ 0&1&0&0&0&0&0&0 \\ 0&0&1&0&0&0&0&0 \\ 0&0&0&1&0&0&0&0 \\ 0&0&0&0&1&0&0&0 \\ 0&0&0&0&0&0&1&0 \\ 0&0&0&0&0&1&0&0 \\ 0&0&0&1&0&0&0&1 \end{array}} \right) 1.2.2 含参量子逻辑门
变分量子电路与第1代量子电路的不同之处在于其使用了参数化量子电路,参数化量子电路的门具有可训练的参数,这些门被称为旋转门或可调门. 其中最重要的门主要包括RX,RY,RZ. 相对于固定门中的Pauli-X,Pauli-Y,Pauli-Z,这3个可调门可操作量子比特沿对应轴逆时针旋转,该门中可训练的参数 \theta ,并非 {\text{π }} 旋转门可通过固定门组合构成,其矩阵表示如下:
\begin{split} {{\boldsymbol R}_{\boldsymbol X}}(\theta ) =\;& \cos \left(\dfrac{1}{2}{\theta }\right){\boldsymbol I} - {\rm i}\sin \left(\dfrac{1}{2}{\theta }\right){\boldsymbol X} = \\ &\left( {\begin{array}{*{20}{c}} {\cos \left(\dfrac{1}{2}{\theta }\right)}&{ - {\rm i}\sin \left(\dfrac{1}{2}{\theta }\right)} \\ { - {\rm i}\sin \left(\dfrac{1}{2}{\theta }\right)}&{\cos \left(\dfrac{1}{2}{\theta }\right)} \end{array}} \right) \text{,} \end{split} (5) \begin{split} {{\boldsymbol R}_{\boldsymbol Y}}(\theta ) =\;& \cos \left(\dfrac{1}{2}{\theta }\right){\boldsymbol I} - {\text{\rm i}}\sin \left(\dfrac{1}{2}{\theta }\right){\boldsymbol Y} = \\ &\left( {\begin{array}{*{20}{c}} {\cos \left(\dfrac{1}{2}{\theta }\right)}&{ - \sin \left(\dfrac{1}{2}{\theta }\right)} \\ {\sin \left(\dfrac{1}{2}{\theta }\right)}&{\cos \left(\dfrac{1}{2}{\theta }\right)} \end{array}} \right) \text{,} \end{split} (6) {{\boldsymbol R}_{\boldsymbol Z}}(\theta ) = \cos \left(\dfrac{1}{2}{\theta }\right){\boldsymbol I} - {\text{\rm i}}\sin \left(\dfrac{1}{2}{\theta }\right){\boldsymbol Z} = \left( {\begin{array}{*{20}{c}} {{{\text{e}}^{ - \tfrac{1}{2}{{{\rm i}\theta }}}}}&0 \\ 0&{{{\rm e}^{\tfrac{1}{2}{{{\rm i}\theta }}}}} \end{array}} \right) . (7) 在模型中旋转门通常以组合的方式出现,而任意作用于单量子比特的酉变换都可以被分解为绕任意2个相互垂直的轴进行旋转,例如可以分解为绕Y轴和Z轴旋转: {\boldsymbol R}(\alpha ,\beta ,\gamma ) = {{\boldsymbol R}_{\boldsymbol Z}}(\gamma ){{\boldsymbol R}_{\boldsymbol Y}}(\beta ){{\boldsymbol R}_{\boldsymbol Z}}(\alpha ) ,其中 {\boldsymbol{\omega }} = (\alpha ,\beta ,\gamma ) 这组参数是可学习的.
2. 变分量子算法
变分量子算法作为混合量子-经典算法,核心是使用经典优化算法训练参数化量子电路. Bang等人[21]描述了一种由经典计算机控制量子器件实现的统一操作的方法. 变分量子算法所提供框架能够用于解决各种量子机器学习问题. 算法流程如图1所示.
1)根据希望解决的任务设计损失函数,使用一组参数化量子电路作为模型并对其参数初始化;
2)将经典数据进行预处理后编码到量子态上,若使用量子数据作为输入则仅需预处理,无需编码;
3)利用参数化量子电路进行损失函数的计算;
4)通过量子测量操作使量子叠加态波包塌缩为经典态,经过后处理得到经典数据;
5)使用经典优化算法更新参数和优化模型,回到3),直到经过多次迭代后收敛,得到一组在损失函数上最优的模型参数.
可以将变分量子算法与深度学习算法类比,将参数化量子电路类比于神经网络,参数化量子电路中旋转门能够变化的相位即为其可训练参数,多个相位参数构成模型参数. 使用经典优化器对模型进行训练,更新这些相位参数. 基于变分量子电路的算法在机器学习任务上良好的表现得益于其与神经网络结构上的相似性.
变分量子算法的3个核心部分分别是损失函数、参数化量子电路以及经典优化器. 下面围绕3个核心部分展开介绍.
2.1 损失函数
损失函数根据所需解决的机器学习任务进行设计,用于描述解决的问题,损失函数的设计直接影响算法的性能. 损失函数一般通过量子电路的测量期望值表示:
C({\boldsymbol \theta }) = \sum\limits_k^{} {{f_k}} ({\text{tr}}[{{\boldsymbol O}_k}{\boldsymbol U}({\boldsymbol \theta }){{\boldsymbol \rho }_k}{{\boldsymbol U}^\dagger }({\boldsymbol \theta })]) \text{,} (8) 其中 {{\boldsymbol \rho }_k} 表示训练集中的一组输入量子态, {\boldsymbol U}({\boldsymbol \theta }) 表示含参的酉变换,是参数化量子电路对输入量子态的操控, {{\boldsymbol O}_k} 表示一组易测量的可观察值, {f_k} 表示编码函数.
Cerezo等人[22]提出损失函数必须满足3个条件:
1)损失函数最小值对应问题的解,并且较小损失函数值对应着较好的解;
2)损失函数的计算必须通过量子计算机的测量以及经典的后处理得到,否则不具有量子优势;
3)损失函数的参数必须是可训练的.
保真度用于度量量子系统中2个量子态之间的相似程度,保真度越高表示2个量子态之间的相似程度越高. 在量子机器学习任务中,通常基于量子态之间的保真度设计损失函数,具体量子态则需要结合具体任务需要和电路设计进行选择.
2.2 参数化量子电路
在用于构造机器学习模型的参数化量子电路中,一般的框架如图2所示.
首先从数据集中获得数据向量,对其进行经典预处理,得到用于编码的向量 \phi ({\boldsymbol x}) 上,它决定了编码电路的参数. 对于经过编码后的量子态数据,使用参数化量子电路作为模型进行运算,该部分被称为拟设电路(Ansatz),在设计机器学习模型时重点考虑Ansatz的结构. 最后测量各个观察量的期望值,经典后处理的功能是对之前设计的损失函数进行相应的构造. 其中预处理、后处理都是可以被训练的.
2.2.1 编 码
对于经典数据,编码电路可以看作是一个非线性特征映射 F ,它将经典数据x映射到具有n位量子比特的量子态上,数学上表示为将数据向量映射到高维希尔伯特空间. 而该特征映射可以通过参数化量子电路实现,经典数据决定其参数,如式(9)所示.
\left| {\psi ({\boldsymbol x})} \right\rangle = F(\phi ({\boldsymbol x})){\left| 0 \right\rangle ^{ \otimes n}} \text{,} (9) 其中 \left| {\psi ({\boldsymbol x})} \right\rangle 表示编码到n位量子比特上的初态,作为电路模型的输入态. \phi ({\boldsymbol x}) 是预处理函数, F({\boldsymbol x}) 是编码函数. 已经提出了一些复杂的特征映射[23-24],多种编码方式[25]包括概率幅编码[26]、量子抽样编码[26-27]、哈密顿量编码[28]等已被提出.
2.2.2 拟设电路
Ansatz设计目的是在控制参数数量和深度的前提下,设计量子门组合结构使电路变换尽可能地近似目标函数.
Ansatz的选择极大程度影响着变分量子算法的收敛速度、最终解与最优解的近似程度等性能,同时电路深度所带来的噪声影响、门的构建成本等问题也对Ansatz造成一定的限制. 目前Ansatz主要分为2种:硬件高效电路和问题启发电路. 量子机器学习研究以使用硬件高效电路为主.
1)硬件高效电路. 这种电路最初由Kandala等人[29]提出,目的是在量子位较少等硬件设备限制的情况下尽可能地高效完成任务. 硬件高效电路交替使用纠缠门和单量子旋转层,具有损失函数不依赖于所解决的问题、在硬件上对纠缠的保真度要求不高、使用的门在电路上较好实现等特点. 图3中所示的交错分层形式的电路一般称为多层参数化量子线路(multiple parameterized quantum circuit,MPQC).
Ansatz是一个作用于输入n位量子比特上的参数化酉变换:
\left| {\psi ({\boldsymbol \theta })} \right\rangle = {\boldsymbol U}({\boldsymbol \theta })\left| {{\psi _0}} \right\rangle \text{,} (10) 其中 \left| {{\psi _0}} \right\rangle 为输入的量子态, \left| {\psi ({\boldsymbol \theta })} \right\rangle 为参数化量子电路输出的量子态. 该酉变换可以由多个酉变的乘积构成:
{\boldsymbol U}({\boldsymbol \theta }) = {{\boldsymbol U}_1}({{\boldsymbol \theta }_1}){{\boldsymbol U}_2}({{\boldsymbol \theta }_2}) …{\boldsymbol U}_L({{\boldsymbol \theta }_L})\text{,} (11) 其中L称为该参数化量子电路的层数或深度. 每个酉变由多个基本量子门和含参量子门组成. 如图3所示.
还有一些Ansatz结合张量网络进行设计,能够有效地表示高维空间中的数据,矩阵乘积态(matrix product state,MPS)[30-31]、树型张量网络(tree tensor network,TTN)[10,32-33]、多尺度纠缠重整化Ansatz(multiscale entanglement renormalization Ansatz,MERA)[10,32]、量子卷积神经网络(QCNN)[11]、影子电路[34]等模型的量子版本已经被广泛地应用于分类和生成模型之中.
2)问题启发电路. 这种电路的设计对具体问题进行特定的设计,最著名的包括用于求解化学基态的UCC Ansatz[20],ADAPT-VQE[35]等.
一般情况下,量子硬件设备产生的噪声影响会随着量子电路的深度增加而逐渐增大,变分量子电路的优势在于在保持良好精度的前提下,能够使用较浅的电路完成相应任务,具有应用于NISQ设备的理想条件. 需要注意的是,在设计电路时,可训练的参数不能过多也不能过少,以避免出现过拟合和偏差过大的情况. 如何在保持较浅的深度下设计能够有效完成任务的模型是目前变分量子算法设计的关键.
2.3 优化算法
在变分量子算法中,优化部分是使用经典计算机完成的,许多经典优化算法都可以用于该部分. 优化过程的收敛速度是决定算法整体性能的重要因素之一,对于大规模数据训练过程,经典优化部分容易成为限制算法的瓶颈,加上量子硬件的限制,其产生的噪声也会对优化算法产生一定的影响,因此如何选择和设计优化算法是一项非常重要的研究. Bittel等人[36]证明了训练参数化量子电路是一个NP-Hard问题,即使用经典计算机进行优化是NP-Hard的,经典优化部分对变分量子算法造成的限制使得其更需要寻找性能更好的优化方法.
优化算法根据通用与否分为2类. 部分经典优化算法可以用于训练大多数参数化量子电路,部分优化算法针对特定电路结构设计,能够在特定的量子机器学习任务上获得优势. 表3对经典优化算法及量子机器学习模型使用偏好进行了统计与对比.
表 3 经典优化算法及模型使用偏好Table 3. Classical Optimization Algorithms and Usage Preference of Models经典优化器 基于梯度 有监督模型 无监督模型 半监督模型 强化学习模型 电路结构搜索 Adam[37] 是 TTNs[10,32-33]
QCCNN[38-39]
VSQL[34]QCBM[31,40-42],
QBM[14]
QAE[15,43]QGAN[19,44-50] QDQN[16,51]
QActor-critic[52]
QMARL[53-54]QuantumNAS[12]
QAS[55]
MQNE[56](mini-batch)SGD[57] 是 HNN[58] QGAN[59] QDDQN[60] AMSGRAD[61] 是 QGAN[50,62] BFGS/L-BFGS-B[63-64] 是 QCBM[40]
QAE[65-66]Nesterov moment[67] 是 QCNN[39] RMSProp[68] 是 MPS-VQC[30] VQ-DQN[69] 基于梯度优化的其他模型 是 QCNN[11,70-71] QCBM[41]
QBM[72]QGAN[73-74] PSO[75] 否 QCBM[13,76] SPSA[77] 否 QGAN[62] CRLQAS[78] CMA-ES[79] 否 QCBM[40,80] GA[81] 否 QCBM[82]
QAE[83]2.3.1 经典优化算法
一般情况下,可以根据优化算法是否使用了梯度下降的方法将算法分为2类,即基于梯度的优化算法和基于非梯度的优化算法.
参数平移法是用于计算变分量子电路测量期望值对Ansatz各参数的梯度的方法,通过2个参数发生偏移的相似的量子电路来获得梯度,Mitarai等人[84]将这种求解梯度的方法引入到了机器学习领域中的有监督学习任务之中. 损失函数 C({{\boldsymbol \theta }}) 对参数 {\theta _i} 的梯度可以表示为
\frac{{\partial C}}{{\partial {\theta _i}}} = C\left({\theta _i} + \frac{\pi }{4}\right) - C\left({\theta _i} - \frac{\pi }{4}\right) . (12) 对参数的梯度值的估计可以通过同一电路不同参数的运算结果进行计算,不需要额外的量子比特和量子电路,适合在NISQ计算机上使用. 参数平移法对于每个可学习的参数进行梯度计算都需要计算2次损失函数,并且每次计算参数梯度都要调整电路,存在参数量过大以及电路深度增加时,计算和调整次数过多、运行时间过长的缺陷. He[85]提出了一种仅使用1个量子电路计算梯度的方法,能够有效地减小电路深度和缩短编译时间.
Li等人[86]提出了一种对参数化量子电路求解偏导数的解析方法,能够通过厄米算子的期望值直接得到损失函数的梯度. 这使得基于梯度下降的经典优化算法可以被用于变分量子算法的优化部分,经典机器学习任务中常用的Adam优化等[37]同样在量子机器学习中被广泛使用.
如表3所示,大部分变分量子算法偏好采用Adam作为优化器. Adam算法是一种在经典机器学习中极为常用的优化器,是一种将动量法和RMSProp[68]相结合的自适应学习率优化算法,综合考虑了梯度一阶矩估计与二阶矩估计,每次迭代中通过梯度的指数加权平均 {m_t} 与梯度平方的指数加权平均 {s_t} 进行参数更新,首先计算 {m_t} 和 {s_t} :
\begin{aligned} & {m_t} = {\beta _1}{m_{t - 1}} + (1 - {\beta _1}){g_t} \text{,}\\ &{s_t} = {\beta _2}{s_{t - 1}} + (1 - {\beta _2})g_t^2 \text{,} \end{aligned} (13) 其中 {g_t} 表示第t步迭代的梯度, {\beta _1} , {\beta _2} 是2个取值为(0, 1)范围内的衰减率超参数. {m_0} , {s_0} 初始化为 0,迭代初始化为0会导致偏差较大,需要进行偏差修正:
\begin{aligned} &{\hat m_t} = \frac{{{m_t}}}{{1 - \beta _1^t}} \text{,}\\ &{\hat s_t} = \frac{{{s_t}}}{{1 - \beta _2^t}} . \end{aligned} (14) 最后进行参数更新:
{\theta _t} = {\theta _{t - 1}} - \frac{\alpha }{{\sqrt {{{\hat s}_t}} + \varepsilon }}{\hat m_t} \text{,} (15) \alpha 为学习率相关超参数,算法建议取α=0.001, \varepsilon 是1个大于0的实数,一般 \varepsilon= {10^{ - 8}} .
除了Adam算法,随机梯度下降(SGD)[57]、Adam算法改进版 AMSGRAD[61]、拟牛顿法(包括BFGS,L-BFGS,L-BFGS-B等[63-64])、Nesterov动量算法[67]也可以作为经典优化器.
对于一些参数化量子电路,使用基于梯度下降的优化算法会面临很多问题. 例如在有噪声的实验环境中损失函数不光滑,不适合使用基于梯度下降的优化算法;还有可能损失函数的某些部分是无法确定的,无法计算梯度,同样无法使用基于梯度下降的优化算法. 对于这些情况,可以使用非梯度优化方法.
SPSA算法采用估计目标函数梯度的方法得到近似最优解. 每次使用2个目标函数估计值近似梯度,梯度的运算与优化参数的维度无关,从而极大程度上减少了对目标函数梯度的计算量. 对于计算梯度复杂度较高的变分量子电路,SPSA是变分量子算法的一种有效优化算法,具有更快的收敛速度.
除此之外,粒子群算法(PSO)[75]、协方差矩阵自适应进化策略(CMA-ES)[79]、遗传算法(GA)[81]等无梯度优化算法也可以作为经典优化器.
2.3.2 针对性优化算法
由于参数化量子电路的特殊性,可以针对参数化量子电路模型的结构设计合适的优化算法.
对于损失函数是关于算子期望值的函数问题,Nakanishi等人[87]提出了量子序列最小优化方法. 利用参数化量子电路的特征结构,通过将损失函数分解为三角函数的和并将函数与一组参数进行匹配,损失函数每次迭代选择一组参数进行优化,直接将选定的参数更新至最优,在所有参数上顺序执行这种局部更新,在所有参数上进行迭代,直至收敛. 这种方法对统计误差具有更强的鲁棒性,收敛速度快,在给定参数序列的条件下无需超参数等特点. 对于这种方法,Parrish等人[88]提出通过Anderson加速算法来加速收敛.
Grimsley等人[35]提出一种迭代地添加参数化量子门的方法来优化电路的结构,并在电路结构变化后使用梯度下降的优化算法重新优化电路,这种方法在VQE中比传统梯度下降法性能提升更大,在量子机器学习任务中也可能通过类似的方法提高算法的性能. Ostaszewski等人[89]提出一种同时优化参数化量子电路的结构和损失函数的优化算法,这种优化算法同样可能被迁移到量子机器学习任务中.
2.4 复杂度
量子计算在计算复杂度上展现出相对经典算法更大的优势,最著名的是Shor[90]的算法,能够在多项式时间内解决大数质因子分解问题. 衡量量子算法相对于经典算法的优势一般从5个复杂度进行探讨:查询复杂度、交互计算复杂度、时间复杂度、样本复杂度、电路复杂度. 目前对于量子核方法的复杂度研究比较深入[91],而对于量子神经网络的复杂度研究尚浅,有研究表明,预测性能与参数量紧密相关,用少量数据训练就可能获得较好的泛化性[92]. 在量子机器学习领域,我们一般更关注量子算法的查询复杂性、时间复杂性、样本复杂性以及电路复杂性. 而对于基于变分量子电路的模型,我们更关注时间复杂性与电路复杂性.
时间复杂度关注于在计算过程中的时间开销. Shor[90]的算法是在时间复杂性上展现出优势的最佳示例,而量子计算相对于经典计算优势的严格证明尚未出现,这与著名计算复杂性问题“P=NP”相关. 对经典数据上的机器学习任务,目前尚未出现已知的指数级量子优势[93],但设计出多项式级优势的量子算法是比较有希望的. 而对于量子数据在时间复杂度上的优势比较明显,原因是用经典方法去模拟量子过程是比较困难的. 然而,数据的可用性也会使经典机器学习算法的计算能力得到提高,例如对于几何区域哈密顿量的基态性质预测任务,最坏情况下不存在指数级的量子优势[94].
样本复杂度经常与时间复杂度共同讨论,指数级的样本复杂度往往意味着指数级的时间复杂度,而反过来却不一定. 在某些场景下使用量子存储器或量子计算机存取或处理量子信息时,存在可以被严格证明的指数级样本复杂度,即不存在可以使其不存在指数级优势的改进版经典算法[95-96].
变分量子电路更注重电路复杂性,一般情况下指的是量子门复杂度,即完成任务所需要的最少量子门的个数. 能体现出较明显优势的是Wei等人[71]提出的量子卷积神经网络,在分类任务中保持准确率的前提下对经典卷积神经网络在门复杂度上获得了指数级的加速,同时也减少了所需的参数量. 此外也存在电路深度复杂性的概念,关注完成任务所需的电路层数. 电路深度复杂性上的量子优势有实验证明:Bravyi等人[97]提出一种二次型计算问题,能够使用常数级的量子电路解决,而不能使用常数级经典电路解决. 对于变分量子电路,为了缓解噪声的影响,寻找能够完成任务的最浅电路是重要的研究方向之一,这也是电路结构搜索算法出现的需求之一.
3. 数据集及模拟实验简介
3.1 数据集介绍
在量子机器学习实验中,使用经典数据集比较多,使用量子数据集较少,当前设计易制备的量子数据集是一个重要的任务. 下面对几个常见的量子机器学习中用到的数据集进行介绍.
对于分类任务,经典数据集中最常用的是MNIST数据集,常常被用于二分类和多分类任务. 该数据集由55 000个训练样本构成,每个样本是28×28像素的手写数字图像,其标签分别为0~9中的其中之一. 一般要对数据集进行降维和下采样处理[98]或是扩展处理[71],从而满足电路的输入需求. 许多经典数据集都被用于模拟实验或真实量子实验,例如Iris数据集、Fashion-MNIST数据集、Tetri数据集、CIFAR10数据集、Cancer数据集等. 量子态分类(quantum state discrimination,QSD) 任务[99-100]是一个基本问题,能够对量子态尤其是含噪声量子态进行分类的量子分类器才拥有应用NISQ设备的可能. 一般情况下,模型的量子态分类测试使用有限个互不正交的量子态[24,34,56].
对于生成模型,经典任务集中于对概率分布的学习,包括单峰分布、多峰分布、金融数据分布等. 数据集以使用MNIST数据集和BAS(bars-and-stripes)数据集为主. 对于量子数据的学习同样不存在完善统一的数据集,多是对于某量子态进行学习,制备与目标量子态尽可能相似的量子态. 文献[73]分别学习了具有1,2,4,8个量子比特的纯量子态和1,2,3个量子比特的混合态. 文献[101]学习了量子分布,即测量量子态的结果所构成的分布,这类似于学习影响一个量子态的参数,通过固定参数的酉门制备和采样量子态数据,这在其提出的 CVBM 模型中实际学习了制备量子态的酉门的参数,该文献中所使用的参数化量子态由文献[102]提出. 在文献[56]中则使用受对称性保护的拓扑相(symmetry protected topological,SPT)完成分类任务. 相对而言,量子数据集学习困难程度由低到高为纯量子态、由量子电路制备的混合量子态、具有复杂结构的物质拓扑相,同时也随量子比特数量增加而增大. 电路制备的纯量子态和混合量子态数据一般用于生成模型[101-102],而拓扑相数据一般用于量子态分类器和电路结构搜索算法评估[56].
对于强化学习模型,一般都是在经典环境中进行交互,OpenAI Gym中的环境基本都可以用于量子强化学习算法的测试. 最常用的2个环境分别是冰湖(frozen-lake)和倒立摆(cart pole),这些环境比较简单,其优势在于易于使用小量子比特的电路实现算法,适合在量子模拟平台上进行模拟测试.
表4中统计与对比了量子机器学习任务常用数据集.
表 4 量子机器学习任务常用数据集Table 4. Frequently Used Datasets of Quantum Machine Learning Tasks任务 数据集/交互环境 有监督学习 MNIST[10,30,32-33,38,70-71,98]、Iris [10,32,58]、BAS[58]、量子数据[32] 无监督学习 MNIST[103]、BAS[13,15,31,40,42,72,76]、金融数据[41,80]、药物数据QM9[43]、生成概率分布[15,40,82,101]、量子数据[101] 半监督学习 MNIST[19,49-59]、BAS[19,44-45]、QM9[47,104]、生成概率分布数据[46,62]、量子数据[73] 电路结构搜索 MNIST[12,55-56]、量子数据[56] 强化学习 frozen-lake[69,105],cart pole[16,51-52,105-106] 3.2 模拟实验介绍
在量子机器学习中,由于NISQ量子计算机数量较少,同时又具有可操控量子比特数少和噪声随电路深度增加等特点,当前提出的多数基于变分量子电路实现的量子机器学习算法都是在模拟平台上完成的仿真实验. 模拟平台使用经典计算机模拟量子算法的结果. 表5对一些常见的模拟平台进行了总结.
表 5 常用模拟平台及模型Table 5. Frequently Used Simulators and Models模拟平台 机构 模型 语言 Qiskit IBM HNN[58],QGAN[50],QBM[72] Python TFQ Google TTNs[32],MERAs[32],VQTN[10],QCNN[70],QGAN[107],QRL[51] Python Pennylane Xanadu QTN[33],QCNN[39],QCBM[31],QGAN[47],QVAE[43],
VQ−DQN[69],QRL[52],QAS[108]Python Torchquantum MIT QuantumNAS[12],QAE[15],QMARL[53] Python Yao QuantumBFS MQNE[56],QCBM[40],QGAN[44] Julia Paddle Quantum 百度 QCL[84],VSQL[34],QAE[65],QGAN[74] Python VQNet 本源量子 VQM[109],QCNN[11,110],VSQL[34],QAE[65],QGAN[50],VQ-DQN[69] C++ 4. 量子机器学习应用
基于变分量子电路的量子机器学习算法适用于NISQ设备,当前一般被用于完成以下机器学习任务:对于有监督学习任务,研究一般关注分类任务,以及以多种拟设结构为主体的分类模型;对于无监督学习任务,研究一般关注生成模型,包括量子玻恩机、量子玻尔兹曼机、量子自编码器;对于半监督学习任务,研究关注量子生成对抗网络;部分强化学习模型. 一些用于寻找最优拟设结构的量子神经架构搜索算法也被提出. 图4按时间顺序对各类基于变分量子电路的量子机器学习算法进行了整理汇总.
4.1 有监督学习
在经典机器学习中,有监督学习以分类和回归任务为主. 在量子机器学习领域,有监督学习任务中以解决分类任务为主,因此多种不同结构的量子分类器已经被设计出来.
分类问题可以描述为:给定训练数据 D =\{ {x_i}, {y_i}\} _{i = 1}^N = \{ X,Y\} ,其中N是样本数量, {x_i} 是训练数据样本, {y_i} 是与之对应的样本标签. 分类任务的目的是训练一个分类器,使其对样本的类别预测尽可能与样本标签接近,一般用如下损失函数表示:
{{\boldsymbol \theta }^*} = \mathop {\arg \min }\limits_{\boldsymbol \theta } \frac{1}{N}\sum\limits_{i = 1}^N L (f({x_i},{\boldsymbol \theta }),{y_i}) + R({\boldsymbol \theta }) , (16) 其中 f 是从X到Y的映射函数, {{\boldsymbol \theta }} 是可训练的参数, L 是对预测误差的度量函数, R 是正则化函数. 在优化过程中不断更新 {{\boldsymbol \theta }} ,找到使损失函数最小的参数值,此时达到理论上的最优分类情况.
表6对各分类任务上基于变分量子电路的机器学习算法及其性能进行了总结与对比.
表 6 分类任务上基于变分量子电路的机器学习算法Table 6. Machine Learning Algorithms Based on Variational Quantum Circuits For Classification Tasks模型 数据集 任务 环境 量子位 参数量 准确率/% 训练集 测试集 VQM[98] MNIST 二分类 模拟 17 136 90 TTN[32] Iris 二分类 模拟 4 7 98.92 TTN[32] MNIST 二分类 模拟 8 7 97.63 MERA[32] MNIST 二分类 模拟 8 11 98.86 Hybrid[32](TTN 预训练过的 MERA) MNIST 二分类 模拟 8 11 98.46 TTN[32] 合成量子数据集 二分类 模拟 8 7 60.45 PCA-VQC[30] MNIST 二分类 模拟 4 12 87.29 87.34 MPS-VQC[30] MNIST 二分类 模拟 4 12 99.91 99.44 QTN-VQC[33] MNIST 二分类 模拟 8 328 91.43 QTN-VQC[33] MNIST 二分类 模拟 12 4464 92.36 QTN-VQC[33] MNIST 二分类 模拟 16 600 92.28 VQTN[10] Iris 三分类 模拟 2 3 100 VQTN(TTN)[10] MNIST 二分类 模拟 8 12 97.80 VQTN(TTN)[10] MNIST 二分类 模拟 16 28 97.45 VQTN(MERA)[10] MNIST 二分类 模拟 8 18 97.92 VQTN[10] MNIST-4 四分类 模拟 82.19 QCNN[70] MNIST 十分类 模拟 4 6 95 Noisy QCNN[71] MNIST 二分类 模拟 14 46 94.8 96.0 Noisy QCNN[71] MNIST 十分类 模拟 14 379 74.2 74.0 Noisy-free QCNN[71] MNIST 二分类 模拟 14 46 95.4 96.3 Noisy-free QCNN[71] MNIST 十分类 模拟 14 379 75.6 74.3 QCCNN[38] Tetri 二分类 模拟 4 16 ≈100 QCCNN[38] Tetri 四分类 模拟 4 16 ≈100 QMLP[111] MNIST 十分类 模拟 16 128 75 QMLP[111](比特翻转) MNIST 十分类 模拟 16 128 63 QMLP[111](相位翻转) MNIST 十分类 模拟 16 128 67 VSQL[34] MNIST 二分类 模拟 2 35 99.52 VSQL[34] MNIST( 1000 个样本)十分类 模拟 9 928 87.39 VSQL[34] 含噪量子态 二分类 模拟 2 100 VSQL[34] 不含噪量子态 三分类 模拟 2 100 HNN[58] BAS 二分类 模拟 10 20 100 HNN[58] BAS 二分类 量子 10 20 33.33 HNN[58] Iris 三分类 模拟 10 20 89.88 91.5 HNN[58] Iris 三分类 量子 10 20 28.12 37.5 注:数据取相应论文给出的最优模型数据,使用相同数据集相同任务之间仍存在差异,例如 MNIST 数据集二分类任务可以为2个数字的分类、是否为偶数的分类、是否大于4 的分类等,并非完全一致. 模拟环境是指使用经典计算机模拟,量子环境是指使用量子计算机上运行相应算法. 4.1.1 变分量子分类器
使用变分量子电路作为主体直接完成分类任务的分类器一般被称为变分量子模型(VQM). 分类任务的损失函数一般定义为数据真实标签与一个易于测量的可观察量的期望值之间的距离,观察值一般使用厄米哈密顿量来计算:
L = \sum\limits_i^{} {{{(\left\langle {{\psi _i}} \right|{{\boldsymbol U}^\dagger }{\boldsymbol {HU}}\left| {{\psi _i}} \right\rangle - {y_i})}^2}} . (17) 其中H为系统的厄米哈密顿量矩阵, \left\langle {{\psi _i}} \right| 和 \left| {{\psi _i}} \right\rangle 表示经过编码后的量子态数据,U表示变分电路进行的酉变换. 将编码电路和变分电路的变换代入式(17)得到整体损失函数:
C({\boldsymbol \theta }) = \sum\limits_i^{} {(\left\langle {{\psi _0}} \right|{{\boldsymbol V}^\dagger }({x_i}){{\boldsymbol U}^\dagger }(} {\boldsymbol \theta }){\boldsymbol {HU}}({\boldsymbol \theta }){\boldsymbol V}({x_i})\left| {{\psi _0}} \right\rangle - {y_i}{)^2} . (18) 编码电路和量子分类器使用的参数化量子电路的结构都具有多种形式,对于不同的分类任务和不同类型的数据,选择合适的编码电路和量子分类器能够有效地提高算法的性能.
最初Farhi等人[98]设计了一个能够对二进制串进行二分类的分类器,只使用单位门和非门就完成了分类任务. 在这个基础上引入了含参量子门,在MNIST数据集上完成了二分类任务. 同时在简单构建的量子态数据集上进行了实验,准确率达到了97%. 基于这种框架发展出的分类器被称作量子电路学习(quantum circuit learning,QCL)[84].
在近期对量子分类器的研究中,由于NISQ设备可供使用的量子比特较少,因此在编码前需要对输入数据进行降维. 一般采用特征提取器和变分量子电路相结合的方式,特征提取器从输入数据中提取特征并产生低维特征向量,将其输入到变分量子电路中进行分类. 主成分分析是一种经典降维算法,将其作为变分量子电路预处理的方法(PCA-VQC)[30]可以作为变分量子分类器的基线. 结合不同的降维算法的变分量子电路分类器将提高量子分类算法性能作为一个主要研究方向,一般通过经典降维算法进行预处理和经典神经网络作为后处理完成分类任务,如图5所示.
Grant等人[32]提出了量子TTN分类器和MERA分类器. TTN分类器的量子电路结构采用最近邻双量子比特酉门,每次输出取1个量子比特,故下层量子比特数减半. 反复进行如上酉变换和丢弃操作直到仅剩1个量子比特,测量单量子比特算子M的期望值,经过后处理得到最终分类结果. MERA结构同TTN类似,在每层中原有的每2个酉门之间添加1个双量子比特酉门,这些额外添加的酉门有助于在特定尺度上获取量子关联. 如图6所示,8量子比特TTN结构和MERA结构. 通过适当的策略能够在多个1维、2维数据集上得到较好的效果,后续以这2种张量网络结构的量子电路为主体发展出多种变分量子分类器.
Chen等人[30,112]提出了基于张量网络和变分量子电路的模型(TN-VQC),使用张量网络进行特征提取,允许端到端的训练. 在MNIST数据集上完成的二分类任务主要依靠矩阵乘积态作为特征提取器,实验表明MPS-VQC方案远超PCA-VQC方案.
Qi等人[33]设计了一种用于量子嵌入的张量积编码(TPE),与TTN结合作为量子张量网络(QTN)进行量子嵌入,提出了QTN-VQC模型,在MNIST数据集上性能有所提升.
Huang等人[10]提出了VQTN算法,使用核编码方案,TTN和MERA作为电路主体,在对变分量子电路模型输出态测量后加入一个经典神经网络结构用于提取隐藏特征,在VQTN中经典优化器更新的参数包括变分量子电路的参数和经典神经网络的参数. VQTN在Iris数据集上和MNIST数据集上相对QTN算法有所提升. 同时,VQTN使用的参数量和量子位以及算法空间复杂度均有所减少.
除了量子电路学习框架外,Schuld等人[109]提出一种具有新结构的中心电路量子分类器(circuit-centric quantum classifier),其可学习的参数量与输入维度多对数相关,即 \mathcal{O}(poly({\rm lb} n)) . 该方法实现了量子随机失活(Dropout),并且提出了一种混合量子-经典梯度下降的方式训练模型. 在MNIST,Cancer等多个数据集上的结果均表现出对噪声鲁棒性良好.
在分类任务中,为了在没有训练过的数据样本上保持较高的分类精度,一般会在训练时引入正则项. Chen等人[30]提到VQC相当于对MPS提供了正则化,Schuld等人[109]提出的 Dropout也是一种正则化方法,如何在参数化量子电路构成的分类器中引入正则化技术,将是未来研究的方向之一.
4.1.2 量子卷积神经网络
变分量子电路被证明在模拟经典人工神经元上有着良好的前景,相比经典神经元具有更好的可表达性[22]. 因此,很多研究关注于使用变分量子电路模拟经典神经网络,得到具有量子优势的量子神经网络. 同时,将量子神经网络与经典神经网络相结合的方法也正在迅速发展,通过经典神经网络帮助量子神经网络解决一些实际应用中的问题,例如降噪等. 对于经典的神经网络,研究其量子版本是极为重要的方向. 与其他量子神经网络不同的是,Pesah等人[113]表明由 \mathcal{O}({\rm lb} n) 层组成构建的量子卷积神经网络(quantum convolutional neural network,QCNN)不会出现贫瘠高原[114]的现象,这一结果保证了量子卷积神经网络在随机初始化参数时的可训练性,这一特点使得量子卷积神经网络成为量子有监督学习的研究重点.
Cong等人[11]引入了QCNN,如图7所示. 使用量子电路模仿给定滤波器的卷积层,实现了量子版的卷积层、池化层与全连接层. 该模型仅有 \mathcal{O}({\rm lb} N) 个变分参数,其中N是量子比特数. 电路的输入是一个未知的量子态ρ,将单准局部酉元U应用在有限深度的电路上作为卷积层,通过测量部分量子比特,根据测量结果决定其附近量子比特的酉旋转V的方式实现池化,最后使用一个酉元F作为全连接层. 该QCNN的超参数与经典情况一样都是确定的. Oh等人[70]在MNIST上进行了实验,成功构建了QCNN并完成了分类任务.
Wei等人[71]提出一种不同结构的QCNN,实现了基于酉算子线性组合(LCU)构建的卷积层,通过舍弃部分量子比特的方式模拟池化层效果,全连接层通过测量一个参数化哈密顿量的期望值并使用一个非线性激活函数后处理实现,可以提供精确对应于特定经典卷积核的可实现变分量子线路. 该模型仅有 \mathcal{O}({({\rm lb} M)^6}) 的基本门复杂度,相对经典卷积神经网络 \mathcal{O}({M^2}) 的参数量,计算复杂度有指数级的降低,其中M是输入方阵的维度. 然而文献[11, 70−71]方法具有显著的缺点,QCNN属于不含任何经典结构的全量子神经网络,具有输入需要量子比特数较多的特点,而且需要量子随机存取器的辅助,只适用于特定类型的量子数据嵌入,不适合在NISQ计算机上实现.
Henderson等人[110]使用非参数随机量子电路进行特征映射,使用参数化量子电路构建的卷积层和经典池化层相结合共同提取特征图,这种方法被称为量子化卷积神经网络(quanvolutioanl nertual network). Liu等人[38]将其与QCNN结合提出了量子-经典卷积神经网络(quantum-classical convolutional neural network,QCCNN). 该方法需要的量子比特数只和特征图大小有关,只需要mn的量子比特数,其中m和n表示滤波窗口的形状,可以基于QCNN进行各种判别模型和生成模型的实现,QCNN的问题在于量子特征映射需要 \mathcal{O}(Nd) 次量子门运算,其中N,d分别表示量子比特数和电路层数,相比 \mathcal{O}(N) 次浮点数运算的CNN不具有优势.
Chen等人[16]提出了基于QCNN的盒子计数分形特征的二值图像分类方法, 构建的QCNN、混合QCNN、多量子层混合 QCNN 模型在乳腺癌数据上能够达到83%~88%的精确度,比经典卷积神经网络模型高了1~4个百分点.
4.1.3 影子量子电路
受到影子学习的启发,Li等人[34]提出了变分影子量子学习(variational shadow quantum learning,VSQL),4量子比特结构示意图如图8所示.
准备一个变分量子电路,每次作用于部分输入量子比特并对结果进行测量,即每次从希尔伯特空间的子空间上学习部分特征,每次测量后将所有门向下平移1个量子比特. 每次的测量结果被称为一个影子特征,将所有影子特征输入至经典神经网络进行后处理. 最后通过经典优化算法对变分量子电路和经典神经网络的参数进行调整.
变分影子电路在含噪量子态分类的实验上能够达到100%的准确率,鲁棒性较强. 由于每次获取的特征是局部特征,不易受拓扑连接限制. 仅使用1个变分量子电路来获取所有影子特征使得模型参数量减少. 变分影子电路还能够避免产生贫瘠高原问题. 以上优势使得变分影子电路适用于NISQ设备.
4.1.4 其 他
除此之外,还有一些值得关注的工作. Monteiro等人[115]提出二分类感知器的量子版本. Chu等人[111]提出了一种量子多层感知器,其结构具有容错编码且能够提供丰富的非线性运算. 相对于QuantumNAS[12]所寻找到的结构,精度提高10%,同时量子门数量减少2倍,参数量减少了3倍.
对于图卷积神经网络,其量子版QGCNN(quantum graph convolutional neural network)的实现中使用了变分量子电路提取特征,用于完成半监督分类任务[116]. Hur等人[39]提出了全参数化QCNN模型,只需要最近邻量子比特相互作用,在NISQ设备上实现所需的理想特征,同时对不同参数下的QCNN进行了基准测评.
Arthur[58]提出一种混合量子-经典神经网络架构HNN,使用变分量子电路作为神经元,如图9 所示.
对于m维的输入向量,采用n个变分量子分类器分别对其进行分类,每个电路输出经过测量得到一个标签,层间处理将结果堆叠为一个n维向量,再经过一个变换得到该隐藏层的输出,最后使用一个变分量子电路作为输出层. 共使用 n×l+1个变分量子电路,其中n为每个隐藏层神经元数目,l为隐藏层层数. 这种结构可以看作是一种特殊情况下的影子量子电路,每个变分量子电路作用于全部输入. 在仿真实验中,在二进制数据集上的精确度相对单个变分量子电路构建的量子分类器提高了8~11个百分点,在损失函数最优解上表现也更好,减小了20~40个百分点. 然而在使用量子硬件时,该神经网络和量子分类器的表现都较差,推测可能是因为硬件的限制,量子比特与量子门数量的增加对保真度造成了影响.
4.1.5 总 结
基于变分量子电路的有监督学习的研究将会围绕5个方面展开:
1)使用更复杂的特征映射和Ansatz构成的变分量子电路;
2)通过变分量子电路的组合,构造更复杂的网络结构;
3)将经典神经网络中的学习率等经典神经网络中的超参数以调优的训练方式引入;
4)探索固定任务下变分量子电路的最优结构并设计结构搜索算法;
5)将量子分类器与经典神经网络结合构建混合量子-经典结构.
4.2 无监督学习
在无监督学习任务中,变分量子算法主要围绕生成模型展开. 使用经典机器学习方法完成的生成模型已经被广泛应用到量子态近似、图像生成、药物设计、缺失文本推理等诸多任务之中. 生成模型的目标是学习给定数据中未知的概率分布p并进行建模,根据建模生成新数据样本 {q_{{\boldsymbol \theta }}} . 任务具体表示为
{{{\boldsymbol{\theta}} }^*} = \mathop {\arg \min }\limits_{\boldsymbol \theta } D(p,{q_{\boldsymbol \theta }}) \text{,} (19) 其中D表示对样本之间相似度的度量方式,度量结果越小说明相似度越高,我们希望能够找到使度量结果最小的生成样本.
当前量子机器学习数据集尚不完善,大多使用经典数据集而非量子数据集,因此需要将经典数据编码到量子态上,而精确制备一个n量子比特的量子态需要 \mathcal{O}({2^n}) 量子门,这会抵消量子算法所带来的量子加速优势. 无监督学习能够有效地将经典数据加载到量子态上,量子无监督学习模型已经成为一种有效的数据编码方法[15].
4.2.1 量子玻恩机
量子玻恩机(quantum circuit Born machine,QCBM)是基于波函数的概率解释的一种模型,其目的是生成与给定分布相同的分布,参数化量子电路被用来从概率分布中抽样,也称为数据驱动量子电路学习(data-driven quantum circuit learning,DDQCL)[13].
给定数据集D,存在数据概率分布 {P_D} . 参数化量子电路将初态 \left| 0 \right\rangle 演化为 \left| {{\psi _{\boldsymbol \theta }}} \right\rangle ,在计算基上测量得到生成数据,其概率分布为 {P_{\boldsymbol \theta }}({{\boldsymbol{x}}}) = {\left| {\left\langle {{{\boldsymbol{x}}}} \mathrel{\left | {\vphantom {{x} {{\psi _{\boldsymbol \theta }}}}} \right. } {{{\psi _{\boldsymbol \theta }}}} \right\rangle } \right|^2} . 生成模型的训练目标是使生成数据概率分布 {P_{\boldsymbol \theta }}({{\boldsymbol{x}}}) 与目标概率分布 P_D^{} 更接近,文献[13]中使用KL散度 {D_{{\text{KL}}}}\left[ {{P_D}|{P_{\boldsymbol \theta }}} \right] 作为距离度量:
{D_{{\text{KL}}}}[{P_D}|{P_{\boldsymbol \theta }}] = \sum\limits_{\boldsymbol x}^{} {{P_D}} ({{\boldsymbol{x}}})\ln \frac{{{P_D}({{\boldsymbol{x}}})}}{{{P_{\boldsymbol \theta }}({{\boldsymbol{x}}})}} . (20) 使用其负对数似然函数的变体定义损失函数:
C({{\boldsymbol{\theta}} }) = - \frac{1}{D}\sum\limits_{d = 1}^D {{{\ln }_{}}} (\max (\varepsilon ,{P_{\boldsymbol \theta }}({{{\boldsymbol{x}}}^{(d)}}))) . (21) 文献[13]采用PSO作为优化算法最小化KL散度. Zhu等人[76]在离子阱计算机上实现了QCBM,在BAS数据集上表现出对量子硬件噪声的鲁棒性. 同时对比了PSO和BO优化算法的效果,在KL散度、qBAS得分以及纠缠熵的评价指标上BO均体现出优势.
Liu等人[40]提出MMD损失函数,实现了一种可以使用基于梯度优化算法的QCBM.
\begin{split} \mathcal{L} =\;& {\left\| {\sum\limits_{\boldsymbol x} {{P_{\boldsymbol \theta }}} ({{\boldsymbol{x}}})\phi ({{\boldsymbol{x}}}) - \sum\limits_{\boldsymbol x} {{P_D}} \phi ({{\boldsymbol{x}}})} \right\|^2}=\\ & \mathop E\limits_{{\boldsymbol x} \sim {p_{\boldsymbol \theta }},{\boldsymbol y} \sim {p_{\boldsymbol \theta }}} [K({{\boldsymbol{x}}},{{\boldsymbol{y}}})] - 2\mathop E\limits_{{\boldsymbol x} \sim {p_{\boldsymbol \theta }},{\boldsymbol y} \sim {P_D}} [K({{\boldsymbol{x}}},{{\boldsymbol{y}}})]+\\ &\mathop E\limits_{{\boldsymbol x} \sim {P_D},{\boldsymbol y} \sim {P_D}} [K({{\boldsymbol{x}}},{{\boldsymbol{y}}})] , \end{split} (22) 其中 \phi ({{\boldsymbol{x}}}) 为编码映射函数,核函数 K({{\boldsymbol{x}}},{{\boldsymbol{y}}}) = \phi {({{\boldsymbol{x}}})^{\rm T} }\phi ({{\boldsymbol{y}}}) ,该文献使用高斯核 K({{\boldsymbol{x}}},{{\boldsymbol{y}}}) = {{\rm e} ^{ - \tfrac{{|{{\boldsymbol{x}}} - {{\boldsymbol{y}}}{|^2}}}{{2\sigma }}}} 来衡量2种分布在不同尺度下的差异. MMD是应用最多的损失函数,被广泛应用于各种模型[31,41,101]. 其中Gong等人[31]实现了基于MPS的QCBM,使用MMD损失函数进行训练,通过重置节点的方式在保持KL散度指标较低的同时减少了量子比特的使用.
Čepaitė等人[101]提出了基于连续变分量子计算的连续变分玻恩机(CVBM),能够学习量子和经典连续数据分布,同时对噪声鲁棒性较好.
Coyle等人[102]提出了量子伊辛玻恩机,将总变分距离作为损失函数,当其小于一定阈值时可以实现量子优势. 同时使用QCIBM和QAOA来学习瞬时量子多项式时间电路的输出分布[117].
QCBM主要应用在金融领域,可以用于学习金融数据分布与生成金融数据[41,80,82]. 将QCBM应用于真实金融数据的研究表明,这些量子模型具有不差于经典模型的性能. 作为一个简单的生成模型框架,QCBM也被用于对比不同优化算法性能[42,76].
4.2.2 量子玻尔兹曼机
量子玻尔兹曼机(quantum Boltzmann machine,QBM)通过一组相互作用的自旋量子对表示量子神经网络,其对应一个可调的Ising模型,可以用于生成学习和判别学习. 经典玻尔兹曼机最耗时的部分就是计算热平衡平均值的过程,量子玻尔兹曼机能够用于构造哈密顿量从而提高效率. 过去大多数研究以基于边界训练和基于状态的训练为主[118-119].
Zoufal等人[14]提出一种基于热场双重技术和变分量子虚时演化的方法VarQITE来学习离散概率分布,使用经典优化器学习哈密顿量的参数,这种基于变分量子电路实现的量子玻尔兹曼机被称为变分量子玻尔兹曼机(variational quantum Boltzman machine,VarQBM). 通过VarQITE制备吉布斯态的近似态 {\boldsymbol \rho ^{\rm Gibbs}} ,通过训练其哈密顿参数使得采样概率分布 {\boldsymbol \rho ^{\rm QBM}} 尽可能接近训练数据分布 {\boldsymbol \rho ^{\rm data}} . 一般情况下采用交叉熵损失函数:
\mathop {\min }\limits_{\boldsymbol \theta } L = \mathop {\min }\limits_{\boldsymbol \theta } \left( - \sum\limits_{\boldsymbol x}^{} {\boldsymbol \rho _{\boldsymbol x}^{{\rm data} }} {\rm lb} \boldsymbol \rho _{\boldsymbol x}^{{\rm QBM} }\right) \text{,} (23) 其中 \boldsymbol \rho _{\boldsymbol{x}}^{\rm data} 和\boldsymbol \rho _{\boldsymbol{x}}^{{\text{QBM}}} 分别表示结果x在训练数据和生成数据中出现的概率. 使用自动微分对参数进行更新,在模拟实验上完成的生成式任务和判别式任务都表明变分量子玻尔兹曼机具有良好的抗噪性. Shingu等人[72]也提出一种变分量子玻尔兹曼机,同样使用了变分量子虚时演化算法. 该方法最小化精确演化和参数化实验状态的距离:
\delta \left\| {\left(\frac{\partial }{{\partial r}} + {\hat {\boldsymbol{H}}} - {\text{ }}\left\langle {\psi ({\boldsymbol \theta }(\tau ))} \right|{\hat {\boldsymbol{H}}}\left| {\psi ({{\boldsymbol{\theta}} }(\tau ))} \right\rangle \right)\left| {\psi ({\boldsymbol \theta }(\tau ))} \right\rangle } \right\| = 0 . (24) 其中实验状态 \left| {\psi ({{\boldsymbol{\theta}}}(\tau ))} \right\rangle 通过变分量子电路构造:
\left| {\psi ({{\boldsymbol{\theta}} }(\tau ))} \right\rangle = {\boldsymbol U}({{\boldsymbol{\theta}} }(\tau ))\left| {\psi (0)} \right\rangle . (25) 2024年,Huijgen等人[120]提出使用β−变分量子本征求解器训练量子玻尔兹曼机.
4.2.3 量子自编码器
自编码器是一种十分有效的维度压缩算法,目的是对维度压缩后的样本进行重构,经典自编码器一般通过经典神经网络实现. 量子自编码器(quantum autoencoder,QAE)完成的任务大多数是量子的,主要的目的是实现对量子态的制备和压缩,也能够被用于实现经典数据的压缩与重建.
在经典的自编码器中,一般通过神经网络将n+k维的数据压缩至n维,这个过程被称作编码,压缩后的n维数据被称为压缩数据. 如果压缩数据能够经过另一个神经网络生成与初始n+k维数据分布相似的数据,那么我们可以认为这个经典自编码器是良好的,压缩过程是有效的. Romero等人[65]首次将变分量子算法引入自编码器中,将其应用于压缩哈伯德模型和分子哈密顿量的基态. 后续对于量子自编码器的研究几乎都采用了Romero等人的框架. 在该框架中,量子自编码器的输入是n+k个量子比特上纯态的集合 \left\{ {{p_i},{{\left| {{\psi _i}} \right\rangle }_{{AB} }}} \right\} ,子系统 A,B分别由n和k个量子比特构成. 在编码的过程中,量子自编码器将A,B系统上的信息编码到n个量子比特上.
一般使用保真度的期望 F(\left| {{\psi _i}} \right\rangle ,{{\boldsymbol{\rho}} }_i^{{\rm out} }) = \left\langle {{\psi _i}} \right|{{\boldsymbol{\rho}} }_i^{{\rm out} }\left| {{\psi _i}} \right\rangle 作为初始态和输出量子态偏差的度量,其中 \left| {{\psi _i}} \right\rangle 表示初始的量子态, {\boldsymbol{\rho }}_i^{out} 表示最终输出的密度矩阵. 当 F(\left| {{\psi _i}} \right\rangle ,{{\boldsymbol{\rho}} }_i^{{\rm out} }) \approx 1 时可以认为编码前的初始量子态和解码后的输出量子态是相似的,完成了一次成功的编码-解码过程. 通过经典训练方法寻找使保真度最大的酉算子族,因此损失函数可以通过保真度来定义:
{C_1}({{\boldsymbol{\theta}} }) = \sum\limits_i^{} {{p_i}} F(\left| {{\psi _i}} \right\rangle ,{{\boldsymbol{\rho}} }_{i,{{\boldsymbol{\theta}} }}^{{\rm out} }) . (26) 设 {{{\boldsymbol U}}^{{\boldsymbol \theta }}} 是n+k量子比特上的一个酉算子族, {\boldsymbol \theta } = \left\{ {{\theta _1},{\theta _2}, … } \right\} 是定义酉量子电路的一组实参数,密度矩阵表示为
{{\boldsymbol{\rho}} }_{i,{{\boldsymbol{\theta}} }}^{{\rm out} } = ({{{{\boldsymbol U}}}^{\boldsymbol \theta }})_{{A} B'}^\dagger {{{\rm{tr}}} _{B} }\left[ {{{({{{{\boldsymbol U}}}^{\boldsymbol \theta }})}_{{AB} }}\left[ {{\psi _{{i_{{AB} }}}} \otimes {a_{B'}}} \right]({{{{\boldsymbol U}}}^{\boldsymbol \theta }})_{{AB} }^\dagger } \right]{({{{{\boldsymbol U}}}^{\boldsymbol \theta }})_{{A} B'}} , (27) 其中 \left| {{\psi _i}} \right\rangle {\left\langle {{\psi _i}} \right|_{{AB} }} = {\psi _{{i_{{AB} }}}} , \left| a \right\rangle {\left\langle a \right|_{{B^{'}}}} = {a_{{B^{'}}}} .
由于密度矩阵计算的困难性,引入了一个k量子比特的固定纯态系统B′,使用SWAP电路将对B′的追踪代替对系统B的追踪,如图10所示. B系统的压缩状态和B′系统的初态的保真度与式(26)定义的保真度等价,故损失函数也可以定义为
{C_2}({{\boldsymbol{\theta}} }) = \sum\limits_i^{} {{p_i}} F({{\rm tr} _{A} }\left[ {{{{{\boldsymbol U}}}^{\boldsymbol \theta }}\left| {{\psi _i}} \right\rangle {{\left\langle {{\psi _i}} \right|}_{{AB} }}{{({{{{\boldsymbol U}}}^{\boldsymbol \theta }})}^\dagger }} \right],{\left| a \right\rangle _{B} }) . (28) Khoshaman等人[121]最先提出量子变分自编码器,使用QBM代替了DVAE中的RBM. 同时为了克服传统方法对负相位精确采样难以实现这一限制,提出了Q-ELBO下界. Romero等人[65]和Khoshaman等人[121]提出的QVAE的实现采用的都是量子退火方法,下面将着重讨论基于门电路的量子自编码器.
基于变分量子电路的量子自编码器研究主要围绕以下进行改进:设计具有更复杂结构的Ansatz、改进损失函数,以及经典优化器的使用.
在经典任务上,Li等人[43]提出了基线量子自编码器(BQ-VAE)和可扩展的量子生成自编码器(SQ-VAE). 使用可调量子层深度、异构学习率、补丁量子电路(patch-VQC)等混合量子经典神经网络架构对高维数据集进行学习,并将其用于药物搜索. 使用一个补丁变分量子电路作为主体,其每个补丁具有3个量子比特,具有量子输入层、隐藏层、输出层. 输入层作为编码器,使用量子编码的方式将输入数据编码到补丁电路的输入上,隐藏层由重复的PQC结构构成,输出层对所有量子比特进行测量,最后使用一个经典全连接层将测量结果连接,图11所示为使用2个补丁电路的情况. BQ-VAE在低维数据上的学习速度相对经典 VAE要高一些,SQ-VAE用于模拟高维分子,进行经典VAE难以实现的高维药物分子的探索.
量子自编码器应用之一是进行量子态制备. 一个量子自编码器可以经过训练用于压缩一组特定的量子态,使用解压酉矩阵就能够用于生成和压缩前相似的量子态. 在变分量子算法中,使用量子自编码器作为初态制备电路具有参数量较少的优势. 如果使用经典数据作为输入、经典神经网络作为编码器、变分量子电路作为解码器,可以实现将经典数据编码到量子态上的量子自编码器. 近期,Wu等人[15]提出了一种其深度与量子比特数线性相关的量子自编码器,能够高精度地构造逼近未知经典分布的量子态. 该量子自编码器引入了新的编码方案和纯度惩罚项 {\mathcal{L}_{{\rm penalty} }} = - \displaystyle\sum_{i = 1}^n {{\rm tr} } (\bar{\boldsymbol \rho} _i^2) ,损失函数 \mathcal{L} = {\mathcal{L}_{\rm recon}} + \beta {\mathcal{L}_{{\rm penalty} }} . 使用经典神经网络作为编码器与变分量子电路实现的解码器相结合,在10量子比特数据集上的仿真实现表明该方法相对于现有方法具有更快的收敛速度和稳定性,在学习高维数据分布的任务上误差更小、鲁棒性更强. 该模型的训练复杂度为 \mathcal{O}({m^2}) ,测试复杂度为 \mathcal{O}(mn) ,m为数据集样本数量,n为量子比特数. 在保证量子自编码器的效率和收敛速度的同时,尽可能地减少变分量子电路的深度是NISQ时代主要的研究方向.
量子态的压缩能够将量子信息压缩到低维空间的量子自编码器,对于实现量子信息领域的数据自动压缩具有重要意义. Huang等人[122]分析了实现完美量子自编码器的条件,并从理论上证明了如果输入态的最大线性无关向量的个数不超过隐空间的维数,量子自编码器可以将高维量子信息无损压缩到隐空间. 由此设计了将2个双量子比特量子态压缩至2个单量子比特量子态的量子自编码器. 其除应用于量子态压缩外,还能够被用于区分2组非正交态.
对于变分量子算法,全局形式的损失函数具有贫瘠高原现象[114],这对变分量子算法的优化过程造成了困难. 由此 Cerezo等人[123]提出了使用局部损失函数的量子自编码器,使得量子自编码器的可训练性大大提高.
Bravo-Prieto[66]提出了一种增强特征量子自编码器EF-QAE,将一个特征向量介入变分量子电路中,能够以更高的保真度实现量子态的压缩,在使用相同量子资源的前提下,EF-QAE使用了额外的经典优化,获得了比标准量子自编码器更好的性能. 使用更多经典优化手段构建的性能更佳、使用的量子资源更少的变分量子算法更适合在近期的量子设备上实现.
4.3 半监督学习
量子半监督学习模型围绕量子生成对抗网络(QGAN)展开. 在经典生成对抗网络(GAN)中,模型主要由生成器和判别器构成. 生成器将噪声映射到真实样本空间中,目标是使噪声样本分布最大程度接近真实样本分布,判别器需要最大程度对混合样本进行区分. 模型通过生成器和判别器的对抗使生成样本逐渐接近于真实样本,进而学习到概率分布. 训练目标可以表示为
{\min _G}\;{\max _D}\;loss({{{\boldsymbol{\theta}} }_G},\;{{{\boldsymbol{\theta}} }_D}) , (29) 其中G是生成器,D是判别器.
最早的QGAN概念由Lloyd等人[74]提出,他们认为QGAN的任务可以是经典的或量子的,使用的生成器和判别器也可以是经典的或量子的,由此将QGAN按任务和实现方式是否为量子的分为4类,并对其可行性和性能进行了理论分析. 配套文献[124]进行了一些简单的数值实验,对QGAN可行性进行了初步的探索,QGAN的整体框架如图12所示.
QGAN的训练目标与GAN相同,其量子形式为:
\begin{split} & \mathop {\min }\limits_{{{{\boldsymbol{\theta}} }_G}} \mathop {\max }\limits_{{{{\boldsymbol{\theta}} }_D}} \frac{1}{{\varLambda }}\sum\limits_{\lambda = 1}^{\varLambda } {Pr} ((D({{{\boldsymbol{\theta}} }_D},\left| \lambda \right\rangle ,R(\left| \lambda \right\rangle )) = \left| {real} \right\rangle ) \cap \\ &\quad (D({{{\boldsymbol{\theta}} }_D},\left| \lambda \right\rangle ,G({{{\boldsymbol{\theta}} }_G},\left| \lambda \right\rangle ,z)) = \left| {fake} \right\rangle )) , \end{split} (30) 其中 \left| \lambda \right\rangle 为数据的标签,R为真实数据源,其根据 \left| \lambda \right\rangle 获得真实数据. G为生成器,其根据 \left| \lambda \right\rangle 和量子噪声 \left| z \right\rangle 生成假数据, {{{\boldsymbol \theta }}_G} 为生成器参数. D为判别器,对真实或生成数据进行判断,若判断为真实数据则输出量子态 \left| {real} \right\rangle ,否则输出量子态 \left| {fake} \right\rangle , {{{\boldsymbol \theta }}_D} 为判别器参数. \varLambda 为基数,表示标签数. Dallaire-Demers等人[124]给出的QGAN损失函数如下:
\begin{split} & C({{{\boldsymbol{\theta}} }_G},{{{\boldsymbol{\theta}} }_D}) = \frac{1}{2} + \frac{1}{{2{\varLambda }}}\sum\limits_{\lambda = 1}^{\Lambda } {({{\cos }^2}(} \phi ){\text{tr}}(Z\boldsymbol \rho _\lambda ^{DR}({{{\boldsymbol{\theta}} }_D})) - \\ & \quad {\sin ^2}(\phi ){\text{tr}}(Z\boldsymbol \rho _\lambda ^{DG}({{{\boldsymbol{\theta}} }_D},{{{\boldsymbol{\theta}} }_G},z))) , \end{split} (31) 式中Z表示测量结果期望值,其中 \boldsymbol \rho _\lambda ^{DR}({{{\boldsymbol{\theta}} }_D}) 表示初始量子态经过真实数据酉变换和判别器酉变换后的量子态, \boldsymbol \rho _\lambda ^{DG}({{{\boldsymbol{\theta}} }_D},{{{\boldsymbol{\theta}} }_G},z) 表示初始量子态 \boldsymbol \rho _\lambda ^0 经过生成器酉变换和判别器酉变换后的量子态:
\begin{aligned} &\boldsymbol \rho _\lambda ^{DR} = {{{{\boldsymbol U}}}_D}({{{\boldsymbol{\theta}} }_D}){{{{\boldsymbol U}}}_R}\boldsymbol \rho _\lambda ^0{{{\boldsymbol U}}}_R^\dagger {{{\boldsymbol U}}}_D^\dagger ({{{\boldsymbol{\theta}} }_D}),\\ &\boldsymbol \rho _\lambda ^{DG} = {{{{\boldsymbol U}}}_D}({{{\boldsymbol{\theta}} }_D}){{{{\boldsymbol U}}}_G}({{{\boldsymbol{\theta}} }_G})\boldsymbol \rho _\lambda ^0(z){{{\boldsymbol U}}}_G^\dagger ({{{\boldsymbol{\theta}} }_G}){{{\boldsymbol U}}}_D^\dagger ({{{\boldsymbol{\theta}} }_D}) . \end{aligned} (32) 式(31)中 \phi 表示参数化真实样本和假样本在总样中所占比例,一般取 \phi = \dfrac{\pi }{4} ,此时损失函数可以抽象表示为
\frac{1}{2} + \frac{1}{4}{\text{tr}}\left[ {\left| {\sigma - \delta } \right|} \right] , (33) 其中 \sigma 和 \delta 分别为用于刻画训练样本和生成样本的密度算符. 大部分QGAN采用交替训练的方式,直到判别器和生成器达到纳什均衡为止.
根据生成器和判别器也可以是经典的或量子的,实际上可以更细地将QGAN分为8种情况,Tian等人[125]给出了命名方式,如表7所示. 下面对8种QGAN的可行性和研究进展进行讨论.
表 7 QGAN 分类及相关研究Table 7. Classification of QGANs and Related Researches任务 生成器 判别器 名称 相关研究 经典 经典 经典 CT-CGCD 文献[126] 经典 经典 量子 CT-CGQD 文献[46, 104, 107] 经典 量子 经典 CT-QGCD 文献[19, 44−49, 59] 经典 量子 量子 CT-QGQD 文献[46, 59] 量子 经典 经典 QT-CGCD 文献[127] 量子 经典 量子 QT-CGQD 量子 量子 经典 QT-QGCD 文献[50, 62] 量子 量子 量子 QT-QGQD 文献[73−74, 124, 128−129] 注:采用文献[125]给出的命名方式,名称中的字母 T,G,D分别表示任务、生成器、判别器. C,Q 分别表示是通过经典还是量子方法完成的. 经典生成器与量子判别器构成的QGAN对于量子数据无法收敛到纳什均衡,无法完成量子任务. 使用经典分类器和经典判别器可以对经典数据和量子数据进行处理,本节主要讨论基于变分量子电路实现的模型. 近期研究的QGAN旨在量子计算机上实现生成器或判别器,从而加速生成网络或判别网络的速度.
1)CT-CGCD. CT-CGCD是经典GAN模型[126],目前已经有很多扩展研究,但不属于量子机器学习模型.
2)QT-CGCD. 使用经典GAN模型完成在量子态数据上的任务. 尽管经典生成器无法精确拟合量子数据,而由于经典判别器也无法对经典生成器生成的经典数据与量子数据进行合适的比较,因此在这种情况下纳什均衡是可以达到的,但模型效果较差. 由于上述问题,在量子机器学习任务中极少使用CGCD模型,CGCD 的量子任务一般在于辅助进行物理问题研究,例如量子态断层扫描[127].
3)QT-QGQD. 最初提出的GAN的量子版QuGAN[124]是QT-QGQD. Lloyd等人[74]证明对于经典任务,CGCD计算梯度需要\mathcal{O}({N^2})个经典比特和\mathcal{O}({N^2})的时间复杂度. QGQD在计算协方差矩阵时,对于低秩稀疏矩阵只需要\mathcal{O}({\rm lb} n)量子比特和\mathcal{O}(poly({\rm lb} n))个量子门.
对于量子态数据样本,最初Hu等人[128]提出了一种由量子生成器和量子判别器构成的QGAN,并在超导量子电路上进行了第1个原理证明演示实验,生成保真度达到了98.8%,为通过实验探索使用NISQ设备执行机器学习任务奠定了基础. QGAN在未来将被更广泛地应用到对量子数据的学习和处理中. 经典GAN在被提出后经过多次改进,WGAN的提出解决了 GAN的部分缺陷. Chakrabarti等人[73]根据WGAN的改进方式对QGAN进行了改进,提出了对量子数据的 Wasserstein半度量,设计出了QWGAN,通过仿真分析得出其有着相较于QGAN更为优异的性能. 但是QWGAN能否应用于实际的量子计算机和应用于更大的量子系统都是未知的. QWGAN在被提出时并非使用变分量子电路实现,由于其使用简单的参数化量子电路实现,具有与变分量子算法相似的特点,QWGAN 也可以通过变分量子电路实现. 使用变分量子算法实现对经典GAN的改进版的量子化将是未来改进QGAN模型的一个研究方向.
4)CT-QGQD. 对于经典任务,Huang等人[59]利用Patch电路和Batch电路构成的量子生成器设计了PATCH-GAN和Batch-GAN,首次在超导量子处理器上实现了手写数字图像生成,在减少训练参数的同时能保证与经典GAN相同的性能.
5)CT-QGCD. 在经典数据样本上,对于离散型随机变量,Zeng等人[44]和Situ等人[45]提出了不同的量子生成器,结合经典判别器实现了QGAN. Zhou等人[19]对 QGAN的量子生成器部分结构进行了优化改进,减少了模型所需参数量,结合重映射方法实现了一种图像生成方法,在Bars和Stripes数据集上的仿真实验表明减少参数量后的模型没有明显的性能损失. 这种方法能够更大程度上利用量子器件,更适用于NISQ设备.
对于连续型随机变量,Romero等人[46]提出了一种量子变分生成器VQG,其可以用于模拟经典连续概率分布. 特别地,该模型在使用量子生成器时,判别器可以为经典的或量子的;在使用经典生成器时,可以使用量子判别器. 故该模型同时属于CT-QGCD,CT-QGQD,CT-CGQD. Li等人[47]使用量子生成器减少了模型的参数量,提出具有新结构的QGAN-HG 并在药物生成上进行了实验.
Herr等人[48]将变分量子算法引入QWGAN,设计了使用量子-经典混合生成器和经典判别器构建的QWGAN-GP,并将其与AnoGAN方法结合,实现了针对信用卡异常检测的新框架. Tsang等人[49]在QWGAN的基础上进行了改进,提出了PQWGAN,能够在不降维的前提下生成高分辨率图像,这使得模型能够学习到更多信息. 由于PQWGAN的设计目的是能够在NISQ设备上运行,因此判别器并没有和QWGAN一样使用量子判别器,而是沿用了WGAN中的经典神经网络作为判别器. Huang等人[59]提出的模型也支持使用经典判别器,目的是在资源有限的情况下完成大规模学习任务.
6)QT-QGCD. 在经典数据的任务上,量子算法对经典算法有着极大的潜在优势,量子优势的发挥极大程度上依赖于经典数据到量子态的加载过程,然而目前的方法中精确地加载需要 \mathcal{O}({2^n}) 的门,有可能抵消量子算法的加速优势. Zoufal等人[50]提出使用QGAN 来学习经典数据的概率分布并将其加载到量子态上,并且只使用\mathcal{O}(poly\left( n \right))的门,这促进了量子算法在经典数据上的应用. Agliardi等人[62]对多元数据加载中的优化调优问题进行了研究,进行了效率优化.
7)QT-CGQD. 经典生成器不能精确地拟合量子态数据分布,无法达到纳什均衡. 因此对于量子任务,不存在经典生成器-量子判别器构成的模型.
8)CT-CGQD. Niu等人[107]提出了EQ-GAN架构来克服非凸性和模式崩溃问题,生成器与判别器都可以是经典的或量子的,同时引入辅助量子神经网络来加速训练. Kao等人[104]设计了Wasserstein度量下的 MolGAN的量子实现QuMolGAN,使用变分量子电路实现量子噪声生成器和量子判别器,药物分子探索的实验表明其生成分子性质和KL散度等指标均好于经典GAN.
总的来说,QGAN相对于GAN能够应用到更多的任务上,尤其是量子任务. 在经典任务上也相对于经典GAN系列展现出潜在的优势. 在量子任务中,QGAN 已经被用于量子态的学习和制备[73]、数据编码[50,62]、纠缠探测[130]等. 在经典任务上,QGAN被用于图像生成[59]、药物设计[47,104]、金融领域[50]、异常检测[48,131]等. 对于模式崩溃[107]等经典GAN难以解决的问题,QGAN也有良好的前景.
4.4 强化学习
强化学习用于解决智能体通过与环境交互不断学习最优策略以获得最大化奖励的问题. 在智能体与环境交互过程中,根据获得奖励的大小来调整策略,以获得最大奖励值为目标,反复迭代寻找相应最优策略. 在经典机器学习中,一般使用神经网络作为决策模型. 在量子强化学习(quantum reinforcement learning,QRL)中,可以通过使用变分量子电路代替神经网络作为决策模型的方法实现基于变分量子算法的量子强化学习模型.
一般情况下,量子强化学习系统流程如下:首先由量子-经典混合智能体接收来自环境的状态信息,然后通过变分量子算法决定智能体策略,最后使用经典的算法对策略进行评估和更新,如图13所示.
表8对量子强化学习算法进行了总结.
表 8 量子强化学习算法Table 8. Quantum Reinforcement Learning Algorithms模型 测试环境 环境 量子位 参数量 回合数 回报 VQ-DQN[69] frozen-lake 模拟 4 28 198 0.9 VQ-DQN(pretrianed)[69] frozen-lake 量子 4 28 1 0.95 VQ-DQN[69] cognitive-radio 模拟 4 28 10* 100 VQ-DQN(pretrianed)[69] cognitive-radio 量子 4 28 1 100 Quantum-DQN[105] frozen-lake v0 模拟 4 5层 3100 1.0 Quantum-DQN[105] frozen-lake v0 模拟 4 10层 2200 1.0 Quantum-DQN[105] frozen-lake v0 模拟 4 15层 1700 1.0 Quantum-DQN[105] Cart Pole v0(optimal) 模拟 4 62 186 195 Quantum-DQN[105] Cart Pole v0(sub-optimal) 模拟 4 62 3000 176 Quantum Actor-critic[52] Cart Pole 模拟 4 36 6000 105 QLSTM-DRQN-1[16] Cart Pole(Full Observable) 模拟 8 150 350* 100* QLSTM-DRQN-1[16] Cart Pole(Partially Observable) 模拟 8 146 675* 150* QLSTM-DRQN-2[16] Cart Pole(Full Observable) 模拟 8 270 420* 125* QLSTM-DRQN-2[16] Cart Pole(Partially Observable) 模拟 8 266 750* 100* QMARL[53] Single-Hop Offloading 模拟 4 50 500 −3.0 改进CTDE QMARL[54] Smart Factory 模拟 16 54 980 −37.0 注:带*的数值表示原论文中未给出精确数值,本文进行估算后得到的数值. 结果为各论文中给出的最优参数的模型. Quantum-DQN模型中未给出具体参数量,层数与参数量正相关. 在强化学习中,基于值函数的方法是非常常见的方法,在量子强化学习中,基于变分量子电路可以实现其量子版本的同时获得性能上的提升. Q学习(Q-learning)[132]是一种经典的无模型、off-policy强化学习算法,通过寻找在给定状态下不同行为得到的最大奖赏的方式更新Q值,再通过Q值决定智能体下一步进行的策略. 在深度强化学习中,深度Q学习(deep Q-learning,DQN)[133]是一种主要的算法,它使用深度神经网络进行Q值的函数拟合.
Chen等人[69]最先提出并实现了基于变分量子电路的深度Q学习(variational quantum deep Q-learning,VQ-DQN)网络,能够在离散状态空间中完成强化学习任务. 相比于 DQN 算法,VQ-DQN 使用变分量子电路代替经验回放和目标网络来近似Q 函数. 在frozen-lake和cognitive-radio环境下的实验表明这种方法具有训练和推理速度快以及内存消耗和模型参数量少等优点,VQ-DQN相对DQN减少了56.25%的参数量,使用基编码的计算复杂度为\mathcal{O}(n),使用概率幅编码的计算复杂度为\mathcal{O}({\rm lb} n),而经典DQN方法复杂度为\mathcal{O}({n^2}), 其中n为输入向量维度,这也意味着基于变分量子电路可以实现更复杂的量子强化学习模型. 同时VQ-DQN在量子硬件的实验中也表现良好. Lockwood等人[51]提出一种能够在离散和连续状态空间下进行Q学习的变分量子电路,将连续空间的输入转化为对初始层旋转门角度的限制编码,使用Z基测量值来表示Q函数值:
Q(s,a) = \left\langle {{\psi _0}} \right|{{{\boldsymbol U}}}_{{\boldsymbol{\theta}} }^\dagger (s){{\hat {\boldsymbol{Z}}}_a}{{{{\boldsymbol U}}}_{{\boldsymbol{\theta}} }}(s)\left| {{\psi _0}} \right\rangle . (34) 各个实验存在其特殊的训练指标,例如处理时间、加载精度等,本文仅列出了相同训练指标以对比.
在基于变分量子电路的Q学习中,量子电路的输出范围最好能够与最优Q值相匹配. Skolik等人[105]将该方法进行改进,在计算Q函数时引入了可训练的权重参数,使其能够更加灵活地进行匹配:
Q(s,a) = \left\langle {{\psi _0}} \right|{{{\boldsymbol U}}}_{{\boldsymbol{\theta}} }^\dagger (s){{\hat {\boldsymbol{Z}}}_a}{{{{\boldsymbol U}}}_{\boldsymbol \theta }}(s)\left| {{\psi _0}} \right\rangle {{{\boldsymbol{w}}}_{{{\boldsymbol Z}_a}}} . (35) 由于动作数量通常比较少,每个动作对应一个权重参数并不会造成参数量过多和计算复杂度增大的情况.
Lockwood等人[51]讨论了QDDQN框架, 将基于变分量子电路的DQN与经典双DQN(double DQN,DDQN)[134]结合. Heimann等人[60]将其应用到机器人导航任务中. 实验表明该模型能够使用远远小于经典DDQN使用的参数量获得相同的奖励,代价是需要更多的步数进行训练.
除了上述方法之外,Chen等人[16]提出一种基于QLSTM的量子深度循环Q学习(QLSTM-DRQN)在求解cart-pole等基准测试时,尤其是在只能观察到部分环境的测试中,相对于经典的DRQN具有更好的稳定性和高的分数.
在强化学习中,基于值函数的方法存在策略退化的问题,还存在不会出现策略退化的基于策略梯度的算法,这些算法的量子版本也可以基于变分量子电路实现并进行改进. 一般通过将变分量子电路代替DNN的方式实现,使用策略变分量子电路(policy-VQC)决定智能体的动作. Jerbi等人[135]最先提出了基于策略梯度的变分量子算法policy-PQC,其提出的softmax-PQC模型中softmax策略由变分量子电路计算获得,同时添加了输入缩放参数和可观测值权重参数以提高电路的表达能力和灵活性,其性能与使用深度神经网络相当. 电路使用交替编码酉算子和变分酉算子,编码酉算子的输入主要包括缩放参数 \lambda 和状态s,如图14所示为使用双量子比特的单层结构. 一般情况下,模型与环境的交互是经典的,即使用经典策略梯度方法.
Jerbi等人[136]提出量子策略梯度算法,可以加速数值方法的数值和解析梯度估计,该方法是能够在大状态动作空间中完成强化学习任务的全量子方法,在允许适当的量子访问的情况下,这种算法可以在策略参数更新上提供平方级加速. 将量子策略梯度算法与经典策略梯度算法相结合,构建混合策略梯度算法将成为变分量子强化学习的重要研究方向 之一.
对于基于策略-价值的方法,演员-评论家(actor-critic)算法的量子版本也被相继提出. 最初Wu等人[137]提出分别使用一个变分量子电路作为actor和critic部分,构造了一个适用于离散状态空间和连续状态空间的框架. Kwak等人[52]实现了actor-critic的量子版本,使用量子actor和经典critic的组合,如图15所示. 在模拟实验学习过程中获得奖励的偏差较高,推测是量子系统内部的不确定性造成的,这使得该模型在参数较多时难以维持良好效果. 如何利用量子系统不确定性或提高相应鲁棒性是量子强化学习的重要挑战之一.
除此之外,Skolik等人[106]将变分强化学习算法对真实量子硬件上存在的各类型噪声的鲁棒性进行了评估,包括散粒噪声、相干误差以及非相干误差. 同时提出了一种在几乎不影响最终表现的情况下减少变分Q学习模型测量次数的方法.
同样地,变分量子电路也可以集成应用到经典多智能体强化学习中. Yun等人[53]将量子强化学习扩展到量子多智能体强化学习中(quantum multi-agent reinforcement learning,QMARL),提出一种基于变分量子电路的多智能体强化学习方法. 对于经典的多智能体强化学习,智能体之间的相互作用会影响MARL训练的收敛,一般采用CTDE作为训练范式以解决问题. 尽管可以使用变分量子电路实现CTDE,但是需要用量子比特表示状态-动作对,所需量子比特的数量随智能体的数量的增加而增加,误差也会随之增大,这并不适用于NISQ设备. 因此设计了一种量子态编码的方法将状态-动作对的维度降低,从而减少使用的量子比特数. 经过模拟,这种QMARL比经典MARL获得的总奖励提高了57.7%. 一些量子或经典降维算法可以与QMARL进行结合以获得更好的性能. Yun等人[54]对CTDE QMARL框架进行了改进,使用参数共享策略减少了参数量,并对VQC和编码方式进行了改进.
由于量子硬件的限制,目前提出的绝大多数量子强化学习算法都停留在理论层次上,仅仅通过经典计算机的模拟对可行性进行了说明,物理实验方案的实现十分匮乏.
4.5 量子电路结构搜索
在NISQ时代,深度浅、参数量小的变分量子算法更有可能应用于NISQ计算机上并体现出其量子优势,因此很多研究关注于寻找给定任务下最优变分量子电路结构. 在量子机器学习中,当前量子电路结构搜索集中于完成分类任务.
量子结构搜索(quantum architecture search,QAS)是由神经结构搜索(neural architecture search,NAS)改进的一种用于寻找最优拟设结构的方法. 对于一个机器学习任务,QAS自动寻找一个近似最优的近似解,即最优电路结构,以平衡增加更多噪声量子门所带来的优劣势. Zhang等人[55]提出使用神经网络预测器引导的QAS,能够端到端地自动设计变分量子电路,性能远远好于随机搜索设计的量子电路,有助于使用更少的电路评估找到更优的解决方案. Du等人[108]提出一种基于噪声感知方法来进行拟设结构搜索的QAS算法,将噪声抑制和增强可训练性统一为一个学习问题,具有对噪声鲁棒性良好、不需要辅助量子比特资源、兼容于所有量子平台、可以与其他噪声抑制和解决贫瘠高原问题的算法无缝集成等诸多优点. 对于相同的迭代次数T,该QAS算法与传统变分量子算法具有相同的时间复杂度\mathcal{O}(dT + K),空间复杂度\mathcal{O}(Td + TNL + Kd)也仅为后者的T倍,K为采样步骤中平衡效率和性能的超参数,一般取\mathcal{O}(poly(QNL)),其中d,N,L,Q分别表示可训练参数量、量子比特数、电路深度和量子门类数.
Wang等人[12]提出一种将变分量子电路与噪声自适应的量子位映射相结合的框架QuantumNAS,考虑了硬件拓扑,其性能显著优于无噪声搜索、人工设计、随机搜索和现有的噪声自适应量子比特映射基准,通过剪枝的方法减少了参数量,提高了分类准确率. 对于分类任务,经过在MNIST,Fashion,Vowel等数据集上,使用多台量子计算机进行的实验表明,QuantumNAS 是第1个在真实量子计算机上超过95%的二分类、85%的四分类和32%的十分类准确率的模型. QuantumNAS模型是分类任务在真实量子环境下的 SOTA模型.
Lu等人[56]提出马尔可夫量子神经进化算法MQNE,将量子电路和有向图之间进行了一一对应映射,能够将寻找最合适门序列的问题归结为在图中寻找路径的问题,并将其转化为马尔可夫过程,能够为各机器学习任务找到近似最优的拟设结构. 在MNIST等数据集和SPT量子态分类上的实验表明,MQNE在保持分类精度的前提下,找到了深度较浅的Ansatz参数化量子电路.
强化学习的方法可以被用于优化量子电路的结构. 参数化量子电路结构可以构建成一系列由可训练的策略所生成的动作,根据变分量子电路的损失函数设计最终奖励函数,奖励函数引导策略更新,使回报期望最大化,从而选择出一系列动作并构建电路结构. Ostaszewski等人[138]将负反馈课程学习引入变分量子电路,提出一种基于深度强化学习的变分量子本征求解器通用优化方法,将架构应用于寻找氢化锂分子基态能量基准问题,能够在保持低深度电路的情况下获得栅极效率上最先进的结果. 这种方法适用于所有基于变分量子电路的算法,故同样可以被应用于解决机器学习任务的变分量子电路中.
噪声会显著影响优化器的性能和最终结果,同样地,对量子电路结构搜索算法的影响也是多方面的[139],故对噪声鲁棒性强的电路结构搜索算法也是一个关键的研究方向. Patel等人[78]设计了基于课程强化学习的量子电路结构搜索算法(curriculum reinforcement learning for quantum architecture search,CRLQAS). 该算法引入一种基于深度感知的3维编码,状态由3维网格描述,通过量子位索引、深度和门类型将量子电路编码到网格上. 状态和奖励通过多层感知器进行处理,智能体根据策略选择出相应的动作,即对量子门的操作. 经典优化器对修改后的电路完成训练后提供奖励,继续选择下一个动作. 该方法还设计了一种优化机制,通过设计非法行为来避免连续应用类似的量子门,减小了搜索空间,同时加入了随机停止机制以引导智能体寻找更浅的电路. 此外,还设计了SPAS和Adam算法的变体,在应用该搜索算法时能够获得更快的收敛速度和更好的鲁棒性. 该算法在量子化学任务数值实验上表现良好,具有应用于量子机器学习任务的极大潜力.
在以上的讨论中,绝大部份工作都集中于在门级使用变分量子电路完成机器学习任务. 然而,较少的参数数量制约了其灵活性和表达能力,Liang等人[140]提出变分量子脉冲学习(VQP),使用更底层的具有额外的控制参数的脉冲作为基本成分来构建变分量子电路的拟设结构,直接训练量子脉冲来完成图像二分类任务,并在噪声环境下获得了稳定的结果,相较于基于门的变分量子电路具有延迟优势.
Meitei等人[141]提出了Ctrl-VQE,通过调整脉冲状态来进行状态准备,大大缩短了状态制备时间. 这种方法依赖于小量子系统的经典模拟,鲁棒性差,只使用单量子比特脉冲,并且只能应用于VQE任务而不能完成量子机器学习任务. 进一步地,Liang等人[142]提出一种中级变分原生脉冲拟设NAPA,在该算法中提出渐进式脉冲学习,可以自适应地生成脉冲拟设. NAPA算法经历多次脉冲添加步骤,每个步骤增添一组新的原生脉冲,前面的脉冲参数不变,新脉冲参数通过优化器多次迭代更新得到. 递进添加的停止条件是不能通过添加新步骤来提高精度. NAPA中所用到的参数化脉冲具有更高的灵活性,能够在相同的电路延迟内集成更多的参数. NAPA相较Ctrl-VQE 增加了双量子比特脉冲,与门级电路SOTA模型 QuantumNAS在不同规模量子比特下的对比实验表明,NAPA在小分子VQE任务上的平均延迟减少了 86%,准确率高达99.895%,在大分子 VQE 任务上平均准确率达到了 97.27%. 在组合优化问题最大割任务上提供了可行性,在机器学习任务上也具有极大的潜力. 探索NAPA在不同类型的变分量子机器学习算法中的应用是重要的研究方向之一.
一些相关的研究在其他领域的任务上表现良好,其中以变分量子特征求解器居多[143],未来有望将这些算法用于其他量子机器学习任务的求解上.
表9对电路结构搜索算法进行了总结.
表 9 量子架构搜索算法Table 9. Quantum Architecture Searching Algorithms模型 数据集 任务 环境 量子位 最优结构参数量 准确率/% QuantumNAS[12] MNIST 二分类 量子 5 22 95 QuantumNAS[12] MNIST 四分类 量子 5 22 75 QuantumNAS[12] MNIST 十分类 量子 15 32.5 QuantumNAS[12] Fashion-2 二分类 量子 5 22 92 QuantumNAS[12] Fashion-4 四分类 量子 5 36 85 MQNE[56] MNIST 二分类 模拟 9 106 97 MQNE[56] Cancer 二分类 模拟 7 68 94.6 MQNE[56] SPT 量子态分类 模拟 8 46 100 QAS[55] Fashion-MNIST 二分类 模拟 10 92.4 QAS[108] 合成数据集(无噪声)[144] 二分类 模拟 3 >90 QAS[108] 合成数据集(有噪声)[144] 二分类 模拟 3 100 CRLQAS[78] VQE 模拟 NAPA[142] VQE最大割 量子 5. 挑战与展望
通过理论的分析和经典计算机的模拟,很多基于变分量子算法的量子机器学习模型在解决部分特定任务时有显著的性能提升. 然而在效率提高的同时,变分量子算法在机器学习领域的应用还面临着许多挑战.
5.1 噪 声
模型的脆弱性指模型对抗噪声干扰的能力,噪声分为自然噪声和对抗性噪声2种,NISQ设备中产生的扰动属于自然噪声,在QGAN中生成器部分产生的噪声属于对抗性噪声,我们在设计变分量子电路时希望能够降低脆弱性和提高抗干扰能力. 变分量子算法设计的目的是在NISQ设备上进行应用,NISQ设备的特点是存在随电路深度增大而增大的噪声,Stilck等人[145]的研究表明当噪声水平超过一定阈值时,量子计算机的性能将低于经典计算机. 故而在量子机器学习模拟实验中也需要对噪声进行模拟,常见的包括结合纯态分解和低维基投影的含噪声量子电路模拟方法[146]等.
CRLQAS[78]和NAPA[142]模型未进行量子机器学习任务相关实验,并非是为特定任务设计,其具有完成机器学习任务的潜力,需要进一步的研究.
变分量子算法最适合应用于NISQ设备的原因之一是具有良好的抗噪声干扰能力,Sharma等人[147]认为变分量子算法的损失函数的全局极小值可能不受噪声的影响.
噪声对变分量子算法的限制在于可训练性上,是导致贫瘠高原[114]的直接原因之一. Wang等人[139]证明了对于局部泡利噪声,如果拟设深度随量子比特数线性增长,那么梯度会随量子比特数指数级消失,这种噪声诱导的贫瘠高原(noise-induced barren plateau,NIBP)的成因被证明是噪声导致的量子态向最大混合态偏移,同时噪声损失函数逐渐向最大混合态对应值靠近. NIBP问题不同于无噪声场景下的贫瘠高原现象,随着问题规模的增大,前者在损失函数的每个点都会产生梯度消失,而非后者的概率性梯度消失,无噪声场景下避免贫瘠高原的方法对于NIBP问题几乎没有作用,例如分层训练[148]、关联参数[149]和其他一些策略[123]. 目前缓解NIBP现象的方法只有2种:降低量子硬件噪声水平和降低电路深度,而前者依赖于物理理论和工业水平. 使用错误缓解策略是否能够缓解NIBP现象是一个尚未解决的问题,Endo等人[150]通过错误缓解从含噪声的结果中提取无噪声的结果,而Wang等人[139]认为只包括后处理噪声电路的错误缓解技术几乎不可能缓解NIBP现象. 因此最关键的研究方向依旧是降低变分量子电路深度的方法,但是这些方法都会限制我们对电路的设计从而影响模型的性能.
针对特定的问题和硬件来设计拟设结构也能够抑制噪声[151],不过我们更希望能够找到更通用的噪声缓解策略. 故对于量子噪声的理论研究还需要进一步探索,Weber等人[152]为量子分类器可以容忍的噪声提供了严格的鲁棒性条件. Stilck等人[145]证明了噪声过大的场景会导致变分量子算法相对经典算法不具有量子优势.
此外, 噪声也具有一些潜在的好处:Du等人[153]证明了能够利用去极化噪声来保护分类算法免受类似的对抗样本的攻击,对于量子数据和经典数据均适用. Liu等人[154]发现测量引起的随机性噪声可以帮助优化器跳出鞍点. 目前尚不清楚可容忍的噪声量和有害的噪声量之间的界限[155],对不同类型的学习算法和噪声源很难给出通用的解释.
5.2 可训练性
在变分量子算法中,参数化量子电路的可训练性是十分重要的. Mcclean等人[114]发现在一些训练过程中损失函数的梯度的方差随着系统平均规模的增大而指数级递减,故解决噪声以及确定最小化的方向都需要指数级的精度. 这在变分量子算法中被称为贫瘠高原现象,对经典优化部分造成了一定的限制,可能导致变分量子算法带来的量子优势消失,可训练性成为了发展瓶颈之一.
在对贫瘠高原现象的探究中发现了一些与其成因相关的因素,包括文献[139]提到的噪声等,针对这些原因也提出了一些缓解贫瘠高原的方法.
贫瘠高原和Ansatz电路参数随机初始化有关,解决贫瘠高原现象的一种方法是设计初始化参数的策略. Zhang等人[156]证明对于具有一定方差的满足高斯分布的初始化参数,随着量子比特数和电路深度的增加,梯度消失速度至多是多项式的,这种方法在量子模拟和量子化学的模拟实验中均优于均匀初始化参数,有望用于量子机器学习模型参数初始化策略. 编码过程可以看作是对部分参数的初始化,寻找一种合适的编码策略有助于缓解贫瘠高原[157].
当非结构化的Ansatz电路的深度随量子比特数多项式地增长时,该电路满足酉2-设计,这种参数化量子电路会最大化其可表达性[158]. Holmes等人[159]证明了高表达能力的电路会导致更平坦的损失函数,通过适当降低电路可表达性的方式能够缓解贫瘠高原现象,提出了几种方法,例如限制参数化量子门(即旋转门)的旋转角度或者关联参数等. Bilkis等人[151]提出一种变结构的方法VAns(variable Ansatz),在优化过程中不断增加和删除量子门,以此保持Ansatz维持在一个较浅的深度附近,从而缓解可训练性和噪声的问题. 使用这种方法构建了量子自编码器,成功缓解了贫瘠高原现象,同时表现出对噪声良好的鲁棒性.
过多的量子纠缠态的引入也有可能导致贫瘠高原现象[160],这是可观测量子比特和隐藏层中的量子比特纠缠导致的,在变分量子电路中CNOT门会引入纠缠,类似的门的大量使用可能是贫瘠高原出现的原因. 这种贫瘠高原通过控制量子比特之间的纠缠能够进行缓解.
Cerezo等人[123]推测使用全局损失函数是贫瘠高原现象出现的原因之一,因此提出了一种使用多个局部损失函数 {C_{\rm L}} 代替全局损失函数 {C_{\rm G}} 的方法来延缓贫瘠高原的出现,并以此设计了使用局部损失函数的量子自编码器.
\begin{aligned} &{C_{\rm G}} = {\rm tr} \left[ {{{{\boldsymbol{O}}}_{\rm G}}{{\boldsymbol{V}}}({{\boldsymbol{\theta}} })\left| {{\psi _0}} \right\rangle \left\langle {{\psi _0}} \right|{{\boldsymbol{V}}}{{({{\boldsymbol{\theta}} })}^\dagger }} \right] \text{,}\\ &{{{\boldsymbol{O}}}_{\rm G}} = {{{{1}}}} - \left| 0 \right\rangle \left\langle 0 \right| . \end{aligned} (36) \begin{aligned}&{C_{\rm L}} = {\rm tr} \left[ {{{{\boldsymbol{O}}}_{\rm L}}{{\boldsymbol{V}}}({{\boldsymbol{\theta}} })\left| 0 \right\rangle \left\langle 0 \right|{{\boldsymbol{V}}}{{({{\boldsymbol{\theta}} })}^\dagger }} \right] \text{,}\\ &{{{\boldsymbol{O}}}_{\rm L}} = 1 - \frac{1}{n}\sum\limits_{i = 1}^n {\left| 0 \right\rangle {{\left\langle 0 \right|}_i} \otimes {{{{1}}}_i}} .\end{aligned} (37) 这些局部损失函数被证明在训练中梯度消失是多项式级别的而非指数级,因此在大规模数据的训练上有着极大的潜力. 然而在近期的研究中,Kashif等人[161]发现在分类问题上局部损失函数并没有体现出优势,在多分类问题上甚至远不如全局损失函数. 未来的研究将会对比全局损失函数和局部损失函数在其他机器学习任务上的性能,例如回归任务或无监督学习任务等.
在机器学习领域中,除了量子卷积神经网络由于其特殊的Ansatz结构没有表现出贫瘠高原的现象以外[113],其他基于变分量子电路的量子机器学习模型仍然因可训练性问题被制约量子优势. 对于变分算法整体的研究,可训练性的问题是其在所有应用领域发展的重大挑战.
5.3 可表达性
变分量子算法另一个重要的性质是可表达性,这决定了参数化量子电路能够产生的量子态种类的丰富程度. 可表达性利用Haar度量定义:
\|{A^{(t)}} \|^2_{\rm HS}= \left\| {\int_{{{\mathrm{Haar}}} }^{} {{{(\left| \psi \right\rangle \left\langle \psi \right|)}^{ \otimes t}}} {\text{d}}\psi - \int_{\boldsymbol \theta }^{} {{{(\left| {{\psi _{\boldsymbol \theta }}} \right\rangle \left\langle {{\psi _{\boldsymbol \theta }}} \right|)}^{ \otimes t}}} {\text{d}}{\psi _{\boldsymbol \theta }}} \right\|_{{{\mathrm{HS}}} }^2 . (38) 式中 \left\| {{\boldsymbol{A}}} \right\|_{{{\mathrm{HS}}} }^2 = {{\mathrm{tr}}} ({{{\boldsymbol{A}}}^\dagger }{{\boldsymbol{A}}}) ,表示希尔伯特-施密特(Hilbert-Schmidt)范数. 对于一个Ansatz电路U, A_{\boldsymbol U}^{(t)} 越小表示其可表达性越强,当 A_{\boldsymbol U}^{(t)} = 0 时可表达性达到最高,能够近似希尔伯特空间中任意量子态.
由于量子机器学习中的变分量子算法经常重复多次使用多量子门,例如CNOT等,根据电路的可扩展性和易计算性,Sim等人[162]提出了使用MW纠缠测度来量化和评估这种强纠缠电路的能力,还有一些其他纠缠能力度量方法[163].
5.4 可达性
可达性指的是变分量子算法应当具有能够收敛到损失函数最小值的性质. Akshay等人[17]给出了可达性的目标函数形式:
{f_R} = \mathop {\min }\limits_{\psi \in \mathcal{H}} \left\langle {\psi } \right|{{\boldsymbol{O}}}\left| {\psi } \right\rangle - \mathop {\min }\limits_{\boldsymbol \theta } \left\langle {{\varPsi }({{\boldsymbol{\theta}} })} \right|{{\boldsymbol{O}}}\left| {{\varPsi }({{\boldsymbol{\theta}} })} \right\rangle . (39) 即用在希尔伯特空间中所有量子态计算的损失函数中的最小值与参数化量子电路能够产生的量子态计算损失函数中的最小值做差. 当 {f_R} = 0 时,该变分量子算法能够收敛到函数最小值.
对变分量子算法可达性的研究基本都是围绕QAOA展开的[17],对于量子机器学习模型的讨论较少,将QAOA的研究结果转化到量子机器学习中是非常有必要的. 除此之外,近期Anand等人[18]提出了结合量子最优控制理论的可达性概念,在VQE框架下进行了讨论.
5.5 量子存储
绝大多数量子算法都需要量子随机存储器(quantum random access machine,QRAM)才能体现出其量子优势[164],基于门电路的QRAM的实现更是变分量子电路应用于量子机器学习任务上所必须解决的问题[165-166],然而目前距离实现满足量子算法所需的QRAM还比较遥远. 参数化量子电路被用于实现QRAM,量子机器学习算法也能够用于研究更优良的QRAM结构. 精度更高、规模更大的QRAM亟待实现. 此外,也存在一些不需要QRAM即可实现的算法,Henderson等人[110]提出的量子卷积神经网络只需要在单个数据点上运行量子电路,不涉及大规模数据的存储.
5.6 I/O瓶颈
在使用量子机器学习模型完成经典任务时,对于将经典数据有效地编码到量子态上是比较困难的,计算复杂度往往与维度有关,在高维数据前算法产生的量子优势会被抵消,故而编码问题也被称作读入瓶颈. 目前的缓解方法主要包括采取量子-经典混合模型,先通过经典算法对数据进行降维再应用量子模型[30,38]. 然而这种情况也存在问题,首先很难对混合模型进行批量训练,大规模数据训练难以完成. 其次就是难以确定在任务中起主要作用的是量子模型还是经典神经网络. 除此之外,在经典机器学习任务上,将量子态通过测量提取经典数据也是十分困难的.
5.7 量子机器学习挑战
可训练性和可达性的问题在所有的变分量子算法中是共通的. 接下来对比经典机器学习概念,列举一些基于变分量子电路的量子机器学习算法所面临的问题.
5.7.1 数据集
在目前对量子机器学习的研究中,设计的模型大多是在经典数据集上进行基准测试,从而体现出其对经典模型所具有的量子优势. 虽然目前已经提出了一些编码方案,但是如何最有效地进行编码仍然是未知的. 量子机器学习算法可能在量子数据集上更能体现出量子优势,然而目前提出的量子数据集很少,需要提出更多的、更易于制备的量子态数据集来为量子机器学习模型提供基准测试.
5.7.2 反向传播
在经典机器学习中,反向传播算法是更新参数的重要手段,大大提高了训练复杂模型的效率. 通过重复应用链式法则计算损失函数对各个参数的梯度,该过程需要用到向前传播过程中各子表达式的结果. 由于计算过程中不能对量子态进行访问,因此量子反向传播算法难以实现. 多数情况下,我们使用参数平移规则来获得梯度[84],因此可以避开对中间量子态的访问. 然而当参数量增加、电路深度加深时,使用参数平移规则计算梯度所花费的时间逐渐增加,而反向传播算法的计算时间远小于参数平移规则的计算时间,计算时间的减少能够提高更复杂模型的可训练性. 尽管在经典定义上的反向传播算法难以实现,一些研究设计了类似反向传播算法[167],能够有效提高训练效率.
5.7.3 非线性运算
经典机器学习中神经网络的关键是引入了非线性运算,如果参数化量子电路也能够运用非线性,那么在参数化量子电路中可以实现经典神经元,用于代替一些经典神经网络完成的任务. 量子门是酉变换运算,酉门组合而成的电路整体运算是线性的,在其中实现Sigmoid函数等非线性激活函数较为困难,甚至能否量子化都是不确定的. 可以采用将变分量子电路与经典神经网络结合的方法,但是如何衡量在混合模型中量子神经网络和经典神经网络的作用比例仍然是一个问题.
6. 结 论
本综述介绍了变分量子算法的基本概念、基于变分量子电路实现的量子机器学习模型,以及变分量子算法目前遇到的诸多挑战. 变分量子算法在分类、对抗学习、自编码器、强化学习等多种机器学习任务上已经体现出其优势或是被证明具有发展潜力,将量子模型与经典优化相结合的方式更适用于近期 NISQ 量子设备. 然而,变分量子算法在量子机器学习领域的发展也面临诸多挑战,算法缺少严格的理论分析,模型缺乏在真实量子环境下的实验验证、算法规模的可扩展性不足等,这些瓶颈制约着变分量子算法在机器学习领域的实际应用. 随着量子硬件水平的发展,变分量子算法在量子机器学习领域的优势将逐渐展现出来,但是在近期相关研究还是集中于如何充分利用NISQ量子设备的潜力,将经典机器学习方法,尤其是经典神经网络与变分量子算法相结合的方式将成为未来重要的发展方向. 强化学习领域中的变分量子算法尽管起步较晚,但是发展潜力巨大,将是近期主要研究方向. 在未来,随着量子硬件水平的不断发展和变分量子算法理论的进步,变分量子算法将从机器学习领域实用化,扩展到工程中成为智能系统的一个重要组件也有望实现.
作者贡献声明:于瑞祺提出论文整体思路和框架并撰写论文;张鑫云提出论文思路;任爽提出指导意见并修改论文.
-
表 1 使用 VCTK 语料库对 DCEWA基线模型的评测分数
Table 1 Evaluation Scores of DCEWA Baseline Models Using VCTK Corpus
方法 评价指标 PESQ STOI CSIG CBAK COVL Noisy 1.97 0.92 3.34 2.44 2.63 SEGAN 2.16 3.48 2.94 2.80 Wave-U-Net 2.40 3.52 3.24 2.96 WaveCRN 2.64 3.94 3.37 3.29 DCUNET 16 3.01 4.10 3.77 3.52 DCUNET20 3.13 4.24 4.00 3.69 TSTNN 2.96 0.95 4.10 3.77 3.52 MSANet 3.11 0.95 4.44 3.63 3.81 MetricGAN+ 3.15 0.95 4.14 3.16 3.64 FTDDN 3.02 0.95 4.25 3.49 3.63 DB-AIAT 3.31 0.95 4.61 3.75 3.96 DBT-Net 3.30 0.95 4.59 3.75 3.92 DCEWA 16(本文) 3.52 0.94 4.22 3.96 3.86 DCEWA 20(本文) 3.60 0.95 4.39 4.06 3.99 注:黑体数值表示最优值. 表 2 使用 VCTK 语料库对不同损失函数性能评测分数
Table 2 Evaluation Scores of Differential Loss Function Using VCTK Corpus
方法 评价指标 PESQ STOI CSIG CBAK COVL DCEWA 16-L1 3.41 0.94 4.04 3.90 3.72 DCEWA 16-L2 3.37 0.94 3.97 3.95 3.66 DCEWA 16-L3 3.45 0.94 4.14 4.00 3.66 DCEWA 16-L4 3.52 0.94 4.22 3.96 3.86 DCEWA 20-L1 3.48 0.94 4.21 3.97 3.83 DCEWA 20-L2 3.45 0.94 4.20 4.01 3.82 DCEWA 20-L3 3.55 0.94 4.29 4.03 3.91 DCEWA 20-L4 3.60 0.95 4.39 4.06 3.99 注:黑体数值表示最优值. 表 3 使用 VCTK 语料库对本文不同前向传播性能评测分数
Table 3 Evaluation Scores of Different Forward Propagation Using VCTK Corpus in This Paper
方法 评价指标 PESQ STOI CSIG CBAK COVL DCEWA 16-FP 3.49 0.94 4.21 3.94 3.86 DCEWA 16-CEFP 3.52 0.94 4.22 3.96 3.86 DCEWA 20-FP 3.56 0.95 4.20 4.05 3.94 DCEWA 20-CEFP 3.60 0.95 4.39 4.06 3.99 注:黑体数值表示最优值. 表 4 使用 VCTK 语料库对本文所提不同的网络模型的消融实验评测分数
Table 4 Evaluation Scores of Our Proposed Different Network Models Using VCTK Corpus in Ablation Experiment
方法 评价指标 PESQ STOI CSIG CBAK COVL SUNET16 3.16 0.93 3.74 3.65 3.43 DUNET16 3.46 0.94 4.21 3.99 3.85 DCEWA 16 3.52 0.94 4.22 3.96 3.86 SUNET20 3.19 0.93 4.02 3.59 3.59 DUNET20 3.52 0.94 4.29 4.04 3.90 DCEWA 20 3.60 0.95 4.39 4.06 3.99 -
[1] Lim J, Oppenheim A. All-pole modeling of degraded speech[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1978, 26(3): 197−210 doi: 10.1109/TASSP.1978.1163086
[2] Boll S. Suppression of acoustic noise in speech using spectral subtraction[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1979, 27(2): 113−120 doi: 10.1109/TASSP.1979.1163209
[3] Ephraim Y, Van Trees H. A signal subspace approach for speechenhancement[J]. IEEE Transactions on Speech and Audio Processing, 1995, 3(4): 251−266 doi: 10.1109/89.397090
[4] 时文华,倪永婧,张雄伟,等. 联合稀疏非负矩阵分解和神经网络的语音增强[J]. 计算机研究与发展,2018,55(11):2430−2438 doi: 10.7544/issn1000-1239.2018.20170580 Shi Wenhua, Ni Yongjing, Zhang Xiongwei, et al. Deep neural network based monaural speech enhancement with sparse nonnegative matrix factorization[J]. Journal of Computer Research and Development, 2018, 55(11): 2430−2438 (in Chinese) doi: 10.7544/issn1000-1239.2018.20170580
[5] Ali M N, Brutti A, Falavigna D. Speech enhancement using dilated Wave-U-Net: An experimental analysis[C]//Proc of the 27th Conf of Open Innovations Association (FRUCT). Piscataway, NJ: IEEE, 2020: 3−9
[6] Zhang Q,Nicolson A,Wang M,et al. DeepMMSE:A deep learning approach to MMSE-based noise power spectral density estimation[J]. IEEE/ACM Transactions on Audio,Speech,and Language Processing,2020,28:1404−1415
[7] Park S R, Lee J. A fully convolutional neural network for speech enhancement[J]. arXiv preprint, arXiv: 1609.07132, 2016
[8] Pandey A, Wang Deliang. Densely connected neural network with dilated convolutions for real-time speech enhancement in the time domain[C]//Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 6629−6633
[9] Pandey A, Wang Deliang. Dual-path self-attention RNN for real-time speech enhancement[J]. arXiv preprint, arXiv: 2010.12713, 2020
[10] Ye Moujia,Wan Hongjie. Improved transformer-based dual-path network with amplitude and complex domain feature fusion for speech enhancement[J]. Entropy,2023,25(2):228
[11] Yu Guochen, Li Andong, Zheng Chenshi, et al. Dual-branch attention-in-attention transformer for single-channel speech enhancement[C]//Proc of the 47th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2022: 7847−7851
[12] Lee J,Kang H G. Real-time neural speech enhancement based on temporal refinement network and channel-wise gating methods[J]. Digital Signal Processing,2023,133:103879
[13] Kong Z, Ping W, Dantrey A, et al. Speech denoising in the waveform domain with self-attention[C]//Proc of the 47th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2022: 7867−7871
[14] Baby D, Verhulst S. Sergan: Speech enhancement using relativistic generative adversarial networks with gradient penalty[C]//Proc of the 44th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2019: 106−110
[15] Hao Xiang, Su Xiangdong, Horaud R, et al. Fullsubnet: A full-band and sub-band fusion model for real-time single-channel speech enhancement[C]//Proc of the 46th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2021: 6633−6637
[16] Tan K, Wang Deliang. A convolutional recurrent neural network for real-time speech enhancement[C]//Proc of INTERSPEECH 2018. Grenoble, France: ISCA, 2018: 3229−3233
[17] Kim J, El-Khamy M, Lee J. T-gsa: Transformer with Gaussian-weighted self-attention for speech enhancement[C]//Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 6649−6653
[18] Pandey A,Wang Deliang. Dense CNN with self-attention for time-domain speech enhancement[J]. IEEE/ACM Transactions on Audio,Speech,and Language Processing,2021,29:1270-1279
[19] Erdogan H, Hershey J R, Watanabe S, et al. Phase-sensitive and recognition-boosted speech separation using deep recurrent neural networks[C]//Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2015: 708−712
[20] Williamson D S, Wang Yuxuan, Wang Deliang. Complex ratio masking for monaural speech separation[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2015, 24(3): 483−492
[21] Choi H S, Kim J H, Huh J, et al. Phase-aware speech enhancement with deep complex U-NET[J]. arXiv preprint, arXiv: 1903.03107, 2019
[22] Macartney C, Weyde T. Improved speech enhancement with the wave-U-NET[J]. arXiv preprint, arXiv: 1811.11307, 2018
[23] Anmol G, Qin J, Chiu C C, et al. Conformer: Convolution-augmented transformer for speech recognition[J]. arXiv preprint, arXiv: 2005.08100, 2020
[24] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Proc of the 31st Int Conf on Neural Information Processing Systems. Cambridge, MA: MIT, 2017: 5998−6008
[25] Liu Ze, Lin Yutong, Cao Yue, et al. Swin Transformer: Hierarchical vision transformer using shifted windows[C]//Proc of the 39th IEEE/CVF Int Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 10012−10022
[26] Koizumi Y, Harada N, Haneda Y. Trainable adaptive window switching for speech enhancement[C]//Proc of the 49th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2019: 616−620
[27] Parvathala V, Andhavarapu S, Pamisetty G, et al. Neural comb filtering using sliding window attention network for speech enhancement[J]. Circuits, Systems, and Signal Processing, 2023, 42(1): 322−343 doi: 10.1007/s00034-022-02123-2
[28] Liang Xinyan, Qian Yuhua, Guo Qian, et al. AF: An association-based fusion method for multi-modal classification[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 44(12): 9236−9254
[29] Hu Yanxin, Liu Yun, Lv Shubo, et al. DCCRN: Deep complex convolution recurrent network for phase-aware speech enhancement[J]. arXiv preprint, arXiv: 2008.00264, 2020
[30] Valentini-Botinhao C, Wang Xin, Takaki S, et al. Investigating RNN-based speech enhancement methods for noise-robust text-to-speech[C]//Proc of the 9th ISCA Int Conf on Speech Synthesis Workshop. Grenoble, France: ISCA, 2016: 146−152
[31] Peer T, Gerkmann T. Phase-aware deep speech enhancement: It’s all about the frame length[J]. JASA Express Letters, 2022, 2(10), 104802
[32] Wang Zhedong, Cun Xiaodong, Bao Jianming, et al. Uformer: A general U-shaped transformer for image restoration[C]//Proc of the 41st IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2022: 17683−17693
[33] Luo Yi, Chen Zhuo, Yoshioka T. Dual-path RNN: Efficient long sequence modeling for time-domain single-channel speech separation[C]//Proc of the 50th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 46−50
[34] Thiemann J, Ito N, Vincent E. The diverse environments multi-channel acoustic noise database (demand): A database of multichannel environmental noise recordings[J] Journal of the Acoustical Society of America, 2013, 19(1): 035081
[35] Loizou P C. Speech Enhancement: Theory and Practice[M]. Boca Raton: CRC Press, 2013
[36] Hu Yi, Loizou P C. Evaluation of objective quality measures for speech enhancement[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2007, 16(1): 229−238
[37] Pascual S, Bonafonte A, Serra J. SEGAN: Speech enhancement generative adversarial network[J]. arXiv preprint, arXiv: 1703.09452, 2017
[38] Tsun-An Hsieh,Wang Hsin-Min,Lu Xuguang,et al. WaveCrn:An efficient convolutional recurrent neural network for end-to-end speech enhancement[J]. IEEE Signal Processing Letters,2020,27:2149−2153
[39] Wang Kai, He Bengbeng, Zhu Weiping. TSTNN: Two-stage transformer based neural network for speech enhancement in the time domain[C]//Proc of the 51st IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2021: 7098−7102
[40] Wang Ning,Ma Sihan,Li Jingyuan,et al. Multistage attention network for image inpainting[J]. Pattern Recognition,2020,106:107448
[41] Fu S W, Yu Cheng, Hsieh T A, et al. MetricGAN+: An improved version of metricGAN for speech enhancement[J]. arXiv preprint, arXiv: 2104.03538, 2021
[42] 黄翔东, 陈红红, 甘霖. 基于频率-时间扩张密集网络的语音增强方法[J]. 计算机研究与发展,2023,60(5):1628−1638 Huang Xiangdong, Chen Honghong, Gan lin. Speech enhancement method based on frequency-time dilated dense network[J]. Journal of Computer Research and Development, 2023, 60(5): 1628−1638 (in Chinese)
[43] Yu Guochen, Li Andong, Zheng Chengshi, et al. Dual-branch attention-in-attention transformer for single-channel speech enhancement[C]//Proc of the 52nd IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2022: 7847−7851
[44] Yu Guochen,Li Andong,Wang Hui,et al. DBT-Net:Dual-branch federative magnitude and phase estimation with attention-in-attention transformer for monaural speech enhancement[J]. IEEE/ACM Transactions on Audio,Speech,and Language Processing,2022,30:2629−2644