强化学习中的马尔可夫决策过程

原创 2017年01月03日 16:59:30

前言

我在学习Playing Atari with Deep Reinforcement Learning这篇论文时,文章中引用到了马尔可夫决策过程的相关概念,为此特意学习了马尔可夫决策过程的相关知识。


马尔可夫过程(MP)的基本概念

状态遵循马尔可夫是指

P[St+1|St]=P[St+1|St,,S1]

既未来与过去无关只与现在有关
S,P是马尔可夫过程是指S为有限状态集合并且遵循马尔可夫,P是状态转移概率矩阵
Ps,s=P[St+1=s|St=s]


马尔可夫奖赏过程(MRP)的基本概念

S,P,R,γ是马尔可夫奖赏过程是指S为有限状态集合,P为状态转移矩阵, RSR为奖赏函数Rs=E[Rt+1|St=s]γ是折扣率

MRP的价值函数

Rt定义为从状态st1到达状态st所得到的奖励,那么时刻0所能得到的回报可以写为

G0=R1+γR2+γ2R3+

t时刻在某一状态下的回报可以如下式子表示:
Gt=Rt+1+γRt+2+γ2Rt+3+

因为从某一状态到达另一个状态是根据一定的概率,所以真实的Gt的可能有很多种,所以定义在某一状态下的价值函数

v(s)=E[Gt|St=s]

其中St表示在t时刻的状态

Bellman方程

v(s)=E[Gt|St=s]=E[Rt+1+γRt+2+γ2Rt+3+|St=s]=E[Rt+1+γ(Rt+2+γRt+3+)|St=s]=E[Rt+1+γv(St+1)|St=s]=Rs+γsSPs,sv(s)

这个公式就是Bellman方程的基本形态,得到线性方程组
v=R+γPv

可以求得每个状态的价值。


马尔可夫决策过程(MDP)的基本概念

马尔可夫决策过程由五个关键元素{S,A,P,R,γ}组成

S代表状态集合
A代表动作集合
P是三维概率矩阵

Pas,s=P[St+1=s|At=a,St=s]

R是回报函数,R:S×AR,有时RA无关,R:SR
Ras=E[Rt+1|At=a,St=s]

γ表示学习随着时间推移的折扣率

这里有确定的概率矩阵,所以也就给出了状态转移的模型,所以这里的MDP是基于模型的(Model-based),很多时候概率是不确定的,这就是不基于模型的(Model-free)

马尔可夫决策过程如下

s0a0s1a1s2a2

状态s0在动作a0作用下根据概率分布Ps0a0s1,然后执行动作a1,得到的回报如下
R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+

为了方便解释,把rt定义为从状态st1执行行为at1根据一定概率到达状态st所得到的奖励

策略

π(a|s)=P[At=a|St=s]

策略是指在各个特定的状态下执行不同动作的概率分布
给定一个MDPM=S,A,P,R,γ和一个策略π,那么S,Pπ是一个MP,S,Pπ,Rπ,γ是一个MRP,其中
Pπs,s=aAπ(a|s)Pas,sRπs=aAπ(a|s)Ras

MDP的价值函数

给定一个MDPM=S,A,P,R,γ和一个策略π,因为S,Pπ,Rπ,γ是一个MRP,所以可以求出这个MRP的价值函数

vπ(s)=Eπ[Gt|St=s]=Eπ[Rt+1+γvπ(St+1)|St=s]

动作价值函数

考虑某个状态下不同动作的价值

qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+|At=a,St=s]=Eπ[Gt|At=a,St=s]=Eπ[Rt+1+γqπ(St+1,At+1)|At=a,St=s]

价值函数和动作价值函数的关系

  vπ(s)=aAπ(a|s)qπ(s,a)qπ(s,a)=Ras+γsSPas,svπ(s)vπ(s)=aAπ(a|s)(Ras+γsSPas,svπ(s))vπ=Rπ+γPπvπvπ=(1γPπ)Rπ

所以在给定的策略下可以求出价值函数和动作价值函数

最优价值函数和最优动作价值函数

定义最优价值函数v:SR

v(s)=maxπvπ(s)

定义最优动作价值函数q:SR

