前言
我在学习Playing Atari with Deep Reinforcement Learning这篇论文时,文章中引用到了马尔可夫决策过程的相关概念,为此特意学习了马尔可夫决策过程的相关知识。
马尔可夫过程(MP)的基本概念
状态遵循马尔可夫是指
既未来与过去无关只与现在有关
⟨S,P⟩ 是马尔可夫过程是指S为有限状态集合并且遵循马尔可夫,P是状态转移概率矩阵
马尔可夫奖赏过程(MRP)的基本概念
⟨S,P,R,γ⟩ 是马尔可夫奖赏过程是指S为有限状态集合,P为状态转移矩阵, R:S⟶R 为奖赏函数 Rs=E[Rt+1|St=s] , γ 是折扣率
MRP的价值函数
Rt
定义为从状态
st−1
到达状态
st
所得到的奖励,那么时刻0所能得到的回报可以写为
t时刻在某一状态下的回报可以如下式子表示:
因为从某一状态到达另一个状态是根据一定的概率,所以真实的
Gt
的可能有很多种,所以定义在某一状态下的价值函数
其中 St 表示在t时刻的状态
Bellman方程
这个公式就是Bellman方程的基本形态,得到线性方程组
可以求得每个状态的价值。
马尔可夫决策过程(MDP)的基本概念
马尔可夫决策过程由五个关键元素 {S,A,P,R,γ} 组成
S 代表状态集合
A 代表动作集合
P 是三维概率矩阵Pas,s′=P[St+1=s′|At=a,St=s]
R 是回报函数,R:S×A→R ,有时 R 与A 无关, R:S→RRas=E[Rt+1|At=a,St=s]
γ 表示学习随着时间推移的折扣率
这里有确定的概率矩阵,所以也就给出了状态转移的模型,所以这里的MDP是基于模型的(Model-based),很多时候概率是不确定的,这就是不基于模型的(Model-free)
马尔可夫决策过程如下
状态 s0 在动作 a0 作用下根据概率分布 Ps0a0 到 s1 ,然后执行动作 a1⋯ ,得到的回报如下
为了方便解释,把 rt 定义为从状态 st−1 执行行为 at−1 根据一定概率到达状态 st 所得到的奖励
策略
策略是指在各个特定的状态下执行不同动作的概率分布
给定一个MDP M=⟨S,A,P,R,γ⟩ 和一个策略 π ,那么 ⟨S,Pπ⟩ 是一个MP, ⟨S,Pπ,Rπ,γ⟩ 是一个MRP,其中
MDP的价值函数
给定一个MDP
M=⟨S,A,P,R,γ⟩
和一个策略
π
,因为
⟨S,Pπ,Rπ,γ⟩
是一个MRP,所以可以求出这个MRP的价值函数
动作价值函数
考虑某个状态下不同动作的价值
价值函数和动作价值函数的关系
所以在给定的策略下可以求出价值函数和动作价值函数
最优价值函数和最优动作价值函数
定义最优价值函数
v∗:S⟶R
定义最优动作价值函数
q∗:S⟶R
策略的偏序关系
定理
对于任意一个MDP
- 存在一个最优策略 π∗使得对于∀π,π∗≥π
- 所有的最优策略对应的价值函数就是最优价值函数
vπ∗(s)=v∗(s)
- 所有的最优策略对应的动作价值函数就是最优动作价值函数
qπ∗(s,a)=q∗(s,a)
根据这个定理,可以得到Bellman最优方程
策略迭代(Policy Iteration)
Policy Iteration的目的是通过迭代计算value function 价值函数的方式来使policy收敛到最优。
Policy Iteration本质上就是直接使用Bellman方程而得到的:
Policy Iteration一般分为两步:
1. 策略评估 Policy Evaluation: 更新 vπ
2. 策略改进 Policy Improvement: π′=greedy(vπ)
直至收敛到 π∗
考虑一个决定性的策略,
a=π(s)既π(a|s)=1
可以通过贪婪的方法改进策略
如果改进结束,那么
满足Bellman最优方程,因此
得多了最优策略 π∗
值迭代(Value Iteration)
根据Bellman最优方程,得到
有以下迭代公式