跳转至

核心原理

一、QSVM 混合计算的核心原理

在这篇文章的框架下,可以把“QSVM 混合计算”理解为:
利用量子计算机负责“核函数计算(即量子特征映射与量子态内积)”,利用经典计算机负责“基于核的 SVM 训练与推理” 的量子–经典混合模式。

其核心思想可以分解为三层:

1. 量子特征映射(Quantum Feature Map)

  • 经典输入数据 \(x \in X\) 被编码为一个量子态 \(|\psi(x)\rangle\),这就是一个特征映射: $$ \Phi: X \to \mathcal{F},\quad x \mapsto |\psi(x)\rangle $$ 其中 \(\mathcal{F}\) 是量子希尔伯特空间(特征空间)[1]。
  • 从经典核方法的角度,这就是把数据从原始空间映射到一个**高维甚至无限维特征空间**,在这个空间中更容易线性可分。

2. 量子核(Quantum Kernel)

  • 利用量子态内积定义核函数: $$ \kappa(x,x') = \langle\psi(x)|\psi(x')\rangle_{\mathcal{F}} $$
  • 这个核函数对应一个再生核希尔伯特空间(RKHS),在该空间中,所有线性模型都可以写成核函数的线性组合: $$ f^*(x) = \sum_{m=1}^{M} a_m \,\kappa(x,x_m) $$ 这就是核方法和 SVM 的基础[1]。

3. 量子–经典混合:隐式量子核 + 经典 SVM

文章图 1 中的**隐式策略(implicit approach)**正是 QSVM 混合计算的原型:

  • 量子部分
    量子计算机实现特征映射电路 \(U_\Phi(x)\) 并估计量子态内积: $$ |\psi(x)\rangle = U_\Phi(x)|0\ldots 0\rangle,\quad \kappa(x,x') = \langle\psi(x)|\psi(x')\rangle $$
  • 经典部分
    把量子设备返回的核矩阵 \(K\) 交给经典 SVM 求解器,求出最优的 SVM 模型参数(如拉格朗日乘子 \(\alpha_m\) 等)。

因此,**QSVM 的核心原理**可以一句话概括为:

