论文解读:Policy Transfer in Reinforcement Learning: A Selective Exploration Approach

论文题目:Policy Transfer in Reinforcement Learning: A Selective Exploration Approach

论文链接:

http://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/download/14729/14228

https://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。

Bayesian change detection

这里需要提出一个概念,叫change point(变点),即一个时间序列信号前后服从不同的分布模型,其边界点就是change point。作者在这里使用贝叶斯变点检测技术来分析源任务和目标任务不同分布的数据[1, 2]。作者引用了文献[1]中的product partition approach,利用这种方法将观测到的时间序列数据分割成不同的部分,每个部分服从不同的概率模型。

例如一个智能体在某个时刻的状态为s=(<x,y, \theta>, \delta),其中<x, y, \theta>分别为智能体的横坐标、纵坐标和角度,\delta为智能体上的传感器测量出来的距离。下图是在一个5*5网格环境中的传感器观测数据,红色曲线表示在一个特定的位置<x, y, \theta>,传感器所测得的\delta值。当环境发生变化的时候,例如出现了一个障碍物,或者障碍物消失,则change detection算法将在该点计算得出较高的似然概率,从而推断出此处就是change point。这种Bayesian change detection算法对环境中每个状态都计算一遍,得到所有状态下可能的change points。

观测数据的变点检测:出现一个障碍物(左图),障碍物消失(右图)

Selective exploration

该部分分为三步:1)子空间构建;2)子空间策略求解;3)策略整合。

子空间构建:利用breadth-first机制构建子空间,也就是将前面检测到的change point所在的状态作为起点,向后扩展n步,围绕该状态的局部空间就构成一个子空间,相应地其决策过程称为一个微型的子空间MDP。作者通过定义adjacency of state(相邻状态)、reachability(可达性)、n-step closure(n步可达)、frontier states(边界状态)和子空间(其定义和文献[3]中关于子空间的定义类似)来进行子空间选择性的搜索,从父任务中构建子空间的MDP。详细定义请参考原文,其实就是将这些直观上的概念用数学化的语言进行严谨地定义。根据这些定义,作者得出几个结论:

引理3.6 (Local goal states)所有的边界状态的集合,组成子MDP的目标状态。

引理3.7 (Goal preference)对每个目标状态G,其奖励函数设置为r^\prime = r + \Phi(G),其中\Phi是一个potential function,r是父任务的奖励函数。则子空间的奖励函数为R^\prime=\{r\prime\},并且R^\prime创建了目标状态的优先顺序。

关于potential function(\Phi)的选择,作者参考了文献[4],也就是Andrew Ng的那篇reward shaping的名作。在网格环境中,可以定义为智能体到目标点的曼哈顿距离。

定理3.8 (Sub-space extraction)存在G\in\mathcal{F},使得(C^n(s_i), G)构成一个子空间。

根据以上定义,将会得到一个子空间MDP,M^\prime=<S^\prime, A^\prime, T^\prime, R^\prime>。有了这个MDP,下一步就是状态空间探索和策略求解。

子空间探索:每个子空间MDP看成是一个子任务。这里,作者使用R_{MAX}探索机制在子空间中探索(其它任何合适的探索机制也可以)。此外,还要将子空间中的状态和父任务的状态一一对应(这里,作者使用表格索引)。对于子空间的动作空间,可能和父任务的动作空间不一样,例如子空间如果只是导航任务,则不需要抓取、安放等动作。

策略整合:子空间学习出来的policy最终还是为了解决target task。因此,需要将该policy和源任务中的policy整合起来。整合的方法很多,最简单的就是通过判断状态是否在子空间中,然后切换策略。这种方法的缺陷是,在目标任务的其它状态没有探索,只在子空间中探索,这将可能导致整合出来的策略在目标任务中是次优的。作者使用的方法是类似\epsilon-greedy的方法,在目标任务中探索的时候以一定的概率强制建立子空间,即使该状态不是change point,也建立子空间MDP。最后学出来的策略作为目标任务的最优策略。

后悔值计算(Regret calculation):这里的智能体累积后悔值和n-step closure步长有关。

定义3.9(Diameter)假设每个动作的执行需要一个固定的时间单位,则diameter的定义就是从状态s到状态s^\prime所需要的时间步数[5]。即D(M)=\max_{s\neq s\in \mathcal{S},}\min_{\pi:\mathcal{S}\rightarrow \mathcal{A}}\mathbb{E}[T(s^\prime|M, \pi, s)]

定义3.10(Regret)智能体在第T步执行策略\pi的后悔值定义为\Delta(s)=T\mu^*-\sum_{t=1}^{T}r^t(其中\mu^*是平均最优奖励)。

定理3.11(Regret as a function of n)智能体在目标任务中使用SEAPoT算法获得的策略,所积累的Regret值只和步长n有关,被用于构建子空间。

以上所有引理、定理的证明,请各位参考原文。(比较枯燥)

算法细节:

1. Algo SEAPoT:

2. while Target task NOT solved:

3.            With probability \epsilon explore target;

4.            while NOT ChangeDetect():

5.                        s^\prime \leftarrow \boldsymbol{f}(s, \pi^{\mathcal{S}}(s));    //execute policy

6.            Extract sub-space MDP();

7.            Explore sub-space MDP();

8.            Compose policy \pi^T.

9.  Proc   Explore sub-space MDP:

10.           Input: subSpaceMDP

11.            Explore using R-MAX until g^\prime \in G^\prime reached;

12. Proc   Extract sub-space MDP:

13.            //   identify n-step closure

14.            S^\prime \leftarrow C^n(s)  //  According to Defn 3.3

15.            //   identify the local goal

16.            G^\prime \leftarrow \mathcal{F}(S^\prime)   //   According to Lem 3.6

17.            Define R^\prime    //    According to Lem 3.7

18.            Construct M^\prime    //According to Thm 3.8

19. Proc ChangeDetect:

20.            Input: Time series data D

21.            if Change detected:

22.                        Return True

总结:

个人认为对每个状态都计算change detection,其计算量对稍微大一点规模的问题都是无法想象的。此外,子空间的状态和父任务的状态一一对应关系没有描述清楚,如果用查表的方法做的话,又限制了问题的规模。论文的整体思路,个人认为最值得借鉴的地方是change point的识别,然后建立子空间MDP进行selective exploration,从而找到source task和target task的关系。至于下一步怎么解决,并不是最主要的贡献。

【参考文献】

[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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352