当您定义了参数化量子电路(PQC)和表示您的机器学习目标的合适成本函数 C ( θ ) C(\theta) C ( θ ) 后,训练变分量子算法(VQA)的主要任务就变成找到使该成本函数最小化的最优参数 θ ∗ \theta^* θ ∗ :
θ ∗ = arg min θ C ( θ ) \theta^* = \arg \min_{\theta} C(\theta) θ ∗ = arg θ min C ( θ )
这个优化问题通常由经典计算机处理,它与量子处理器(或模拟器)进行迭代交互。经典优化器提出新的参数值 θ \theta θ ,量子设备估算 C ( θ ) C(\theta) C ( θ ) (并可能其梯度 ∇ θ C ( θ ) \nabla_{\theta} C(\theta) ∇ θ C ( θ ) ),然后这些信息反馈给优化器,以建议下一组参数。
虽然可以使用标准梯度下降法,但变分量子算法的特点通常得益于更精密的经典优化技术。成本函数可能复杂(非凸),并且通过量子测量估算成本函数及其梯度会引入固有的统计噪声(散粒噪声)。因此,选择合适的优化器对于高效且成功的训练非常重要。本节考察了几种常用于变分量子算法的进阶经典优化器。
变分量子算法的混合量子-经典循环。经典优化器使用量子测量的结果迭代更新 PQC 的参数。
基于梯度的优化器
这些优化器依赖于获取成本函数关于电路参数的梯度 ∇ θ C ( θ ) \nabla_{\theta} C(\theta) ∇ θ C ( θ ) 。如前一节(“梯度计算方法”)所述,参数位移规则等技术允许在量子硬件上进行解析梯度计算,尽管这会以额外的电路评估为代价。
随机梯度下降(SGD)变体
普通SGD根据来自一小批数据(或在最小化量子电路期望值的情形下甚至单个数据点)的梯度估算来更新参数。虽然简单,但它可能存在收敛速度慢和振荡的问题。更进阶的变体引入了动量或自适应学习率。
Adam(自适应矩估计) :Adam是经典深度学习中广泛使用的优化器,并且通常作为变分量子算法的稳固基准。它通过存储过去平方梯度的指数衰减平均值(类似RMSProp)和过去梯度的指数衰减平均值(类似动量)来计算每个参数的自适应学习率。
更新规则涉及计算有偏一阶矩 (m t m_t m t ) 和二阶矩 (v t v_t v t ) 的估算值:
m t = β 1 m t − 1 + ( 1 − β 1 ) g t v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2 m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t \\
v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 m t = β 1 m t − 1 + ( 1 − β 1 ) g t v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2
其中 g t g_t g t 是第 t t t 步的梯度,β 1 , β 2 \beta_1, \beta_2 β 1 , β 2 是超参数(通常接近1,例如0.9和0.999)。计算偏差校正的估算值 m ^ t \hat{m}_t m ^ t 和 v ^ t \hat{v}_t v ^ t ,并更新参数:
θ t + 1 = θ t − η m ^ t v ^ t + ϵ \theta_{t+1} = \theta_t - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} θ t + 1 = θ t − η v ^ t + ϵ m ^ t
这里,η \eta η 是学习率,ϵ \epsilon ϵ 是一个用于数值稳定的小常数。
优点: 通常比普通SGD收敛更快,相对容易实现和调整(默认超参数通常效果良好)。
缺点: 可能对量子测量中固有的噪声梯度估算敏感。有时可能收敛到次优解或表现出不稳定性,特别是在变分量子算法中常见的非凸函数曲面。与无梯度方法相比,需要计算梯度,从而增加了电路评估的次数。
拟牛顿法(例如,BFGS)
BFGS(Broyden–Fletcher–Goldfarb–Shanno)等方法属于拟牛顿法系列。它们旨在仅使用在连续迭代中收集的梯度信息来近似逆海森矩阵(二阶导数矩阵)。这使得它们能够估算损失的曲率并采取更明智的步长,可能导致更快的收敛,特别是在局部最小值附近。
更新方向计算为 p k = − B k g k p_k = -B_k g_k p k = − B k g k ,其中 B k B_k B k 是第 k k k 次迭代时逆海森矩阵的近似值。通常沿着此方向执行线搜索,以找到合适的步长。
优点: 在某些条件下,在最小值附近可以实现超线性收敛速度。在不显式计算海森矩阵的情况下包含曲率信息。
缺点: 需要可靠的梯度信息;在梯度有噪声的情况下,性能可能明显下降。由于需要存储和更新海森近似矩阵 B k B_k B k (对于 N N N 个参数,大小为 N × N N \times N N × N )并执行线搜索(这可能需要多次函数/梯度评估),每次迭代的计算成本可能比SGD或Adam更高。可能不适用于维度非常高的参数空间。
无梯度优化器
这些优化器不需要显式计算梯度 ∇ θ C ( θ ) \nabla_{\theta} C(\theta) ∇ θ C ( θ ) 。它们通常通过在参数空间中的不同点评估成本函数 C ( θ ) C(\theta) C ( θ ) ,并使用这些信息来指导搜索。当梯度难以或昂贵计算时,或者当成本函数不可微分或噪声极大时,它们可能具有优势。
SPSA(同步扰动随机近似)
SPSA特别适合于优化评估有噪声的函数,这在变分量子算法中是由于有限的测量统计数据而出现的常见情况。其最重要特点是,它仅使用两次 成本函数评估来估算梯度方向,无论参数数量 N N N 是多少。
在每次迭代 k k k 中,SPSA 按以下步骤进行:
生成一个随机扰动向量 Δ k \Delta_k Δ k ,其中每个分量通常独立地从简单分布(如Rademacher,即 ± 1 \pm 1 ± 1 )中抽取。
选择围绕当前参数向量 θ k \theta_k θ k 对称扰动的两个点:θ k + = θ k + c k Δ k \theta_k^+ = \theta_k + c_k \Delta_k θ k + = θ k + c k Δ k 和 θ k − = θ k − c k Δ k \theta_k^- = \theta_k - c_k \Delta_k θ k − = θ k − c k Δ k 。
在这两个点评估成本函数:C ( θ k + ) C(\theta_k^+) C ( θ k + ) 和 C ( θ k − ) C(\theta_k^-) C ( θ k − ) 。
分量地估算梯度:( g k ) i ≈ C ( θ k + ) − C ( θ k − ) 2 c k ( Δ k ) i (g_k)_i \approx \frac{C(\theta_k^+) - C(\theta_k^-)}{2 c_k (\Delta_k)_i} ( g k ) i ≈ 2 c k ( Δ k ) i C ( θ k + ) − C ( θ k − ) 。
更新参数:θ k + 1 = θ k − a k g k \theta_{k+1} = \theta_k - a_k g_k θ k + 1 = θ k − a k g k 。
序列 a k a_k a k (步长)和 c k c_k c k (扰动大小)是预定义的递减序列,它们必须满足某些收敛条件。
优点: 每次迭代仅需两次函数评估,当函数评估(电路执行)是主要成本时,这使其很高效。与依赖精确梯度估算的基于梯度的方法相比,对噪声相对稳定。不需要实现梯度计算逻辑(如参数位移)。
缺点: 收敛速度可能比基于梯度的方法慢,特别是在高维或接近最小值时。性能可能对超参数 a k , c k a_k, c_k a k , c k 的选择和扰动分布敏感。梯度估算本质上是随机的。
其他无梯度方法
有时会使用 COBYLA (通过线性近似的约束优化)和 Nelder-Mead 等其他方法。COBYLA 构建目标和约束的线性近似,而Nelder-Mead 使用一个适应局部地形的单纯形(一种几何图形)。这些方法可能有用,但与SPSA相比,在参数数量较多或评估有噪声的情况下可能难以处理。
为您的变分量子算法选择优化器
优化器的最佳选择在很大程度上取决于具体的变分量子算法应用、PQC的特性、参数数量、可用的量子资源(模拟器对比硬件,噪声水平),以及函数/梯度评估的成本。
噪声敏感性: 如果在有噪声的硬件上运行或使用较少测量次数,SPSA等方法可能更可取。Adam有时可以处理中等噪声,而BFGS等方法通常更敏感。
评估成本: 如果通过参数位移进行梯度计算(对于 N N N 个参数需要 2 N 2N 2 N 个额外电路)是可行的,并且梯度相对干净,那么Adam或其他基于梯度的方法可能收敛更快。如果电路评估是瓶颈,SPSA的每步两次评估方法则具有吸引力。
参数数量: 对于参数数量非常多的情况,BFGS的内存需求可能变得难以承受。SPSA的每次迭代成本随参数数量的扩展性良好。
问题结构: 对于可能表现出贫瘠高原(稍后讨论)的高度非凸曲面,不同优化器的搜索行为和噪声处理会明显影响它们能否找到好的解决方案或陷入困境。
不同优化器在变分量子算法成本函数上的收敛行为示意性比较。Adam可能显示出快速的初始进展,而SPSA则表现出稳定且抗噪声的收敛。普通SGD通常收敛慢得多。实际性能因问题而异。
通常需要进行实验。PennyLane和Qiskit等标准量子计算库提供了许多这些优化器的实现,使得在它们之间切换并比较它们在您的特定变分量子算法任务上的性能相对直接。请记住,这些经典优化器纯粹以经典方式运行;它们只是使用从量子系统获得的成本函数值(以及可能的梯度)作为其经典优化程序的输入。下一节将介绍量子自然梯度,这是一种明确考虑量子态空间几何结构的优化技术,提供了一种量子感知的替代方案。