论文题目:Policy Transfer in Reinforcement Learning: A Selective Exploration Approach论文链接:http://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/download/14729/14228https://ala2019.vub.ac.be/papers/ALA2019_paper_16.pdf论文出处:AAAI 2017, AAMAS 2019(两个版本)了解迁移学习的小伙伴们都知道,迁移学习将任务分为源任务(source task)和目标任务(target task),为了让模型在数据量有限的情况下很好地学习目标任务,需要将源任务中学习好的模型充分利用,通过一些先验知识等将源任务迁移到目标任务。这种设定主要是考虑到两点:1)目标任务数据量小,或者样本空间大,难学;2)源任务已经学好了,并且源任务和目标任务之间有关联。今天要介绍的这篇论文,是将迁移学习和强化学习结合,提出一种策略迁移算法,使得智能体在目标任务的求解过程中,能够高效、有选择地在状态空间中探索。因此,所提出的算法名叫SEAPoT:Selective Exploration and Policy Transfer Algorithm。下面,我们来简单了解一下算法是如何设计并实现的。对于一个马尔科夫决策过程(MDP),其状态空间、动作空间、奖励设置等环境因素的变化,都会使得环境发生变化。源任务和目标任务的区别也往往针对这些不同而展开。本文研究的源任务和目标任务,其区别主要体现在状态转移概率和(或)奖励函数上。而作者是通过计算相应状态-动作转移概率分布的距离,来定义不同任务之间的相似度。不同任务之间的区别可以由导致状态-动作转移概率分布发生变化的环境参数来表征。从源任务到目标任务,智能体首先通过change-detection机制,并根据一定的先验知识来侦测环境发生了哪些变化。然后智能体会构建一个包含这些变化区域的子空间来适应目标任务的场景,并且在这些子空间中学习一个局部的策略。SEAPoT算法主要组成部分是Bayesian change detection和selective exploration。
该部分分为三步:1)子空间构建;2)子空间策略求解;3)策略整合。子空间构建:利用breadth-first机制构建子空间,也就是将前面检测到的change point所在的状态作为起点,向后扩展 步,围绕该状态的局部空间就构成一个子空间,相应地其决策过程称为一个微型的子空间MDP。作者通过定义adjacency of state(相邻状态)、reachability(可达性)、n-step closure(n步可达)、frontier states(边界状态)和子空间(其定义和文献[3]中关于子空间的定义类似)来进行子空间选择性的搜索,从父任务中构建子空间的MDP。详细定义请参考原文,其实就是将这些直观上的概念用数学化的语言进行严谨地定义。根据这些定义,作者得出几个结论:引理3.6 (Local goal states)所有的边界状态的集合,组成子MDP的目标状态。引理3.7 (Goal preference)对每个目标状态 ,其奖励函数设置为 ,其中 是一个potential function, 是父任务的奖励函数。则子空间的奖励函数为 ,并且 创建了目标状态的优先顺序。关于potential function( )的选择,作者参考了文献[4],也就是Andrew Ng的那篇reward shaping的名作。在网格环境中,可以定义为智能体到目标点的曼哈顿距离。定理3.8 (Sub-space extraction)存在 ,使得 构成一个子空间。根据以上定义,将会得到一个子空间MDP, 。有了这个MDP,下一步就是状态空间探索和策略求解。子空间探索:每个子空间MDP看成是一个子任务。这里,作者使用 探索机制在子空间中探索(其它任何合适的探索机制也可以)。此外,还要将子空间中的状态和父任务的状态一一对应(这里,作者使用表格索引)。对于子空间的动作空间,可能和父任务的动作空间不一样,例如子空间如果只是导航任务,则不需要抓取、安放等动作。策略整合:子空间学习出来的policy最终还是为了解决target task。因此,需要将该policy和源任务中的policy整合起来。整合的方法很多,最简单的就是通过判断状态是否在子空间中,然后切换策略。这种方法的缺陷是,在目标任务的其它状态没有探索,只在子空间中探索,这将可能导致整合出来的策略在目标任务中是次优的。作者使用的方法是类似 的方法,在目标任务中探索的时候以一定的概率强制建立子空间,即使该状态不是change point,也建立子空间MDP。最后学出来的策略作为目标任务的最优策略。后悔值计算(Regret calculation):这里的智能体累积后悔值和n-step closure步长有关。定义3.9(Diameter)假设每个动作的执行需要一个固定的时间单位,则diameter的定义就是从状态 到状态 所需要的时间步数[5]。即 。定义3.10(Regret)智能体在第T步执行策略 的后悔值定义为 (其中 是平均最优奖励)。定理3.11(Regret as a function of n)智能体在目标任务中使用SEAPoT算法获得的策略,所积累的Regret值只和步长 有关,被用于构建子空间。以上所有引理、定理的证明,请各位参考原文。(比较枯燥)
03
算法细节
1. Algo SEAPoT:2. while Target task NOT solved:3. With probability explore target;4. while NOT ChangeDetect():5. ; //execute policy6. Extract sub-space MDP();7. Explore sub-space MDP();8. Compose policy .9. Proc Explore sub-space MDP:10. Input: subSpaceMDP11. Explore using R-MAX until reached;12. Proc Extract sub-space MDP:13. // identify n-step closure14. // According to Defn 3.315. // identify the local goal16. // According to Lem 3.617. Define // According to Lem 3.718. Construct //According to Thm 3.819. Proc ChangeDetect:20. Input: Time series data D21. if Change detected:22. Return True
[1] Barry, Daniel, and John A. Hartigan. "A Bayesian analysis for change point problems." Journal of the American Statistical Association 88.421 (1993): 309-319.
[2] Erdman, Chandra, and John W. Emerson. "bcp: an R package for performing a Bayesian analysis of change point problems." Journal of Statistical Software 23.3 (2007): 1-13.
[3] Bowling, Mike, and Manuela Veloso. "Reusing learned policies between similar problems." in Proceedings of the AI* AI-98 Workshop on New Trends in Robotics. 1998.
[4] Ng, Andrew Y., Daishi Harada, and Stuart Russell. "Policy invariance under reward transformations: Theory and application to reward shaping." ICML. Vol. 99. 1999.
[5] Auer, Peter, Thomas Jaksch, and Ronald Ortner. "Near-optimal regret bounds for reinforcement learning." Advances in neural information processing systems. 2009.