论文解读:Transfer in Deep Reinforcement Learning Using Successor Features and Generalised Policy Impr...

论文题目:Transfer in Deep Reinforcement Learning Using Successor Features and Generalised Policy Improvement.

论文链接:http://183.207.33.42:9011/proceedings.mlr.press/c3pr90ntc0td/v80/barreto18a/barreto18a.pdf

论文出处:ICML 2018

论文概要:本文是NeurIPS 17那篇“Successor Features for Transfer in Reinforcement Learning”的2.0版本。本文的背景和算法基础和NeurIPS 17那篇基本上差不多,只是在误差边界和具体操作上有了进一步的改进。本文的贡献主要有两点:1)上一篇对MDP有一定的限制,而本文放松了对该条件的限制;2)本文直接将reward函数本身作为特征,从而不需要手工设计\phi函数。

【背景回顾】

回顾一下NeurIPS 17那篇“Successor Features for Transfer in Reinforcement Learning”,作者假设在不同强化学习任务下,环境的动态特性(dynamics)是保持不变的。因此,reward函数的改变是不同任务之间迁移学习的关键。作者将reward函数写成如下形式:

r(s, a, s^\prime) = \phi(s, a, s^\prime)^T \boldsymbol{w},                      (1)

其中\phi(s,a,s^\prime)(s,a,s^\prime)的特征函数(注意,这里的\phi不是SFs),\boldsymbol{w}是权重。\phi函数描述的是环境本身动态特性,是假设保持不变的,那么不同的任务就由\boldsymbol{w}来表征。有了这个基础,基于\phi的不同MDP集合可由

\mathcal{M}^{\phi} \equiv \left\{ M(\mathcal{S}, \mathcal{A}, p, r, \gamma) | r(s, a, s^\prime)=\phi(s, a, s^\prime)^T\boldsymbol{w} \right\}              (2)

来表示,其中每个M_i \in \mathcal{M}^{\phi}表示一个特定的任务。基于以上的表示方法,Q函数可以写成:

Q_i^{\pi}(s, a) = \mathbb{E}^{\pi} \left[ \sum_{i=t}^{\infty}{\gamma^{i-t}\phi_{i+1} | S_t=s, A_t=a} \right]^T \boldsymbol{w}_i \equiv {\psi^{\pi}(s,a)}^T \boldsymbol{w}_i.            (3)

上式中的\psi^{\pi}(s,a)即为successor features (SFs),后继特征。

正如我上一篇关于NeurIPS 17论文讨论的一样,这里一个关键的问题是\phi特征函数怎么设计。单凭经验去手工设计,或者另基于一个假设从数据中学习都是不太靠谱的办法,总会带来新的问题。为了解决这个问题,同时能够让深度学习技术来实现SFs&GPI学习,作者在本篇论文中做了进一步的改进。

作者的介绍分为两步:首先将MDP从\mathcal{M}^{\phi}放宽到所有的\mathcal{M};其次将reward函数本身当做特征,从而避免设计\phi函数。

从论文的写作顺序来看,这样介绍比较顺其自然。但是我个人以为,作者的思路很可能是反过来的。首先,他们想要摆脱求解\phi函数这个麻烦事,于是想到要用reward函数直接来代替\phi,这样会特别省事;其次,用reward函数代替特征,则原先推导的定理2可以进一步推广,得到本文提出所谓的Proposition 1。

【使用reward函数代替\phi

在NeurIPS 17那篇文章中,作者将\phi的求解看成一个多任务学习问题,用D个任务的数据通过回归来拟合\phi。作者称这D个任务称为“基任务”,用\tilde{\mathcal{M}} \equiv \left\{ M_1, M_2, \cdots, M_D \right\} \subset \mathcal{M}^{\phi}来表示。回归问题可表示为:

\tilde{\phi}(s, a, s^\prime) \tilde{\boldsymbol{w}_i} \approx r_i(s, a, s^\prime), \text{ for } i=1, 2, \cdots, D.                (4)

关于(4)式的求解,就是一个最小二乘问题,可以得到一个最优解:

\phi(s, a, s^\prime) = (\boldsymbol{W}^T\boldsymbol{W})^{-1}\boldsymbol{W}^T\boldsymbol{r}(s, a, s^\prime) = \boldsymbol{W}^{\dagger} \boldsymbol{r}(s, a, s^\prime),               (5)

