强化学习(三)有限马尔可夫决策过程

在这里插入图片描述

1、智能体与环境

马尔科夫决策过程是通过与环境互动进行学习的直接框架,决策者称为智能体,智能体之外的一切称为环境,它们不断交互,智能体选择动作,环境反馈给智能体新的状态和奖励。
在这里插入图片描述
具体地说,智能体与环境交互时,随着时间步的推移,产生形以下的序列:
S 0 , A 0 , R 1 , S 1 , A 1 , R 2 , S 2 , A 2 , R 3 , ⋯ S_0,A_0,R_1,S_1,A_1,R_2,S_2,A_2,R_3,\cdots S0,A0,R1,S1,A1,R2,S2,A2,R3,

其中, S , A S,A S,A R R R 分别对应状态、动作和奖励。

在有限马尔可夫决策过程中, S , A S,A S,A R R R 的集合都具有有限数量的元素,在这种情况下,随机变量 R t R_t Rt S t S_t St 可以被定义为离散概率分布,且仅依赖前一状态和动作,即
p ( s ′ , r ∣ s , a ) ≐ P r { S t = s ′ , R t = r ∣ S t − 1 = s , A t − 1 = a } s ′ , s ∈ S , r ∈ R , a ∈ A ( s ) p(s^\prime,r|s,a)\doteq Pr\{S_t=s^\prime,R_t=r |S_{t-1}=s,A_{t-1}=a\}\quad\quad\quad s^\prime,s\in\cal{S},r\in\cal{R},a\in\cal{A}(s) p(s,rs,a)Pr{St=s,Rt=rSt1=s,At1=a}s,sS,rR,aA(s)

