量子机器学习入门:量子神经网络、量子核方法与混合量子经典

系统讲解量子机器学习(QML):量子数据编码、变分量子电路(VQC)与量子神经网络、量子核方法、量子-经典混合训练范式、优势与局限,并给出 Qiskit + PyTorch 的量子机器学习最小实战。

引言

机器学习靠数据与算力驱动,量子计算恰好提供一种全新的「算力」。量子机器学习(Quantum Machine Learning, QML)试图回答:能不能用量子系统的叠加与纠缠,加速或改善学习任务?这里面既有激动人心的可能,也有大量被夸大的炒作。

本文给出一条理性的入门路径:先讲量子数据编码(怎么把经典数据装进量子态),再讲变分量子电路(VQC)这个「量子神经网络」,随后对比量子核方法与经典基线,用 Qiskit + PyTorch 跑通一个混合量子-经典训练的最小实例,最后客观评估 QML 的优势、局限与当下的真实边界。

前置:量子比特与门基础(https://plumephp.com/quantum-qubit-gates-basics/)、Qiskit 编程(https://plumephp.com/quantum-qiskit-programming/)。机器学习的监督学习基础见 [[ml]] 专题。


目录


1. 量子机器学习想解决什么

1.1 三重新可能

可能性说明
量子特征空间把数据映射到指数维希尔伯特空间,可分性更强
量子采样某些分布采样(如玻色子采样)量子更快
量子优化加速子任务(如求解线性系统、梯度估计)

1.2 警惕炒作

  • 大量论文证明的是「某个玩具数据集上的小加速」。
  • 量子加速有严格条件(如数据本身有量子结构)。
  • QML 目前是研究前沿,不是生产工具——本文按研究视角学习,而非按「拿来就用」的框架。

2. 量子数据编码:把经典数据变成量子态

2.1 为什么需要编码

量子电路吃的是量子态,经典数据要「装进去」。编码方式决定了模型的表达能力。

2.2 三种常用编码

编码原理开销
角度编码数据作为绕轴旋转角度每个特征 1 个比特
振幅编码数据作为振幅(归一化)指数压缩但制备难
基编码数据直接作为比特串特征数 = 比特数
from qiskit.circuit.library import ZZFeatureMap

feature_map = ZZFeatureMap(feature_dimension=4, reps=2, entanglement='full')
# 角度编码 + 纠缠层,QML 最常用的特征映射

2.3 特征映射即「特征工程」

经典侧的特征工程,在 QML 里变成「选择特征映射」。不同的 ZZFeatureMap 配置对应不同的核函数,直接决定模型能力。


3. 变分量子电路:量子神经网络的核心

3.1 结构与参数

变分量子电路(Variational Quantum Circuit, VQC)有两类参数:

  • 数据参数:来自编码,固定。
  • 训练参数(θ):可旋转门,是「待学的权重」。
from qiskit.circuit import Parameter

params = [Parameter(f'θ{i}') for i in range(4)]
# 可训练旋转门
qc.rx(params[0], 0)
qc.ry(params[1], 1)
qc.cx(0, 1)

3.2 为什么叫「量子神经网络」

类比:

经典神经网络VQC
权重 w旋转角 θ
激活函数门/测量
非线性测量坍缩引入非线性
反向传播参数移位规则(有限差分)

3.3 表达能力

VQC 能表示一些经典网络难以高效表示的函数,但并非所有任务都受益——这也是研究的核心开放问题。


4. 量子核方法与量子特征空间

4.1 核方法回顾

经典 SVM:数据映射到高维空间,核函数度量相似度。量子核方法把映射换成「量子特征映射」,核变成:

κ(x, x') = |⟨φ(x)|φ(x')⟩|²

即两个量子态的内积——可用量子电路测量得到。

4.2 量子核的优势假设

  • 某些数据在量子特征空间线性可分,而经典特征空间不行。
  • 内积计算量子天然高效。

4.3 关键警示:贫瘠高原

高维随机参数空间里,梯度往往指数级接近零(贫瘠高原 Barren Plateau)——这是 QML 训练的「梯度消失」,当前无通用解法。


5. 混合量子-经典训练范式

5.1 为什么需要混合

  • 经典部分(数据预处理、最终分类、优化器)成熟且必要。
  • 量子部分(VQC)只在「特征提取/核计算」环节。
  • 当前量子硬件 NISQ(含噪声),量子电路尽量短。

5.2 标准架构

经典数据 → 特征映射(量子) → VQC(量子, 可训练)
        → 测量(量子→经典) → 经典分类头 → 损失 → 更新θ

5.3 梯度怎么算:参数移位规则

变分门的梯度可由「在原参数 ±π/2 处再测两次」得到——不依赖反向传播,NISQ 友好。


6. 实战:Qiskit + PyTorch 最小 QML 分类器

6.1 设计

用 Qiskit 构造一个 2 特征 2 类的 VQC 分类器,经典侧用 PyTorch 做训练循环(参数移位梯度)。

from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes
import numpy as np

# 量子部分:特征映射 + 变分层 + 测量
def qml_circuit(theta):
    qc = QuantumCircuit(2)
    fm = ZZFeatureMap(2, reps=1)
    var = RealAmplitudes(2, reps=1)
    qc.compose(fm, inplace=True)
    qc.compose(var, inplace=True)
    qc.measure_all()
    return qc

6.2 用模拟器执行并算期望值

from qiskit_aer import AerSimulator
from qiskit import transpile

sim = AerSimulator()

def circuit_expectation(theta, x):
    """返回测量到 |00⟩ 的概率作为分类分数"""
    qc = qml_circuit(theta)
    # 绑定数据参数与训练参数(此处用绑定简化)
    qc_t = transpile(qc, sim)
    job = sim.run(qc_t, shots=1024)
    counts = job.result().get_counts()
    return counts.get('00', 0) / 1024

6.3 训练循环(简化示意)

theta = np.random.rand(4) * np.pi

for step in range(50):
    # 用参数移位规则估梯度
    grad = np.zeros(4)
    for i in range(4):
        plus  = circuit_expectation(theta + np.eye(4)[i] * np.pi/2, x_train)
        minus = circuit_expectation(theta - np.eye(4)[i] * np.pi/2, x_train)
        grad[i] = (plus - minus) / 2
    # 梯度下降
    theta -= 0.1 * grad

6.4 真实工程注意

  • 完整版要用 PyTorch 的 torch.nn.Module 封装量子电路,可 GPU 并行批次。
  • 用 qiskit_machine_learning 库可省大量样板。
  • 先跑通小数据集,验证梯度不消失,再放大。

7. QML 的优势、局限与炒作

7.1 诚实的优势清单

声称现实
指数特征空间真的,但可学习性未必更好
某些核不可经典模拟有理论例子
小数据高效部分实验支持

7.2 明确局限

局限影响
贫瘠高原训练难收敛
噪声敏感NISQ 下电路深度受限
数据读取瓶颈量子态→经典数据耗资源
缺乏规模化验证无清晰「量子优势」实例

7.3 识别炒作的原则

  • 论文是否在小玩具数据上测。
  • 是否与最强经典基线公平对比。
  • 是否报告了时间和成本,而非只看 QPU 次数。

8. 前沿方向与开放问题

8.1 有希望的方向

方向内容
量子核偏置寻找经典难算但对任务有用的核
生成模型量子玻尔兹曼机、量子 GAN
量子强化学习策略网络的量子变体
容错 QML表面码上的逻辑级电路

8.2 核心开放问题

  • 什么数据/任务真的需要量子特征空间?
  • 如何规避贫瘠高原?
  • 容错量子硬件成熟后,QML 范式会不会完全不同?

9. 总结:如何理性进入 QML

9.1 学习路径

量子基础(比特/门/Qiskit) → 量子纠错(理解噪声边界)
→ 数据编码 → VQC → 量子核 → 混合训练 → 读前沿论文

9.2 给学习者的建议

建议理由
先学经典 ML没有基线无法判断量子价值
用模拟器学原理不依赖稀缺硬件
复现小实验理解梯度/表达力的真实行为
读带批评的综述过滤炒作

9.3 一句话心法

QML 是「用量子结构重新思考学习」的研究,不是现成的加速魔法——以研究者的心态进入,才不会在炒作里迷失。


延伸阅读

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「quantum」更多文章

  1. 量子错误缓解:ZNE、测量缓解与概率错误消除实战
  2. 量子纠缠与 Bell 态:EPR 悖论、贝尔不等式与量子隐形传态
  3. 量子电路编译与优化:门分解、电路深度与 Qiskit 编译管线