强化学习基础-马尔可夫决策过程

原网页:链接

Pdf课件:链接

其他参考:强化学习从基础到进阶-常见问题和面试必知必答[2]

马尔可夫决策过程(Markov decision process,MDP)是强化学习的重要概念。强化学习中的环境一般就是一个马尔可夫决策过程。与多臂老虎机问题不同,马尔可夫决策过程包含状态信息以及状态之间的转移机制。

随机过程

随机过程(stochastic process)是概率论的“动力学”部分。概率论的研究对象是静态的随机现象,而随机过程的研究对象是随时间演变的随机现象(例如天气随时间的变化、城市交通随时间的变化),研究动态随机现象的统计规律

马尔可夫性质

马尔可夫性质(Markov property)用于描述状态转移,即下一个状态只与当前状态和决策有关,与之前的状态无关。换句话说,马尔科夫性质表示在给定当前状态的情况下,过去的状态对于未来的状态没有影响。

  • 状态从历史(history)中捕获了所有相关信息
  • 当状态已知的时候,可以抛开历史不管
  • 也就是说,当前状态是未来的充分统计量

马尔可夫过程

马尔可夫过程(Markov process)指具有马尔可夫性质的随机过程,也被称为马尔可夫链(Markov chain)。

马尔可夫链(Markov chain): 概率论和数理统计中具有马尔可夫性质且存在于离散的指数集(index set)和状态空间(state space)内的随机过程(stochastic process)。

马尔可夫奖励过程(Markov reward process,MRP): 本质是马尔可夫链加上一个奖励函数。在马尔可夫奖励过程中,状态转移矩阵和它的状态都与马尔可夫链的一样,只多了一个奖励函数。奖励函数是一个期望,即在某一个状态可以获得多大的奖励。

我们通常用元组<S,P>描述一个马尔可夫过程。P是状态转移矩阵(state transition matrix)。状态转移矩阵类似于条件概率(conditional probability),其表示当智能体到达某状态后,到达其他所有状态的概率。状态转移矩阵定义了所有状态对之间的转移概率。(其他参数参见MDP五元组

马尔可夫决策过程

马尔可夫决策过程(Markov Decision Process,MDP)提供了一套为在结果部分随机、部分在决策者的控制下的决策过程建模的数学框架。

在MDP中,通常存在一个智能体来执行动作。智能体的目标是最大化得到的累计奖励。智能体根据当前状态从动作的集合中选择一个动作的函数,被称为策略。

MDP形式化地描述了一种强化学习的环境:环境完全可观测。即,当前状态可以完全表征过程(马尔可夫性质)。

策略

智能体的策略(Policy)通常用字母 π \pi π表示。 $\pi(s): S \rightarrow A $

确定性策略(deterministic policy)中,它在每个状态时只输出一个确定性的动作。

随机性策略(stochastic policy)中,它在每个状态时输出的是关于动作的概率分布,然后根据该分布进行采样就可以得到一个动作。

状态价值函数

我们用 V π ( s ) V^\pi(s) Vπ(s)表示在 MDP 中基于策略的状态价值函数(state-value function),定义为从状态s出发遵循策略 π \pi π能获得的期望回报。数学表达式见此处 跳转

动作价值函数

不同于 MRP,在 MDP 中,由于动作的存在,我们额外定义一个(状态)动作价值函数(action-value function)。我们用 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)表示在 MDP 遵循策略时,对当前状态s执行动作a得到的期望回报,按照某一策略 π \pi π与环境继续进行交互,得到的累计汇报的期望值。

action-value function

贝尔曼期望方程

在贝尔曼方程中加上“期望”二字是为了与接下来的贝尔曼最优方程进行区分。我们通过简单推导就可以分别得到两个价值函数的贝尔曼期望方程(Bellman Expectation Equation):

Bellman Expectation Equation

(以上2式的推导参见动作价值函数)

MDP五元组

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

  • 𝑆是状态的集合
    比如,迷宫中的位置,Atari游戏中的当前屏幕显示
  • 𝐴是动作的集合
    比如,向N、E、S、W移动,手柄操纵杆方向和按钮
  • P s a P_{sa} Psa是状态转移概率
    对每个状态𝑠 ∈ 𝑆和动作𝑎 ∈ 𝐴,P𝑠𝑎是下一个状态在S中的概率分布
  • 𝛾 ∈ [0,1]是对未来奖励的折扣因子
    引入折扣因子的理由为远期利益具有一定不确定性,有时我们更希望能够尽快获得一些奖励,所以我们需要对远期利益打一些折扣。接近 1 的𝛾更关注长期的累计奖励,接近 0 的𝛾更考虑短期奖励。
  • 𝑅: 𝑆 × 𝐴 ⟼ ℝ 是奖励函数
    有时奖励只和状态相关
为什么在马尔可夫奖励过程中需要有折扣因子?1
  1. 首先,是有些马尔可夫过程是环状的,它并没有终点,所以我们想避免无穷的奖励。

  2. 另外,我们想把不确定性也表示出来,希望尽可能快地得到奖励,而不是在未来的某个时刻得到奖励。

  3. 接上一点,如果这个奖励是有实际价值的,我们可能更希望立刻就得到奖励,而不是后面才可以得到奖励。

  4. 还有,在有些时候,折扣因子也可以设为0。当它被设为0后,我们就只关注它当前的奖励。我们也可以把它设为1,设为1表示未来获得的奖励与当前获得的奖励是一样的。

所以,折扣因子可以作为强化学习智能体的一个超参数进行调整,然后就会得到不同行为的智能体。

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~P_{s_0a_0} s1 Ps0a0

