4. 量子机器学习问题建模
量子机器学习(QML)的起点并不是写量子程序,而是把已有的经典机器学习任务“翻译”成量子线路能够表达和求解的形式。这个翻译过程称为问题建模,它决定了后续能否用有限的量子比特和门操作,去逼近原本在经典计算机上定义的目标。本节围绕三个核心环节展开:任务形式化、数据编码、量子态与测量输出,并给出一个可操作的建模示例。
一、从经典任务到量子可计算形式
经典机器学习任务通常可以写成“输入特征 x、参数 θ、输出预测 y”的映射问题。例如二分类任务中,给定样本 x∈R^d,模型 f(x;θ) 输出标签 0 或 1。量子建模的第一步,是把这种映射拆成量子线路能承担的部分:
- 输入层:把经典数据 x 编码为量子态 |ψ(x)⟩,这是数据编码问题;
- 处理层:用含参数 θ 的量子门构成线路 U(θ),对 |ψ(x)⟩ 进行变换;
- 输出层:对末态进行测量,把测量结果的统计量(如期望值)映射回经典预测值。
因此,一个 QML 模型可以抽象为 y = g(⟨ψ(x)|U†(θ) M U(θ)|ψ(x)⟩),其中 M 是测量算符,g 是经典后处理函数。这个式子说明:量子线路负责在指数级大的希尔伯特空间中完成特征变换,经典部分负责读取和解释结果。建模的关键,是让 U(θ) 的结构与任务的数据分布相匹配,而不是盲目堆叠量子门。
二、数据编码:把经典向量放进量子态
数据编码是建模中最容易被低估的环节。n 个量子比特的态空间维度为 2^n,但经典数据维度 d 与 n 并不天然对应。常见编码方式有三类:
角度编码是最直观的一种。对每个特征 x_i,用一个旋转门 RY(x_i) 作用在对应量子比特上,初态为 |0⟩,则单比特态为 cos(x_i/2)|0⟩+sin(x_i/2)|1⟩。若 d 个特征对应 d 个量子比特,编码线路只需 d 个旋转门,深度为 1。它的优点是实现简单、参数少;缺点是每个特征只影响一个比特的局部相位,表达能力有限。
振幅编码把归一化后的经典向量直接映射为量子态的振幅:|ψ(x)⟩ = Σ x_i|i⟩ / ||x||。这种编码在信息密度上最优,n 个比特可承载 2^n 个特征,但制备该态通常需要复杂的线路,深度可能达到 O(2^n),在近期设备上代价很高。
IQP 编码(Instantaneous Quantum Polynomial)则通过 Hadamard 门与对角相位门组合,把特征嵌入到多比特关联相位中,常用于量子核方法。它的线路深度与特征交互阶数相关,适合表达特征间的乘积关系。
三、量子态表示与测量输出
编码完成后,量子态 |ψ(x)⟩ 是一个 2^n 维复向量,其全局相位不可观测,只有相对相位和振幅分布携带信息。处理层 U(θ) 通常由单比特旋转门和双比特纠缠门交替构成,例如硬件高效拟设(Hardware-Efficient Ansatz):每层包含 RY、RZ 旋转和 CNOT 环形连接。参数 θ 的维度等于旋转门数量,训练时通过经典优化器更新。
测量阶段需要把量子态转成经典数值。二分类任务常用单比特 Z 期望值:⟨Z⟩ = P(0) - P(1),取值范围 [-1,1],再通过阈值 0 映射为标签。多分类任务可对多个比特测量,得到比特串概率分布,取概率最大的类别。回归任务则可用多个期望值加权组合。测量需要重复采样(shots),例如 1024 次,用频率估计概率,因此输出带有统计噪声,建模时要预留采样预算。
四、一个可操作的建模示例
假设我们要用 4 个量子比特完成一个二维二分类任务,样本特征为 (x₁, x₂),标签 y∈{0,1}。建模步骤如下:
- 编码:采用角度编码,将 x₁ 编码到 q0 的 RY(x₁),x₂ 编码到 q1 的 RY(x₂),q2、q3 保持 |0⟩ 作为辅助比特。初态为 |0000⟩。
- 处理层:设计两层硬件高效拟设。每层对 q0–q3 施加 RY(θ) 和 RZ(θ),再用 CNOT 按环形连接 (0→1, 1→2, 2→3, 3→0) 引入纠缠。两层共 16 个旋转参数。
- 测量:对 q0 测量 Z 期望值,得到 ⟨Z⟩∈[-1,1]。若 ⟨Z⟩>0 预测为类 0,否则为类 1。
- 训练:用 200 个带标签样本,损失函数取均方误差 L = (⟨Z⟩ − y')²,其中 y' 将标签 0/1 映射为 +1/−1。梯度用参数移位规则:对每个 θ_i,计算 L(θ_i+π/2) 与 L(θ_i−π/2) 的差除以 2。学习率取 0.1,迭代 100 步。
在这个示例中,编码线路深度为 1,处理层深度约为 8(含纠缠),测量只需 1 个比特。若在模拟器上运行,可观察到损失从初始约 0.5 逐步下降到 0.1 以下;若在真实硬件上运行,由于采样噪声和退相干,损失曲线会出现波动,此时应增加 shots 或降低线路深度。判断建模是否成功的依据不是损失是否降到零,而是验证集准确率是否稳定高于随机猜测(二分类为 50%),且训练过程没有出现梯度消失或参数陷入平台。
五、建模时的常见陷阱
第一,编码与处理层不匹配。若编码只产生局部相位,而处理层缺乏纠缠门,模型表达能力会严重不足,表现为训练损失居高不下。第二,测量算符选择不当。例如多分类任务只测一个比特,会丢失其他类别的信息,应改为测量多个比特的联合分布。第三,忽视采样成本。每次参数更新都需要重新采样,shots 越大梯度估计越准,但训练时间线性增长,建模时应把采样预算纳入设计。第四,把全局相位当作信息。量子态的全局相位不可观测,建模时不应依赖它来区分样本。
总结来说,将经典机器学习任务映射为量子线路,本质是完成一次“表示转换”:用编码把数据放进量子态,用参数化线路在希尔伯特空间中完成特征变换,用测量把量子信息读回经典世界。建模的质量取决于编码方式、线路结构与测量策略是否与任务匹配,而不是量子比特数量或门数量的简单堆叠。掌握这一映射关系,后续的线路设计、训练与硬件部署才有可靠的起点。