q(s,a)=maxπqπ(s,a)

策略的偏序关系

ππvπ(s)vπ(s),sS

定理

对于任意一个MDP

  • 存在一个最优策略π使πππ
  • 所有的最优策略对应的价值函数就是最优价值函数
    vπ(s)=v(s)
  • 所有的最优策略对应的动作价值函数就是最优动作价值函数
    qπ(s,a)=q(s,a)

根据这个定理,可以得到Bellman最优方程

v(s)=maxaq(s,a)q(s,a)=Ras+γsSPas,sv(s)


策略迭代(Policy Iteration)

Policy Iteration的目的是通过迭代计算value function 价值函数的方式来使policy收敛到最优。
Policy Iteration本质上就是直接使用Bellman方程而得到的:

vk+1(s)=Eπ[Rt+1+γvk(St+1)|St=s]=aAπ(a|s)(Ras+γsSPas,svk(s))

Policy Iteration一般分为两步:
1. 策略评估 Policy Evaluation: 更新vπ
2. 策略改进 Policy Improvement: π=greedy(vπ)
直至收敛到π

考虑一个决定性的策略,a=π(s)π(a|s)=1可以通过贪婪的方法改进策略

π(s)=qπ(s,π(s))=vπ(s)qπ(s,π(s))==argmaxaAqπ(s,a)maxaAqπ(s,a)qπ(s,π(s))=vπ(s)Eπ[Rt+1+γvπ(St+1)|St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))|St=s]Eπ[Rt+1+γRt+2+γ2qπ(St+2,π(St+2))|St=s]Eπ[Rt+1+γRt+2+γ2Rt+3+|St=s]vπ(s)

如果改进结束,那么
vπ(s)=qπ(s,π(s))=maxaAqπ(s,a)

满足Bellman最优方程,因此
vπ(s)=v(s) sS

得多了最优策略π


值迭代(Value Iteration)

根据Bellman最优方程,得到

v(s)=maxaA(Ras+γsSPas,sv(s))

有以下迭代公式
vk+1(s)=maxaA(Ras+γsSPas,svk(s))vk+1=maxaA(Ra+γPavk)v1v2v3vπ(s)=argmaxaA(Ras+γsSPas,sv(s))

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

马尔可夫决策过程(二)

马尔可夫决策过程(二)最近学习了MDP,查看一些资料,本文翻译了维基百科http://en.wikipedia.org/wiki/Markov_decision_process。有许多地方翻译的不好,...

老马 Markov 其人

老马叫Markov。全名 Andrei Andreyevich Markov。 Markov process Semi-Markov process Markov chains Hidden Mark...

马尔可夫过程(Markov Process)

马尔可夫过程出自 MBA智库百科(http://wiki.mbalib.com/)马尔可夫过程(Markov Process)[编辑]什么是马尔可夫过程 1、马尔可夫性(无后效性)  过程或(系统)在...

马尔可夫决策过程(五)

马尔可夫决策过程(五)最近学习了MDP,查看一些资料,本文翻译了维基百科http://en.wikipedia.org/wiki/Markov_decision_process。有许多地方翻译的不好,...

OpenvSwitch 2.5 代码分析与编译安装

OpenvSwitch 2.5 代码分析与编译安装 安装OVS内核模块,OVS内核与LInux内核的对应关系。 手动编译安装OVS,将OVS源码修改,使其接收到控制器发来的FLOW_MOD消息时触发一...

Linux思维导图整理

今天整理了一下收集的Linux思维导图。 PS.图片都是在学习中或者偶然看到的,感谢感谢,因此我会附上图片的来源,如有侵权,请联系我,谢谢。 Linux学习路径: Linux知识脑图.png...

尿酸高但还没发作痛风,用吃药吗?

original url: http://health.sohu.com/20160605/n453011717.shtml 问题:痛风不发作就可以不管尿酸值了吗?尿酸446μmol/L不服药了...

马尔可夫决策过程(一)

马尔可夫决策过程(一)最近学习了MDP,查看一些资料,本文翻译了维基百科http://en.wikipedia.org/wiki/Markov_decision_process。有许多地方翻译的不好,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)