4. 经典数据到量子态的编码范式
把经典数据送进量子线路,第一步不是设计变分电路,而是决定“数据以什么形式落在量子态上”。同一个长度为 N 的经典向量,可以被写成计算基态的组合、振幅的系数、旋转门的转角,或者只体现在相对相位里。编码方式一旦确定,后续可用的量子操作、测量方式、所需量子比特数和线路深度都被同时锁定。本节按“占用资源—表达能力—实现代价”三条线索,梳理五种主流编码范式,并给出统一的描述框架。
一、五种编码范式的定义与资源对照
设经典数据向量为 x = (x₀, x₁, …, x_{N-1}),量子比特数为 n,则 Hilbert 空间维度为 2ⁿ。五种编码的核心区别在于:数据被放在量子态的哪个自由度上。
- 基态编码(Basis Encoding):把经典比特串直接映射为计算基态,如
x = 1011 → |1011⟩。数据只出现在基态标签上,振幅恒为 1。它本质是“把经典比特搬到量子寄存器”,不产生叠加。 - 振幅编码(Amplitude Encoding):令
|ψ⟩ = Σᵢ xᵢ|i⟩,数据成为各基态的振幅。要求‖x‖ = 1,否则需先归一化。用n个量子比特即可承载2ⁿ个数据点,是资源效率最高的方案。 - 角度编码(Angle Encoding):每个量子比特承载一个数据分量,通过
R_y(θᵢ)或R_x(θᵢ)把xᵢ变成旋转角,如θᵢ = xᵢ或θᵢ = arctan(xᵢ)。数据落在布洛赫球的极角上,n个比特承载n个分量。 - 相位编码(Phase Encoding):数据只写入相对相位,如
|ψ⟩ = (|0⟩ + e^{iφ(x)}|1⟩)/√2,其中φ(x)由数据决定。振幅不变,信息藏在相位中,必须通过干涉才能读出。 - 统一编码框架(Unified/Data Re-uploading):把编码视为一个含参酉算子
U(x),上述四种都是它的特例。数据可以在多层线路中反复“重上传”,使量子态对x的依赖从线性扩展到高次多项式。
下表给出关键资源对照,其中 N 为数据维度,n 为量子比特数,d 为线路深度量级。
| 编码方式 | 量子比特数 | 数据落点 | 典型线路深度 | 读出方式 |
|---|---|---|---|---|
| 基态编码 | n = N | 基态标签 | O(1) | 直接测量 |
| 振幅编码 | n = log₂N | 振幅系数 | O(N) 或 O(poly n) | 态层析/干涉 |
| 角度编码 | n = N | 布洛赫极角 | O(1) | 测量期望值 |
| 相位编码 | n = N | 相对相位 | O(1) | 干涉测量 |
| 统一编码 | n 可调 | U(x) 整体 | O(L) 层 | 依任务而定 |
二、统一编码框架:把编码写成含参酉算子
与其把五种方式当成互不相干的技巧,不如统一写成:
|ψ(x)⟩ = U(x) |0…0⟩
U(x) = U_L(x_L) · … · U_2(x_2) · U_1(x_1)
其中每一层 U_k(x_k) 由单比特旋转和固定纠缠门组成,x_k 是该层用到的数据子集。基态编码对应 U(x) 为把 x 的比特翻转到 |1⟩ 的 X 门序列;角度编码对应每层只含 R_y(xᵢ);相位编码对应 R_z(φ(xᵢ));振幅编码则对应一个把 |0…0⟩ 映射到目标振幅向量的制备线路。统一框架的价值在于:它让“编码”和“变分线路”不再割裂,数据重上传次数 L 直接决定模型可表达的函数阶数。
N 与可用量子比特数 n 的关系是什么?任务需要读取的是振幅、相位还是期望值?硬件允许的线路深度是多少?三、实现要点与示例参数
以 N = 4 的向量 x = (0.5, 0.5, 0.5, 0.5) 为例,它已归一化,可直接做振幅编码:用 n = 2 个量子比特制备 |ψ⟩ = 0.5|00⟩ + 0.5|01⟩ + 0.5|10⟩ + 0.5|11⟩,即 H⊗H|00⟩。若改用角度编码,则需 n = 4 个量子比特,每个执行 R_y(0.5),得到 ⊗ᵢ (cos0.25|0⟩ + sin0.25|1⟩)。两者承载同一份数据,但前者省比特、制备线路深,后者费比特、线路浅。
相位编码的典型用法是:先制备 |+⟩,再施加 R_z(φ(xᵢ)),最后用 H 门干涉后测量。若 φ(xᵢ) = 2xᵢ,测量 |0⟩ 的概率为 cos²(xᵢ),据此可反推数据。注意相位编码的读出必须依赖干涉,单独测量 Z 基无法看到相位信息。
N 维态一般需要 O(N) 个门;若数据维度很大而线路深度受限,应优先考虑角度编码或数据重上传方案,而不是强行做全振幅制备。四、编码选择与数据流关系
下图把五种编码放在同一张“数据流—资源”关系图中:左侧是经典数据进入点,中间是数据在量子态上的落点,右侧是读出路径与资源代价。它帮助你在设计线路前快速定位该选哪条路径。
五、选择策略与常见误区
实际工程中,编码选择通常遵循以下判断顺序。第一,若数据本身就是离散标签或比特串,且任务只需分类判别,基态编码最直接,线路几乎无制备开销。第二,若数据维度 N 远大于可用比特数 2ⁿ,振幅编码是唯一能在多项式比特内承载指数级数据的方案,但必须接受 O(N) 量级的制备深度,或使用带结构的制备线路。第三,若硬件是近期含噪设备、深度预算紧张,角度编码和相位编码更实用,代价是比特数随 N 线性增长。第四,若任务需要模型表达高次非线性函数,应在统一框架下增加数据重上传层数 L,而不是单纯堆叠变分层。
常见误区有三个。其一,把角度编码的转角直接取为原始数据而不做缩放,导致 xᵢ 超出 [0, 2π) 后出现周期性混叠,不同数据映射到同一量子态。其二,认为相位编码可以像角度编码一样直接测量,忽略了相位必须通过干涉转化为振幅差才能读出。其三,在振幅编码前忘记归一化,导致制备出的态并非目标向量,后续所有测量结果都失去意义。
encode(x, mode),并固定记录 mode、n、归一化常数与缩放因子。这样在更换编码方式或调整数据范围时,可以快速定位是编码环节还是变分环节导致结果变化。把五种编码放在统一框架下理解后,后续设计特征映射时就有了明确的坐标系:先确定数据落在振幅、角度还是相位上,再确定需要多少量子比特和多少层重上传,最后才进入具体的门序列实现。编码不是预处理步骤,而是量子模型表达能力的第一道决定因素。