这个过程不断进行,直到终止状态 s T s_T sT出现为止,或者无止尽地进行下去
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} \stackrel{a_{0}, R\left(s_{0}, a_{0}\right)}{\longrightarrow} s_{1} \stackrel{a_{1}, R\left(s_{1}, a_{1}\right)}{\longrightarrow} s_{2} \stackrel{a_{2}, R\left(s_{2}, a_{2}\right)}{\longrightarrow} s_{3} \cdots s0a0,R(s0,a0)s1a1,R(s1,a1)s2a2,R(s2,a2)s3

所有奖励的衰减之和称为回报 G t G_t Gt(Return),智能体的总回报为
R ( s 0 , a 0 ) + γ R ( s 1 , a 1 ) + γ 2 R ( s 2 , a 2 ) + ⋯ R\left(s_{0}, a_{0}\right)+\gamma R\left(s_{1}, a_{1}\right)+\gamma^{2} R\left(s_{2}, a_{2}\right)+\cdots R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+

在大部分情况下,奖励只和状态相关。比如,在迷宫游戏中,奖励只和位置相关;在围棋中,奖励只基于最终所围地盘的大小有关。所以上述过程和奖励函数略有修改。

奖励函数为 R ( s ) : S ↦ R R(s): S \mapsto \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} \stackrel{a_{0}, R\left(s_{0}\right)}{\longrightarrow} s_{1} \stackrel{a_{1}, R\left(s_{1}\right)}{\longrightarrow} s_{2} \stackrel{a_{2}, R\left(s_{2}\right)}{\longrightarrow} s_{3} \cdots s0a0,R(s0)s1a1,R(s1)s2a2,R(s2)s3
累积奖励为
R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯ R\left(s_{0}\right)+\gamma R\left(s_{1}\right)+\gamma^{2} R\left(s_{2}\right)+\cdots R(s0)+γR(s1)+γ2R(s2)+

MDP目标和策略

MDP的目标:选择能够最大化累积奖励期望的动作
E [ R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯   ] \mathbb{E}\left[R\left(s_{0}\right)+\gamma R\left(s_{1}\right)+\gamma^{2} R\left(s_{2}\right)+\cdots\right] E[R(s0)+γR(s1)+γ2R(s2)+]

上述该式子中,由于状态(环境) s 本身是stochastic,Policy也可能是stochastic,reward也是stochastic。为了最后去优化的东西是一个确定的标量,所有前面加上了Expectation,即 E \mathbb{E} E

给定一个特定的策略 π ( s ) : S → A \pi(s): S \rightarrow A π(s):SA。在状态s下采取动作有 a = π ( s ) a=\pi(s) a=π(s)

给策略 π \pi π定义价值函数

价值函数
当前的立即奖励 加上 时间折扣𝛾 乘 接下来状态可能会转移到下个s‘的状态(由状态转移的概率分布已经决定了的) 乘上 价值函数。

上式就是马尔可夫奖励过程中非常有名的贝尔曼方程(Bellman equation)。通过上式,我们就可以去不断地通过迭代的方式去更新我们对于当前这个 V π V^\pi Vπ的认知,最后达到收敛获得真正的这样一个价值函数的值。

马尔可夫奖励过程与马尔可夫决策过程的区别是什么?1

马尔可夫过程和马尔可夫奖励过程都是自发改变的随机过程;而如果有一个外界的“刺激”来共同改变这个随机过程,就有了**马尔可夫决策过程(Markov decision process,MDP)。我们将这个来自外界的刺激称为智能体**(agent)的动作,在马尔可夫奖励过程(MRP)的基础上加入动作,就得到了马尔可夫决策过程(MDP)。

相对于马尔可夫奖励过程,马尔可夫决策过程多了一个决策过程,通常存在一个智能体来执行动作。由于多了一个决策,多了一个动作,因此状态转移也多了一个自变量a,即执行一个动作,导致未来状态的变化,其不仅依赖于当前的状态,也依赖于在当前状态下智能体采取的动作决定的状态变化。对于价值函数,它也多了一个条件,多了一个当前的动作,即当前状态以及采取的动作会决定当前可能得到的奖励的多少。

另外,两者之间是有转换关系的。具体来说,已知一个马尔可夫决策过程以及一个策略 π \pi π 时,我们可以把马尔可夫决策过程转换成马尔可夫奖励过程。

MDR中,不再使用类似 MRP 定义中的状态转移矩阵方式,而是直接表示成了状态转移函数。这样做一是因为此时状态转移与动作a也有关,变成了一个三维数组,而不再是一个矩阵(二维数组);二是因为状态转移函数更具有一般意义,连续状态的 MDP 环境仍然可以用状态转移函数表示。

在马尔可夫决策过程中,状态的转移函数 P ( s ′ ∣ s , a ) P(s'|s,a) P(ss,a) 是基于它的当前状态和当前动作的,因为我们现在已知策略函数,即在每一个状态,我们知道其采取每一个动作的概率,所以我们就可以直接把这个动作进行加和,就可以得到对于马尔可夫奖励过程的一个转移概率。同样地,对于奖励,我们可以把动作去掉,这样就会得到一个类似于马尔可夫奖励过程的奖励。

最优价值函数

强化学习的目标通常是找到一个策略,使得智能体从初始状态出发能获得最多的期望回报。搜索一种策略 π \pi π ,使每个状态的价值最大, V ∗ V^* V 就是到达每一个状态的极大值。在极大值中,我们得到的策略是最佳策略。最佳策略使得每个状态的价值函数都取得最大值。

公式见下一节。

占用度量

学习中,待补充


Ref:

  1. 动手学强化学习
  2. Chatgpt
  3. 强化学习从基础到进阶-常见问题和面试必知必答2

  1. https://zhuanlan.zhihu.com/p/638404534 ↩︎ ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值