变分量子算法(VQAs)是一种强大的混合方法,它将量子计算的能力与经典优化技术相结合。如前所述,这种结构使得它们尤其适合在当前和近期的量子硬件上运行。这些算法的构建依据是量子力学中的变分原理。
变分原理:逼近的依据
在量子力学中,变分原理提供了一种估算由哈密顿量 H H H 所描述的量子系统的基态能量 E 0 E_0 E 0 的方法。该原理指出,对于任何行为良好的试探波函数 ∣ ψ ⟩ |\psi\rangle ∣ ψ ⟩ ,哈密顿量对该状态的期望值为真实基态能量提供了一个上限。在数学上,这通过瑞利-里兹商表示为:
E [ ψ ] = ⟨ ψ ∣ H ∣ ψ ⟩ ⟨ ψ ∣ ψ ⟩ E[\psi] = \frac{\langle \psi | H | \psi \rangle}{\langle \psi | \psi \rangle} E [ ψ ] = ⟨ ψ ∣ ψ ⟩ ⟨ ψ ∣ H ∣ ψ ⟩
如果试探状态 ∣ ψ ⟩ |\psi\rangle ∣ ψ ⟩ 是归一化的(意味着 ⟨ ψ ∣ ψ ⟩ = 1 \langle \psi | \psi \rangle = 1 ⟨ ψ ∣ ψ ⟩ = 1 ),则简化为:
E [ ψ ] = ⟨ ψ ∣ H ∣ ψ ⟩ E[\psi] = \langle \psi | H | \psi \rangle E [ ψ ] = ⟨ ψ ∣ H ∣ ψ ⟩
变分原理的核心表述是:
E [ ψ ] ≥ E 0 E[\psi] \ge E_0 E [ ψ ] ≥ E 0
当且仅当试探状态 ∣ ψ ⟩ |\psi\rangle ∣ ψ ⟩ 恰好是与 E 0 E_0 E 0 对应的基态本征向量 ∣ ψ 0 ⟩ |\psi_0\rangle ∣ ψ 0 ⟩ 时,等式成立。这个原理非常有用:它意味着我们可以遍历一组可能的量子状态,计算每个状态的哈密顿量期望值,而产生最小期望值的状态将是我们对该组状态中真实基态(及其能量)的最佳逼近。我们的试探状态组越能代表实际的基态,我们得到的最小期望值就越接近 E 0 E_0 E 0 。
使原理适用于量子计算
变分量子算法巧妙地将此原理应用于量子计算机。我们不再使用任意的试探波函数,而是使用可以通过量子计算机利用参数化量子电路(PQC)制备的量子状态 ∣ ψ ( θ ⃗ ) ⟩ |\psi(\vec{\theta})\rangle ∣ ψ ( θ )⟩ ,该电路通常表示为 U ( θ ⃗ ) U(\vec{\theta}) U ( θ ) 。这里,θ ⃗ = ( θ 1 , θ 2 , … , θ M ) \vec{\theta} = (\theta_1, \theta_2, \dots, \theta_M) θ = ( θ 1 , θ 2 , … , θ M ) 表示一组可调参数,通常是电路中量子门内的旋转角度。PQC 作用于某个初始状态,通常是全零状态 ∣ 0 … 0 ⟩ |0\dots 0\rangle ∣0 … 0 ⟩ :
∣ ψ ( θ ⃗ ) ⟩ = U ( θ ⃗ ) ∣ 0 … 0 ⟩ |\psi(\vec{\theta})\rangle = U(\vec{\theta}) |0\dots 0\rangle ∣ ψ ( θ )⟩ = U ( θ ) ∣0 … 0 ⟩
哈密顿量 H H H 现在表示我们旨在解决的问题。在量子化学中,它可能是我们寻求其基态能量的分子哈密顿量。在机器学习中,H H H 通常被构建,使其期望值对应于一个我们想要最小化的经典代价函数 C ( θ ⃗ ) C(\vec{\theta}) C ( θ ) (例如,分类误差,回归损失)。
那么任务就变成找到最优参数集 θ ⃗ ∗ \vec{\theta}^* θ ∗ ,使 H H H 相对于 PQC 输出状态的期望值最小化:
C ( θ ⃗ ) = ⟨ ψ ( θ ⃗ ) ∣ H ∣ ψ ( θ ⃗ ) ⟩ = ⟨ 0 … 0 ∣ U † ( θ ⃗ ) H U ( θ ⃗ ) ∣ 0 … 0 ⟩ C(\vec{\theta}) = \langle \psi(\vec{\theta}) | H | \psi(\vec{\theta}) \rangle = \langle 0\dots 0 | U^\dagger(\vec{\theta}) H U(\vec{\theta}) | 0\dots 0 \rangle C ( θ ) = ⟨ ψ ( θ ) ∣ H ∣ ψ ( θ )⟩ = ⟨ 0 … 0∣ U † ( θ ) H U ( θ ) ∣0 … 0 ⟩
目标是找到:
θ ⃗ ∗ = arg min θ ⃗ C ( θ ⃗ ) \vec{\theta}^* = \arg \min_{\vec{\theta}} C(\vec{\theta}) θ ∗ = arg θ min C ( θ )
混合量子-经典循环
这种最小化是通过一个迭代的混合循环实现的,该循环包含量子处理器和经典优化器:
初始化: 选择初始参数集 θ ⃗ 0 \vec{\theta}_0 θ 0 。
量子执行:
使用当前参数 θ ⃗ k \vec{\theta}_k θ k 配置 PQC U ( θ ⃗ k ) U(\vec{\theta}_k) U ( θ k ) 。
在量子计算机上制备状态 ∣ ψ ( θ ⃗ k ) ⟩ = U ( θ ⃗ k ) ∣ 0 … 0 ⟩ |\psi(\vec{\theta}_k)\rangle = U(\vec{\theta}_k)|0\dots 0\rangle ∣ ψ ( θ k )⟩ = U ( θ k ) ∣0 … 0 ⟩ 。
测量期望值 ⟨ H ⟩ θ ⃗ k = ⟨ ψ ( θ ⃗ k ) ∣ H ∣ ψ ( θ ⃗ k ) ⟩ \langle H \rangle_{\vec{\theta}_k} = \langle \psi(\vec{\theta}_k) | H | \psi(\vec{\theta}_k) \rangle ⟨ H ⟩ θ k = ⟨ ψ ( θ k ) ∣ H ∣ ψ ( θ k )⟩ 。这通常需要测量构成 H H H 的单个泡利项,并对结果进行经典组合。这会给出代价函数值 C ( θ ⃗ k ) C(\vec{\theta}_k) C ( θ k ) 。
经典优化:
将代价 C ( θ ⃗ k ) C(\vec{\theta}_k) C ( θ k ) (以及可能其梯度,我们稍后将讨论)输入给经典优化算法。
优化器提出一组新的参数 θ ⃗ k + 1 \vec{\theta}_{k+1} θ k + 1 ,旨在降低代价。
迭代: 重复步骤2和3,直到满足收敛标准(例如,代价的变化低于阈值,或达到最大迭代次数)。
变分量子算法特有的混合量子-经典循环示意图。量子处理器制备并测量参数化状态,而经典优化器根据测量结果调整参数,以最小化代价函数。
这种迭代过程运用量子计算机处理被认为经典困难的任务(制备和测量复杂的量子状态),同时依赖成熟的经典算法进行优化。变分原理保证,通过最小化可测量的代价函数 C ( θ ⃗ ) C(\vec{\theta}) C ( θ ) ,我们能够找到我们所选 PQC 架构能够表示的问题解的最佳逼近。变分量子算法的有效性很大程度上取决于 PQC 的表达能力(其生成接近真实解状态的能力)以及经典优化过程的效率。我们将在后续章节中研究 PQC 设计、代价函数、梯度计算和优化策略。