其中,\boldsymbol{W} \in \mathbb{R}^{D \times d}是由这些\boldsymbol{w}_i组成的矩阵,\boldsymbol{r}(s, a, s^\prime) \in \mathbb{R}^D是由r_i(s, a, s^\prime)组成的向量。从(9)式中,可以发现原来\phi函数可由\boldsymbol{r}(s, a, s^\prime)线性表示,那接下来一个很自然的想法就是直接使用\boldsymbol{r}(s, a, s^\prime)作为\phi函数,剩下的部分都算在\boldsymbol{w}上面,即

r(s, a, s^\prime)=\phi(s, a, s^\prime)^T \boldsymbol{w}=\boldsymbol{r}(s, a, s^\prime)^T(\boldsymbol{W}^{\dagger})^T\boldsymbol{w}=\boldsymbol{r}(s, a, s^\prime)^T \boldsymbol{w}^\prime.        (6)

这里的\boldsymbol{w}^\prime=(\boldsymbol{W}^\dagger)^T\boldsymbol{w}。如果直接利用reward函数本身作为\phi函数,则剩下的部分只需要做两件事就行了,第一是学习\boldsymbol{w}^\prime,第二是学习SFs。

【收敛条件放宽限制】

既然用reward函数来代替\phi函数,作者得到了一个更一般的结论,也就是本文中所提出的Proposition 1:

------------------------------------------------------------------------------------------------------------

命题1. 令M \in \mathcal{M}Q_i^{\pi_j^*}\mathcal{M}_j \in \mathcal{M}中的最优策略\pi_j^*\mathcal{M}_i \in \mathcal{M}中执行时的Q值函数。给定n个Q函数拟合结果\left\{ \tilde{Q}_i^{\pi_1}, \tilde{Q}_i^{\pi_2}, \cdots, \tilde{Q}_i^{\pi_n} \right\},使得| \tilde{Q}_i^{\pi^*_j}(s, a) - \tilde{Q}_i^{\pi_j}(s, a) | \le \epsilon\forall s \in \mathcal{S}, a \in \mathcal{A}, \text{ and } j \in \left\{ 1, 2, \cdots, n \right\}都成立,设

\pi(s) \in \arg\max_{a}\max_{j}{\tilde{Q}_i^{\pi_j}(s, a)}.                          (7)

|| Q^* - Q^\pi ||_{\infty} \le \frac{2}{1-\gamma}\left( ||r-r_i||_{\infty} + \min_j{||r_i-r_j||_{\infty}} + \epsilon \right),                   (8)

其中,Q^*M \in \mathcal{M}的最优Q值函数,Q^\pi则是M中策略\pi的Q值函数。||\cdot||_{\infty}l^{\infty}范数。

------------------------------------------------------------------------------------------------------------

【迁移强化学习】

有了以上D个“基任务”的学习,就会得到两个关键的特征:\phi(s, a, s^\prime)\psi(s, a)。当有一个新任务M^\prime \in \mathcal{M}^\phi,首先根据(1)式和环境交互数据拟合出\boldsymbol{w}^\prime。然后利用\boldsymbol{w}^\prime\psi(s, a)得到M^\prime在不同源策略下的Q函数,并通过GPI得到最优策略。算法流程大概如下图所示:


算法伪代码

如此,就实现了任务的迁移学习。

【总结与评价】

本文是将SFs & GPI 的迁移强化学习框架从两方面进行了推广。首先,将收敛性的理论保证推广到环境中的任何两个reward函数不同的任务中,放宽了reward函数必须由一组features线性组合的假设;其次,直接将一组基本任务的reward函数作为feature的组成部分,从而不需要另外去设计\phi函数。最后,作者使用深度学习技术来实现算法中的函数拟合问题。

我认为这篇论文最值得借鉴的地方是“基任务”(base tasks)的思想。只要找到一个任务空间的基任务,则任务空间中的其它任务通过线性组合就能得到,甚至不在该任务空间的任务,也可以很好地通过最小二乘来逼近。但是关键的问题在于,如何寻找一组合适的“基任务”来实现一般任务的描述?有没有一个更一般的方法,只要给出了一个环境的状态空间、动作空间和状态转移函数,我就能找到这个环境的一组“基任务”?这些问题在这篇文章中没有讨论,作者凭经验设计了4个“基任务”,得出了较好的结果,但是4个够不够,多不多?这些问题都还有待研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。