查看原文
其他

【源头活水】当源任务和目标任务之间的相似度很低时,如何实现知识迁移?



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—强化学习实验室
地址:https://zhuanlan.zhihu.com/p/419950550


01

引言
在过去几年里,深度强化学习(Deep Reinforcement Learning, DRL)在解决许多现实世界应用的序列决策问题中变得更加普遍,例如游戏、机器人控制和自动驾驶等。迁移学习(Transfer Learning, TL)在计算机视觉、自然语言处理和其他知识工程领域取得了巨大的成功,而它作为一种利用外部专业知识来加速学习过程的技术,在强化学习中成为一个重要的课题。

02

问题假设
DRL在取得成就和快速发展的同时,也面临着许多挑战。大多数RL算法从零开始训练agent,通常需要大量的时间和计算资源。因此,加快复杂任务的学习过程一直是RL中最具挑战性的问题之一。在现实世界的应用中,随着任务复杂性的增加,训练的计算开销也在增长。因此,对于一个学习算法来说,能够利用在一个任务中获得的知识来提高其他任务的性能是至关重要的,迁移学习也成为了强化学习中一个重要的课题。
现有的许多迁移RL算法从一组源任务中选择相似的任务或样本,或者学习源任务的表征,这一方式潜在的涵盖了一个假设:源任务和目标任务之间的相似度比较高。只有在这种情况下这类算法才会有良好的表现,但当任务相似度比较低或者目标任务比源任务复杂很多时,这类算法往往没有太大帮助。

03

研究论文
ICML2021(International Conference on Machine Learning)年的一篇文章《REPAINT: Knowledge Transfer in Deep Reinforcement Learning》针对这个问题提出了REPresentation And INstance Transfer (REPAINT)算法。算法分为on-policy representation transfer learning和off-policy instance transfer learning两个阶段,适用于actor-critic框架,文中以Clipped PPO为例。
原文传送门 https://arxiv.org/abs/2011.11827
On-policy Representation Transfer Learning: Kickstarting
为 了 提 高 agent 的 初 始 性 能 ,文 章 使 用 了 在 Kickstarting 中 采 用 的 策 略 蒸 馏 方 法( Policy Distillation)。其 主 要 思 想 是 采 用 一 个 辅 助 损 失 函 数 来 鼓 励 student policy 在 student 采 样 的 轨 迹 上 尽 可 能 接 近 teacher policy, 并 将 这 项 蒸 馏 损 失 添 加 到 Clipped PPO 的 目 标 函 数 上 :

加权参数    在早期训练中相对较大,并随着k的增加而减小,这种做法提高了agent的初始性能,同时使agent在后期训练中专注于当前任务。
Off-policy Instance Transfer Learning: Advantage-based Experience Selection
On-policy阶段的做法目的是在训练初期模仿teacher policy,所以能够提高初始性能,但是在任务相似度较低时往往没有太大的改善。为了解决这个问题,文中提出一种advantage-based的经验选择的方法进行off-policy的instance transfer。
在off-policy阶段,增加一个replay buffer来存放teacher policy的训练样本,但是使用当前任务的reward function来计算reward。为了提高样本利用率,在更新actor网络时,根据advantage value来选择transitions,只使用advantage value大于给定阙值的样本,并使用teacher policy替换Clipped PPO的loss function中的    :

基于advantage的经验选择的做法是简单有效的,advantage可以被看做是采取特定的action所得到的额外的reward。因此,由于advantage是在目标任务的reward function下计算出来的,所以有着高advantage value的transitions就可以被视作用作迁移的“好”样本,无论源任务和目标任务差别多大,通过只保留replay buffer中的“好”样本,agent可以专心学习对当前任务有用的行为,以此提升transfer的样本效率。完整的算法流程如下:


04

Experiments
在进行实验之前,首先需要一个量化任务相似度的指标。文中假设teacher和student任务之间的状态和动作空间不变,reward function具有一些共同特征的线性组合形式,并且使用余弦距离函数来定义任务之间的相似程度,即两个reward function分别如下的任务之间的相似度可以计算为:

当这个值大于0时认为两个任务是相似的,否则是不相似的。
在实验部分,文章在三套复杂性不断增加的环境中评估REPAINT算法,分别是Mujoco simulator中的Reacher和Ant、AWS DeepRacer simulator中的单车和多车比赛以及StarCraft II环境中的BuildMarines和FindAndDefeatZerglings小游戏,下面我们分别来讲述。
Mujoco-Reacher

