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)
π(a∣s;θ)
可连续,可离散,接下来构建一个目标函数,其中
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∑π(a∣s)p(s∣s,a)=k=0∑T−1Pr(s0→s,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∑π(a∣s)⋅qπ(s,a)=a∑[▽π(a∣s)⋅qπ(s,a)]+π(a∣s)⋅▽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′,r∑p(s′,r∣s,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)=s′∑p(s′∣s,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∑▽π(a∣s)⋅qπ(s,a)+π(a∣s)⋅s′∑p(s′∣s,a)⋅▽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