量子核方法与混合架构:在MNIST图像分类中的实践与优化
1. 项目概述:当量子计算遇见经典图像识别
在图像分类这个经典机器学习任务上,MNIST手写数字数据集就像一块“试金石”,几十年来见证了从简单的感知机到深度卷积网络的演进。如今,随着量子计算从理论走向实践,一个自然的问题浮现:量子计算能为这个看似已被“解决”的问题带来什么新视角?答案可能不在于简单地用量子电路替换某个神经网络层,而在于探索一种全新的数据表征与计算范式——量子核方法,以及如何将其与成熟的经典架构优雅地结合。
量子核方法的核心思想颇具吸引力。在经典支持向量机中,核函数κ(x_i, x_j)隐式地将数据映射到高维甚至无限维的特征空间,从而找到线性决策边界。然而,某些复杂核函数的计算成本极高。量子计算则提供了一种可能性:利用量子态的叠加和纠缠特性,我们可以设计一种量子特征映射,将经典数据编码为量子态,然后通过量子测量来定义两个量子态之间的“相似性”,即量子核。理论上,这种量子核可以访问经典计算机难以高效模拟的希尔伯特空间,从而捕获数据中更微妙、更高阶的关联模式。
但理想丰满,现实骨感。当前的量子硬件,无论是超导、离子阱还是我们项目中采用的光量子体系,都属于“含噪声中等规模量子”设备。量子比特数有限、相干时间短、操作存在误差。因此,纯粹的量子神经网络往往难以匹敌经过千锤百炼的经典模型。这就催生了“混合量子-经典”架构的兴起:让量子部分专注于其可能具有优势的特征提取或核计算,而让经典部分负责复杂的优化、序列化处理和最终决策。这种分工协作,旨在结合两者的优势,探索超越经典方法的性能边界。
本文将深入复盘我们在MNIST分类任务上,对量子核方法及多种混合架构的完整实现与优化历程。我们将从最基础的量子核支持向量机开始,逐步深入到更复杂的光量子神经网络、混合卷积架构,直至探索前沿的代理模型训练方法。整个过程不仅涉及模型设计,更贯穿了数据编码、参数优化、硬件约束应对等一系列工程细节。你会发现,量子机器学习的实践远非替换一个Linear层那么简单,它是一场在表达力、训练稳定性、计算开销和硬件限制之间寻求精妙平衡的探索。
2. 核心思路与方案选型:为何选择混合架构?
面对MNIST分类任务,直接套用一个现成的经典卷积神经网络或许是最快达到高准确率的路径。但我们的目标并非仅仅复现一个SOTA结果,而是探究量子计算在机器学习流程中的有效切入点和价值。因此,我们的方案选型围绕以下几个核心问题展开:量子部分最适合扮演什么角色?如何与经典部分衔接?在当前的硬件和模拟条件下,哪些方案是切实可行的?
2.1 从经典基线到量子核SVM
我们首先建立了坚实的经典基线。将784维的MNIST图像通过主成分分析降至20维,并归一化缩放至[0, π]区间,形成特征向量。在这个基础上,我们训练了线性、多项式和高斯核的经典支持向量机。最终,线性核以90.00%的验证集准确率胜出。这个结果看似普通,但它确立了一个重要的参照点:在降维后的数据上,一个简单的线性模型已经能取得不错的效果。这暗示我们,如果量子方法不能显著超越这个基线,那么其引入的复杂性可能就是不必要的。
量子核SVM是我们的第一个量子切入点。其思路是:设计一个量子电路(特征映射),将经典数据点x映射为量子态|φ(x)>。那么,两个数据点x_i和x_j之间的量子核函数可以定义为它们对应量子态内积的模平方:κ(x_i, x_j) = |<φ(x_i)|φ(x_j)>|^2。这个值可以通过运行量子电路并测量来估计。如果这个量子核能够将数据映射到一个更具区分度的特征空间,那么后续的经典SVM就能实现更好的分类。
注意:这里存在一个关键的理解点。量子核本身并不直接“学习”,它是由固定的量子特征映射电路定义的。模型的“学习”仍然发生在经典SVM的层面,即寻找最优的分类超平面。量子部分的优劣,完全取决于特征映射电路的设计是否巧妙,能否揭示数据的内在结构。
2.2 混合架构的必然性:UDENN与交替训练
纯粹的量子神经网络(QNN)面临严峻的训练挑战。量子电路的参数通常需要通过测量期望值来估算梯度,这个过程在NISQ设备上噪声大、方差高,导致基于梯度的优化算法(如参数移位规则)极不稳定。因此,我们引入了“酉矩阵扩张神经网络”(UDENN)及其交替训练策略。
UDENN的核心是将模型明确划分为量子(光学)和经典两个子系统。量子部分负责特征提取,其参数(如干涉仪中的相移器角度)记为θ_q;经典部分(通常是全连接层)的参数记为θ_c。受自动控制理论中“时间尺度分离”思想的启发,我们采用交替优化策略:
- 固定
θ_q,优化θ_c:此时问题是一个标准的经典神经网络优化,可以使用成熟的梯度下降法(如Adam),快速收敛。 - 固定
θ_c,优化θ_q:由于量子部分的梯度难以可靠获取,我们采用无导数优化算法,如同时扰动随机逼近。SPSA算法通过随机扰动参数并观察损失函数的变化来估计更新方向,虽然收敛慢,但对噪声有较好的鲁棒性。
这种交替训练的策略,实质上是承认了量子与经典组件在优化特性上的根本差异,并为之匹配了最合适的“工具”。它避免了将两者强行捆绑进行端到端梯度传播所带来的不稳定问题。
2.3 迈向专用化:光量子卷积神经网络与量子核卷积
对于图像数据,卷积结构已被证明是极其有效的归纳偏置。我们自然地将这一思想引入量子领域,设计了两种路径:
光量子卷积神经网络:其灵感来源于经典CNN。我们将图像像素编码为多模光量子态(如路径编码),其中每个像素的灰度值对应于某个特定模式上存在光子的概率幅。然后,我们设计量子“卷积层”,它由一组可学习的线性光学元件(分束器和相移器)构成,在局部模式子集上操作,实现平移不变的特征提取。随后,我们甚至设计了量子“池化层”,通过测量丢弃部分模式(光子)来降低维度。最后通过一个全局的干涉仪(全连接层)产生输出。
基于量子核的卷积层:这是一种更紧密的混合。我们设计一个小的量子电路(例如,处理3x3或5x5的图像块),该电路将图像块编码进去,并输出一个特征向量(例如,各模式上的光子数期望值)。这个量子电路本质上是一个非线性的、参数化的特征映射函数。然后,我们像使用经典卷积核一样,让这个量子电路滑过整张图像,为每个局部区域生成一个量子特征图。这个量子特征图可以与经典CNN提取的特征图在通道维度上进行拼接,共同输入给后续的经典网络进行处理。
第二种方案的优势在于灵活性。量子核可以是固定的(非训练),作为额外的特征提取器;也可以是可训练的,其参数与经典网络参数一同优化。这为我们探索量子-经典的协同效应提供了丰富的实验空间。
2.4 应对训练难题:代理模型与梯度自由学习
无论是UDENN的交替训练,还是可训练量子核的优化,都绕不开量���部分的优化难题。SPSA等无导数方法虽然稳健,但样本效率低,收敛缓慢。为此,我们探索了更先进的策略——梯度自由光基自适应代理集成。
GLASE方法的精髓在于“以经典模拟量子”。我们训练一个经典的小型神经网络(称为代理模型),其输入是量子电路的参数φ,输出是模拟该量子电路行为的关键指标(如各模式光子数的期望值<n>)。在训练主模型时,我们不再直接调用昂贵的量子电路模拟(或真实的QPU执行)来计算前向传播和梯度,而是使用这个训练好的代理模型来替代。由于代理模型是完全可微的经典神经网络,我们可以畅通无阻地使用反向传播算法来同时优化经典部分和量子部分的参数。
实操心得:代理模型的质量是关键。我们通常使用一个3-4层的多层感知机来构建代理模型。训练代理模型时,需要在一个有代表性的量子参数空间内采样,生成
(φ, <n>)配对数据。代理模型的更新频率需要仔细权衡:更新太频繁,计算开销大且可能过拟合到代理模型的误差;更新太慢,则代理模型无法跟上主模型优化过程中量子参数的变化。我们的实验表明,每5-10个主训练周期更新一次代理模型是一个较好的折衷。
3. 数据编码:连接经典与量子的桥梁
将经典的、连续的数字图像数据转化为可供量子电路处理的物理量,是量子机器学习的第一步,也是最关键的设计决策之一。编码策略直接决定了量子态所能承载的信息内容和结构,对模型性能有决定性影响。
3.1 编码策略的消融研究
我们针对光量子神经网络,系统比较了三种编码策略,以理解不同映射方式的影响。假设我们有一个d维的特征向量x(例如,20维的PCA成分),需要将其编码到m个光学模式上。
1. 相位编码:S(x) = 2π * x。这是最直观的编码方式,将归一化到[0,1]的数据线性映射到[0, 2π]的相位角。每个数据维度x_k对应一个模式上的相移器相位φ_k = 2π * x_k。其幺正矩阵是一个对角矩阵:U_enc = diag(exp(i*2π*x_1), ..., exp(i*2π*x_m))。这种编码提供了数据的周期性表示。
2. 线性编码:S(x) = x。直接将数据值作为相位(需确保x在[0,1])。即φ_k = x_k。这可以看作是一种“裁剪”的角表示,仅覆盖了[0,1]弧度区间。
3. 可学习缩放编码:S(x) = λ · x,其中λ是一个与数据同维度的、可训练的参数向量。编码相位为φ_k = λ_k * x_k。这赋予了模型根据任务需求自适应调整数据缩放因子的能力。其幺正矩阵为U_enc = diag(exp(i*λ_1*x_1), ..., exp(i*λ_m*x_m))。
我们的实验结果表明(对应原文图23),可学习缩放编码 consistently 取得了最佳的验证集准确率。相位编码和线性编码在输入维度较高(如使用全部784个像素或PCA成分数>10)时,模型训练困难,损失下降缓慢并很快进入平台期。而可学习编码则能更有效地利用干涉仪的表示能力。
深度解析:为什么可学习编码更有效?相位编码和线性编码是固定的、与任务无关的映射。它们可能无法将数据映射到量子态空间中对于分类任务最有利的区域。可学习的缩放因子
λ实际上是在训练过程中,让模型自己“寻找”一个最优的编码方式。λ的每个元素控制着对应数据维度对最终量子态影响的“权重”或“灵敏度”。这相当于在数据进入量子电路之前,增加了一个可适应的预处理层,极大地增强了模型的灵活性。
3.2 编码重复频率L的影响
另一个探索方向是数据在量子电路中出现的频率。我们尝试将编码层重复L次(L=1,2,3,5),即U_total = (U_ansatz * U_enc)^L,其中U_ansatz是可学习的干涉仪层。直觉上,重复编码可能像经典RNN中的循环一样,增强模型的表达能力。
然而,实验结果(对应原文表12)令人意外:增加L并未带来性能提升,反而导致准确率显著下降(L=1时最佳验证准确率61.95%,L=5时降至40.98%)。同时,可训练参数数量随L增加而增多。
这揭示了光量子神经网络的一个关键特性:过度重复简单的编码操作,并不会像深度经典神经网络那样必然带来收益,反而可能引入不必要的噪声和优化难度。量子电路的表达能力更多地依赖于纠缠和干涉的复杂度,而非简单的层堆叠。对于MNIST这类任务,单次编码配合一个足够复杂的可学习U_ansatz层,似乎已经能够捕获所需的非线性特征。
3.3 图像数据的专用编码:路径编码与态制备
对于2D图像数据,我们采用了更物理直观的“路径编码”方案。考虑一个N1 x N2的灰度图像。我们使用两个光学模式寄存器,分别包含N1和N2个模式。图像中位于(i,j)的像素值x_{i,j},被编码为在两个寄存器中分别激发第i和第j个模式的概率幅。具体来说,我们制备一个双光子的量子态:|ψ_in> = Σ_{i,j} (x_{i,j} / ||x||_2) |e_i> |e_j>其中|e_i>表示在第i个模式上有一个光子,其他模式为真空的福克态。||x||_2是图像的L2范数,用于归一化以保证态的总概率为1。
这种编码方式的优势在于保持了空间局部性。图像中相邻的像素被编码到模式寄存器中相邻的模式上。这使得后续定义平移不变的量子卷积操作成为可能(见下文)。当然,在实验上制备这样的多光子、多模纠缠态具有挑战性,通常需要额外的辅助光子和后选择过程,但这在理论模拟和未来硬件中是一个清晰的方向。
4. 模型训练:超参数、策略与陷阱
设计好模型架构和编码方案只是第一步,如何有效地训练这些混合模型是另一个巨大的挑战。量子部分的引入带来了新的超参数和优化动力学。
4.1 学习率与优化器调优
在训练包含量子层的混合模型时,学习率的选择至关重要。我们发现,量子层与经典层对学习率的敏感度不同。
学习率的影响:我们固定其他超参数,系统调整了Adam优化器的学习率(lr)。结果(对应原文表13)显示,学习率存在一个最优区间。过小的学习率(如0.001, 0.005)导致收敛极其缓慢,甚至在训练早期就陷入平台期。过大的学习率可能导致优化不稳定。对于我们的光量子NN,学习率在0.05附近取得了最佳验证准确率(71.45%),显著高于默认的0.01(61.95%)。
原因分析:量子参数的优化曲面可能比经典参数更加崎岖和平坦。较小的梯度信号需要更大的学习率步长才能有效更新参数。这提示我们,在混合模型中,或许应该为量子部分和经典部分设置差异化的学习率,这是一个值得尝试的优化技巧。
Adam优化器参数:我们还探索了Adam优化器中一阶矩估计衰减率β1和二阶矩估计衰减率β2的影响。默认值为(0.9, 0.999)。我们发现,对于我们的任务,使用(0.8, 0.9999)能带来轻微的性能提升。
- 降低
β1(从0.9到0.8):减少了对历史梯度的动量依赖,使得优化器对近期梯度更加敏感,更新方向调整更快。这在量子参数优化曲面复杂时可能有助于跳出局部极小点。 - 提高
β2(从0.999到0.9999):在计算自适应学习率时,考虑了更长的历史平方梯度,使得每个参数的学习率调整更加平滑稳定,避免了剧烈波动,这对于噪声敏感的量子部分训练尤为重要。
权重衰减:我们尝试了在Adam中引入L2正则化(权重衰减)。然而,实验发现weight_decay=0时效果最好。一种可能的解释是,在当前的混合模型中,特别是量子部分,参数本身不会产生巨大的幅值,过度的权重衰减反而可能限制了模型的表达能力。
4.2 量子资源:模式数与光子数
光量子系统的两个核心资源是模式数和光子数,它们直接决定了量子电路的希尔伯特空间维度和表达能力。
模式数的影响:模式数m决定了系统可以编码的信息维度上限。我们不断增加干涉仪中的模式数量,并观察验证准确率的变化(对应原文图25)。总体趋势是:增加模式数有助于提升模型的泛化能力和准确率。更多的模式意味着量子态可以存在于更高维的纠缠空间中,从而可能学习到更复杂的特征表示。然而,模式数的增加也会平方级地增加电路参数(一个通用m模干涉仪需要约O(m^2)个参数),并大幅提升经典模拟的计算成本。
光子数的影响:光子数N决定了系统的激发能级。我们固定模式数为10,改变输入的光子数及其注入模式(对应原文图26)。实验发现,并非简单地注入更多光子就能获得更好性能。关键是如何在模式间分配这些光子。例如,在10个模式中,采用[1,0,1,0,1,0,1,0,1,0]的输入态(即间隔注入光子)比在所有前N个模式中等量注入光子(“N-equi”)效果更好。这表明,光子在不同模式间的干涉模式是特征提取的关键,一种非均匀的、结构化的光子输入态可能更有利于产生丰富的、可区分的量子特征。
4.3 训练数据规模与量子优势
一个根本性的问题是:量子模型需要多少数据才能展现出优势?我们对比了量子神经网络、经典线性层和线性SVM在不同训练集规模下的表现(对应原文表14及图27)。
| 训练样本数 | 量子NN准确率 | 经典线性层准确率 | 线性SVM准确率 | 量子NN参数量 | 经典线性层参数量 |
|---|---|---|---|---|---|
| 50 | 24.0% ± 1.62 | 58.98% ± 1.07 | 58% | 21294 | 25450 |
| 100 | 38.39% ± 0.43 | 74.62% ± 0.23 | 71.33% | 21294 | 25450 |
| 250 | 52.38% ± 2.53 | 82.31% ± 0.19 | 79.83% | 21294 | 25450 |
| 500 | 68.23% ± 1.8 | 87.59% ± 0.49 | 86.5% | 21294 | 25450 |
| 1000 | 73.39% ± 2.39 | 90.94% ± 0.37 | 88.17% | 21294 | 25450 |
| 2500 | 77.15% ± 2.28 | 90.86% ± 0.25 | 91.33% | 21294 | 25450 |
| 5000 | 83.02% ± 1.61 | 90.6% ± 0.54 | 91.33% | 21294 | 25450 |
从表中可以得出几个清晰结论:
- 数据饥渴性:在小样本(50-250)场景下,量子NN的表现远逊于简单的经典模型。这表明当前的量子模型结构需要更多的数据来学习有效的特征表示。
- 收敛趋势:随着数据量增加到5000,量子NN的准确率逐渐提升至83%,与经典模型(约91%)的差距缩小,但仍有距离。同时,量子NN结果的方差(±值)普遍高于经典模型,说明其训练过程更不稳定。
- 参数量对比:量子NN与经典线性层参数量级相当(约2.1万 vs 2.5万),但性能却有差距。这暗示参数量并非性能的决定因素,模型的结构和优化动力学更为关键。
为了更直观地理解模型学到了什么,我们使用了t-SNE降维技术来可视化模型在倒数第二层产生的特征表示(对应原文图28)。结果显示,经典分类器(线性层或SVM)学到的特征表示在二维空间中形成了更清晰、更分离的类别簇。而量子NN学到的特征表示则更加混杂,类别间的界限模糊。这从表示学习的角度证实了,在当前设置下,量子NN提取的特征判别性不如经典模型。
5. 混合卷积架构的实战解析
将量子核整合到经典的CNN流水线中,是发挥两者优势的务实之举。我们设计并实现了一种并行的混合卷积架构。
5.1 架构设计:双分支并行处理
我们的混合模型包含两个并行的处理分支:
- 经典分支:一个标准的CNN,包含两个卷积层(核尺寸3x3和5x5,分别输出16和32个通道),使用ReLU激活和池化层。它处理原始的28x28灰度图像,提取空间视觉特征。
- 量子分支:基于光量子核的卷积层。我们使用一个小的量子电路(例如,处理2x2图像块)作为卷积核。该电路以图像块作为输入(通过相位编码),经过一个参数化的干涉仪,输出一个特征向量(例如,5维或20维,对应不同模式的光子数期望)。这个量子核以步长2滑过图像,为每个位置生成一个量子特征,最终形成一个14x14xN_quantum的特征图。这个特征图会再经过1-2个小的经典卷积层(用于增强表征)进行处理。
融合策略:经典分支和量子分支输出的特征图在通道维度上进行拼接。例如,经典分支输出32个通道的特征图,量子分支输出5个通道的特征图,拼接后得到37个通道的融合特征图。这个融合后的张量被展平,然后送入一个全连接网络(如128个隐藏单元,10个输出类)进行最终分类。
这种设计的优势在于:
- 特征互补:经典分支捕获像素级的空间模式和纹理,而量子分支(理论上)可以捕获通过量子干涉产生的、经典卷积难以提取的高阶关联模式。
- 训练灵活性:量子核可以是非训练的(固定电路),此时量子分支相当于一个静态的特征提取器,其输出可以预先计算并缓存,极大加速训练。量子核也可以是可训练的,此时需要实现一个自定义的卷积层,在每次前向传播时动态调用量子模拟来计算卷积结果。
5.2 量子核电路设计:类型与深度
我们探索了两种主要的量子核电路编码方式(对应原文图37, 38):
- 类型1(同步编码):对于一个
k x k的图像块,使用m = k^2个模式,每个像素值直接编码到一个模式的相位上。所有编码同时完成。 - 类型2(延迟编码):使用
m = ceil(k^2 / 2)个模式。编码分两步进行:先将前m个像素编码,经过一层分束器混合后,再将剩余的像素编码到同一组模式上。这种交错编码和混合的方式,可能在更少的模式下实现更复杂的干涉。
电路深度(干涉仪中层数L)是一个关键的超参数。我们的消融研究表明(对应原文第F节末尾),深度需要适中:
- 过浅(L=1-2):量子干涉不充分,输出特征熵值低(~0.21),模型表达能力有限,验证准确率较低(~96.5%)。
- 过深(L=7-8):电路过于复杂,可能引入了类似“噪声”的随机性,输出特征熵值接近最大(~0.99),但分类准确率反而下降至~97.0%。
- 适中(L=3-5):取得了最佳平衡,输出特征具有结构化的纠缠(熵值~0.49),验证准确率达到峰值(~99.0%)。这印证了“甜蜜点”的存在:足够的深度以产生有用的量子关联,但又不能深到使优化变得不可控或输出退化。
5.3 训练配置与性能分析
所有模型在MNIST的6000张训练集和1000张测试集上进行训练。使用Adam优化器,学习率1e-3,交叉熵损失,批量大小为32。
- 纯量子核模型:当我们移除经典分支,仅使用可训练的量子核卷积层构建模型时,观察到了严重的过拟合。模型在训练集上达到了98.4%的准确率,但在验证集上暴跌至67.5%。这强烈表明,仅凭量子特征不足以实现良好的泛化,必须与经典特征结合。
- 混合模型性能:结合了20通道量子特征的混合模型表现最佳,在大约15个周期内就达到了90%的验证准确率,收敛速度远快于仅使用5通道量子特征的模型(后者需要80多个周期)。这证明了更丰富的量子特征表示(更高维度���对学习有益。
- 卷积步长:比较了步长1和步长2。步长1会产生729个重叠图像块,步长2产生196个。虽然步长1得到的量子特征图更平滑,但并未带来显著的准确率提升,却增加了约3.7倍的计算成本。因此,步长2是效率与性能的更好权衡。
6. 高级话题:GLASE方法与量子卷积的更多细节
6.1 GLASE:用代理模型绕过量子梯度
GLASE方法的数学基础在于,光子量子电路的输出概率分布计算(涉及矩阵积和式)是指数级复杂的。我们转而计算一个可微的近似——光子数期望值<n_i>。我们训练一个经典代理神经网络g_α(φ),使其近似映射φ -> <n>,其中φ是量子电路参数。
训练流程形成一个双层循环:
- 内层循环(代理模型训练):在当前的量子参数
φ附近采样,通过精确但昂贵的量子模拟计算<n>,用这些数据训练或微调代理模型g_α。 - 外层循环(主模型训练):使用代理模型
g_α来代替真实的量子电路进行前向传播。由于g_α是可微的,我们可以通过标准的反向传播同时优化经典编码器参数和量子参数φ。
注意事项:代理模型的更新频率是需要仔细调节的超参数。更新太频繁(如每轮迭代)计算开销大;更新太慢(如每50轮),代理模型可能无法准确跟踪主模型优化路径上量子参数的变化,导致梯度方向错误。我们通过实验发现,每5-10个主训练周期更新一次代理模型,能在保真度和效率间取得良好平衡。
6.2 光量子卷积的更多细节
在纯光量子卷积网络中,我们进一步探讨了特征映射和拟设的设计。
- 特征映射:例如“Achilles”架构,使用固定的分束器网络将两个光子分配到所有模式,然后用像素值
(x_i - 0.5) * π/2来设置每个模式上的相移器。另一种“Odysseus”架构则使用更复杂的、包含27个组件的结构,参数由输入通过{-2πx, 2πx, sin(2πx)}三种变体之一来设定。 - 拟设:这是可学习的量子电路部分。例如“Penarddun”架构采用深度为6的矩形马赫-曾德尔干涉仪阵列,共48个可学习参数;“Gofanon”架构则采用重复的BS.H+2PS和BS.Ry+2PS模块,共96个参数。
输出映射策略:量子卷积层输出的是关于福克态的概率分布。如何将其转化为经典神经网络可处理的张量?我们比较了两种方法:
- 最大似然:对每个图像块,选择概率最大的福克态(一个整数向量)作为输出。这种方法输出是离散的。
- 期望值:计算所有可能福克态的光子数期望值,得到一个连续值向量。
实验表明(对应原文图40),最大似然方法在训练周期和训练时间上都收敛得更快(快30%-50%)。这可能是因为最大似然输出提供了更尖锐、更具判别性的信号,有利于梯度传播。
7. 常见问题、挑战与实战心得
在实现和优化这些量子混合模型的过程中,我们遇到了诸多挑战,也积累了一些宝贵的经验。
7.1 训练不稳定与梯度问题
问题:纯量子神经网络或混合模型中量子部分的训练经常出现损失剧烈震荡、无法收敛或陷入平庸解的情况。排查与解决:
- 检查编码范围:确保输入数据被正确归一化并映射到合适的相位范围(如
[0, π]或[0, 2π])。超出范围的相位值可能导致量子态失去意义。 - 调整学习率:如4.1节所述,量子部分往往需要比经典部分更大的学习率。尝试为量子参数和经典参数设置不同的学习率。
- 更换优化器:对于基于参数移位规则的梯度,可以尝试使用更鲁棒的优化器,如带有梯度裁剪的Adam。对于无导数优化(如SPSA),需要仔细调整其内部参数(扰动幅度、衰减系数等)。
- 引入代理模型:对于复杂的量子电路,强烈考虑使用GLASE等代理模型方法,将不可靠的量子梯度替换为稳定的经典代理梯度。
7.2 性能不及经典基线
问题:辛苦实现的量子混合模型,准确率却不如一个简单的经典CNN或SVM。分析与思路:
- 管理预期:在当前NISQ时代,量子模型在像MNIST这样的任务上超越高度优化的经典模型是极其困难的。我们的目标更多是验证可行性、探索优势和积累经验。
- 数据量:确保使用足够大的训练集。我们的实验表明,量子模型通常是“数据饥渴型”的。
- 架构匹配:检查量子部分的设计是否与任务匹配。例如,对于图像,采用具有局部连接和参数共享的量子卷积结构,可能比全连接的量子层更有效。
- 特征融合:检查经典分支与量子分支的特征是否真正互补。可以通过可视化各自的特征图,或计算特征之间的相关性来进行分析。如果两者高度相关,则融合收益有限。
- 超参数搜索:量子模型对超参数(学习率、电路深度、编码方式、光子数/模式数)可能更敏感。需要进行系统的超参数搜索。
7.3 模拟计算成本高昂
问题:模拟光量子电路,尤其是涉及多个光子和模式的电路,计算量随规模指数增长,严重拖慢实验迭代速度。优化策略:
- 使用近似模拟器:对于仅关注光子数期望值的应用,可以使用高斯玻色子采样近似或相空间模拟方法,而不是精确计算全概率分布。
- 缓存与预计算:如果量子核是固定的(非训练),可以预先计算所有训练样本的量子特征并存储,在训练时直接加载,避免重复模拟。
- 利用GPU和并行化:使用支持GPU的量子模拟库,并对批量数据或不同电路参数的模拟进行并行化处理。
- 限制电路规模:在实验阶段,从小规模电路开始(少模式、少光子),验证想法后再逐步扩展。
7.4 向真实硬件部署的挑战
问题:在模拟中运行良好的模型,部署到真实光量子处理器时性能大幅下降。可能原因与缓解措施:
- 噪声与损耗:真实器件存在光子损耗、模式串扰、相位漂移等噪声。需要在训练中引入噪声模型,或使用包含噪声数据的增强训练。
- 采样方差:硬件上只能通过有限次测量来估计期望值,这会引入方差。增加采样次数可以降低方差,但会增加数据采集时间。需要考虑在有限采样下的稳健训练策略。
- 参数校准误差:设定的相移器角度与实际值存在偏差。需要定期的硬件校准,或在模型中考虑参数的不确定性。
- 后选择:许多光子实验需要后选择特定输出(如无碰撞输出)。这降低了有效数据率。算法设计时需要考虑到后选择概率,或设计对后选择不敏感的测量方案。
7.5 一个关键的取舍:表达力与可训练性
这是我们贯穿整个项目的最深体会。量子电路,通过叠加和纠缠,理论上拥有巨大的表达潜力。但是,这种表达力是一把双刃剑。高维的希尔伯特空间也意味着优化曲面可能更加复杂,充满更多的局部极小点和平坦区域。同时,从含噪声的量子测量中获取可靠的梯度信息本身就是一项挑战。
因此,在设计量子机器学习模型时,必须在表达力和可训练性之间做出谨慎的权衡。一个过于复杂、参数众多的量子电路可能难以优化;而一个过于简单的电路又无法展现量子优势。我们的经验是:
- 从小处着手:从浅层电路、少量模式/光子开始,确保模型能够被稳定训练。
- 逐步增加复杂度:在模型能够稳定训练的基础上,再逐步增加电路深度或资源,并观察性能是否持��提升。
- 优先考虑混合架构:让量子部分专注于它可能擅长的、相对简单的变换(如特征映射、核计算),而将复杂的序列化学习和决策交给经典的深度网络。这种分工是目前最务实有效的路径。
- 善用经典工具:代理模型、无导数优化、迁移学习等经典机器学习中的技术,是驾驭量子模型可训练性的重要工具。
量子机器学习仍然是一个充满未知和机遇的前沿领域。每一次实验,无论是成功还是失败,都在帮助我们更好地理解如何让量子与经典计算协同工作。本文记录的方法、数据和经验,希望能为同行提供一份切实的参考,共同推动这个令人兴奋的领域向前发展。
