主要是两方面,一方面是说了一下连续控制领域的SOTA模型,这个不用多说。然后就是提到了一些多任务强化学习的模型。
1.DeepReinforcementLearningforContinuousControl
DDPG;SAC;TD3
2.Multi-taskDeepReinforcementLearning
这里的话还可以看一下李宏毅老师讲的Meta-Learning,有助于理解这些概念,包括MAML、Reptile等等。
KTM-DRL包括两个学习阶段:线下知识转移阶段和线上学习阶段。
线下知识转移阶段,多任务agent通过线下的方式学习特定任务教师的经验
在在线学习阶段,多任务agent再次在教师的指导下,通过与环境的交互,从收集到的在线过渡样本中学习,进一步完善其控制策略
为了减少灾难性遗忘,在这两个阶段,并没有使用单一的普通经验回放缓冲区来存储所有任务的转移样本,而是创建了一个带有K个独立子缓冲区的分层缓冲区来存储转移样本,每个子缓冲区对应一个任务。
在每个epoch,KTM-DRL从前面提到的每个子缓冲区中抽取一个batch的N个过渡样本,然后用每个小批量训练多任务代理。这种方法有助于防止多任务代理在某一特定任务上过度训练而忘记其他任务的知识。
在离线迁移阶段,我们用以下q值回归损失函数共同优化多任务agentS的两个critic网络,然后利用所计算的梯度对多任务代理的actor网络进行训练。
离线知识转移帮助多任务智能体从教师那里快速学习到较好的控制策略。然而,多任务agent在没有与实际环境进行交互的情况下,无法获得足够的新知识,可能会导致过拟合。所以就提出了一种在线学习算法,使智能体能够利用新收集的在线过渡样本进一步改进其控制策略。
在在线学习阶段,agent不再向特定任务的教师学习,而是用TD-errors更新其批评网络,这与TD3的训练过程相似。
这里具体究竟什么时候利用到teacher网络呢?我看了一下代码,下面贴一下。
然后贴一下算法,其实就是分两个阶段的学习,具体的形式类似于TD3。
实验用的是典型的连续任务benchmark,mojoco。
主要是为了探究离线学习、在线学习以及分层学习的必要性。
本文提出了KTM-DRL,使单个多任务agent能够利用离线知识转移、在线学习和分层经验重放,在多个不同的连续控制任务中实现专家级性能。在性能评价方面,对两个常用的MuJoCo基准进行了全面的实证研究。大量的实验结果表明:
该算法效果是好的,离线知识转移算法、在线学习算法和分层经验回放算法也都确实有效。存在的问题就是,文中假设所有给定的教师都有专家级的表现,不一定能从不完美的教师那里学习政策。然后这也是之后他们要解决的问题。
AMRL:AggregatedMemoryForReinforcementLearning-fromICLR2020