Skip to content

马尔可夫决策过程

📅 发表于 2025/08/25
🔄 更新于 2025/10/23
👁️ — 次访问
📝 2098 字
⏳ 7 分钟
rl
#马尔可夫性质
#马尔可夫过程
#马尔可夫奖励过程
#奖励
#回报
#价值函数
#折扣因子
#V函数
#Q函数
#贝尔曼方程
#贝尔曼期望方程
#贝尔曼最优方程
#动态规划
#自举
#预测
#策略评估
#控制
#策略搜索

马尔可夫过程 ​

马尔可夫性质 ​

马尔可夫性质

定义

  • 给定历史状态s0,s1,⋯,st的情况下,未来st+1只与当前状态st有关,而与历史无关
  • 即未来的转移和过去是独立的
p(st+1∣st)=p(st+1∣s0,s1,⋯,st⏟ht)

优点

  • 允许我们在不考虑完整系统历史的情况下,预测和控制 Agent行为

实际情况

  • 很多例子,如棋牌游戏,是不符合马尔可夫性质的,不仅依赖当前,还依赖历史状态。

马尔可夫链/马尔可夫过程 ​

马尔可夫链
  • 离散时间的马尔可夫过程,是最简单的马尔可夫过程
s0,s1,⋯,st

状态转移矩阵 ​

状态转移矩阵
  • 状态转移概率:p(st+1=s′∣st=s),状态从s转移到s′的概率pss′。

  • 状态转移矩阵:有限状态的马尔可夫过程

Pss′=[p11p12⋯p1np21p22⋯p2n⋮⋮⋮pn1pn2⋯pnn]

马尔可夫奖励过程 ​

马尔可夫奖励过程 ​

马尔可夫奖励过程

定义

  • 在马尔可夫过程的基础上,仅增加奖励函数,R是一个期望
s1,r1,s2,r2,⋯,st,rt

奖励、回报、价值函数 ​

奖励、回报、价值函数

即时奖励

  • 奖励rt:环境给出的标量反馈信号,Agent 到达某状态 获得的即时奖励。
  • 反应智能体在某状态采取某个动作 表现如何

回报

  • 范围horizon:一个回合的长度
  • 回报Gt:未来奖励之和,面向未来/无限累计,可通过贝尔曼方程 迭代计算。
Gt=rt+1+rt+2+⋯+rT
  • 折扣回报:对未来奖励打折扣,更希望得到现在的奖励
Gt=rt+1+γrt+2+γ2rt+3+⋯=∑k=0∞γkrt+k+1=rt+1+γGt+1
  • 折扣因子γ:对未来奖励的重要程度,平衡当前奖励和未来奖励。
    • γ=0 ,单步奖励,只关注当前;γ接近1,对所有未来奖励都同等重要
    • 越往后γk越小,越后面的奖励对当前价值的影响,会越来越小

价值

  • 价值函数:即时奖励+ 未来状态的折扣价值。
  • 状态价值函数/V函数:进入某状态后 可能获得的平均回报。回报的期望
Vt(s)=E[Gt∣st=s]
  • 状态动作价值函数/Q函数:在某状态 采取某动作 可能获得的平均回报。回报的期望。
Qt(s,a)=E[Gt∣st=s,at=a]
  • 更多VQ见下文
为什么能用未来总奖励评价当前动作的好坏?
  • 现实世界奖励 往往是延迟的,强化学习需要学习远期奖励
  • 后续有可能收到的奖励加起来,才算作当前动作的Q值,但不能太远,需要使用折扣因子
使用折扣因子的原因
  • 某些马尔科夫过程是带环的,避免无穷奖励
  • 未来评估 不一定准确,存在不确定性
  • 可能更希望立刻就能得到奖励,而不是后面才得到奖励

V函数的贝尔曼方程 ​

V函数贝尔曼方程

V函数的贝尔曼方程

  • 定义当前状态和未来状态之间的迭代关系,即时奖励+未来奖励的折扣总和。
