3. 过拟合在量子模型中的表现形式

在经典机器学习中,我们习惯用“训练集准确率高、测试集准确率低”来判定过拟合。量子机器学习虽然底层是参数化量子电路(PQC)与量子测量,但过拟合的“症状”同样可以观察,只是它的表现形式更隐蔽:除了性能差距,还会体现在量子态层析的重构误差、参数化电路的表达能力与泛化能力之间的错配上。本节围绕这四种表现展开,并给出一个可复现的典型过拟合案例。

一、训练集与测试集性能差距:最直接的信号

量子分类模型通常以测量期望值作为输出,例如对某个可观测量 ⟨Z⟩ 做阈值判断。设训练损失为 L_train、测试损失为 L_test,最直观的过拟合指标是泛化间隙 G = L_test − L_train。当 G 随训练轮次持续增大,而 L_train 仍在下降时,模型已经开始记忆训练样本的噪声而非学习规律。

需要注意量子场景下的两个陷阱。第一,测量采样带来的统计噪声会让 L_test 本身有方差,单次评估不可靠,应使用 shots=1024 以上的多次采样并报告均值与标准差。第二,训练集与测试集若来自同一次量子态制备、共享相同的硬件漂移,测试集会被“污染”,导致间隙被低估。因此划分数据集时应在电路执行前完成,并尽量让测试集来自独立制备的量子态。

二、量子态层析重构误差:量子特有的“记忆”证据

性能差距只告诉我们“泛化变差”,却不说明模型内部发生了什么。量子态层析(quantum state tomography)提供了更细粒度的证据:对训练样本和测试样本分别重构模型输出的量子态 ρ_model,与目标态 ρ_target 比较保真度 F = (Tr√(√ρ_target ρ_model √ρ_target))²。若模型在训练样本上的重构保真度接近 0.99,而在测试样本上只有 0.75,说明电路已经把训练态的具体结构“编码”进了参数,而不是学到可迁移的态制备规律。

实际操作中,完整层析的测量次数随比特数指数增长,对 4 比特以上系统不现实。工程上常用局部层析或影子层析(shadow tomography)替代:只对关键子系统的单比特和两比特约化密度矩阵做重构,观察训练/测试保真度之差。这个差值就是量子版的“记忆指标”,比单纯的标签准确率更能揭示过拟合的机理。

三、表达能力与泛化差距的关联

参数化电路的表达能力由 ansatz 结构决定:层数 L、纠缠门数量、参数维度共同决定它能覆盖的酉变换子空间大小。表达能力越强,越容易拟合训练数据,但也越容易过拟合。这里存在一个“表达能力—泛化”的权衡曲线:

  • 欠表达区:层数太少,训练与测试误差都高,属于欠拟合;
  • 匹配区:表达能力与数据复杂度相当,泛化间隙小;
  • 过表达区:层数过多、参数冗余,训练误差趋近于零,测试误差回升,泛化间隙显著扩大。

判断是否进入过表达区,可以观察有效参数维度:若参数数量远超训练样本数,或损失曲面出现大量近似零曲率的平坦方向,说明模型有大量“闲置自由度”去记忆噪声。此时应优先考虑减少层数、加入参数正则或使用数据增强,而不是继续增加训练轮次。

量子模型过拟合的四类可观测表现 过拟合 记忆噪声而非规律 ① 训练/测试性能差距 G = L_test − L_train 持续增大 注意采样噪声与数据泄漏 ② 量子态层析重构误差 训练态保真度 0.99 测试态保真度 0.75 ③ 表达能力—泛化权衡 层数/参数过多 → 过表达区 有效参数维度 > 样本数 ④ 典型过拟合案例 4 比特分类,8 层 ansatz 训练 0.98 / 测试 0.62 四类表现相互印证:性能差距给信号,层析误差给机理,表达能力给根因,案例给复现路径

四、典型过拟合案例展示

下面给出一个教学示例(参数与结果均为合理假设,用于说明诊断流程,非实测数据)。任务是对 4 比特的量子态做二分类,数据集共 200 个样本,训练集 160、测试集 40。ansatz 采用硬件高效结构:8 层,每层含单比特旋转 RY、RZ 与环形 CNOT 纠缠,共 8×4×2 = 64 个可训练参数。优化器用 Adam,学习率 0.05,损失为测量期望值的均方误差。

# 伪代码:诊断过拟合的关键观测点
for epoch in range(120):
    L_train = evaluate(model, train_set, shots=2048)
    L_test  = evaluate(model, test_set,  shots=2048)
    gap     = L_test - L_train
    if epoch % 20 == 0:
        F_train = tomography_fidelity(model, train_set[:8])
        F_test  = tomography_fidelity(model, test_set[:8])
        print(epoch, L_train, L_test, gap, F_train, F_test)

假设的观测结果是:第 20 轮时 L_train=0.18、L_test=0.21,间隙 0.03,训练/测试层析保真度分别为 0.91 与 0.88,属于正常拟合;第 80 轮时 L_train=0.04、L_test=0.33,间隙扩大到 0.29,训练保真度升到 0.98,测试保真度却降到 0.74。这一组数据同时命中了表现①和②:性能差距扩大,且层析保真度在训练集与测试集之间出现明显分裂。

进一步检查表现③:64 个参数对应 160 个训练样本,参数/样本比约 0.4,看似不高,但 8 层 ansatz 的纠缠门数量使有效表达能力远超任务所需。将层数从 8 降到 3(参数降至 24)后重新训练,假设 L_train=0.12、L_test=0.15,间隙收窄到 0.03,测试层析保真度回升到 0.86。这说明过拟合的根因是表达能力过剩,而非训练不足。

诊断顺序建议:先看泛化间隙是否随轮次单调扩大,再用层析保真度确认“记忆”发生在态层面,最后用层数/参数削减实验验证表达能力是否为根因。三步都指向同一结论时,过拟合判断才可靠。
不要仅凭单次测试损失下结论。量子测量的采样噪声可能让 L_test 波动 0.05 以上,建议每个评估点重复 5 次取均值,并同时报告标准差,避免把统计涨落误判为过拟合。

把四种表现串起来看,它们构成一条从“现象”到“机理”再到“根因”的诊断链:性能差距是最先出现的警报,层析重构误差揭示模型在态层面的记忆行为,表达能力分析解释为什么会记忆,典型案例则提供可复现的验证路径。掌握这条链条,后续的正则化、数据增强与电路结构简化才有明确的着力点。