马尔可夫决策过程

马尔可夫决策过程

一、马尔可夫性质

随机过程

随机过程(Stochastic Process) 是一个或多个事件、随机系统或者随机现象随时间发生演变的过程

P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}] P[St+1S1,,St]

  • 概率论研究静态随机现象的统计规律
  • 随机过程研究动态随机现象的统计规律

在这里插入图片描述

马尔科夫性质

状态 S t S_{t} St 是马尔科夫的,当且仅当
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P} [S_{t+1}|S_{t}]=\mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}] P[St+1St]=P[St+1S1,,St]

性质

  • 状态从历史(History)中捕获了所有相关信息

S t + 1 = f ( H t ) ⟺ S t + 1 = f ( S t ) S_{t+1}=f(H_{t}) \Longleftrightarrow S_{t+1}=f(S_{t}) St+1=f(Ht)St+1=f(St)

  • 当状态已知的时候,可以抛开历史不管
  • 也就是说,当前状态是未来的充分统计量

在统计学中,充分统计量(Sufficient Statistic)是一种统计量,包含了样本中包含的所有关于参数的信息。换句话说,给定充分统计量的取值,样本中的其他信息对于估计参数是没有用的。

二、马尔可夫决策过程

马尔科夫决策过程(Markov Decision Process,MDP)

提供了一套为在结果部分随机、部分在决策者的控制下的决策过程建模的数学框架

P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P}[S_{t+1}|S_{t}]=\mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}] P[St+1St]=P[St+1S1,,St]

P [ S t + 1 ∣ S t , A t ] \mathbb{P}[S_{t+1}|S_{t},A_{t}] P[St+1St,At]

MDP形式化地描述了一种强化学习的环境

  • 环境完全可观测
  • 即,当前状态可以完全表征过程(马尔科夫性质)

在这里插入图片描述

MDP五元组

MDP可以由一个五元组表示( S , A , { P s a } , γ , R S,A,\{P_{sa}\},\gamma,R S,A,{Psa},γ,R

  • S S S 是状态的集合

    • 比如,迷宫中的位置,Atari游戏中的当前屏幕显示
  • A A A是动作的集合

    • 比如,向N,E,S,W移动,手柄操纵杆方向和按钮
  • P s a P_{sa} Psa是状态转移概率

    P s a : S × A → Ω ( S ) P_{sa}:S \times A \rightarrow \Omega(S) Psa:S×AΩ(S)

    • 对每个状态 s ∈ S s\in S sS和动作 a ∈ A a\in A aA P s a P_{sa} Psa是下一个状态在S中的概率分布
  • γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]是对未来奖励的折扣因子

    • 如果 γ = 1 \gamma = 1 γ=1,那么我们就可以认为未来的奖励和当下的奖励具有一样的重要程度
    • 如果 γ = 0 \gamma = 0 γ=0,那么就只需要关注当前状态的奖励,不需要考虑未来的奖励
  • R : S × A → R R:S \times A \rightarrow \mathbb{R} R:S×AR 是奖励函数

    • 有时奖励只和状态相关

MDP的动态

MDP的动态如下所示:

  1. 从状态 S 0 S_{0} S0 开始
  2. 智能体选择某个动作 a 0 ∈ A a_{0} \in A a0A
  3. 智能体得到奖励 R ( s 0 , a 0 ) R(s_{0},a_{0}) R(s0,a0)
  4. MDP随机转移到下一个状态 s 1 ∼ P s 0 a 0 s_{1}\sim P_{ s_{0} a_{0} } s1Ps0a0

这个过程不断进行

S 0 → a 0 , R ( s 0 , a 0 ) S 1 → a 1 , R ( s 1 , a 1 ) S 2 → a 2 , R ( s 2 , a 2 ) S 3 ⋯ S_{0} \xrightarrow[]{a_{0},R(s_{0},a_{0})} S_{1} \xrightarrow[]{a_{1},R(s_{1},a_{1})} S_{2} \xrightarrow[]{a_{2},R(s_{2},a_{2})} S_{3} \cdots S0a0,R(s0,a0) S1a1,R(s1,a1) S2a2,R(s2,a2) S3

直到终止状态 S T S_{T} ST出现为止,或者无止尽地进行下去

智能体的总回报为

R ( s 0 , a 0 ) + γ R ( s 1 , a 1 ) + γ 2 R ( s 2 , a 2 ) + ⋯ R(s_{0},a_{0}) + \gamma R(s_{1},a_{1}) + \gamma ^{2} R(s_{2},a_{2}) + \cdots R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+

MDP的动态性

在大部分情况下,奖励只和状态 R ( s ) R(s) R(s) 相关

  • 比如,在迷宫游戏中,奖励只和位置相关
  • 在围棋中,奖励只基于最终所围地的大小有关

这时,奖励函数为 R ( s ) : S → R R(s):S\rightarrow \mathbb{R} R(s):SR

MDP的过程为

s 0 → a 0 , R ( s 0 ) s 1 → a 1 , R ( s 1 ) s 2 → a 2 , R ( s 2 ) s 3 ⋯ s_{0} \xrightarrow[]{a_{0},R(s_{0})} s_{1} \xrightarrow[]{a_{1},R(s_{1})} s_{2} \xrightarrow[]{a_{2},R(s_{2})} s_{3} \cdots s0a0,R(s0) s1a1,R(s1) s2a2,R(s2) s3

累积奖励为

R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯ R(s_{0}) + \gamma R(s_{1}) + \gamma^{2}R(s_{2}) + \cdots R(s0)+γR(s1)+γ2R(s2)+

三、和动态环境交互产生的数据分布

在这里插入图片描述

