Luo D, Shen J, Dangovski R, et al. Koopman operator learning for accelerating quantum optimization and machine learning[J]. arXiv preprint arXiv:2211.01365, 2022.
论文导读
周五听了这篇文章的报告,看了一下文章,顺便做一下记录。这篇文章把Koopman operator运用到了量子优化领域。原因是,在量子计算机中计算梯度,每次只能计算一个参数的梯度,如果参数增多,则需要消耗的时间是随参数增加而线性增加的;然而在经典计算机中,计算梯度,只需要一次运行即可。因此,本文将Koopman operator theory运用在参数更新上,提出了两类方法:基于传统的silding window dynamic mode decomposition(SW-DMD)和基于神经网络的 neural DMD。对量子优化和量子机器学习任务上实验,并在IBM真机上做了实验。
模型简介
模型中,Koopman operator learning的作用是基于已经生成的参数时间序列,寻找更优的参数。暂且不关注Koopman的细节,只关注算法的流程,其流程图如下:
整个算法共由两步组成,经过循环迭代,优化参数:
- 运行已有的参数更新算法,训练模型,并生成参数序列,(这一步在量子计算机中是非常耗时的)
- Koopman operator learning,根据已有的参数序列,对后续的参数序列做预测,生成多组备选参数(这一步时间可以忽略)
- 测试新生成的参数,选取其中最优解作为下一轮循环的初值,回到第一步。
整个模型流程还是很简单的,重点是如何使用Koopman算子,生成新的参数,下面对Koopman operator theory做简单介绍。
Koopman operator learning
首先对理论有个概念,并将Koopman理论与模型参数更新联系起来。其次介绍不同的更新方法。
Theory
考虑一个动力系统,其状态变量和转移函数(transition function)之间的关系如下: Koopman operator theory 断言,存在一个线性算子,和一个函数,使得其中的是Koopman算子。通常是在无穷维空间中的,当把约束到有限维的不变子空间中,再加上,则可以表达成一个矩阵。肯定是一个矩阵,的选择是多种多样的:标准的DMD方法,取;其他方法用多项式或者三角函数作为的基底;近来也有人使用神经网络去逼近。
与参数更新的联系
量子机器学习模型中的参数更新由一个非线性微分方程控制
其中的是模型中的参数,是学习率,是量子Fisher Information matrix。上面关于的非线性微分方程和如下关于的动力方程等价:
其中的是由参数生成的量子态,是投影到参数空间流形上的投影算子。注意到也是一个线性算子,因此当参数空间足够大时,上面的式子可以用线性微分方程来近似。把参数看成Koopman theory里的状态变量,则由参数根据量子线路生成量子态的过程很自然的对应到函数。至此,二者之间建立了联系。
Silding window DMD
标准的DMD,直接使用线性拟合动态过程,假设,则把拼接起来,有数据矩阵:
当动态不是线性的时候,考虑带有滑动窗口的时滞嵌入(time-delayed embedding):
Neural DMD
即使用神经网络去逼近上述SW-DMD中,神经网络参数为,最后的结果由优化下式给出:
更具体的,可以选择首先构造,再把它和神经网络复合,即结构如图所示:
结构中的线性层,也可以换成卷积层等结构。Transformer也可以试一试。
本篇文章还做了大量实验以及消融实验,探究参数之间的选择。具体可以查看论文。