在介绍马尔可夫决策过程之前,我们先介绍下情节性任务和连续性任务以及马尔可夫性。
情节性任务 vs. 连续任务
- 情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节,可以看作为有限步骤的任务。
- 连续任务(Continuing Tasks),所有的任务不能分解,可以看作为无限步骤任务。
马尔可夫性
引用维基百科对马尔可夫性的定义:
马尔可夫性:当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态。
用数学形式表示如下:
A state St is Markov if and only if
P[St+1|St]=P[St+1|S1,...,St]
马尔可夫过程
马尔可夫过程即为具有马尔可夫性的过程,即过程的条件概率仅仅与系统的当前状态相关,而与它的过去历史或未来状态都是独立、不相关的。
马尔可夫奖赏过程
马尔可夫奖赏过程(Markov Reward Process,MRP)是带有奖赏值的马尔可夫过程,其可以用一个四元组表示 <S,P,R,γ>。
- S 为有限的状态集合;
- P 为状态转移矩阵,Pss′=P[St+1=s′|St=s];
- R 是奖赏函数;
- γ 为折扣因子(discount factor),其中 γ∈[0,1]
奖赏函数
在 t 时刻的奖赏值 Gt:
Gt=Rt+1+γRt+2+...=∞∑k=0γkRt+k+1
Why Discount
关于Return的计算为什么需要 γ 折扣系数。David Silver 给出了下面几条的解释:
- 数学表达的方便
- 避免陷入无限循环
- 远期利益具有一定的不确定性
- 在金融学上,立即的回报相对于延迟的回报能够获得更多的利益
- 符合人类更看重眼前利益的特点
价值函数
状态 s 的长期价值函数表示为:
v(s)=E[Gt|St=s]
Bellman Equation for MRPs
v(s)=E[Gt|St=s]=E[Rt+1+γRt+2+...|St=s]=E[Rt+1+γ(Rt+2+γRt+3...)|St=s]=E[Rt+1+γGt+1|St=s]=E[Rt+1+γv(st+1)|St=s](1)(2)(3)(4)(5)
下图为MRP的 backup tree 示意图:

注:backup tree 中的白色圆圈代表状态,黑色圆点对应动作。
根据上图可以进一步得到:
v(s)=Rs+γ∑s′∈SPss′v(s′)
马尔可夫决策过程
马尔可夫决策过程(Markov Decision Process,MDP)是带有决策的MRP,其可以由一个五元组构成 <S,A,P,R,γ>。
- S 为有限的状态集合;
- A 为有限的动作集合;
- P 为状态转移矩阵,Pass′=P[St+1=s′|St=s,At=a];
- R 是奖赏函数;
- γ 为折扣因子(discount factor),其中 γ∈[0,1]
我们讨论的MDP一般指有限(离散)马尔可夫决策过程。
策略
策略(Policy)是给定状态下的动作概率分布,即:
π(a|s)=P[At=a|St=a]
状态价值函数 & 最优状态价值函数
给定策略 π 下状态 s 的状态价值函数(State-Value Function)vπ(s):
vπ(s)=Eπ[Gt|St=s]
状态 s 的最优状态价值函数(The Optimal State-Value Function)v∗(s):
v∗(s)=maxπvπ(s)
动作价值函数 & 最优动作价值函数
给定策略 π,状态 s,采取动作 a 的动作价值函数(Action-Value Function)qπ(s,a):
qπ(s,a)=Eπ[Gt|St=s,At=a]
状态 s 下采取动作 a 的最优动作价值函数(The Optimal Action-Value Function)q∗(s,a):
q∗(s,a)=maxπqπ(s,a)
最优策略
如果策略 π 优于策略 π′:
π≥π′ if vπ(s)≥vπ′(s),∀s
最优策略 v∗ 满足:
- v∗≥π,∀π
- vπ∗(s)=v∗(s)
- qπ∗(s,a)=q∗(s,a)
如何找到最优策略?
可以通过最大化 q∗(s,a) 来找到最优策略:
v∗(a|s)={1 if a=argmaxa∈Aq∗(s,a)0 otherwise
对于MDP而言总存在一个确定的最优策略,而且一旦我们获得了q∗(s,a),我们就能立即找到最优策略。
Bellman Expectation Equation for MDPs
我们先看下状态价值函数 vπ。
状态 s 对应的 backup tree 如下图所示:

根据上图可得:
vπ(s)=∑a∈Aπ(a|s)qπ(s,a)(1)
再来看动作价值函数 qπ(s,a)。
状态 s,动作 a 对应的 backup tree 如下图所示:

因此可得:
qπ(s,a)=Ras+γ∑s′∈SPass′vπ(s′)(2)
进一步细分 backup tree 再来看 vπ 与 qπ(s,a) 对应的表示形式。
细分状态 s 对应的 backup tree 如下图所示:

将式子(2)代入式子(1)可以进一步得到 vπ(s) 的贝尔曼期望方程:
vπ(s)=∑a∈Aπ(a|s)(Ras+γ∑s′∈SPass′vπ(s′))(3)
细分状态 s,动作 a 对应的 backup tree 如下图所示:

将式子(1)代入式子(2)可以得到 qπ(s,a) 的贝尔曼期望方程:
qπ(s,a)=Ras+γ∑s′∈SPass′(∑a′∈Aπ(a′|s′)qπ(s′,a′))(4)
Bellman Optimality Equation for MDPs
同样我们先看 v∗(s):

对应可以写出公式:
v∗(s)=maxaq∗(s,a)(5)
再来看q∗(s,a):

对应公式为:
q∗(s,a)=Ras+γ∑s′∈SPass′v∗(s′)(6)
同样的套路获取 v∗(s) 对应的 backup tree 以及贝尔曼最优方程:

贝尔曼最优方程:
v∗(s)=maxa(Ras+γ∑s′∈SPass′v∗(s′))(7)
q∗(s,a) 对应的 backup tree 以及贝尔曼最优方程:

对应的贝尔曼最优方程:
Ras+γ∑s′∈SPass′maxaq∗(s,a)(8)
贝尔曼最优方程特点
- 非线性(non-linear)
- 通常情况下没有解析解(no closed form solution)
贝尔曼最优方程解法
- Value Iteration
- Policy Iteration
- Sarsa
- Q-Learning
MDPs的相关扩展问题
- 无限MDPs/连续MDPs
- 部分可观测的MDPs
- Reward无折扣因子形式的MDPs/平均Reward形式的MDPs
Reference
[1] 维基百科-马尔可夫性
[2] Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, 2018
[3] David Silver's Homepage
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!