回顾经典机器学习,尤其是支持向量机(SVM)等算法,核方法技巧的效用显而易见。它让我们能隐式地进行操作,在高维特征空间中处理数据,而无需显式计算数据在该空间中的坐标。相反,我们只需一个函数,即核函数 $k(x, x')$,该函数计算特征空间中映射数据点 $\phi(x)$ 和 $\phi(x')$ 之间的内积。量子机器学习运用了相似的思路,建立在之前介绍的量子特征映射之上。量子特征映射 $U_\phi(x)$ 将经典数据点 $x$ 编码为一个量子态 $|\phi(x)\rangle = U_\phi(x)|0...0\rangle$,存在于希尔伯特空间 $\mathcal{H}$ 中。这个希尔伯特空间的大小可以随量子比特数呈指数增长,作为我们可能非常高维的特征空间。量子核 $k(x, x')$ 被定义为两个量子特征态 $|\phi(x)\rangle$ 和 $|\phi(x')\rangle$ 之间内积的一个函数。一个常见且实用的定义是:$$ k(x, x') = |\langle\phi(x)|\phi(x')\rangle|^2 $$为什么要用平方幅值?稍后我们会看到,这种特定形式与通过测量量子电路可以估算的概率直接相关,使其适用于近期量子硬件。内积的其他函数形式也是可行的,但这种形式较为普遍。使用幺正算符 $U_\phi$ 替换特征态的定义:$$ k(x, x') = |\langle 0...0 | U_\phi(x)^\dagger U_\phi(x') | 0...0 \rangle|^2 $$这个等式展示了量子核方法技巧的核心:隐式映射: 我们将 $x \mapsto |\phi(x)\rangle$ 定义为一个映射,进入一个可能非常庞大的量子希尔伯特空间 $\mathcal{H}$。内积的直接计算: 我们计算核函数 $k(x, x')$ 无需显式构造完整的态向量 $|\phi(x)\rangle$ 和 $|\phi(x')\rangle$,因为这可能需要指数级的经典计算资源。相反,我们设计一个量子电路,其测量结果统计数据使我们能够估算所需的内积(或其平方幅值)。计算方式主要思路是在量子电路中准备态 $|\phi(x)\rangle$ 和 $|\phi(x')\rangle$(或与之相关的态),然后执行操作和测量,以获得它们的重叠度 $\langle\phi(x)|\phi(x')\rangle$。考虑幺正变换 $V = U_\phi(x)^\dagger U_\phi(x')$。我们需要的内积是此幺正算符在初始态 $|0...0\rangle$ 中的期望值:$$ \langle\phi(x)|\phi(x')\rangle = \langle 0...0 | V | 0...0 \rangle $$可以设计电路来估算诸如 $|\langle 0...0 | V | 0...0 \rangle|^2$ 的量。例如,“交换测试”电路或相关的基于干涉的电路可以测量两个态之间的保真度,这对应于它们内积的平方幅值。我们将 $U_\phi(x')$ 应用于一个初始化为 $|0...0\rangle$ 的寄存器,将 $U_\phi(x)$ 应用于另一个初始化为 $|0...0\rangle$ 的寄存器,然后使用辅助量子比特和受控操作来使这些态发生干涉。测量辅助量子比特可提供关于 $|\langle\phi(x)|\phi(x')\rangle|^2$ 的信息。digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="Arial", fontsize=10, color="#495057", fontcolor="#495057"]; edge [fontname="Arial", fontsize=9, color="#868e96"]; subgraph cluster_classical { label = "经典数据空间"; style=filled; color="#e9ecef"; x [label="数据点 x"]; xp [label="数据点 x'"]; } subgraph cluster_quantum { label = "量子特征空间(希尔伯特空间 H)"; style=filled; color="#bac8ff"; phi_x [label="态 |φ(x)⟩ = U_φ(x)|0⟩", shape=oval, color="#4263eb", fontcolor="#4263eb"]; phi_xp [label="态 |φ(x')⟩ = U_φ(x')|0⟩", shape=oval, color="#4263eb", fontcolor="#4263eb"]; } subgraph cluster_computation { label = "量子核计算"; style=filled; color="#96f2d7"; kernel_circuit [label="量子电路\n估算内积\n⟨φ(x)|φ(x')⟩", shape=component, color="#0ca678", fontcolor="#0ca678"]; kernel_value [label="核值\nk(x, x') ≈ |⟨φ(x)|φ(x')⟩|²", shape=note, color="#0ca678", fontcolor="#0ca678"]; } x -> phi_x [label=" 量子特征\n映射 U_φ(x)", Mfontsize=8]; xp -> phi_xp [label=" 量子特征\n映射 U_φ(x')", Mfontsize=8]; {phi_x, phi_xp} -> kernel_circuit [label=" 态已准备"]; kernel_circuit -> kernel_value [label=" 测量与后处理"]; {x, xp} -> kernel_value [style=dashed, constraint=false, label=" 通过\n量子核方法技巧\n直接计算", color="#1098ad", fontcolor="#1098ad"]; }量子核方法技巧的流程图。经典数据点 $x$ 和 $x'$ 通过特征映射幺正算符 $U_\phi$ 隐式映射到量子态 $|\phi(x)\rangle$ 和 $|\phi(x')\rangle$。一个量子电路直接估算它们的重叠度,得到核值 $k(x, x')$,从而避免了在高维希尔伯特空间 $\mathcal{H}$ 中的显式表示。与经典核方法的关系这种形式体系的优势在于它与经典核机器的匹配性。一旦我们能计算出量子核矩阵 $K$(其中对于数据集 ${x_1, ..., x_N}$,$K_{ij} = k(x_i, x_j)$),我们就可以将此矩阵直接输入到经典算法中,例如:支持向量机 (SVM)核岭回归高斯过程核主成分分析 (KPCA)经典算法仅基于核矩阵 $K$ 进行优化或分析,实际是在量子特征空间 $\mathcal{H}$ 中进行处理,而无需直接访问该空间。假设是,量子特征映射 $U_\phi(x)$ 可能会在 $\mathcal{H}$ 中生成经典特征映射难以实现的关联或结构,这可能在某些数据集上带来更好的性能。数学特性为了使 $k(x, x')$ 对许多经典算法(如 SVM)成为一个有效的核函数,生成的核矩阵 $K$ 必须是半正定 (PSD) 的。这意味着对于任意向量 $c$,二次型 $c^T K c \ge 0$。幸运的是,常用的量子核定义 $k(x, x') = |\langle\phi(x)|\phi(x')\rangle|^2$ 通常会生成一个 PSD 核矩阵。令 $G$ 为格拉姆矩阵,其元素为 $G_{ij} = \langle\phi(x_i)|\phi(x_j)\rangle$。格拉姆矩阵总是 PSD 的。我们定义的量子核矩阵 $K$ 的元素为 $K_{ij} = |G_{ij}|^2$。这个矩阵 $K$ 是 $G$ 及其复共轭 $G^$ 的哈达玛乘积(元素级乘积)。根据舒尔乘积定理,两个 PSD 矩阵的哈达玛乘积也是 PSD 的。由于 $G$ 和 $G^$ 都是 PSD 的,它们的哈达玛乘积 $K$ 也是 PSD 的。这使得我们可以方便地在标准核方法框架中使用这些量子核。下一节将说明如何利用量子电路和模拟器来实际计算这些核矩阵的元素。