在目标任务中,agent通过用较少的动作接近目标点而获得奖励。在实验对比上,文章考虑了几个baseline算法:Clipped PPO、仅有Kickstarting和仅有instance transfer。文中考虑了两个teacher,一个是在相似的任务中训练的,但对行为惩罚的权重较高;另一个是在不相似的任务中训练的,其中agent在接近目标时会受到惩罚:

实验结果表明,在任务相似度不同的两种情况下,不管是Jumpstart、Asymptotic Performance还是Time to Threshold,REPAINT都优于其他baseline算法。Kickstarting虽然可以提高初始性能,但是当任务相似度较低时,最终性能并没有得到增益;instance transfer虽然不能提升初始性能,但是在这两种情况下最后都会优于baseline。
除此之外,文章还比较了REPAINT中几种经验选择规则的性能,包括高绝对值 、排名top20%的transitions、文中提出的规则以及PER:

实验结果表明,文中的选择规则以及top20%的规则在初始性能上比其他规则更好,因为其中只有最相关的样本被选择用于策略更新;PER的效果比较差,特别是当任务相似度较低时包含了low-advantage的teacher样本,这对student的学习是没有好处的。因此,文章建议使用带有阙值的选择规则或者top20%规则(比例可自行调整)。
Mujoco-Ant

在目标任务中,agent通过生存和前进受到奖励,并因为控制和接触开销受到惩罚。Teacher policies都是从相似的任务中训练出来的,其中reward function对前进的权重较高;除此之外,文章还评估了具有不同余弦相似度的源任务的迁移性能:

实验结果表明,当任务相似度较高时,REPAINT和Kickstarting可以显著提高初始性能,并降低达到一定性能的学习开销;任务的相似度影响了整体的训练性能,相似度更高的task中训练的teacher policy可以更好地提升迁移性能。
AWS DeepRacer simulator
Single-car time trial

在这项实验中,文章使用两种不同的reward function,一种是在内车道时获得奖励、在外车道得到惩罚,另一种则相反,teacher task和target task分别使用其中一种,即任务是不相似的。评估性能包括平均回报和完整跑完一圈的百分比。实验结果表明,收敛之后所有方法都可以完整跑完一圈而不偏离赛道,其中REPAINT和kickstarting可以显著提高初始性能,但是kickstarting无法提高最终性能,相比之下,instance transfer可以提高最终性能。
除此之外,文章还将REPAINT与一种迁移参数的方法warm-start进行对比并且将结果可视化。实验结果表明,REPAINT可以做到在向teacher task学习的同时,更加专注于当前任务,而warm-start则无法避免一些收敛时的意外行为。
Racing against bot cars
在多车比赛中,agent通过保持在赛道上并同时避免撞车获得奖励,文中训练了一个善于避开对象的teacher policy,然后在target task使用两种不同的reward function来评估:一种是advanced reward,即当agent检测到车辆并且在同一车道时会受到惩罚;另一种是progress-based reward,即只根据完成进度获得奖励,但是当偏离轨道或者撞车时会受到很大惩罚。
实验结果表明,因为最大限度地完成进度包含车辆回避问题,所以teacher task可以看做是target task的子任务,在这种情况下,REPAINT仍然可以缩短收敛时间,提高最终性能。
StarCraft II
最后,文章在更为负责的StarCraft II环境上进行了一系列实验,其中teacher task为BuildMarines,target task为BuildMarines加上FindAndDefeatZerglings。

实验结果表明,在涉及BuildMarines任务时算法会有很大的方差,Kickstarting呈现负迁移,REPAINT和instance transfer通过选择具有high advantage value的样本,能够快速地将teacher task的知识迁移到target task中。文章实验较多,总结如下表所示:
Summary and Future Work
这篇工作提出的REPAINT算法在应用策略蒸馏的同时,对按照teacher policy收集的样本进行off-policy的instance transfer,同时结合了辅助探索和策略复用两种方式,并且开发了一种基于advantage value的经验选择方法,这种基于样本相关度的选择方法简单而有效,也是第一次将其应用于RL中knowledge transfer。其中kickstarting只在任务相似度较高和target task较简单时表现良好,instance transfer无法提高初始性能,相比之下REPAINT无论任务相似度高低,都能显著解决上述问题。
文章中只应用了单一的teacher policy进行knowledge transfer,然而使用多个甚至不同的teacher policies进行迁移是比较直接的;除此之外,REPAINT可以直接应用于任意基于策略梯度的RL算法中,这些可以作为后续讨论和研究的方向。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存