2. 量子计算基础速览

要理解量子神经网络(QNN)为什么具备经典网络难以企及的表达潜力,必须先回到它的物理与数学底座。本节不追求量子力学的完整形式体系,而是聚焦四件事:量子比特如何被描述、叠加与纠缠意味着什么、测量如何把量子态变成经典数据、以及量子门与量子线路如何构成可执行的“量子程序”。这四点直接决定了后续 QNN 的输入编码方式、可训练参数的位置,以及输出如何被读取。

一、量子比特:用两个复数描述的状态

经典比特只能取 0 或 1,而一个量子比特(qubit)的纯态写成

|ψ⟩ = α|0⟩ + β|1⟩,   α, β ∈ ℂ,   |α|² + |β|² = 1

其中 α、β 称为概率幅,是复数,带有模和相位两个信息维度。|α|² 与 |β|² 分别是测量得到 0 和 1 的概率。注意“概率幅”与“概率”不是一回事:概率幅可以相消或增强,这正是量子干涉的来源,也是 QNN 中相位型参数具有意义的原因。由于全局相位不可观测,一个量子比特的有效自由度常用布洛赫球上的一个点表示:极角 θ 决定 0/1 的权重,方位角 φ 决定相对相位。单比特旋转门本质上就是在这个球面上做旋转。

多比特系统的状态空间按张量积扩张:n 个量子比特的纯态由 2ⁿ 个复振幅描述,归一化条件为所有振幅模平方之和等于 1。这意味着 30 个量子比特就需要约 10⁹ 个复数来完整描述——经典模拟的代价随比特数指数增长,这是量子计算潜在优势的数学根源,也是我们在设计 QNN 时必须控制比特数与线路深度的现实原因。

二、叠加、纠缠与测量

叠加指系统同时处于多个基态的相干组合。以 Hadamard 门作用于 |0⟩ 为例,得到 (|0⟩+|1⟩)/√2,测量时各以 50% 概率得到 0 或 1。叠加本身并不“并行算出所有答案”,它提供的是一个可被后续门操作干涉的振幅分布。

纠缠指复合系统无法写成各子系统状态的张量积。典型例子是 Bell 态 (|00⟩+|11⟩)/√2:单独看每个比特都是等概率的 0/1,但两者结果完全关联。纠缠是量子线路中产生非经典关联的核心资源,QNN 中常用的 CNOT 级联、强纠缠层,目的就是让特征信息在比特间流动。

测量是量子到经典的唯一出口。在计算基下测量会以概率得到一个确定结果,并使状态坍缩到对应基态,且不可逆。因此量子线路的期望值估计必须靠“多次制备—测量—统计”完成:若某观测量 A 的测量结果为 aᵢ,则用样本均值近似 ⟨A⟩。这也解释了为什么 QNN 的训练循环里总有一个 shots(采样次数)参数——它不是精度装饰,而是直接决定梯度估计噪声的量级。

三、量子门与量子线路的基本表示

量子门是作用在量子态上的酉变换 U(满足 U†U = I),因此天然可逆、保范数。单比特门常用旋转形式参数化:

Rx(θ) = [[cos(θ/2), -i·sin(θ/2)],
         [-i·sin(θ/2), cos(θ/2)]]
Ry(θ) = [[cos(θ/2), -sin(θ/2)],
         [ sin(θ/2),  cos(θ/2)]]
Rz(θ) = diag(e^(-iθ/2), e^(iθ/2))

双比特门以 CNOT 为代表:控制比特为 1 时翻转目标比特,用于生成纠缠。任意多比特酉操作都可分解为单比特门加 CNOT 的组合,这就是“门集通用性”。量子线路的读法是:时间从左向右,每条横线是一个比特,方框是单比特门,竖线连圆点是受控门,末端仪表符号是测量。下面这张图给出一个 3 比特变分线路的典型结构,它正是后续 QNN 中“数据编码 + 可训练层 + 测量读出”的骨架。

3 比特变分线路:编码 → 可训练层 → 测量 数据编码 可训练变分层 测量读出 q0 q1 q2 Ry(x₀) Ry(x₁) Ry(x₂) Ry(θ₀) Ry(θ₁) Ry(θ₂) Rz(φ₀) Rz(φ₁) Rz(φ₂) M M M x:输入特征(经典数据) θ, φ:可训练参数 M:计算基测量,需多次采样估计期望值

读图要点有三:第一,编码门把经典特征 x 映射为旋转角,这一步决定了模型能表达什么样的输入分布;第二,绿色门中的 θ、φ 才是训练时被优化的变量,它们的位置和数量直接决定参数规模;第三,橙色测量块之后得到的是比特串样本,需要统计成期望值才能进入损失函数。图中 CNOT 采用“q0 控 q1、q1 控 q2”的链式连接,实际建模时也可换成环形或全连接纠缠拓扑,这属于线路设计选择。

四、一个可手算的示例:从态到期望值

设两比特初态 |00⟩,先对 q0 施加 Ry(π/2),得到 (|0⟩+|1⟩)/√2 ⊗ |0⟩;再施加 CNOT(q0→q1),得到 Bell 态 (|00⟩+|11⟩)/√2。此时测量 q0 得 0 或 1 各 50%,且 q1 必然与 q0 相同。若观测量取 Z₀Z₁(两比特 Pauli-Z 的乘积),由于 |00⟩ 与 |11⟩ 的本征值均为 +1,理论期望 ⟨Z₀Z₁⟩ = 1;而单比特 ⟨Z₀⟩ = 0。这个对比清楚说明:纠缠使联合观测量携带了单比特观测量没有的信息,QNN 的输出层因此常设计为多比特联合观测。

若把 shots 设为 1024,实测 ⟨Z₀Z₁⟩ 会接近 1 但不会精确等于 1,偏差量级约与 1/√shots 同阶。工程上通常先用 1024~4096 shots 做快速验证,再在收敛阶段提高采样数或采用解析梯度、参数移位等低噪声估计手段。

五、为 QNN 建模要建立的几条直觉

  • 参数必须放在酉门里。可训练量是旋转角,不是振幅本身;振幅由线路结构间接决定。
  • 深度与纠缠要克制。层数增加会提升表达力,但在含噪环境下也放大误差,且带来“贫瘠高原”导致梯度消失的风险。
  • 测量次数是超参数。shots 影响梯度噪声与训练稳定性,应与学习率、优化器一起考虑。
  • 输出是统计量。QNN 前向传播的终点是期望值或概率分布,而非单次测量结果。
建议在进入下一阶段前,用任意量子模拟框架(如 Qiskit、PennyLane)把上图线路搭一遍:固定 x = [0.3, 1.1, 2.0],令所有 θ、φ 初值为 0,观察输出期望值;再单独改变 θ₀,记录期望值随角度的变化曲线。这条曲线就是后续要计算梯度的对象,亲手画一次比读十遍公式更有效。