用量子电路实现一种可能对经典计算“难以模拟”的高维非线性特征映射,并在量子硬件上高效估计核函数 \(\kappa(x,x')\),再把这些核值交给经典 SVM 进行训练与预测,从而形成量子–经典混合的支持向量机。


二、QSVM 混合计算的完整流程

下面按照**训练阶段**和**预测阶段**给出一个清晰的工作流。

1. 训练阶段(Training)

  1. 数据准备
  2. 给定训练集 \(\{(x_n,y_n)\}_{n=1}^M\),其中 \(x_n \in X\),标签 \(y_n \in \{-1,+1\}\)

  3. 设计量子特征映射电路 \(U_\Phi(x)\)

  4. 在理论上:选定一种物理可实现的编码方式,把 \(x\) 映射到量子态 \(|\psi(x)\rangle\)(文章中有多种例子,如挤压态映射)[1][2]。
  5. 在硬件上:这是一段参数依赖于输入 \(x\) 的量子电路。

  6. 在量子设备上计算训练集核矩阵 \(K\)
    对所有训练样本对 \((x_n,x_m)\)

  7. 准备 \(|\psi(x_n)\rangle = U_\Phi(x_n)|0\ldots 0\rangle\)
  8. 准备 \(|\psi(x_m)\rangle = U_\Phi(x_m)|0\ldots 0\rangle\)
  9. 通过量子过程(如 SWAP test 或其他内积估计方法)估计内积: $$ K_{nm} = \kappa(x_n,x_m) = \langle\psi(x_n)|\psi(x_m)\rangle $$
  10. 重复多次取统计平均,得到足够精度的核矩阵 \(K\)

  11. 经典 SVM 训练(完全在经典计算机上执行)

  12. 将量子设备输出的核矩阵 \(K\) 与标签 \(\{y_n\}\) 输入到经典 SVM 求解器(如文中使用的 Python scikit-learn 的 SVC)[2]。
  13. 求解标准 SVM 对偶优化问题,得到拉格朗日乘子 \(\{\alpha_n\}\) 和偏置 \(b\)
  14. 得到最终决策函数: $$ f(x) = \sum_{n=1}^{M} \alpha_n y_n\, \kappa(x,x_n) + b $$
  15. 其中多数样本的 \(\alpha_n=0\),只有支持向量对应的 \(\alpha_n>0\)

2. 预测阶段(Inference / Testing)

给定一个新样本 \(x_{\text{new}}\)

  1. 在量子设备上计算与支持向量的核值
  2. 对每个支持向量 \(x_i\)

    • 准备 \(U_\Phi(x_{\text{new}})|0\ldots0\rangle\)\(U_\Phi(x_i)|0\ldots0\rangle\)
    • 在量子设备上估计内积: $$ \kappa(x_{\text{new}},x_i) = \langle\psi(x_{\text{new}})|\psi(x_i)\rangle $$
  3. 经典决策计算

  4. 用训练阶段得到的 \(\alpha_i, y_i, b\) 在线性组合这些核值: $$ f(x_{\text{new}}) = \sum_{i\in SV} \alpha_i y_i\, \kappa(x_{\text{new}},x_i) + b $$
  5. 最终预测标签: $$ \hat{y} = \text{sign}\big(f(x_{\text{new}})\big) $$

整条链路中,量子部分仅负责计算核函数 \(\kappa\),所有优化和判决步骤都在经典侧完成,这就是“混合计算”的典型分工。


三、实例:基于“挤压特征映射”的 QSVM 流程解读

文章中给出了一个具有代表性的“玩具示例”:用**连续变量(CV)量子系统中的挤压态(squeezed vacuum states)作为量子特征映射**,并在经典端用 SVM(scikit-learn SVC)完成分类[2][3]。下面用这个例子完整走一遍 QSVM 工作流。

1. 量子特征映射:挤压态编码

  • 单模挤压真空态定义为: $$ |z\rangle = |(r,\phi)\rangle $$ 其中 \(r\) 为挤压幅度、\(\phi\) 为挤压相位[2]。
  • 文章中采用一种简化映射:
    设一个常数超参数 \(c\) 控制挤压强度,把输入 \(x\) 映射到相位: $$ x \mapsto |(c,x)\rangle $$
  • 对于多维输入 \(x=(x_1,\dots,x_N)^\top\),采用多模张量积: $$ \Phi: x \mapsto |(c,x_1)\rangle \otimes \cdots \otimes |(c,x_N)\rangle $$

于是每个样本 \(x\) 都被映射成一个多模挤压态,这个映射在理论上对应某个连续变量量子电路 \(U_\Phi(x)\)

2. 量子核的形式

由挤压态的重叠度可以得到解析形式的核函数[2]:

  • 单模重叠: $$ \langle(c,x)|(c,x')\rangle $$ 是 \(c\) 和相位差 \((x'-x)\) 的函数,文章给出其具体解析表达式(与 \(\text{sech}(c)\)\(\tanh(c)\) 等函数相关)。
  • 多模输入的核函数为: $$ \kappa(x,x';c) = \prod_{i=1}^{N} \langle(c,x_i)|(c,x'_i)\rangle $$
  • 文中指出,这个挤压核具有如下性质:
  • 可高效经典计算(因此在文章中模拟时并未真正调用量子硬件,但在概念上完全可以由量子硬件来实现核的评估);
  • 能够把某些数据集映射到**线性可分**的空间(Supplemental Material 中给出证明)。

3. 训练流程(以二维“moons/circles/blobs”数据集为例)

结合文章中图 3 的描述,QSVM 训练流程如下:

  1. 准备训练数据
  2. 例如“circles”“moons”“blobs”这类 2D 数据集,各有一定数量的训练点与测试点[3]。

  3. 对每个训练样本 \(x_n\) 调用特征映射

  4. 概念上:在量子设备上对两个真空模各施加对应的挤压操作,得到态: $$ |\psi(x_n)\rangle = |(c,x_{n,1})\rangle \otimes |(c,x_{n,2})\rangle $$

  5. 用量子设备估计核矩阵 \(K\)

  6. 对每对训练样本 \((x_n,x_m)\)
    • 制备对应的量子态 \(|\psi(x_n)\rangle\)\(|\psi(x_m)\rangle\)
    • 通过量子过程估计: $$ K_{nm} = \kappa(x_n,x_m;c) $$
  7. 在文章的数值实验中,因为该核有显式解析式,直接在经典计算机中计算;但从算法结构上,这一步就是“QSVM 的量子部分”。

  8. 在经典端训练 SVM

  9. \(K\) 输入到 scikit-learn 中的 SVC(kernel="precomputed"),使用标准 SVM 训练流程,得到支持向量与 \(\alpha_n,b\)[3]。
  10. 图 3 显示:
    • QSVM 模型在三个数据集上都能成功学习非线性决策边界;
    • 调整超参数 \(c\) 会改变核函数的“宽度”,进而影响分类性能(第二行图对 \(c\) 的变化进行了演示)。

4. 预测流程示意

对于一个新的 2D 样本 \(x_{\text{new}}\)

  1. 量子侧(概念上):
  2. 制备 \(|\psi(x_{\text{new}})\rangle = |(c,x_{\text{new},1})\rangle\otimes|(c,x_{\text{new},2})\rangle\)
  3. 对每个支持向量 \(x_i\),制备 \(|\psi(x_i)\rangle\),估计 \(\kappa(x_{\text{new}},x_i;c)\)

  4. 经典侧

  5. 利用训练阶段求得的 \(\alpha_i,y_i,b\),计算: $$ f(x_{\text{new}}) = \sum_{i\in SV} \alpha_i y_i\, \kappa(x_{\text{new}},x_i;c) + b $$
  6. 输出 \(\hat{y} = \text{sign}(f(x_{\text{new}}))\) 作为最终分类结果。

5. 小结:为什么这是 QSVM 混合计算的一个典型实例?

  • 核心计算 \(\kappa(x,x')\) 源自量子态内积,原本应由量子硬件来实现;
  • SVM 的优化与推理完全由经典算法(如 scikit-learn SVC)完成;
  • 特征映射通过量子操作(挤压)隐式地把数据送入一个**无限维 Fock 空间**,由此获得强大的非线性表达能力[2][3]。

这正契合 QSVM 的基本思想:

用量子系统去“做一个好核”,用经典 SVM 去“用好这个核”。


四、总结(可直接拿来用的回答要点)

  1. 核心原理
  2. 将经典数据 \(x\) 通过量子电路 \(U_\Phi(x)\) 映射为量子态 \(|\psi(x)\rangle\),构成高维量子特征空间;
  3. 利用量子态内积定义核函数 \(\kappa(x,x')=\langle\psi(x)|\psi(x')\rangle\)
  4. 量子设备负责估计核矩阵,经典设备负责执行 SVM 训练与预测,形成量子–经典混合的 QSVM。

  5. 完整流程

  6. 训练:
    数据准备 → 设计量子特征映射 → 量子硬件评估训练集中所有样本对的核值 → 经典 SVM 用核矩阵训练,得到支持向量与参数。
  7. 预测:
    对新样本用同一量子特征映射评估与支持向量的核值 → 经典侧代入 SVM 决策函数计算得分 → 取符号给出类别。

  8. 实例(挤压特征映射 QSVM)

  9. 输入 2D 数据 \(x=(x_1,x_2)\) 被映射到两模挤压真空态 \(|(c,x_1)\rangle\otimes|(c,x_2)\rangle\)
  10. 核函数是多模挤压态内积的乘积,具有解析形式,可使数据在特征空间线性可分;
  11. 在“circles”“moons”“blobs”等数据集上,用该核训练的 SVM 可轻松学到复杂的非线性决策边界(图 3 所示),这就是一个具体、可操作的 QSVM 混合计算工作流示例。

References

[1] Quantum Machine Learning in Feature Hilbert Spaces – feature maps and kernels. Quantum Machine Learning in Feature Hilbert Spaces.pdf.
[2] Quantum Machine Learning in Feature Hilbert Spaces – squeezing as a feature map. Quantum Machine Learning in Feature Hilbert Spaces.pdf.
[3] Quantum Machine Learning in Feature Hilbert Spaces – implicit approach and SVM experiments (Fig. 3). Quantum Machine Learning in Feature Hilbert Spaces.pdf.