V(s)=R(s)⏟当前s即时奖励+γ∑s′∈Sp(s′∣s)⋅V(s′)⏟未来奖励的折扣总和
  • 矩阵形式:状态特别多时,求解特别困难。
V=R+γPV

V函数贝尔曼方程的证明过程

  • 推导过程:见下文

  • 关键内容:证明如下公式 + 数学全期望公式 + Gt定义

马尔可夫奖励过程价值的迭代算法 ​

状态太多时,不太能直接使用矩阵求逆求解价值函数,一般使用迭代算法来进行求解。包括蒙特卡洛方法,动态规划方法,时序差分方法等。

蒙特卡洛方法

核心思想

  • 从某状态开始,按照状态转移矩阵,随波逐流产生多条轨迹,每条轨迹算出回报g
  • 对多条轨迹的回报g 做平均,即得到状态价值
V(s)=1N∑i=1NG(τi)=1N∑i=1N∑t=0T−1γtrt+1
动态规划方法

核心思想

  • 通过动态规划+自举的方法,一直迭代贝尔曼方程,直到价值函数收敛,得到状态价值。
  • 动态规划:用未来的价值估计 来更新 现在的价值估计
  • 自举(bootstrap)/强化:根据其他估算值来更新估算值
    • 用下一个状态价值 来更新 当前状态价值。

算法过程

  • 直到更新差值 小于阈值时,就可以停止更新,‖V−V′‖<ϵ
  • 大于阈值时,对所有状态 s∈S,执行贝尔曼方程进行迭代更新
V′(s)=R(s)+γ∑s′∈Sp(s′∣s)⋅V(s′)

马尔可夫决策过程 ​

马尔可夫决策过程 ​

马尔可夫决策过程

关键定义

  • 未来状态:同时依赖于当前状态和智能体 在当前状态采取的动作
p(st+1∣st,at)=p(st+1∣ht,at)
  • 奖励函数:由状态和当前动作决定

    R(st=s,at=a)=E[rt∣st=s,at=a]
  • 轨迹

    s1,a1,r1,s2,a2,r2,⋯,st,at,rt

核心思想

  • 马尔可夫决策过程:寻找一个最佳策略,使价值函数最大

策略

  • 定义了在某状态 该采取什么动作,可以输出动作概率、也可以输出确定的动作值。
π(a∣s)=p(at=a∣st=s)
  • 可以是随机性策略 或 确定性策略
  • 如果已知马尔可夫决策过程和策略π,就可将其转换成马尔可夫奖励过程

马尔可夫决策过程4元组:

状态转移和序列决策:

马尔可夫决策、奖励过程对比 ​

马尔可夫决策过程
  • 马尔可夫过程/马尔可夫奖励过程:状态转移直接由状态决定的
  • 马尔可夫决策过程:状态转移 由状态和当前动作决定的
    • 在当前状态和未来状态间多了一层决策性

VQ函数贝尔曼方程及其转换关系 ​

贝尔曼方程奇妙之处
  • 把无限累加公式 --> 有限递归公式。
  • 用迭代的方式 --> 去求解 这个状态方程

价值函数基础定义 ​

动作价值函数

状态价值函数/V函数

  • 在状态s,回报的期望。期望和策略相关
Vπ(s)=E[Gt∣st=s]

动作价值函数/Q函数

  • 在状态s 采取动作a,可能得到回报的期望。
Qt(s,a)=E[Gt∣st=s,at=a]

贝尔曼期望方程 ​

贝尔曼期望方程

贝尔曼期望方程

  • 贝尔曼期望方程:当前状态和未来状态的关联关系
  • V/Q函数:当前即时奖励 + 后续状态的折扣回报。

V函数的贝尔曼期望方程

Vπ(s)=Eπ[rt+1+γ⋅Vπ(st+1)∣st=s]

Q函数的贝尔曼期望方程

