2. 量子计算最小必要基础
要理解量子机器学习,不必先成为量子物理专家,但必须建立一套统一的“量子语言”。这套语言的核心只有六个词:量子比特、叠加、纠缠、测量、量子门、量子线路。它们分别回答六个问题:信息存在哪里、状态如何描述、多个比特如何关联、如何读出结果、如何改变状态、如何把操作串起来。后续无论是实现变分量子分类器、量子核方法,还是量子神经网络,代码里出现的对象和操作,几乎都能映射到这六个概念上。
量子比特:信息的载体从比特变成态矢量
经典比特只能取 0 或 1,而量子比特(qubit)的状态是二维复向量空间中的单位矢量。用狄拉克符号写作
|ψ⟩ = α|0⟩ + β|1⟩, α, β ∈ ℂ, |α|² + |β|² = 1
其中 |0⟩ 和 |1⟩ 是计算基,α、β 是概率幅。概率幅不是概率,它带相位;测量时得到 0 的概率是 |α|²,得到 1 的概率是 |β|²。这一点是量子机器学习与经典机器学习最根本的差异:模型中间状态不是确定的数值向量,而是概率幅向量,相位会参与后续干涉。
工程上,我们通常不直接写 α、β,而是用框架提供的态矢量或密度矩阵表示。例如在 Qiskit 中,一个量子线路运行后会返回 Statevector;在 PennyLane 中,可以用 qml.state() 获取当前态。初学时建议先固定使用“计算基 + 概率幅”的视角,避免过早陷入密度矩阵和混合态。
叠加:并行性的来源,也是测量随机性的来源
叠加指量子比特可以同时处于 |0⟩ 和 |1⟩ 的线性组合。最常用的例子是 Hadamard 门作用在 |0⟩ 上:
H|0⟩ = (|0⟩ + |1⟩)/√2
此时测量得到 0 或 1 的概率各为 50%。叠加常被误解为“同时算出所有结果”,更准确的说法是:量子线路在一次演化中可以同时携带多个基态的振幅,但测量只能按概率给出一个经典结果。要利用叠加,必须通过干涉让目标答案的概率幅增强、错误答案的概率幅抵消。这也是量子算法设计的关键,而不是简单地把数据“变成叠加态”。
纠缠:多比特之间的非经典关联
当多个量子比特不能写成各自状态的直积时,它们处于纠缠态。最典型的是 Bell 态:
|Φ⁺⟩ = (|00⟩ + |11⟩)/√2
测量第一个比特若得到 0,第二个必为 0;若得到 1,第二个必为 1。这种关联不是“事先约定”,而是量子态本身的整体结构。在量子机器学习中,纠缠是量子模型表达能力的来源之一:它让特征映射后的状态无法被经典模型用简单的张量积分解轻易表示。但纠缠并非越多越好,过多纠缠会带来训练困难、梯度消失和硬件噪声敏感等问题。
测量:把量子态转成经典数据
测量是量子线路与经典世界之间的接口。对单个量子比特,测量算符通常取 Z 基,即 |0⟩ 对应 +1,|1⟩ 对应 −1。多次运行线路(shots)后,可以得到期望值:
⟨Z⟩ = P(0) − P(1)
例如 shots=1000,测得 0 出现 730 次、1 出现 270 次,则 ⟨Z⟩ ≈ 0.46。量子机器学习中的损失函数、分类输出、梯度估计,最终都要通过测量得到的期望值或概率分布来计算。因此,测量不是“最后一步”,而是训练循环中反复发生的操作。需要注意:测量会破坏叠加和纠缠,同一个线路不能在不重置的情况下反复读取同一个态。
量子门:对态矢量做可控变换
量子门是作用在量子比特上的酉变换。常见单比特门包括:
- X 门:翻转 |0⟩ 与 |1⟩,类似经典非门。
- H 门:生成叠加,把计算基转到 X 基。
- Z 门:保持 |0⟩ 不变,给 |1⟩ 加 π 相位。
- RX、RY、RZ:绕对应轴旋转角度 θ,是变分量子线路中最常用的可训练参数门。
双比特门以 CNOT 为代表:控制比特为 1 时翻转目标比特。它是生成纠缠的基本操作。工程实现中,参数化量子线路通常由“固定纠缠层 + 可训练旋转层”交替堆叠而成。例如一个简单的两层结构可以写成:
RY(θ₁) on q0
RY(θ₂) on q1
CNOT(q0, q1)
RY(θ₃) on q0
RY(θ₄) on q1
其中 θ₁ 到 θ₄ 是经典优化器要更新的参数。量子门本身不“学习”,学习发生在经典优化器根据测量结果调整这些角度。
量子线路:把门、测量和经典控制串成可执行对象
量子线路是量子门的时序排列,加上测量和可能的经典条件操作。它相当于量子程序的基本单位。一个完整的量子机器学习任务通常包含:数据编码线路、可训练线路、测量线路三部分。数据编码把经典特征 x 映射为量子态 |φ(x)⟩;可训练线路用参数 θ 调整状态;测量得到期望值后送入经典损失函数。
下面这张图给出本节六个概念之间的结构关系:量子比特是载体,叠加与纠缠是状态特征,量子门负责演化,量子线路负责组织,测量负责输出经典结果。它也是后续所有量子模型实现的统一语言。
把六个概念落到一次最小训练循环
假设我们要做一个二分类任务,输入特征是二维向量 x = (x₁, x₂),标签 y ∈ {0, 1}。一个最小可运行的量子模型可以这样组织:
- 数据编码:用 RY(x₁) 作用在 q0,RY(x₂) 作用在 q1,把经典特征编码为量子态。
- 可训练层:对 q0、q1 分别施加 RY(θ₁)、RY(θ₂),再施加 CNOT(q0, q1) 产生纠缠,最后再施加 RY(θ₃)、RY(θ₄)。
- 测量:测量 q0 的 Z 期望值 ⟨Z₀⟩,将其映射为预测概率 p = (1 − ⟨Z₀⟩)/2。
- 损失与更新:用交叉熵损失 L = −[y log p + (1−y) log(1−p)],由经典优化器计算梯度并更新 θ₁ 到 θ₄。
这个循环里,量子线路负责“前向传播”,测量负责“读出”,经典优化器负责“反向传播”。需要特别提醒:量子线路内部不能直接做经典反向传播,梯度通常通过参数移位规则(parameter-shift rule)估计,例如对 RY(θ) 的期望值,其导数可由 ⟨O⟩(θ+π/2) 与 ⟨O⟩(θ−π/2) 的差除以 2 得到。这意味着一次梯度计算需要多次运行量子线路,工程上必须关注 shots 数量、线路深度和噪声对梯度估计的影响。