核心原理
一、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)¶
- 数据准备
-
给定训练集 \(\{(x_n,y_n)\}_{n=1}^M\),其中 \(x_n \in X\),标签 \(y_n \in \{-1,+1\}\)。
-
设计量子特征映射电路 \(U_\Phi(x)\)
- 在理论上:选定一种物理可实现的编码方式,把 \(x\) 映射到量子态 \(|\psi(x)\rangle\)(文章中有多种例子,如挤压态映射)[1][2]。
-
在硬件上:这是一段参数依赖于输入 \(x\) 的量子电路。
-
在量子设备上计算训练集核矩阵 \(K\)
对所有训练样本对 \((x_n,x_m)\): - 准备 \(|\psi(x_n)\rangle = U_\Phi(x_n)|0\ldots 0\rangle\)
- 准备 \(|\psi(x_m)\rangle = U_\Phi(x_m)|0\ldots 0\rangle\)
- 通过量子过程(如 SWAP test 或其他内积估计方法)估计内积: $$ K_{nm} = \kappa(x_n,x_m) = \langle\psi(x_n)|\psi(x_m)\rangle $$
-
重复多次取统计平均,得到足够精度的核矩阵 \(K\)。
-
经典 SVM 训练(完全在经典计算机上执行)
- 将量子设备输出的核矩阵 \(K\) 与标签 \(\{y_n\}\) 输入到经典 SVM 求解器(如文中使用的 Python scikit-learn 的 SVC)[2]。
- 求解标准 SVM 对偶优化问题,得到拉格朗日乘子 \(\{\alpha_n\}\) 和偏置 \(b\)。
- 得到最终决策函数: $$ f(x) = \sum_{n=1}^{M} \alpha_n y_n\, \kappa(x,x_n) + b $$
- 其中多数样本的 \(\alpha_n=0\),只有支持向量对应的 \(\alpha_n>0\)。
2. 预测阶段(Inference / Testing)¶
给定一个新样本 \(x_{\text{new}}\):
- 在量子设备上计算与支持向量的核值
-
对每个支持向量 \(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 $$
-
经典决策计算
- 用训练阶段得到的 \(\alpha_i, y_i, b\) 在线性组合这些核值: $$ f(x_{\text{new}}) = \sum_{i\in SV} \alpha_i y_i\, \kappa(x_{\text{new}},x_i) + b $$
- 最终预测标签: $$ \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 训练流程如下:
- 准备训练数据
-
例如“circles”“moons”“blobs”这类 2D 数据集,各有一定数量的训练点与测试点[3]。
-
对每个训练样本 \(x_n\) 调用特征映射
-
概念上:在量子设备上对两个真空模各施加对应的挤压操作,得到态: $$ |\psi(x_n)\rangle = |(c,x_{n,1})\rangle \otimes |(c,x_{n,2})\rangle $$
-
用量子设备估计核矩阵 \(K\)
- 对每对训练样本 \((x_n,x_m)\):
- 制备对应的量子态 \(|\psi(x_n)\rangle\) 与 \(|\psi(x_m)\rangle\)
- 通过量子过程估计: $$ K_{nm} = \kappa(x_n,x_m;c) $$
-
在文章的数值实验中,因为该核有显式解析式,直接在经典计算机中计算;但从算法结构上,这一步就是“QSVM 的量子部分”。
-
在经典端训练 SVM
- 将 \(K\) 输入到 scikit-learn 中的
SVC(kernel="precomputed"),使用标准 SVM 训练流程,得到支持向量与 \(\alpha_n,b\)[3]。 - 图 3 显示:
- QSVM 模型在三个数据集上都能成功学习非线性决策边界;
- 调整超参数 \(c\) 会改变核函数的“宽度”,进而影响分类性能(第二行图对 \(c\) 的变化进行了演示)。
4. 预测流程示意¶
对于一个新的 2D 样本 \(x_{\text{new}}\):
- 量子侧(概念上):
- 制备 \(|\psi(x_{\text{new}})\rangle = |(c,x_{\text{new},1})\rangle\otimes|(c,x_{\text{new},2})\rangle\)。
-
对每个支持向量 \(x_i\),制备 \(|\psi(x_i)\rangle\),估计 \(\kappa(x_{\text{new}},x_i;c)\)。
-
经典侧:
- 利用训练阶段求得的 \(\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 $$
- 输出 \(\hat{y} = \text{sign}(f(x_{\text{new}}))\) 作为最终分类结果。
5. 小结:为什么这是 QSVM 混合计算的一个典型实例?¶
- 核心计算 \(\kappa(x,x')\) 源自量子态内积,原本应由量子硬件来实现;
- SVM 的优化与推理完全由经典算法(如 scikit-learn SVC)完成;
- 特征映射通过量子操作(挤压)隐式地把数据送入一个**无限维 Fock 空间**,由此获得强大的非线性表达能力[2][3]。
这正契合 QSVM 的基本思想:
用量子系统去“做一个好核”,用经典 SVM 去“用好这个核”。
四、总结(可直接拿来用的回答要点)¶
- 核心原理
- 将经典数据 \(x\) 通过量子电路 \(U_\Phi(x)\) 映射为量子态 \(|\psi(x)\rangle\),构成高维量子特征空间;
- 利用量子态内积定义核函数 \(\kappa(x,x')=\langle\psi(x)|\psi(x')\rangle\);
-
量子设备负责估计核矩阵,经典设备负责执行 SVM 训练与预测,形成量子–经典混合的 QSVM。
-
完整流程
- 训练:
数据准备 → 设计量子特征映射 → 量子硬件评估训练集中所有样本对的核值 → 经典 SVM 用核矩阵训练,得到支持向量与参数。 -
预测:
对新样本用同一量子特征映射评估与支持向量的核值 → 经典侧代入 SVM 决策函数计算得分 → 取符号给出类别。 -
实例(挤压特征映射 QSVM)
- 输入 2D 数据 \(x=(x_1,x_2)\) 被映射到两模挤压真空态 \(|(c,x_1)\rangle\otimes|(c,x_2)\rangle\);
- 核函数是多模挤压态内积的乘积,具有解析形式,可使数据在特征空间线性可分;
- 在“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.