RUDDER:回报分解解决强化学习得奖励延迟问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41679411/article/details/80942002

论文链接:https://arxiv.org/abs/1806.07857

本文为笔者阅读该文章的笔记整理,有任何问题欢迎与我交流,邮箱是[email protected] / [email protected]

解决奖励延迟的强化学习算法:RUDDER

强化学习

一、回顾马尔可夫决策过程(MDP):

在进行讨论之前我们有必要回顾MDP,MDP是由一个6元组(S,A,R,p,π,γ)唯一确定的, 是有限状态集合, 是表示t时刻状态的随机变量,A代表动作, 代表t时刻动作的随机变量,R代表奖励, 代表t时刻的奖励的随机变量,P是转移奖励,比如:

title

表示t时刻处于s状态,并执行a动作,在t+1时刻达到 状态并得到奖励r的概率
策略是指在状态下的条件概率分布:
π ( A t + 1 = a | S t + 1 = s )

期望奖励为:
r ( s , a ) = r r p ( r | s , a )

回报:

G t = k = 0 γ k R t + k + 1

在策略π下的动作-值函数为
q π ( s , a ) = E π [ G t | S t = s , A t = a ]

我们学习的目的是为最大化 G 0

二、MDP估计的偏差的方差分析:

1.奖励延迟使学习效果恶化

文章用了大量的篇幅说明了奖励延迟造成的问题,在此我们不多做介绍,我们只接受事实,奖励延迟会造成估计的方差变大。

三、回报分解以及奖励重新分配

1.回报等价及状态丰富

为了解释这个问题,我们要引入两个概念:Return-Equivalent(回报等价)以及state-Enriched(状态丰富)

  • 回报等价的定义:如果两个MDP仅在 p ( r ~ | s , a ) p ( r | s , a ) 不同,但两者在相同策略下却有相同的期望回报 v ~ 0 π = v 0 π ,那么我们称这两个MDP过程是回报等价的。

  • 回报等价的性质:两个回报等价的过程具有相同的最优策略。

  • 状态丰富的定义:我们称一个MDP P ~ 相比于 P 是状态丰富的,当且仅当 p 同构于 p ~ 的子集,比较直观的描述是说:如果 p ~ P 拥有相同的状态、动作、转移概率,以及奖励概率.但是 p ~ 的状态拥有更多的更多的信息。

  • 状态丰富的性质:状态丰富不改变最优策略以及 Q -values.

2.延迟奖励的MDP与即时奖励的MDP过程之间的等价

首先,考虑一个即时奖励的MDP过程,我们将他转换成一个延时奖励的MDP过程 p ~ ,这里有一种很显然的转换方式,定义转换后的过程 p ~ 有如下奖励:

  • reward:

(1) R ~ t = { 0 f o r t T k = 0 T R k + 1 f o r t = T

  • state
    (2) s ~ t = ( s t , ρ t )

    (3) ρ t = k = 0 t + 1 r k + 1 , w i t h R k = r k

其中 R k 的分布由 p ( r | s k , a k ) 决定.
在这种情况下,我们有如下性质,如果一个即时MDP过程由上述过程转换成非延时的MDP,我们将有如下两个性质:

  • 最优策略不变
  • 对于 π ~ ( a | s ~ ) = π ( a | s ) 我们有 q ~ π ~ = q π ( s , a ) + k = 0 t 1 r k + 1

(1)我们简单地分析一下为什么最优策略不变,事实上可以验证我们新的MDP可以回报等价于之前的MDP,这样由于回报等价的性质可以说明这件事。

3.最优回报分解

现在我们考虑一下相反的方向:对于一个有延时奖励的MDP过程 p ~ ,我们是否能找到一个return-equivalent的 P ,我们将把 r ~ T + 1 重新分配到前面的奖励中。
对于延时过程 r ~ ( s T , a T ) = E [ R ~ T + 1 | S T , a T ] ,这是由动作状态序列 ( s 0 , a 0 , s 1 , . . . , s T , a T ) 得到的,又由于马氏性,实际上 r ~ 只是 ( s T , a T ) 的函数,这样我们可以利用的信息将大大下降,为此,我们将序列变为 ( a 0 , Δ ( s 0 , s 1 ) ) , . . . , a T 1 , Δ ( s T 1 , s T ) , a T ) , 其中 ( a , Δ ( s , s ) ) 相互独立。
我们引入几个记号

(4) ( a , Δ ) 0 : t := ( a 0 , Δ ( s 0 , s 1 ) ) , . . . , a t 1 , Δ ( s t 1 , s t ) , a t , Δ ( s t , s t + 1 ) )

我们希望对函数 g 进行分解
(5) g ( ( a , Δ ) 0 : T ) = k = 0 T h ( a t , Δ ( s t , s t + 1 ) ) = E [ R ~ T + 1 | s T , a T ] = r ~ ( s T , a T )
文中给出了三种分解方式Taylor decomposition、LRP分解、integrated gradients。
TODO:本质上是求泛函极小值值得过程,有非常多的经典得方法可以引入,比如直接求这个泛函的frech 导数

4.最优奖励分配

现在,假设我们已经有了最优分解,我们来求出奖励分配的方案

(6) g ( ( a , Δ ) 0 : T ) = k = 0 T h ( a t , Δ ( s t , s t + 1 ) )

(7) r t + 1 = h ( a t , Δ ( s t , s t + 1 ) ) g ( ( a , Δ ) ) 0 : T r ~ T + 1

于是有, k = 0 T r ~ t + 1 = r ~ T + 1 = k = 0 T r t + 1
容易计算得
(8) r ( s t a t ) = E [ R t + 1 | s t , a t ] = E [ h t | s t , a t ] r ~ ( s t , a T ) = E [ h t | s t , a t ] r ~ ( s T , a T ) r ~ ( s T , a T ) = E [ h t | s t , a t ]

之后它证明了最优分配方案导致了方差变低。

四、具体实现架构


用一个LSTM去训练,用来估计累计回报,LSTM的输出由三部分构成,主任务 G 0 ,三个辅助任务(1) q t 的预测(2) r t , 10 (3) r 0 , t 损失为平方损失。输入图像数据时,LSTM对 G 0 进行预测,再对其进行分解,得到每个时刻的奖励,在给出奖励的过程中,还会对从而给到PPO算法求解动作和价值函数,在具体实现的时候PPO是需要熟悉的。另外在训练的时候,它会评估 G 0 估计的好坏,以及分解的质量,只有在两者满足一定条件的时候才会被使用。

实验结果

猜你喜欢

转载自blog.csdn.net/weixin_41679411/article/details/80942002