【强化学习】POMO

介绍1种适用于广泛的组合优化问题(Combinatorial Optimization,CO)的多优化策略优化(Policy Optimization with Multiple Optima,POMO)方法。POMO使用1种改进的REINFORCE算法,与以前的方法相比,更能抵抗局部极小值。通过解决3个常见的NP难题:旅行推销员(traveling salesman,TSP)、容量限制车辆路径(capacitated vehicle routing,CVRP)和0-1背包(0-1 knapsack,KP),证明POMO算法的有效性。在TSP100上实现了0.14%的最优差距,同时将推理时间减少了一个数量级以上。

论文链接:https://arxiv.org/abs/2010.16011

代码链接:https://github.com/yd-kwon/POMO

一.动机

假设,有个组合优化问题,用1组节点\left \{ v_{1}, v_{2},..., v_{M} \right \}表示,有1个可训练的策略网络参数θ,1个解决方案\tau =\left \{ a_{1}, a_{2},..., a_{M} \right \},其中第i个动作a_{i}可以选择节点v_{j},根据下面公式,遵循随机策略,一次迭代1个节点生成。

其中,s是状态。

二.方法

1.多启动节点探索

POMO首先指定N 个不同的节点\left \{ a_{1}^{1},a_{1}^{2},..,a_{1}^{N} \right \}作为起始节点。网络通过蒙特卡洛采样N个轨迹解决方案\left \{ \tau _{}^{1},\tau_{}^{2},..,\tau_{}^{N} \right \},轨迹被定义为如下:

2.策略梯度的共享基准

POMO基于REINFORCE算法。采样了1个集合的轨迹解决方案\left \{ \tau _{}^{1},\tau_{}^{2},..,\tau_{}^{N} \right \},并计算出每个解决方案\tau _{}^{i} 的全部回报R(\tau ^{i})。为了最大化期待收益J ,使用近似的梯度下降法。

其中,

POMO的训练过程如下:

3.推理的多贪婪轨迹

组合优化问题的神经网络模型一般有2种预演模式:在“贪婪模式”中,使用策略上的argmax绘制单个确定性轨迹;在“采样模式”中,根据概率策略从网络中采样多个轨迹。

使用多开始节点的POMO方法,可以产生多条贪婪轨迹。从N个不同的节点\left \{ a_{1}^{1},a_{1}^{2},..,a_{1}^{N} \right \}开始,可以获得N个不同的贪婪轨迹,从中可以选择类似于“采样模式”方法。N 个贪婪轨迹在大多数情况下优于N个采样轨迹。

实例增强
POMO的多贪婪推理方法的1个缺点是:起始节点的数量N不能无限大。然而,在某些类型的CO问题中,可以通过引入实例增强来绕过这个限制。例如,可以翻转或旋转二维路径优化问题中所有节点的坐标,并生成另1个实例,从中可以获得更多贪婪的轨迹。
实例增强的灵感来自自监督学习技术,该技术训练神经网络学习旋转图像之间的等价性。对于CV任务,有概念上类似的测试时间增强技术,如““multi-crop evaluation””,可以增强神经网络在推理阶段的性能。实例增强技术在CO任务上的适用性和多目标性取决于问题的具体情况,也取决于所使用的策略网络模型。

POMO的推理过程如下:

三.实验

注意力模型
注意力模型(Attention Model,AM)由编码器和解码器2个主要部分组成。大多数复杂的计算发生在多层编码器里,通过编码器,每个节点的信息及其与其他节点的关系被嵌入为一个向量。解码器使用这些向量作为点积注意力机制的key,然后自回归地生成一个解序列。
具体地,需要为CO问题的1个实例绘制N个轨迹。AM的解码器需要处理N 倍于POMO的计算。通过将N个query叠加到1个矩阵中,并将其传递给注意力机制,可以有效地并行生成N个轨迹。

训练
对于所有的实验,策略梯度是64个实例的均值(batch size)。Adam学习率\eta =10^{-4} ,权重延迟(L2 正则化)\omega =10^{-6} 。1个epoch 随机生成100,000个训练实例。训练时间因问题的大小而异,从几个小时到一周不等。以TSP100为例,在单个Titan RTX GPU上,训练1个epoch大约需要7分钟。2000个epoch(~ 1周)完全收敛,大多数在200个epoch(~ 1天)完成。

推理
对于路径问题,使用下表中列出的坐标转换。

对于KP问题,则没有进行实例增强。

3.1 旅行商问题


采用开始节点数量N=20。结果如下表所示。

POMO在效率、稳定性都显现出优势。结合使用多个贪婪的POMO推理和实例增加,可以将最优性差距(gap)进一步缩小1个数量级。

3.2 车辆路径规划

与TSP不同,CVRP中不是所有节点都可以成为最优轨迹的第1步(如下图所示),并且如果不事先知道最优解,就无法确定哪些节点是好的。

1种解决方法是添加1个二级网络,该网络返回POMO使用的最佳开始节点和候选节点。然而,在本次实验中,简单地使用所有节点作为POMO的开始节点,而不管它们是好是坏。

下表展示在客户节点为20、50和100的CVRP上的实验结果,POMO的性能优于REINFORCE。

目前还没有算法可以在合理的时间内找到10,000个随机CVRP实例的最优解,因此表中的“Gap”值是相对于LKH3结果给出的。POMO在CVRP100中的差距(0.32%)小于CVRP50(0.45%),这可能是由于随着问题规模的增长,LKH3的性能下降速度比POMO更快。

3.3背包问题

与CVRP的情况类似,重用TSP的神经网络,使用实例中给出的所有项作为第一步,避免设计额外的、更复杂的“开始节点选择”网络。求解KP时,每一项的权重和值代替TSP每个节点的x坐标和y坐标。当网络生成1个物品序列时,将这些物品依次放入背包中,直到包满终止序列生成。

在下表中展示了POMO与SOTA的比较结果。

即使没有实例增强,POMO也极大地提高了从深度神经网络获得的解决方案的质量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值