Qπ(s,a)=Eπ[rt+1+γ⋅Qπ(st+1,at+1)∣st=s,at=s⏟条件]

备份图

  • 定义了未来下一时刻的价值函数与上一时刻价值函数的关联关系。

V函数 ​

V函数

1. 基础定义

  • 从状态s开始,执行策略π,获得的平均回报,回报的期望。
Vπ(s)=E[Gt∣st=s]

2. V函数的贝尔曼方程

  • 贝尔曼期望方程
Vπ(s)=Eπ[rt+1+γ⋅Vπ(st+1)⏟未来状态∣st=s⏟条件]
  • 通过V计算V,V函数的贝尔曼方程,所有可能a的均值
Vπ(s)=∑a∈Aπ(a∣s)⋅(R(s,a)+γ⋅∑s′∈Sp(s′∣s,a)⋅Vπ(s′))⏟Q函数的贝尔曼方程Vπ(s)=∑a,s′π(a∣s)⋅p(s′∣s,a)⋅(r(s,a,s′)+γ⋅Vπ(s′))
  • 通过Q计算V,策略π和状态价值之间,通过动作价值函数来联系。
Vπ(s)=∑a∈Aπ(a∣s)⋅Qπ(s,a)
  • V函数的贝尔曼方程推导过程 ⭐
Vπ(s)=E[r(s,a,s′)⏟当前状态+γVπ(s′)⏟未来状态]=∑a∈Aπ(a∣s)⏟执行动作a⋅∑s′∈S p(s′∣s,a)⏟状态转移⋅[r(s,a,s′)⏟当前即时奖励+γ⋅Vπ(s′)⏟未来折扣奖励]=∑a,s′π(a∣s)⋅p(s′∣s,a)⋅[r(s,a)+γ⋅Vπ(s′)]=R(s)+γ⋅∑s′∈Sp(s′∣s)⋅V(s′)

3. V函数的贝尔曼最优方程:直接选择回报最大的a

V∗(s)=maxaQ∗(s,a)=maxa(R(s,a)+γ⋅∑s′∈Sp(s′∣s,a)⋅V∗(s′))Vπ∗(s)=maxaQπ∗(s,a)=maxa∑s′∈Sp(s′∣s,a)(r(s,a,s′)+γ⋅Vπ∗(s′))

V函数计算分解

Q函数 ​

Q函数

1. Q函数定义:从状态s开始 选择动作a,依照策略π执行,获得回报的期望。

Qπ(s,a)=E[Gt∣st=s,at=a]

2. Q函数的贝尔曼期望方程

  • Q函数贝尔曼期望方程
Qπ(s,a)=Eπ[rt+1+γ⋅Vπ(st+1)⏟未来状态∣st=s,at=a⏟条件]
  • 通过V计算Q,Q函数贝尔曼方程,所有可能s的均值
Qπ(s,a)=R(s,a)+γ⋅∑s′∈Sp(s′∣s,a)⋅Vπ(s′)Qπ(s,a)=∑s′∈Sp(s′∣s,a)⋅(r(s,a,s′)+γ⋅V(s′))
  • 通过Q计算Q,Q函数自身迭代计算
Qπ(s,a)=R(s,a)+γ⋅∑s′∈Sp(s′∣s,a)⋅∑a′∈Aπ(a′∣s′)⋅Qπ(s′,a′)Qπ(s,a)=∑s′∈Sp(s′∣s,a)⋅(r(s,a,s′)+γ⋅∑a′∈Aπ(a′∣s′)⋅Qπ(s′,a′))

3. Q函数的贝尔曼最优方程,直接选择最大回报的a

Q∗(s,a)=R(s,a)+γ∑s′∈Sp(s′∣s,a)⋅maxa′Q∗(s′,a′)Qπ∗(s,a)=∑s′∈Sp(s′∣s,a)⋅(r(s,a,s′)+γ⋅maxa′Qπ∗(s′,a′))

