欢迎大家扫码关注MindSpore Quantum Gitee社区
目录
内容简介
黑盒优化指的是一些没有具体数学表达的优化问题,一种解决方案是引入代理模型去近似目标黑盒函数。通常假定代理模型是一个二阶或高阶交叉特征模型(形式与QUBO、HUBO相同)则可以使用量子算法求解。因子分解机(FMs)是一种监督学习方法,可以用于代理模型中特征系数的训练。本文将介绍利用交叉熵改进的因子分解机量子退火算法,以及高阶因子分解机对黑盒优化算法的可能改进。
相关论文1
标题:Black box optimization using QUBO and the cross entropy method
作者:Jonas N¨ußlein, Christoph Roch, Thomas Gabor, Jonas Stein, Claudia Linnhoff-Popien, and Sebastian Feld
期刊: Springer Nature Switzerland, 2023: 48-55
相关论文2
标题:Higher-Order Factorization Machines
作者:Mathieu Blondel, Akinori Fujino, Naonori Ueda, Masakazu Ishihata
会议: Advances in Neural Information Processing Systems, 2016, 29
01 因子分解机+量子退火(FMQA)
二阶交叉特征模型定义为
待训练的是参数 ,每个 都是独立变量。在处理稀疏矩阵时由于交叉项太少,参数训练容易不充分。如果借助矩阵分解的思路将 看成是两个矩阵的乘积,重构特征系数后独立变量变少就可以达到用较少的数据得到特征矩阵的目的
其中
是一个n维向量; , 是低维向量(k维),V是由 组成的矩阵, 为两个k维向量的内积:
k是一个超参。根据线性代数,对于任意对称正半定矩阵W,只要k足够大,一定存在矩阵V使得
。对于黑盒问题,往往是我们预先设定代理模型为QUBO问题的形式,然后借助因子分解机训练得到交叉项的信息。当我们的模型重写为上式之后,每个 都是两个向量的内积因此一定是对称的,此外只要对角元素足够大,就能保证W是半正定的。
对于交叉项可以做一些变换简化计算
原项求解的就是矩阵上三角之和,上式第1步就是整个矩阵之和减去矩阵的迹,然后求一半。经过这样的推导之后二阶FM最终表达为:
由此可以推导出FM对参数的梯度公式
有了梯度公式,就可以用各种基于梯度的算法来训练模型了,FMQA算法流程为:
-
随机初始化若干个解作为初始训练集
-
FM训练得到初始QUBO模型
-
在当前的QUBO模型(代理模型)下计算得到最优解
-
计算黑盒模型的损失函数
-
将新的解加入训练集并且重新训练更新QUBO模型
重复循环3-5步直到结束。
02 基于交叉熵的BOX-QUBO算法
交叉熵模型:交叉熵方法是一种通用的迭代优化方法。基本思想是给