【2020ICLR】
Goyal, Anirudh, Shagun Sodhani, Jonathan Binas, Xue Bin Peng, Sergey Levine, and Yoshua Bengio. “Reinforcement learning with competitive ensembles of information-constrained primitives.” arXiv preprint arXiv:1906.10667 (2019).
任务:强化学习的迁移学习
本文提出的方法类似于层次强化学习,但是区别在于没有高层级的元策略,而是将策略分解成不同的子策略,各自选取部分输入信息进行动作决策。通过信息理论机制使得决策去中心化,在通过竞争机制将不同子策略的结果得到最终的动作。不同的子策略可以很好地在新的任务中进行迁移。
贡献
- 提出了将策略使用去中心化的方法分解为不同的原语,而不需要高层次的源控制器来选择动作原语
- 使用信息理论目标,可以使得不同的原语去关注状态空间的不同部分,同时可以使用竞争机制来选择不同原语的动作
- 训练完成的不同子策略原语可以很好的进行迁移学习到其他任务
模型方法
1、原语中的信息瓶颈
为了使得每个原语去编码状态空间中不同部分的信息,限制每个原语可以获得的信息量
一共设计K个原语,每个分别使用编码器(
p
e
n
c
(
Z
k
∣
S
)
p_{enc}(Z_k|S)
penc(Zk∣S))和解码器(
p
d
e
c
(
A
∣
Z
k
)
p_{dec}(A|Z_k)
pdec(A∣Zk))
使用KL散度来惩罚z与正太先验的距离(作为获得状态空间信息的代价)
通过这种方法可以鼓励每个原语仅仅去关注有限有用的信息
2、不同原语的信息限制的竞争
出发点:在编码部分关注更多信息的原语,对于最后的动作决策更重要
不同原语的权重:
激励加权:
每个动作原语的激励为该部分选择动作所获得的激励与上面计算的权重相乘
最终的总的激励为所有原语激励的和
综合1和2,一个原语通过使用更多的输入状态空间信息,可以使自己的激励权重更大,但是获得信息本身有代价
3、组合表示的正则化
鼓励不同原语去关注不同的状态空间的部分,而不至于最终只有一个原语有效
熵更大说明不同原语的权重均衡
4、最终的目标函数:
最大化
实验
1、多任务训练
一共有3个不同的任务:A,捡东西,B,开门,C开门+捡东西
上面一行为三个任务分别使用两个原语,分别进行训练
下面左边为使用A上面训练的作为B的初始化,再进行finetune,可以看到与A2C相比,finefune过程快很多
中间为将A上训练的原语,再复制一份,一共4个原语作为初始化,进行finetuneB
右边为将C上训练的原语,直接在A和B进行zero-shot测试,可以看到不同的原语都有意义
2、连续训练场景
在四个房间中放置2个、4个和8个奖励,需要去遍历这些奖励,分别作为三个任务
依次将前面一个任务作为后面的预训练,本方法使用两个原语,可以看到连续训练中,不同的原语始终各自都有效,同时任务迁移时需要的训练步数大幅减少