Skip to content

马尔可夫决策过程

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

马尔可夫过程

马尔可夫性质

马尔可夫性质

定义

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

优点

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

实际情况

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

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

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

状态转移矩阵

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

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

Pss=[p11p12p1np21p22p2npn1pn2pnn]

马尔可夫奖励过程

马尔可夫奖励过程

马尔可夫奖励过程

定义

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

奖励、回报、价值函数

奖励、回报、价值函数

即时奖励

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

回报

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

V函数的贝尔曼方程

V函数贝尔曼方程

V函数的贝尔曼方程

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

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

  • 推导过程:见下文

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

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

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

蒙特卡洛方法

核心思想

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

核心思想

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

算法过程

  • 直到更新差值小于阈值时,就可以停止更新,VV<ϵ
  • 大于阈值时,对所有状态 sS,执行贝尔曼方程进行迭代更新
V(s)=R(s)+γsSp(ss)V(s)

马尔可夫决策过程

马尔可夫决策过程

马尔可夫决策过程

关键定义

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

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

    s1,a1,r1,s2,a2r2,,st,at,rt

核心思想

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

策略

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

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

状态转移和序列决策:

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

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

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

VQ函数定义

动作价值函数

状态价值函数/V函数

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

动作价值函数/Q函数

  • 在某状态s采取某动作a,可能得到回报的期望。
Qt(s)=E[Gtst=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[Gtst=s]

2. V函数的贝尔曼方程

  • 贝尔曼期望方程
Vπ(s)=Eπ[rt+1+γVπ(st+1)st=s]
  • V函数的贝尔曼方程选择所有可能a的均值通过V来计算V
Vπ(s)=aAπ(as)(R(s,a)+γsSp(ss,a)Vπ(s))Q
  • 通过Q来计算V策略π状态价值之间,通过动作价值函数来联系的
Vπ(s)=aAπ(as)Qπ(s,a)
  • V函数的贝尔曼方程推导过程
Vπ(s)=E[r(s,a,s)+γVπ(s)]=aAπ(as)asS p(ss,a)[r(s,a,s)+γVπ(s)]=a,sπ(as)p(ss,a)[r(s,a)+γVπ(s)]=R(s)+γsSp(ss)V(s)

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

V(s)=maxaQ(s,a)=maxa(R(s,a)+γsSp(ss,a)V(s))

V函数计算分解

Q函数

Q函数

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

Qπ(s,a)=E[Gtst=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)+γsSp(ss,a)Vπ(s)
  • 通过Q函数计算Q函数,Q函数自身迭代计算
Qπ(s,a)=R(s,a)+γsSp(ss,a)aAπ(as)Qπ(s,a)

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

Q(s,a)=R(s,a)+γsSp(ss,a)maxaQ(s,a)

Q函数计算分解

贝尔曼方程推导过程

V函数贝尔曼方程推导

数学全期望公式

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

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

贝尔曼方程

  • 定义当前状态和未来状态之间的迭代关系即时奖励+未来奖励的折扣总和
V(s)=R(s)+γsSp(ss)V(s)

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

V(s)=E[Gtst=s]=E[rt+1+γrt+2+γ2rt+3+st=s]=E[rt+1st=s]+γE[rt+2+γrt+3+γ2rt+3+st=s]=R(s)+γE[Gt+1st=s]=R(s)+γE[Vt+1st=s]=R(s)+γsSp(ss)V(s)
  • 关键内容:证明如下公式 + 数学全期望公式 + Gt定义
E[V(st+1)st]=E[E[Gt+1st+1]st]=E[Gt+1st]

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

V函数贝尔曼最优方程推导
V(s)=maxaQ(s,a)=maxaE[Gtst=s,at=a]=maxaE[rt+1+γGt+1st=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γsSp(ss,a)V(s)=maxa(R(s,a)+sSp(ss,a)V(s))Q(s,a)

Q函数贝尔曼方程推导

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

Q函数贝尔曼方程

Q(s,a)=R(s,a)+γsSp(ss,a)V(s)

推导过程

  • 从期望公式开始推导,同V函数推导过程
Q(s,a)=E[Gtst=s,at=a]=E[rt+1+γrt+2+γ2rt+3+st=s,at=a]=E[rt+1st=s,at=a]+γE[rt+2+γrt+3+st=s,at=a]=R(s,a)+γE[Gt+1st=s,at=a]=R(s,a)+γE[Vt+1st=s,at=a]=R(s,a)+γsSp(ss,a)V(s)

预测和控制

预测和控制

预测/策略评估

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

控制/寻找最佳策略

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

预测和控制的关系

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

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

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

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