Q函数计算分解

贝尔曼方程推导过程 ​

V函数贝尔曼方程推导 ​

数学全期望公式

设Ai是样本空间的有限或可数划分

E[X]=∑ip(Ai)⋅E[X∣Ai]
V函数贝尔曼方程推导过程

贝尔曼方程

  • 定义当前状态和未来状态之间的迭代关系,即时奖励+未来奖励的折扣总和。
V(s)=R(s)⏟即时奖励+γ∑s′∈Sp(s′∣s)⋅V(s′)⏟未来奖励的折扣总和

V函数贝尔曼方程证明过程

V(s)=E[Gt∣st=s]=E[rt+1+γrt+2+γ2rt+3+⋯∣st=s]=E[rt+1∣st=s]+γE[rt+2+γrt+3+γ2rt+3+…∣st=s]=R(s)+γE[Gt+1∣st=s]=R(s)+γE[Vt+1∣st=s]=R(s)+γ∑s′∈Sp(s′∣s)⋅V(s′)

这样也可以

V(s)=Eπ[Gt∣st=s]=Eπ[rt+γGt+1∣st=s]=Eπ[rt∣st=s]+γEπ[Gt+1∣st=s]=∑a,s′π(a∣s)⋅p(s′∣s,a)⋅r(s,a,s′)+γEπ[Gt+1∣st=s]
  • 关键内容:证明如下公式 + 数学全期望公式 + Gt定义
E[V(st+1)∣st]=E[E[Gt+1∣st+1]∣st]=E[Gt+1∣st]

V函数贝尔曼最优方程推导 ​

V函数贝尔曼最优方程推导
V∗(s)=maxaQ∗(s,a)=maxaE[Gt∣st=s,at=a]=maxaE[rt+1+γGt+1∣st=s,at=a]=maxaE[rt+1+γV∗(st+1)∣st=s,at=a]=maxaE[rt+1]+maxa[γV∗(st+1)∣st=s,at=a]=maxaR(s,a)+maxaγ∑s′∈Sp(s′∣s,a)⋅V∗(s′)=maxa(R(s,a)+∑s′∈Sp(s′∣s,a)⋅V∗(s′))⏟Q∗(s,a)

Q函数贝尔曼方程推导 ​

Q函数的贝尔曼方程推导过程

Q函数贝尔曼方程

Q(s,a)=R(s,a)+γ∑s′∈Sp(s′∣s,a)⋅V(s′)

推导过程

  • 从期望公式开始推导,同V函数推导过程
Q(s,a)=E[Gt∣st=s,at=a]=E[rt+1+γrt+2+γ2rt+3+⋯∣st=s,at=a]=E[rt+1∣st=s,at=a]+γE[rt+2+γrt+3+⋯∣st=s,at=a]=R(s,a)+γE[Gt+1∣st=s,at=a]=R(s,a)+γE[Vt+1∣st=s,at=a]=R(s,a)+γ∑s′∈Sp(s′∣s,a)⋅V(s′)

预测和控制 ​

预测和控制

预测/策略评估

  • 核心:给定策略,求解价值函数 Vπ,评估策略价值
  • 输入:马尔可夫决策过程<S,A,P,R,γ> 和 策略π
  • 输出:价值函数Vπ

控制/寻找最佳策略

  • 核心:不限制策略,要去寻找 最佳策略和最佳价值
  • 输入:马尔可夫决策过程<S,A,P,R,γ>
  • 输出:最佳价值函数V∗、最佳策略π∗

预测和控制的关系

  • 预测方法,是为了帮助解决控制问题做铺垫。
  • 为了解决控制问题,只需要直接预测Q函数即可,在决策时 选择最大Q值 对应的动作即可。

预测:给定策略,策略为等概率上下左右移动,求解价值函数

控制:不给定策略,直接求解最优价值,输出对应策略。

总访客数:— · 总访问量:—
PLM's Blog @ 2016 - 2026