给定同一个动态环境(即MDP),不同的策略采样出来的(状态-行动)对的分布是不同的

占用度量和策略

占用度量(Occupancy Measure)

ρ π ( s , a ) = E a ∼ π ( s ) , s ′ ∼ p ( s , a ) [ ∑ t = 0 T γ t p ( s t = s , a t = a ) ] {\rho^{\pi}(s,a)}={\mathbb{E}_{a \sim \pi(s),s' \sim p(s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a)}}\right]}} ρπ(s,a)=Eaπ(s),sp(s,a)[t=0Tγtp(st=s,at=a)]

定理1:和同一个动态环境交互的两个策略 π 1 \pi_{1} π1 π 2 \pi_{2} π2 得到的占用度量

ρ π 1 = ρ π 2 i f f π 1 = π 2 \rho^{\pi_{1}}=\rho^{\pi_{2}}\quad iff \quad \pi_{1}=\pi_{2} ρπ1=ρπ2iffπ1=π2

定理2:给定一占用度量 ρ \rho ρ ,可生成该占用度量的唯一策略是

π ρ = ρ ( s , a ) ∑ a ′ ρ ( s , a ′ ) \pi_{\rho}=\frac{\rho(s,a)}{\sum_{a'}{\rho(s,a')}} πρ=aρ(s,a)ρ(s,a)

状态占用度量
ρ π ( s ) = E a ∼ π ( ⋅ ∣ s ) , s ′ ∼ p ( ⋅ ∣ s , a ) [ ∑ t = 0 T γ t p ( s t = s ) ] = E a ∼ π ( ⋅ ∣ s ) , s ′ ∼ p ( ⋅ ∣ s , a ) [ ∑ t = 0 T γ t p ( s t = s ) ∑ a ′ p ( a t = a ′ ∣ s t = s ) ] = ∑ a ′ E a ∼ π ( ⋅ ∣ s ) , s ′ ∼ p ( ⋅ ∣ s , a ) [ ∑ t = 0 T γ t p ( s t = s , a t = a ′ ) ] = ∑ a ′ ρ π ( s , a ′ ) \begin{aligned} {\rho^{\pi}(s)}&={\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s)}}\right]}} \\ &={\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s)}\sum_{a'}{p(a_{t}=a'|s_{t}=s)}}\right]}} \\ &={\sum_{a'}{\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a')}}\right]}}} \\ &= {\sum_{a'}{\rho^{\pi}(s,a')}} \end{aligned} ρπ(s)=Eaπ(s),sp(s,a)[t=0Tγtp(st=s)]=Eaπ(s),sp(s,a)[t=0Tγtp(st=s)ap(at=ast=s)]=aEaπ(s),sp(s,a)[t=0Tγtp(st=s,at=a)]=aρπ(s,a)

策略的累积奖励为
V ( π ) = E a ∼ π ( ⋅ ∣ s ) , s ′ ∼ p ( ⋅ ∣ s , a ) [ R ( s 0 , a 0 ) + γ R ( s 1 , a 1 ) + γ 2 R ( s 2 , a 2 ) + ⋯   ] = ∑ s , a E a ∼ π ( ⋅ ∣ s ) , s ′ ∼ p ( ⋅ ∣ s , a ) [ ∑ t = 0 T γ t p ( s t = s , a t = a ) ] R ( s , a ) = ∑ s , a ρ π ( s , a ) R ( s , a ) = E π [ R ( s , a ) ] \begin{aligned} {V(\pi)}&={\mathbb{E}_{a \sim \pi(\cdot|s),s' \sim p(\cdot|s,a)}{\left[R(s_{0},a_{0})+\gamma R(s_{1},a_{1})+\gamma^{2} R(s_{2},a_{2})+\cdots\right]}} \\ &={\sum_{s,a}{\mathbb{E}_{a \sim \pi(\cdot|s),s' \sim p(\cdot|s,a)}}\left[\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a)}\right]R(s,a)} \\ &= {\sum_{s,a}{\rho^{\pi}(s,a)R(s,a)}} \\ &={\mathbb{E}_{\pi}{[R(s,a)]}} \end{aligned} V(π)=Eaπ(s),sp(s,a)[R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+]=s,aEaπ(s),sp(s,a)[t=0Tγtp(st=s,at=a)]R(s,a)=s,aρπ(s,a)R(s,a)=Eπ[R(s,a)]

四、常见问题

当某些现实场景不适用于马尔可夫性质时,基于MDP假设的强化学习有什么好的解决办法吗?
  • 如果一些场景的状态或者观测不具备马尔可夫性质,那就在其基础上再抽象一个latent variable使之具备马尔可夫性质。其实MDP里面的状态就是在观测基础上抽象出来的具有马尔可夫性质的latent variable
实际上很多现实场景都是没有MDP性质的,但是强化学习还是通过各种方法尽量抽象成MDP,是因为大多数算法都是基于MDP推导的吗?目前有没有不基于MDP的方法呢?
  • 强化学习是一种兼顾控制论的机器学习理论的一种方法,其建立是基于控制论状态转移进行建模的,所以提出了相关MDP的定义和性质。当然在现实场景中很多都不符合严格MDP的定义,但是可能符合MDP的变体,比如POMDP(Partially Observable Markov Decision Process),就可以有效的将只有Environment中的State具备的MDP的情况扩展为Agent中的Observation也有类似MDP的性质。
  • 大多数RL的相关的算法是基于MDP进行推导的,不基于MDP的推导的证明往往是与过程性无关的,比如一些Value Function的Lipschitz连续的保证和证明,但是涉及到多步的证明一般需要使用MDP的性质。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值