Policy Consolidation for Continual Reinforcement Learning
Abstract
我们提出了一种解决深层强化学习中灾难性遗忘问题的方法,这种方法与经验分布变化的时间尺度无关,不需要知道任务边界,并且能够适应不断变化的环境。在我们的策略整合模型中,策略网络与一系列隐藏网络相互作用,这些隐藏网络在一定的时间尺度上同时记住代理的策略,并通过其自身的历史来规范当前策略,从而提高其学习而不忘记的能力。我们发现,在单任务、交替两个任务和多代理竞争自我扮演设置中,该模型相对于多个连续控制任务的基线改进了连续学习
1. Introduction
Background
一个不断积累经验以发展日益复杂的技能的代理应该能够适应环境的快速变化, 同时保留它以前学习获得的知识。神经网络在stationary datasets上性能很好,一旦违反了iid的假设,那么神经网络就会遇到catastrophic forgetting的问题, .因为神经网络在新的数据集上训练之后会快速擦除从旧数据中学到的记忆。
对于RL来说,神经网络在训练过程中面临的数据分布可能会逐渐发生变化。
这种情况发生的原因可能有以下三条:
1)状态与时间相关
2)在训练期间,agent的策略会对其经验分布残产生重大影响,并且这种影响会持续发展。
3)代理环境的动力学是非平稳的。
Paper’s work
Policy Conlidation 即在训练期间的大规模时间尺度上consolidate代理的policy
通过这种方法可以减轻DRL中的遗忘问题。
待补充
2. Preliminaries
2.1 Reinforcement Learning
选择在强化学习中测试提出的PC模型.
其中强化学习中的状态和动作的分布将会持续不断的变化。
可以被描述为马尔科夫过程<
S
S
S,
A
A
A,
p
s
p_s
ps,
r
r
r>
S
S
S 代表状态(实验中来连续变化)
A
A
A 代表动作(实验中连续变化)
p
s
:
S
∗
S
∗
A
∈
[
0
,
+
i
n
f
)
p_s:S*S*A\in [0, +inf)
ps:S∗S∗A∈[0,+inf) 在状态
S
t
S_t
St选择动作
A
t
A_t
At后转移到状态
S
t
+
1
S_{t+1}
St+1的概率密度函数
r
:
S
∗
A
−
>
R
r: S*A->R
r:S∗A−>R 对
(
S
t
,
A
t
)
(S_t, A_t)
(St,At)进行映射到标量奖励
r
r
r的函数
2.2 Policy gradient methods
Policy gradient(PG)旨在通过直接估计和梯度上升来最大化目标期望
2.3 PPO
PPO(Proximal Policy Optimization)
PG方法的问题在于参数空间梯度步的大小和策略空间中梯度步的大小不成比例。参数空间中的一小步往往会造成策略空间中的一大步,从而造成网络性能崩溃。
2.4 Multi-agent RL with Competitive Self-play
3. From Synaptic Consolidation to Policy Consolidation
PC可以被看作是PPO算法的一个扩展。
在某种意义上,策略不会随着每个策略梯度步骤发生太多的变化,从而在很短的时间内防止灾难性的遗忘。PC代理的工作原理相同,只是其策略被限制在接近其历史的几个阶段,而不仅仅是在前一步。
下面我们激励并推导政策整合框架:首先,我们通过将突触整合模型纳入RL代理的目标函数来重新解释突触整合模型,然后将其与PPO和知识蒸馏的概念结合起来,以直接将代理的行为记忆整合到一系列的中尺度上。
3.1 Synaptic Consolidation
synaptic adj.突触的,跟突触有关的
突触模型最初是通过类似于液体的连通烧杯链来描述的。
第一个烧杯中的水平对应于可视化的突触重量,即用于神经计算的重量。液体可以根据任何突触学习算法从烧杯中添加或减少。
链中剩余的烧杯对应于**“隐藏”**的突触变量,它们有两个同时作用:
1)液体从较浅的烧杯流向较深的烧杯,记录了大范围时间尺度下突触重量的值
2)从较深的烧杯回流到较浅的烧杯,通过自身的历史来调节突触的重量,限制其接近以前的值。
通过使烧杯之间的管宽呈指数级减小和烧杯宽度呈指数级增长,从而实现宽范围的时间尺度。
突触巩固过程可以用一组一阶线性微分方程形式化描述,用欧拉方法将其转换为离散更新,如下所示:
u 1 ← u 1 + η C 1 ( Δ w + g 1 , 2 ( u 2 − u 1 ) ) u k ← u k + η C k ( g k − 1 , k ( u k − 1 − u k ) + g k , k + 1 ( u k + 1 − u k ) ) \begin{array}{l}{u_{1} \leftarrow u_{1}+\frac{\eta}{C_{1}}\left(\Delta w+g_{1,2}\left(u_{2}-u_{1}\right)\right)} \\ {u_{k} \leftarrow u_{k}+\frac{\eta}{C_{k}}\left(g_{k-1, k}\left(u_{k-1}-u_{k}\right)+g_{k, k+1}\left(u_{k+1}-u_{k}\right)\right)}\end{array} u1←u1+C1η(Δw+g1,2(u2−u1))uk←uk+Ckη(gk−1,k(uk−1−uk)+gk,k+1(uk+1−uk))
其中, u k u_k uk对应链( k > 1 k>1 k>1)