POMO: Policy Optimization with Multiple Optima for Reinforcement Learning学习笔记

Posted 好奇小圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POMO: Policy Optimization with Multiple Optima for Reinforcement Learning学习笔记相关的知识,希望对你有一定的参考价值。

文章目录


摘要

在神经组合优化问题(CO)中,强化学习(RL)可以将一个深度学习网络转为一个快速、有力的启发式NP-hard问题的解决器。这种方法在实际中有巨大的潜力,因为它能在没有大量专业知识专家指导的情况下发现近似最优解。我们引入了带有多最优解的策略优化(Policy Optimization with Multiple Optima (POMO)),一种用来建立上述启发式解决器的端到端方法。POMO可应用于很大范围的组合优化问题。它被设计利用组合优化解决方案的对称性。POMO使用强迫多样化的预演(rollout)朝向所有最优解决方案的改良REINFORCE算法。以经验为主地,POMO的低方差baseline使得RL训练更快和稳定,同时与以前的方法相比,它更能抵抗局部极小值。我们也引入了一个新的基于增强的推理方法(augmentation-based inference method),能够很好地配合POMO方法。我们通过解决三个热门的NP-hard问题,既旅行商(TSP)、有能力的车辆路径规划(CVRP)和0-1背包问题,展示了POMO方法的效率。对于这些问题,我们基于POMO的解决器相比最近学习的启发式方法展示了巨大的提升。特别地,我们实现了0.14%的最优gap在TSP100的数据及上,同时推理时间减少了一个数量级。


零、一些基础

1.梯度近似

强化学习从high level角度总共分为两大部分,分别是value-based method和policy-based method。

我们的目标都是求取策略 π ∗ π^* π,value-based采用了迂回的方法,计算出价值函数Q(利用贪婪、采样等策略),然后给出确定性策略,虽然可以采用 ε ε ε软性策略给一定的随机性,但本质仍是确定性策略。

如果想要随机策略或者动作空间为连续的情况下,则需要采用policy-based method。

给定状态 s s s,动作 a a a的参数化的概率分布如下:
π ( a ∣ s ; θ ) \\pi(a|s;\\theta) π(as;θ)
可连续,可离散,接下来构建一个目标函数,其中 s 0 s_0 s0代指“任意状态”:
J ( θ ) ≜ V π ( s 0 ) J(\\theta) \\triangleq V_\\pi(s_0) J(θ)Vπ(s0)
定义平均次数 η ( s ) \\eta(s) η(s),h为初始平均次数,后续步骤需要考虑状态、动作和上一步:
η ( s ) = h ( s i n i t i a l ) + ∑ s ‾ η ( s ‾ ) ∑ a π ( a ∣ s ‾ ) p ( s ∣ s ‾ , a ) = ∑ k = 0 T − 1 P r ( s 0 → s , k , π ) \\eta(s)=h(s_ initial)+\\sum_\\overlines \\eta(\\overlines)\\sum_a \\pi (a|\\overlines)p(s|\\overlines,a) \\\\ =\\sum_k=0^T-1Pr(s_0→s,k,\\pi) η(s)=h(sinitial)+sη(s)aπ(as)p(ss,a)=k=0T1Pr(s0s,k,π)
定义出现概率 μ ( s ) \\mu(s) μ(s)
μ ( s ) = μ ( s ) ∑ s ′ η ( s ′ ) \\mu(s)=\\frac\\mu(s)\\sum_s'\\eta(s') μ(s)=sη(s)μ(s)

2.策略梯度定理

▽ V π ( s ) = ▽ ∑ a π ( a ∣ s ) ⋅ q π ( s , a ) = ∑ a [ ▽ π ( a ∣ s ) ⋅ q π ( s , a ) ] + π ( a ∣ s ) ⋅ ▽ q π ( s , a ) ] \\beginalign* \\triangledown V_\\pi(s) &=\\triangledown \\sum_a\\pi(a|s) \\cdot q_\\pi(s,a) \\\\ &=\\sum_a[\\triangledown \\pi(a|s) \\cdot q_\\pi(s,a)]+\\pi(a|s) \\cdot \\triangledown q_\\pi(s,a)] \\\\ \\endalign* Vπ(s)=aπ(as)qπ(s,a)=a[π(as)qπ(s,a)]+π(as)qπ(s,a)]
其中,
▽ q π ( s , a ) = ▽ ∑ s ′ , r p ( s ′ , r ∣ s , a ) ⋅ ( r + γ V π ( s ′ ) ) \\triangledown q_\\pi(s,a)=\\triangledown \\sum_s',r p(s',r|s,a) \\cdot (r+\\gamma V_\\pi(s')) qπ(s,a)=s,rp(s,rs,a)(r+γVπ(s))
为推导便利,这里假设折扣率 γ \\gamma γ为1,上式和 θ \\theta θ有关的只有 V π ( s ′ ) V_\\pi(s') Vπ(s)
▽ q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) ⋅ ▽ V π ( s ′ ) \\triangledown q_\\pi(s,a) = \\sum_s' p(s'|s,a) \\cdot \\triangledown V_\\pi(s') qπ(s,a)=sp(ss,a)Vπ(s)所以, ▽ V π ( s ) = ∑ a ▽ π ( a ∣ s ) ⋅ q π ( s , a ) + π ( a ∣ s ) ⋅ ∑ s ′ p ( s ′ ∣ s , a ) ⋅ ▽ V π ( s ′ ) ] \\triangledown V_\\pi(s)=\\sum_a\\triangledown \\pi(a|s) \\cdot q_\\pi(s,a)+\\pi(a|s) \\cdot \\sum_s' p(s'|s,a) \\cdot \\triangledown V_\\pi(s')] Vπ(s)=aπ(as)qπ(s,a)+π(as)sp(ss,a)Vπ(s)]
如此得到关于 V ( s ) V(s) 以上是关于POMO: Policy Optimization with Multiple Optima for Reinforcement Learning学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

近端策略优化算法(Proximal Policy Optimization Algorithms, PPO)

[TRPO] Trust Region Policy Optimization

[TRPO] Trust Region Policy Optimization

[TRPO] Trust Region Policy Optimization

[TRPO] Trust Region Policy Optimization

强化学习笔记:PPO 近端策略优化(Proximal Policy Optimization)