4. 参数化量子线路作为可训练模型

参数化量子线路(Parameterized Quantum Circuit, PQC)是混合量子机器学习的核心可训练组件。它本质上是一个含可调参数的量子门序列,通过经典优化器反复调整这些参数,使线路输出逼近目标函数。要把它当作一个真正的“模型”来用,需要同时确定五件事:数据怎么编码进量子态、哪些参数可训练、测量什么算符、测量结果如何映射为预测值、以及用什么损失函数衡量好坏。这五者共同决定了模型的表达能力、训练难度和最终性能。

一、数据编码:把经典特征写进量子态

数据编码(Data Encoding / Embedding)负责将经典向量 x 映射为量子态 |φ(x)⟩。常见方式有三类:

  • 角度编码:用旋转门 Rx(x_i)、Ry(x_i)、Rz(x_i) 把每个特征作为旋转角。实现简单,但特征需归一化到 [0, 2π] 或 [-π, π]。
  • 振幅编码:把归一化后的特征向量直接编码为量子态的振幅,n 个量子比特可表示 2^n 维向量,信息密度高,但制备线路深、对硬件不友好。
  • 数据重上传:在变分层之间反复插入编码门,使输入与可训练参数交替作用,显著提升对复杂函数的拟合能力,是当前混合模型的主流做法。

编码方式的选择直接影响模型上限。角度编码适合近期含噪设备,振幅编码适合态制备资源充足的场景,重上传则常用于需要强表达力的分类与回归任务。

二、变分参数与线路结构

变分参数 θ 是真正被优化器更新的量。典型结构是“编码层 + 变分层”交替堆叠。变分层通常由单比特旋转门和纠缠门(如 CNOT、CZ)组成,常见模板包括:

  • 硬件高效 ansatz:按设备拓扑排列 Ry、Rz 与 CNOT,线路浅、易部署,但缺乏物理可解释性。
  • UCC ansatz:源自幺正耦合簇,参数对应激发振幅,适合量子化学与物理问题。
  • 强纠缠 ansatz:每层全连接纠缠,表达力强但参数多、易陷入贫瘠高原。

参数数量、层数与纠缠度需要权衡:层数太少欠拟合,层数太多则梯度消失、训练成本上升。实践中常从 2~4 层开始,逐步增加并观察验证集表现。

三、测量算符与输出映射

量子线路输出的是量子态,必须通过测量算符 O 得到可用的经典数值。最常用的是 Pauli-Z 算符:对单个量子比特测量 ⟨Z⟩,其期望值落在 [-1, 1]。多比特时可测量 Z_0 Z_1 等关联算符,捕捉比特间相关性。

测量得到的期望值需要经过输出映射才能变成预测值。常见做法:

  • 分类任务:用 ⟨Z⟩ 的符号或阈值判断类别,或经 sigmoid 映射为概率。
  • 回归任务:直接使用 ⟨Z⟩,或线性缩放 y = a⟨Z⟩ + b。
  • 多分类:测量多个比特,取各比特期望值组成向量,再经 softmax。

输出映射是连接量子测量与经典损失的关键桥梁,必须与任务类型匹配,否则再好的线路也无法给出正确预测。

四、损失函数构造

损失函数把预测值与真实标签的差距量化,是优化器唯一的“指南针”。混合模型中常用:

  • 均方误差(MSE):L = (1/N)Σ(y_pred - y_true)²,适合回归。
  • 交叉熵:适合分类,配合 softmax 或 sigmoid 输出。
  • 量子态保真度损失:L = 1 - |⟨ψ_target|ψ(θ)⟩|²,适合态制备与量子化学任务。

损失函数必须对 θ 可微,才能用参数移位规则(Parameter-Shift Rule)计算梯度:∂L/∂θ_i = [L(θ_i + π/2) - L(θ_i - π/2)] / 2。这是混合训练流水线中量子侧梯度的标准来源。

参数化量子线路作为可训练模型:五要素数据流 经典输入 x 特征向量 数据编码 角度/振幅/重上传 变分层 θ 旋转门 + 纠缠门 测量算符 O ⟨Z⟩ / ZZ 关联 输出映射 sigmoid/softmax 损失函数 L MSE / 交叉熵 经典优化器 梯度下降 / Adam 参数更新 θ 量子侧梯度计算(参数移位规则) ∂L/∂θᵢ = [ L(θᵢ + π/2) − L(θᵢ − π/2) ] / 2 每次更新需对每个参数执行两次前向线路,梯度精确但开销随参数量线性增长。 编码决定表达上限 角度 / 振幅 / 重上传 归一化与特征缩放 测量与映射决定输出 ⟨Z⟩ ∈ [−1, 1] 分类阈值 / 回归缩放 损失决定优化方向 MSE / 交叉熵 / 保真度 必须对 θ 可微

五、一个可运行的最小示例

下面给出一个二分类任务的最小 PQC 配置,用于说明五要素如何协同。假设输入为二维特征 x = (x₀, x₁),使用 2 个量子比特。

# 数据编码:角度编码 + 重上传
for layer in range(L):
    for i in range(2):
        Rx(x[i])          # 编码门
        Ry(θ[layer][i])   # 变分门
    CNOT(0, 1)            # 纠缠

# 测量:测量第一个比特的 Z 期望值
z = measure_Z(qubit=0)    # z ∈ [-1, 1]

# 输出映射:sigmoid 转概率
p = 1 / (1 + exp(-z))

# 损失函数:二元交叉熵
L = -[y * log(p) + (1 - y) * log(1 - p)]

训练时,经典优化器对 θ 求梯度并更新,编码参数 x 保持不变。每轮迭代需要执行两次线路(θ ± π/2)来估计每个参数的梯度。若使用 4 个变分参数、2 层结构,则每轮需 8 次线路执行。实际部署时还需考虑测量采样次数(shots),通常取 1000~10000 次以降低期望值估计方差。

实践建议:先用小规模数据(如 50~100 个样本)和浅层线路(2 层)验证流水线是否跑通,确认损失能稳定下降后再增加层数和参数。若损失长期不降,优先检查编码范围是否合理、测量算符是否与任务匹配、以及学习率是否过大。
常见陷阱:角度编码时若特征未归一化,旋转角可能超出 [−π, π],导致量子态周期性折叠,模型无法区分不同输入。务必在编码前对特征做 min-max 或标准化处理。

总结来看,PQC 作为可训练模型,其能力边界由编码方式、变分结构、测量算符、输出映射和损失函数共同决定。五者中任何一环设计不当,都会让训练停滞或泛化变差。理解它们之间的数据流关系,是构建混合量子机器学习流水线的基础。