p p p 的概率完全表征了系统的动态过程, S t S_t St R t R_t Rt 的每个可能值的概率只取决于之前的状态 S t − 1 S_{t-1} St1和动作 A t − 1 A_{t-1} At1 而与更早的状态和动作无关。它是一个具有四个参数的确定性函数,满足
∑ s ′ ∈ S ∑ r ∈ R p ( ( s ′ , r ∣ s , a ) = 1 \sum_{s^\prime\in\cal{S}}\sum_{r\in\cal{R}}p((s^\prime,r|s,a)=1 sSrRp((s,rs,a)=1

四参数动态函数 p p p 可以计算出任何关于环境的信息,例如状态转移概率
p ( s ′ ∣ s , a ) ≐ P r { S t = s ′ ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R p ( s ′ , r ∣ s , a ) p(s^\prime|s,a)\doteq Pr\{S_t=s^\prime|S_{t-1}=s,A_{t-1}=a\}=\sum_{r\in\cal{R}}p(s^\prime,r|s,a) p(ss,a)Pr{St=sSt1=s,At1=a}=rRp(s,rs,a)

2、目标和奖励

在强化学习中,智能体的目的或目标被抽象成一个特殊的信号,称为奖励。智能体的目标是最大化其获得的奖励总量,使用奖励信号来形式化目标是强化学习最显著的特征之一。

乍一看通过奖励信号来实现目标好像不太合理,但是实践过程中它很灵活。例如,为了让机器人学会走路,可以在每个时间步设置与机器人向前运动成正比的奖励;让机器人学会如何逃离迷宫,可以设置每经过一个时间步给 -1 的奖励。从这些例子中可以看出,智能体总是最大化它的奖励总量,因此我们设置的奖励必须真正表明我们希望完成的任务。

3、收益和回合

到目前为止,我们知道,智能体的目标是最大化其累计获得的奖励,如果在时间步长 t t t 之后获得的奖励序列为 R t + 1 , R t + 2 , R t + 3 , ⋯ R_{t+1},R_{t+2},R_{t+3},\cdots Rt+1,Rt+2,Rt+3,,我们希望最大化的是收益,记作 G t G_t Gt,收益即是奖励的总和:
G t ≐ R t + 1 + R t + 2 + R t + 3 + ⋯ + R T G_t\doteq R_{t+1}+R_{t+2}+R_{t+3}+\cdots+R_{T} GtRt+1+Rt+2+Rt+3++RT

其中 T T T 是最终时间步。当智能体-环境的交互可以分解为子序列时,称之为回合。例如玩游戏,走出迷宫,每一个回合都以终端状态结束,然后重置到起始状态,我们称之为回合任务

但在很多时候,智能体和环境的交互不能自然地分解为回合,而是无限制地持续进行,我们称之为持续任务,那么收益就不能以上述公式计算了,因为 T = ∞ T=\infty T=,收益本身就很容易是无穷大的。我们需要另外一个概念:折扣,即
G t ≐ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ = ∑ k = 0 ∞ γ k R t + k + 1 G_t\doteq R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots=\sum_{k=0}^\infty\gamma^kR_{t+k+1} GtRt+1+γRt+2+γ2Rt+3+=k=0γkRt+k+1

其中 γ \gamma γ 是一个参数, 0 ≤ γ ≤ 1 0\leq\gamma\leq1 0γ1,称之为折扣率

γ = 0 \gamma = 0 γ=0 时,可以认为智能体是“短视”的,因为它只关心最大化眼前的奖励。而当 γ → 1 \gamma\rightarrow1 γ1 时,可以认为智能体是“远见”的,因为智能体更强烈地考虑未来的奖励。
G t ≐ R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 R t + 4 + ⋯ = R t + 1 + γ ( R t + 2 + γ R t + 3 + γ 2 R t + 4 + ⋯   ) = R t + 1 + γ G t + 1 \begin{aligned} G_t&\doteq R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\gamma^3R_{t+4}+\cdots\\ &=R_{t+1}+\gamma( R_{t+2}+\gamma R_{t+3}+\gamma^2 R_{t+4}+\cdots)\\ &=R_{t+1}+\gamma G_{t+1} \end{aligned} GtRt+1+γRt+2+γ2Rt+3+γ3Rt+4+=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+)=Rt+1+γGt+1

这种方法可以使得计算收益变得容易。虽然收益是无穷级数,但当 γ < 0 \gamma<0 γ<0,它是收敛的。

4、回合任务和持续任务的统一符号

前一节中,我们介绍了两种强化学习任务:回合任务和持续任务。为了进行统一,有必要建立一种可以同时讨论这两种任务的符号。

在回合任务中,我们考虑的不是一个长时间步骤序列,而是一系列的回合,每个回合都由有限个时间步骤序列组成,因此在编号时不仅要考虑时间步 t t t,还要考虑回合数 i i i。但是,当我们考虑回合任务时,我们没必要区分不同的回合,也就是放弃对回合进行编号。回合任务中,收益为有限个数之和,在持续任务中,收益为无限个数之和,这两者可以通过将回合终止视为一种特殊状态统一起来,这种状态只会向自身过渡,并且只产生零奖励。

在这里插入图片描述

5、策略和价值函数

几乎所有的强化学习算法都涉及估计价值函数—状态价值函数(或状态-动作价值函数),用于评价智能体在给定状态下的表现(或在给定状态下执行给定动作的表现)的好坏,这里“好坏”是根据预期的未来收益来定义的。当然,智能体在未来获得的收益的期望取决于它将采取什么动作,因此价值函数是根据特定的动作方式(策略)来定义的。

策略是从状态到可能动作的概率的映射,如果智能体在时间步 t t t 遵循策略 π \pi π,则 π ( a ∣ s ) \pi(a|s) π(as) S t = s S_t=s St=s A t = a A_t=a At=a 的概率。

策略 π \pi π 下状态 s s s 的价值函数是从状态 s s s 开始之后的期望收益,记为 v π ( s ) v_\pi(s) vπ(s),有
v π ( s ) ≐ E [ G t ∣ S t = s ] = E [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] v_\pi(s)\doteq \Bbb{E}[G_t|S_t=s]=\Bbb{E}\Big[\sum_{k=0}^\infty\gamma^kR_{t+k+1}\Big| S_t=s\Big] vπ(s)E[GtSt=s]=E[k=0γkRt+k+1 St=s]

其中, E [ ⋅ ] \Bbb{E}[\cdot] E[] 表示智能体在遵循策略 π \pi π 的情况下随机变量的期望值,我们称 v π v_\pi vπ 为策略 π \pi π状态价值函数

同样,策略 π \pi π 下,在状态 s s s 下采取动作 a a a 的价值函数是从状态 s s s、动作 a a a 开始之后的期望收益,记为 q π ( s , a ) q_\pi(s,a) qπ(s,a),有
q π ( s , a ) ≐ E [ G t ∣ S t = s , A t = a ] = E [ ∑ k = 1 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] q_\pi(s,a)\doteq \Bbb{E}[Gt|S_t=s,A_t=a]=\Bbb{E}\Big[\sum_{k=1}^\infty\gamma^kR_{t+k+1}\Big| S_t=s,A_t=a\Big] qπ(s,a)E[GtSt=s,At=a]=E[k=1γkRt+k+1 St=s,At=a]

我们称 q π q_\pi qπ 为策略 π \pi π动作价值函数

价值函数 v π v_\pi vπ q π q_\pi qπ 可以根据过去的经验估计,例如,智能体遵循策略 π \pi π,那么当遇到某状态的次数趋于无穷时,那么该状态收益的平均值将收敛于该状态的价值 v π ( s ) v_\pi(s) vπ(s),状态-动作的价值 q π ( s ) q_\pi(s) qπ(s) 也是如此,我们称这种估计方法为蒙特卡罗方法,因为它们是对大量随机样本的实际收益进行平均。当然,如果有很多的状态,那么这种方法可能不太实际(需要单独保存每个状态的收益平均值)。

在强化学习和动态规划中价值函数的一个基本属性是它们满足递归关系,
v π ( s ) ≐ E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] = ∑ a π ( a ∣ s ) ∑ s ′ ∑ r p ( s ′ , r ∣ s , a ) [ r + γ E [ G t + 1 ∣ S t + 1 = s ′ ] ] = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] \begin{aligned} v_\pi(s)&\doteq \Bbb{E}_\pi[G_t|S_t=s]\\ &=\Bbb{E}_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=\sum_a\pi(a|s)\sum_{s^\prime}\sum_r p(s^\prime,r|s,a)\Big[r+\gamma\Bbb{E}[G_{t+1}|S_{t+1}=s^\prime]\Big]\\ &=\sum_a\pi(a|s)\sum_{s^\prime,r}p(s^\prime,r|s,a)\Big[r+\gamma v_\pi(s^\prime)\Big] \end{aligned} vπ(s)Eπ[GtSt=s]=Eπ[Rt+1+γGt+1St=s]=aπ(as)srp(s,rs,a)[r+γE[Gt+1St+1=s]]=aπ(as)s,rp(s,rs,a)[r+γvπ(s)]

上式为 v π v_\pi vπ贝尔曼方程,它表达了一个状态的价值函数与其下一个状态的价值函数之间的关系,如下图所示,从顶部的状态 s s s 开始,智能体可以采取三种动作的任意一个,环境反馈下一状态 s ′ s^\prime s(图中有两种状态,环境反馈其中一种)以及奖励 r r r,需要注意的是 s ′ s^\prime s r r r 取决于状态转移概率 p p p。贝尔曼方程根据概率对每种可能进行加权,它指出初始状态的价值必须等于预期的下一状态的(折扣)价值加上沿途预期的奖励。
在这里插入图片描述

6、最优策略和最优价值函数

解决强化学习任务大致就是,找到一个在长期内获得大量奖励的策略,对于马尔可夫决策过程,如果策略 π \pi π 在所有状态下的期望收益都大于或等于策略 π ′ \pi^\prime π,即 v π ( s ) ≥ v π ′ ( s ) , ∀ s ∈ S v_\pi(s)\geq v_{\pi^\prime}(s),\quad \forall s\in\cal{S} vπ(s)vπ(s),sS,那么我们定义策略 π \pi π 优于策略 π ′ \pi^\prime π,即 π ≥ π ′ \pi\geq\pi^\prime ππ。那么至少有一个策略优于或等于所有其他策略,这就是最优策略,记为 π ∗ \pi_\ast π,对应的状态价值函数称为最优状态价值函数,记为 v ∗ v_\ast v;对应的状态动作价值函数称为最优状态动作价值函数
v ∗ ( s ) ≐ max ⁡ π v π ( s ) , ∀ s ∈ S q ∗ ( s , a ) ≐ max ⁡ π q π ( s , a ) , ∀ s ∈ S , a ∈ A ( s ) \begin{aligned} v_\ast(s)&\doteq \max_\pi v_\pi(s),\quad \forall s\in\cal {S}\\ q_\ast(s,a)&\doteq \max_\pi q_\pi(s,a),\quad \forall s\in\cal S,a\in \cal{A}(s) \end{aligned} v(s)q(s,a)πmaxvπ(s),sSπmaxqπ(s,a),sS,aA(s)

二者之间的关系如下:
q ∗ ( s , a ) = E [ R t + 1 + γ v ∗ ( S t + 1 ) ∣ S t = s , A t = a ] q_\ast(s,a) = \Bbb{E}[R_{t+1}+\gamma v_\ast(S_{t+1})|S_t=s,A_t=a] q(s,a)=E[Rt+1+γv(St+1)St=s,At=a]

v ∗ v_\ast v 的贝尔曼最优方程表示最优策略下某一状态的值必须等于该状态下最佳行动的期望收益:
v ∗ ( s ) = max ⁡ a ∈ A ( s ) q π ∗ ( s , a ) = max ⁡ a E π ∗ [ G t ∣ S t = s , A t = a ] = max ⁡ a E π ∗ [ R t + 1 + γ G t + 1 ∣ S t = s , A t = a ] = max ⁡ a E [ R t + 1 + γ v ∗ ( S t + 1 ) ∣ S t = s , A t = a ] = max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] \begin{aligned} v_\ast(s)&=\max_{a\in\cal{A}(s)}q_{\pi_\ast}(s,a)\\ &=\max_a \Bbb{E}_{\pi_\ast}[G_t|S_t=s,A_t=a]\\ &=\max_a\Bbb{E}_{\pi_\ast}[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a]\\ &=\max_a\Bbb{E}[R_{t+1}+\gamma v_\ast(S_{t+1})|S_t=s,A_t=a]\\ &=\max_a\sum_{s^\prime,r}p(s^\prime,r|s,a)\Big[r+\gamma v_\ast(s^\prime)\Big] \end{aligned} v(s)=aA(s)maxqπ(s,a)=amaxEπ[GtSt=s,At=a]=amaxEπ[Rt+1+γGt+1St=s,At=a]=amaxE[Rt+1+γv(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γv(s)]

q ∗ q_\ast q 的贝尔曼最优方程为:
q ∗ ( s , a ) = E [ R t + 1 + γ max ⁡ a ′ q ∗ ( S t + 1 , a ′ ) ∣ S t = s , A t = a ] = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ q ∗ ( s ′ , a ′ ) ] \begin{aligned} q_\ast(s,a)&=\Bbb{E}\Big[R_{t+1}+\gamma\max_{a^\prime}q_\ast(S_{t+1},a^\prime)\Big |S_t=s,A_t=a\Big]\\ &=\sum_{s^\prime,r}p(s^\prime,r|s,a)\Big[r+\gamma\max_{a^\prime}q_\ast(s^\prime,a^\prime)\Big] \end{aligned} q(s,a)=E[Rt+1+γamaxq(St+1,a) St=s,At=a]=s,rp(s,rs,a)[r+γamaxq(s,a)]
在这里插入图片描述
对于马尔可夫决策过程, v ∗ v_\ast v 最优贝尔曼方程有唯一解,而一旦有了 v ∗ v_\ast v,确定最优策略就简单了,每个状态 s s s 都会有一个或多个动作在贝尔曼方程中达到最大值,任何只给这些动作分配非零概率的策略均为最优策略。而一旦有了 q ∗ q_\ast q,选择最优动作更加容易了,对于任何状态 s s s,最大的 q ∗ ( s , a ) q_\ast(s,a) q(s,a) 即时最优动作。

虽然求解贝尔曼最优方程为找到最优策略提供了一条途径,但是它至少依赖三个假设:① 准确知道环境动态(状态转移概率);② 足够的计算资源完成方程组求解;③ 马尔可夫性质。因此我们降低要求至近似解即可。

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值