版权声明:本文为博主原创文章,未经博主允许不得转载。 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是转移奖励,比如:
表示t时刻处于s状态,并执行a动作,在t+1时刻达到 状态并得到奖励r的概率
策略是指在状态下的条件概率分布:
π(At+1=a′|St+1=s′)
期望奖励为:
r(s,a)=∑rrp(r|s,a)
回报:
Gt=∑∞k=0γkRt+k+1
在策略π下的动作-值函数为
qπ(s,a)=Eπ[Gt|St=s,At=a]
我们学习的目的是为最大化
G0
二、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~
有如下奖励:
R~t=⎧⎩⎨⎪⎪⎪⎪0fort≤T∑k=0TRk+1fort=T(1)
- state
s~t=(st,ρt)(2)
ρt=∑k=0t+1rk+1,withRk=rk(3)
其中
Rk
的分布由
p(r|sk,ak)
决定.
在这种情况下,我们有如下性质,如果一个即时MDP过程由上述过程转换成非延时的MDP,我们将有如下两个性质:
- 最优策略不变
- 对于
π~(a|s~)=π(a|s)
我们有
q~π~=qπ(s,a)+∑t−1k=0rk+1
(1)我们简单地分析一下为什么最优策略不变,事实上可以验证我们新的MDP可以回报等价于之前的MDP,这样由于回报等价的性质可以说明这件事。
3.最优回报分解
现在我们考虑一下相反的方向:对于一个有延时奖励的MDP过程
p~
,我们是否能找到一个return-equivalent的
P
,我们将把
r~T+1
重新分配到前面的奖励中。
对于延时过程
r~(sT,aT)=E[R~T+1|ST,aT]
,这是由动作状态序列
(s0,a0,s1,...,sT,aT)
得到的,又由于马氏性,实际上
r~
只是
(sT,aT)
的函数,这样我们可以利用的信息将大大下降,为此,我们将序列变为
(a0,Δ(s0,s1)),...,aT−1,Δ(sT−1,sT),aT),
其中
(a,Δ(s,s′))
相互独立。
我们引入几个记号
(a,Δ)0:t:=(a0,Δ(s0,s1)),...,at−1,Δ(st−1,st),at,Δ(st,st+1))(4)
我们希望对函数
g
进行分解
g((a,Δ)0:T)=∑k=0Th(at,Δ(st,st+1))=E[R~T+1|sT,aT]=r~(sT,aT)(5)
文中给出了三种分解方式Taylor decomposition、LRP分解、integrated gradients。
TODO:本质上是求泛函极小值值得过程,有非常多的经典得方法可以引入,比如直接求这个泛函的frech 导数
4.最优奖励分配
现在,假设我们已经有了最优分解,我们来求出奖励分配的方案
g((a,Δ)0:T)=∑k=0Th(at,Δ(st,st+1))(6)
rt+1=h(at,Δ(st,st+1))g((a,Δ))0:Tr~T+1(7)
于是有,
∑Tk=0r~t+1=r~T+1=∑Tk=0rt+1
容易计算得
r(st,at)=E[Rt+1|st,at]=E[ht|st,at]r~(st,aT)=E[ht|st,at]r~(sT,aT)r~(sT,aT)=E[ht|st,at](8)
之后它证明了最优分配方案导致了方差变低。
四、具体实现架构
用一个LSTM去训练,用来估计累计回报,LSTM的输出由三部分构成,主任务
G0
,三个辅助任务(1)
qt
的预测(2)
rt,10
(3)
r0,t
损失为平方损失。输入图像数据时,LSTM对
G0
进行预测,再对其进行分解,得到每个时刻的奖励,在给出奖励的过程中,还会对从而给到PPO算法求解动作和价值函数,在具体实现的时候PPO是需要熟悉的。另外在训练的时候,它会评估
G0
估计的好坏,以及分解的质量,只有在两者满足一定条件的时候才会被使用。
实验结果