# 量子经典混合神经网络详解:原理、架构与前沿 量子经典混合神经网络(Quantum-Classical Hybrid Neural Network)是把变分量子电路(Variational Quantum Circuit, VQC)嵌入经典深度学习架构的机器学习范式。它利用量子电路的高维希尔伯特空间作为特征映射,结合经典神经网络的表达力和成熟的优化技术,是 NISQ(Noisy Intermediate-Scale Quantum,近期含噪中等规模量子)时代量子机器学习最具前景的研究方向之一。 ## 问题背景 ### 为什么需要量子神经网络 经典深度学习在高维数据处理上已经取得巨大成功,但仍然面临以下挑战: - 维度问题:若想显式使用指数维的特征映射(例如高阶多项式特征),经典模型的参数量或计算量随特征维数快速增长; - 量子数据:当训练对象本身是量子态或量子过程时,经典网络必须先做层析(tomography,代价随量子比特数指数增长)才能拿到经典描述,而量子模型可以直接消费量子态; - 结构先验:某些物理问题的对称性与纠缠结构,用量子电路作为模型先验可能比手工设计的经典结构更自然。 作为对比,量子电路提供的可能性包括: - 指数维状态空间:$n$ 个量子比特携带 $2^n$ 维复向量,用 $O(n)$ 个量子比特与多项式门数即可制备其中多项式复杂的态; - 纠缠:电路天然产生非局域关联,这是经典概率模型难以直接表示的; - 干涉:输出的期望值是各路径振幅的相干叠加,这既是表达力的来源,也是分析(与攻击)的难点。 需要强调的是,这些"可能性"目前多数没有在可证明的意义上转化为对经典模型的优势;本文末尾"当前局限性"一节会回到这一点。 ### 表达力的傅里叶视角:一个可推导的刻画 在正式介绍架构之前,我们先给出一个可以完整推导的 expressivity(表达力)刻画,它回答"一个固定的含数据电路到底能表示什么样的函数"。设模型输出为 $$f(x) = \langle 0|\, U^\dagger(x)\, M\, U(x)\, |0\rangle,$$ 其中数据 $x$ 通过若干门 $e^{-ix G^{(k)}/2}$($k = 1, \ldots, K$)进入电路,$M$ 是被测的可观测量,电路中其余门与 $x$ 无关(为叙述简单,我们把所有含 $x$ 的门集中写出并在其间插入与 $x$ 无关的酉阵 $W_j$;一般布局只是多几个 $W$ 因子,结论不变): $$U(x) = W_K\, e^{-ixG^{(K)}/2} \cdots W_1\, e^{-ixG^{(1)}/2}\, W_0.$$ 对每个生成元做谱分解 $G^{(k)} = \sum_\lambda \lambda\,|\lambda^{(k)}\rangle\langle\lambda^{(k)}|$,则每个含参门的指数也是可分解的: $$e^{-ixG^{(k)}/2} = \sum_{\lambda \in \mathrm{spec}(G^{(k)})} e^{-ix\lambda/2}\, |\lambda^{(k)}\rangle\langle\lambda^{(k)}|.$$ 把 $U(x)$ 与 $U^\dagger(x)$ 的乘积按这些投影算符逐项展开:每一项是一个与 $x$ 无关的矩阵元乘上一个标量相位 $e^{ix(\sum_k \lambda'_k - \lambda_k)/2}$($U^\dagger$ 中的门贡献共轭相位 $e^{+ix\lambda'/2}$)。于是 $$f(x) = \sum_{\vec\lambda, \vec\lambda'} C_{\vec\lambda, \vec\lambda'}\; e^{\,i\omega(\vec\lambda,\vec\lambda')\,x}, \qquad \omega(\vec\lambda, \vec\lambda') = \frac{1}{2}\sum_{k=1}^{K}\big(\lambda'_k - \lambda_k\big),$$ 其中系数 $C_{\vec\lambda,\vec\lambda'}$ 完全由 $W_j$、初态与 $M$ 决定。结论:$f(x)$ 是有限个频率 $\omega \in \Omega = \{\frac12\sum_k(\lambda'_k - \lambda_k)\}$ 的三角多项式,**可用的频率集合完全由编码门的生成元谱决定,线性读出层只能组合这些频率成分,不能创造新频率**。 我们用一个最小例子核对:单个编码门 $R_y(x) = e^{-ixY/2}$,$\mathrm{spec}(Y) = \{+1, -1\}$,频率取值 $(\lambda' - \lambda)/2 \in \{0, \pm 1\}$,因此 $f(x) = a\sin x + b\cos x + C$——这与第 2 章《参数平移法则》附录中对单参数门导出的正弦响应完全一致。要提高频率分辨率或扩大频带,有两个办法:使用谱隙更大的生成元(例如两比特生成元 $Z_1 + Z_2$,谱为 $\{-2, 0, +2\}$,频率可达 $\pm 2$),或做数据重上传(data re-uploading)——把同一个 $x$ 编码进多个门,频率集合变为多次差组合,频带按重上传次数倍增,代价是更深的电路。 ## 核心架构:参数化量子电路(PQC) ### 变分量子电路 变分量子电路是量子神经网络的基本构建块: $$|\psi(\vec{\theta})\rangle = U_L(\theta_L)\cdot U_{L-1}(\theta_{L-1}) \cdots U_1(\theta_1)\, |0\rangle^{\otimes n},$$ 其中每一层由单比特旋转和两比特纠缠门组成,例如 $$U_l(\theta_l) = \prod_{(i,j)} \mathrm{CNOT}_{ij} \cdot \prod_i R_y(\theta_{i,l})\, R_z(\theta'_{i,l}).$$ 注意参数以 $R_y(\theta) = e^{-i\theta Y/2}$ 的方式进入门(本教程统一约定),这对后文梯度公式的形式至关重要。 ### 数据编码 将经典数据 $\mathbf{x} \in \mathbb{R}^d$ 编码为量子态有三种常用方式。 角度编码(Angle Encoding)把每个特征当作一个旋转角: $$|\mathbf{x}\rangle = \bigotimes_{i=1}^{d} R_y(x_i)\, |0\rangle,$$ 需要 $n \ge d$ 个量子比特,每比特一个旋转门,编码开销 $O(d)$。 振幅编码(Amplitude Encoding)把数据写进幅度向量: $$|\mathbf{x}\rangle = \frac{1}{\|\mathbf{x}\|} \sum_{i=0}^{N-1} x_i |i\rangle, \qquad N = 2^n \ge d,$$ 只需 $n = \lceil \log_2 d \rceil$ 个量子比特,但制备一般态需要 $O(N)$ 个门,指数的制备成本往往抵消比特数上的节省。 IQP 编码(Instantaneous Quantum Polynomial)用对角的相位门编码,是量子核方法中常用的高维特征映射: $$|\mathbf{x}\rangle = \Big(\prod_{i 量子层 -> 经典读出,即前向传播链""" W1 = classical_params[: n_qubits * 2].reshape((n_qubits, 2)) b1 = classical_params[n_qubits * 2 : n_qubits * 3] w2 = classical_params[n_qubits * 3 : n_qubits * 4] b2 = classical_params[-1] angles = np.tanh(W1 @ x + b1) * np.pi # 编码层:线性 + 缩放到 (-pi, pi) z = quantum_layer(theta, angles) # 量子层:z_i = return np.dot(w2, z) + b2 # 输出层:线性读出 def loss(classical_params, theta, x, y): return (model(classical_params, theta, x) - y) ** 2 # 训练数据:4 个样本的小回归任务 X = np.array([[0.5, -1.0], [-0.3, 0.8], [1.2, 0.4], [-1.5, -0.6]], requires_grad=False) Y = np.array([0.7, -0.2, 1.0, -0.8], requires_grad=False) # 参数初始化:经典层(W1/b1/w2/b2 展平)与量子层 np.random.seed(0) classical_params = np.random.uniform(-1, 1, n_qubits * 4 + 1, requires_grad=True) theta = np.random.uniform(0, 2 * np.pi, (2, 2 * n_qubits), requires_grad=True) def cost(classical_params, theta): return np.mean([loss(classical_params, theta, X[i], Y[i]) for i in range(len(X))]) opt = qml.AdamOptimizer(stepsize=0.05) for step in range(200): classical_params, theta = opt.step(cost, classical_params, theta) if (step + 1) % 40 == 0: print(f"step {step+1:3d}: loss = {cost(classical_params, theta):.6f}") ``` 运行这段代码,损失会随训练下降。值得对照前文的推导检查两点:其一,`opt.step(cost, classical_params, theta)` 同时更新两类参数——量子参数走 PSR、经典参数走反向传播,这正是"混合"二字的实现;其二,把 `np.tanh(...) * np.pi` 中的缩放去掉后收敛通常变慢,因为角度会漂出正弦响应的一个周期,梯度的有效幅度变小。 ## 理论分析 ### 表达力(Expressibility) 表达力刻画一个电路族在参数扫动时能覆盖多大的态空间。常用的度量是:随机采样参数得到的态分布与 Haar 均匀分布之间的偏差(例如用态的酉不变函数的分布距离衡量)。经验规律是:表达力随层数增加而快速饱和,深层硬件高效拟设的参数化行为接近 Haar 随机酉;太浅的电路表达力不足(如上文傅里叶刻画所示,可用频率太少),太深的电路则落入下述 Barren Plateaus 的陷阱。表达力与可训练性之间存在张力,需要按任务折中。 ### Barren Plateaus **定理(McClean et al., 2018,大意)** 对深度为 $\mathrm{poly}(n)$ 的全局随机式硬件高效拟设,损失函数关于任一参数的偏导数满足 $$\mathbb{E}\left[\frac{\partial \mathcal{L}}{\partial \theta_k}\right] = 0, \qquad \mathrm{Var}\left[\frac{\partial \mathcal{L}}{\partial \theta_k}\right] = O(2^{-n}),$$ 即梯度幅度随量子比特数指数衰减,优化景观指数平坦,从随机初始化出发几乎不可能训练。 常用的缓解策略: 1. 局域代价函数:让损失只由少数量子比特上的测量组成(如 QCNN 的逐层读出),局域观测的方差不随 $n$ 指数衰减; 2. 结构化初始化:从零角度或小的随机扰动出发(正弦响应 $a\sin\theta + b\cos\theta + C$ 在 $\theta = 0$ 附近的梯度由系数 $a$ 决定,物理动机的电路常有多项式级的 $a$),或用问题对称性约束初值; 3. 限制深度与作用范围:逐层训练、块.identity 初始化; 4. 换训练范式:如核方法完全绕开参数优化(见下文范式三)。 ### 泛化能力 **定理(Abbas et al., 2021,大意)** 量子神经网络在训练集与测试集上的期望损失差距可以上界为 $$\mathbb{E}\big[\mathcal{L}_{\text{test}} - \mathcal{L}_{\text{train}}\big] = O\Big(\sqrt{d_{\text{eff}} / N_{\text{train}}}\Big),$$ 其中 $d_{\text{eff}}$ 是模型的有效维度(由 Fisher 信息谱决定,不超过参数数量 $P$),$N_{\text{train}}$ 是训练样本数。这与经典统计学习理论的形状一致:参数(更准确地说,有效维度)越多、训练数据越少,泛化差距越大。它同时提示:量子模型若真能用少量参数达到经典大模型的效果,其泛化上界也会相应更好——但这只是上界论证,不构成优势的证明。 ## 具体应用 ### 应用一:量子态分类 把量子态 $|\psi_i\rangle$(或其混态版本)分类到标签 $y_i \in \{0, 1, \ldots, C-1\}$。 QCNN 方法:把 $|\psi_i\rangle$ 直接作为输入态,通过多层量子卷积和池化提取特征,测量最后剩下的量子比特得到分类概率。 优势:处理量子数据时无需先做层析(其代价随 $n$ 指数增长),量子网络直接在量子态上操作;这类任务被认为是最有可能率先体现量子优势的场景,因为输入本身就是量子的。 ### 应用二:量子化学性质预测 预测分子的性质(如 HOMO-LUMO 能隙、偶极矩)。 架构:角度编码(分子轨道特征)→ PQC → 测量 → 经典回归层。规模上 $n$ 随轨道数多项式增长、深度 $D = O(n^2)$ 量级、参数 $P = O(D\cdot n)$。与 VQE 的区别在于:这里学习的是"性质对结构的映射",训练好之后对新分子只需一次前向,而 VQE 对每个分子都要做完整的变分优化。 ### 应用三:量子纠错解码 用量子神经网络学习量子纠错码的解码器:输入是综合征(syndrome)测量结果,输出是最可能的错误算符。量子解码器的潜在优势主要在于处理量子数据(如软信息、多次往返的综合征历史)时可以保留相干信息;对纯经典输入的解码问题,它要与成熟的经典解码器竞争。 ### 应用四:量子强化学习 用 VQC 作为策略网络,在量子环境中执行强化学习:策略 $\pi(a|s) = |\langle a|U(\vec\theta)|s\rangle|^2$,即对环境态 $|s\rangle$ 施加参数化电路后在动作基上测量。对量子环境(如量子控制问题),策略网络直接在量子态上操作,避免了"测量-经典化-再制备"的中间步骤。 ## 量子经典混合训练范式 ### 范式一:前向-反向混合训练 即上文完整推导的模式:每轮前向执行电路得到 $\vec z$ 与损失,反向时量子参数走参数平移、经典参数走反向传播。这是 PennyLane/TensorFlow Quantum 的默认范式。 优势:梯度解析精确;代价:每个参数每批需要 2 次电路执行,总电路执行数随参数数线性增长。 ### 范式二:基于样本复用的估计(classical shadows) 同一批测量样本不止能估计一个期望值:经典影子(classical shadow)技术用随机基测量 + 经典后处理,从 $O(\log M/\varepsilon^2)$ 次测量同时估计 $M$ 个可观测量。由于混合模型的读出与梯度都只涉及泡利字符串期望,影子方法可以显著减少总测量次数,把"每参数 2 次执行"的常数摊薄。 ### 范式三:核方法(Kernel Methods) 把电路固定(不再训练 $\vec\theta$),只把它当作特征映射,定义量子核 $$K(\mathbf{x}, \mathbf{x}') = \big|\langle \psi(\mathbf{x}) | \psi(\mathbf{x}')\rangle\big|^2,$$ 再用经典的 SVM 或高斯过程在核上训练。核函数的估计可以通过交换测试(SWAP test)或对角元素的重构在硬件上完成。 优势:完全绕开变分优化,因此不受 Barren Plateaus 影响,理论性质(如核的泛化界)可以直接搬用;代价:核矩阵需要 $O(N_{\text{train}}^2)$ 次电路评估,且模型表达力受限于固定电路的核。 ## 当前局限性 ### 1. Barren Plateaus 对深层全局电路,梯度随 $n$ 指数衰减,这是量子神经网络训练的核心障碍。缓解手段(局域损失、结构化初始化、浅层化、核方法)各有代价,尚无普适解法。 ### 2. 量子优势不确定 目前没有理论证明量子神经网络在标准的经典机器学习任务上相对最佳经典方法具有多项式加速。反方向的结果确实存在:Tang(2019)等人给出了一系列"去量子化"(dequantization)算法,把若干量子推荐/线性代数算法的关键增益用经典的采样技术再现,这提醒我们:在被证明之前,"指数维状态空间"并不自动等于"指数级表达力优势"。 ### 3. 噪声敏感性 NISQ 设备的门错误率 $\sim 10^{-3}$ 限制了电路深度,且噪声会让梯度估计的方差增大、有效学习率变小,训练往往在噪声地板上提前停滞。 ### 4. 数据加载瓶颈 振幅编码等高效率编码的态制备本身需要 $O(2^n)$ 级别的门数;如果模型的优势依赖大规模经典数据的量子编码,制备开销可能完全抵消量子层的收益。这也是"量子数据进、量子模型学"被认为比"经典数据进"更可行的原因。 ### 5. 测量开销 每个期望值的估计需要 $O(1/\varepsilon^2)$ 次测量(推导见 VQE 一篇的测量开销一节);混合模型每步训练要估计 $O(P)$ 个导数,总测量次数容易超过同规模经典网络的一次前向+反向的成本。 ## 当前进展 | 年份 | 贡献 | |------|------| | 2018 | Farhi & Neven 提出用于分类的量子神经网络 | | 2019 | Havlíček et al. 提出量子核方法(Nature) | | 2020 | TensorFlow Quantum 发布,经典-量子端到端可微训练框架落地 | | 2021 | Abbas et al. 给出量子神经网络的有效维度与泛化分析 | | 2022–2023 | 多个实验组在 10+ 量子比特设备上演示混合模型训练;QCNN 的可训练性分析陆续出现 | ## 总结 量子经典混合神经网络把变分量子电路作为可微分层嵌入经典架构:经典层把输入加工成旋转角,量子电路以正弦响应的非线性方式把角度变成期望值读出,经典输出层再做线性组合。前向传播是"经典线性-量子非线性-经典线性"的清晰分工,反向传播由参数平移规则(量子参数)与自动微分(经典参数)在角度接口处拼接而成,整条梯度链都可以解析写出。表达力可以用编码门的生成元谱严格刻画(傅里叶视角),可训练性受 Barren Plateaus 约束,泛化有与经典学习理论同形的上界。它的最终实用价值取决于能否在具体任务——尤其是量子数据任务——上证明相对于经典方法的明确优势。 --- **参考文献:** 1. Farhi, E., & Neven, H. (2018). *Classification with quantum neural networks on near term processors.* arXiv:1802.06002. 2. Havlíček, V., et al. (2019). *Supervised learning with quantum-enhanced feature spaces.* Nature, 567(7747), 209-212. 3. McClean, J. R., et al. (2018). *Barren plateaus in quantum neural network training landscapes.* Nature Communications, 9, 4812. 4. Abbas, A., et al. (2021). *The power of quantum neural networks.* Nature Computational Science, 1, 403-409. --- > 返回目录:[量子计算算法教程系列](https://chenzhaoyun.com/index.php/archives/54/)