第一篇 强化学习基础(上)——马尔科夫决策过程


本分类专栏博客系列是学习《深入浅出强化学习原理入门》的学习总结。
书籍链接:链接:https://pan.baidu.com/s/1p0qQ68pzTb7_GK4Brcm4sw 提取码:opjy



马尔科夫决策过程

1. 强化学习的基本原理

强化学习过程

智能体在完成某项任务时,⾸先通 过动作A与周围环境进⾏交互,在动作A和环境的作⽤下,智能体会产⽣新 的状态,同时环境会给出⼀个⽴即回报。如此循环下去,智能体与环境不 断地交互从⽽产⽣很多数据。强化学习算法利⽤产⽣的数据修改⾃⾝的动 作策略,再与环境交互,产⽣新的数据,并利⽤新的数据进⼀步改善⾃⾝ 的⾏为,经过数次迭代学习后,智能体能最终学到完成相应任务的最优动 作(最优策略)
在这里插入图片描述

强化学习与监督、非监督学习的区别?

监督学习和⾮监督学习中,数据是静态的、 不需要与环境进⾏交互,⽐如图像识别,只要给出⾜够的差异样本,将数据输⼊深度⽹络中进⾏训练即可。然⽽,强化学习的学习过程是动态的、 不断交互的过程,所需要的数据也是通过与环境不断交互所产⽣的。

强化学习更像是⼈的学习过程: ⼈类通过与周围环境交互,学会了⾛路,奔跑,劳动;⼈类与⼤⾃然,与 宇宙的交互创造了现代⽂明。

深度学习如图像识别和语⾳识别解决 的是感知的问题,强化学习解决的是决策的问题。⼈⼯智能的终极⽬的是 通过感知进⾏智能决策

2. ⻢尔科夫性

所谓⻢尔科夫性是指系统的下⼀个状态 s t + 1 s_{t+1} st+1 仅与当前状态 s t s_t st 有关,⽽与以前的状态⽆关。

状态 s t s_t st 是⻢尔科夫的,当且仅当: P [ s t + 1 ∣ s t ] = P [ s t + 1 ∣ s 1 , … , s t ] P[s_{t+1} |s_t ]=P[s_{t+1} |s_1 ,…,s_t ] P[st+1st]=P[st+1s1st]

3. ⻢尔科夫过程

⻢尔科夫过程的定义:⻢尔科夫过程是⼀个⼆元组 ( S , P ) (S,P) SP,且满 ⾜: S S S是有限状态集合, P P P是状态转移概率。状态转移概率矩阵为:
在这里插入图片描述
如图2.2所⽰为⼀个学⽣的7种状态{娱乐,课程1,课程2,课程3,考过,睡觉,论⽂},每种状态之间的转换概率如图所⽰。则该⽣从课程 1 开始⼀天可能的状态序列为:
课1-课2-课3-考过-睡觉
课1-课2-睡觉
以上状态序列称为⻢尔科夫链。当给定状态转移概率时,从某个状态出发存在多条⻢尔科夫链。
在这里插入图片描述

4. ⻢尔科夫决策过程

动作(策略)和回报考虑在内的⻢尔科夫过程称为⻢尔科夫决策过程。

4.1 符号化描述

⻢尔科夫决策过程由元组 ( S , A , P , R , γ ) (S,A,P,R,γ) SAPRγ描述,其中:
S S S 为有限的状态集
A A A 为有限的动作集
P P P 为状态转移概率
R R R 为回报函数
γ γ γ 为折扣因⼦,⽤来计算累积回报。

注意,跟⻢尔科夫过程不同的是,⻢尔科夫决策过程的状态转移概率 是包含动作的,即:
P S S ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] P_{SS'}^a = P[{S_{t + 1}} = s'|{S_t} = s,{A_t} = a] PSSa=P[St+1=sSt=s,At=a]

在这里插入图片描述
在图2.3中, 学⽣有五个状态,状态集为S={s1 ,s2 ,s3 ,s4 ,s5 },动作集为A= {玩,退出,学习,发表,睡觉},在图2.3中⽴即回报⽤R标记。

强化学习的⽬标是给定⼀个⻢尔科夫决策过程,寻找最优策略。所谓 策略是指状态到动作的映射,策略常⽤符号 π π π表⽰,它是指给定状态 s s s时, 动作集上的⼀个分布,即:
π ( a ∣ s ) = p [ A t = a ∣ S t = s ] \pi (a|s) = p[{A_t} = a|{S_t} = s] π(as)=p[At=aSt=s]

策略 π π π在每个状态 s s s指定⼀个动作概 率。如果给出的策略 π π π是确定性的,那么策略 π π π在每个状态 s s s指定⼀个确定的动作。例如其中⼀个学⽣的策略为 π 1 ( 玩 ∣ s 1 ) = 0.8 π_1(玩|s_1)=0.8 π1(s1)=0.8,是指该学⽣在状态 s 1 s_1 s1 时玩的概率为 0.8 0.8 0.8,不玩的概率是 0.2 0.2 0.2,显然这个学⽣更喜欢玩。

强化学习是找到最优的策略,这⾥的最优是指得到的总回报最⼤。

4.2 累积回报

当给定⼀个策略 π π π时,我们就可以计算累积回报了。⾸先定义累积回报
在这里插入图片描述
当给定策略 π π π时,假设从状态 s 1 s_1 s1 出发,学⽣状态序列可能为
在这里插入图片描述

此时,在策略 π π π下,利⽤ G t G_t Gt那个公式可以计算累积回报 G 1 G_1 G1 ,此时 G 1 G_1 G1 有 多个可能值。由于策略 π π π是随机的,因此累积回报也是随机的。为了评价状态 s 1 s_1 s1 的价值,我们需要定义⼀个确定量来描述状态 s 1 s_1 s1 的价值,很⾃然的想法是利⽤累积回报来衡量状态 s 1 s_1 s1 的价值。然⽽,累积回报 G 1 G_1 G1 是个随机变 量,不是⼀个确定值,因此⽆法描述,但其期望是个确定值,可以作为状态值函数的定义。

4.3 价值函数:状态值函数与状态-⾏为值函数

1. 状态值函数的定义

当智能体采⽤策略 π π π时,累积回报服从⼀个分布,累积回报在状态 s s s处的期望值定义为状态值函数:
在这里插入图片描述

注意:状态值函数是与策略 π π π相对应的,这是因为策略π决定了累积回报 G G G的状态分布。图2.4是与图2.3相对应的状态值函数图。图中空⼼圆圈中的数值为该状 态下的值函数。即: υ π ( s 1 ) = − 2.3 , υ π ( s 2 ) = − 1.3 , υ π ( s 3 ) = 2.7 , υ π ( s 4 ) = 7.4 , υ π ( s 5 ) = 0 υ_π (s_1 )=-2.3,υ_π (s_2 )=-1.3,υ_π (s_3 )=2.7,υ_π (s_4 )=7.4,υ_π (s_5 )=0 υπs1=2.3υπs2=1.3υπs3=2.7υπs4=7.4υπs5=0
在这里插入图片描述

2. 状态-⾏为值值函数的定义

相应地,状态-⾏为值函数为
在这里插入图片描述
上面分别给出了状态值函数和状态-⾏为值函数的定 义计算式,但在实际真正计算和编程的时候并不会按照定义式编程。接下 来我们会从不同的⽅⾯对定义式进⾏解读。

3. 状态值函数和状态-行为值函数的区别

在这里插入图片描述

  1. 状态值函数V:从状态 x 0 x_0 x0 开始, 所有的动作 a a a,都是执行某个策略 π π π的结果,最后求每个动作带来累积奖赏;

  2. 状态-动作函数Q:从状态 x 0 x_0 x0 开始,先执行动作 a 0 a_0 a0, 然后再执行某个策略 π π π,再求相应的积累奖赏。

4. 状态值函数的具体推导过程

如下图所示:其中空⼼圆圈表⽰状态,实⼼圆圈表⽰状态-⾏为对。
在这里插入图片描述
图2.5为值函数的计算分解⽰意图,图2.5B计算公式
在这里插入图片描述
上式中, π ( a ∣ s ) \pi(a|s) π(as)表示在状态 s s s时做动作 a a a的概率。 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)表示状态-行为值函数。我们可以理解为求解离散型随机变量的期望:概率乘以值。

图2.5B给出了状态值函数与状态-⾏为值函数的关系。图2.5C计算状态- ⾏为值函数为
在这里插入图片描述
在这里,回顾一下状态行为值函数:从状态 x 0 x_0 x0 开始,先执行动作 a 0 a_0 a0, 然后再执行某个策略 π π π,再求相应的积累奖赏。
我们可以理解为,当前状态的积累奖赏加上转移状态的行为奖赏。

将(2.8)式代⼊(2.7)式可以得到:

在这里插入图片描述

公式(2.9)可以在图2.4中进⾏验证。选择状态 s 4 s_4 s4 处。由图2.4知道 v ( s 4 ) = 7.4 v(s4 )=7.4 vs4=7.4,由公式(2.9)得
在这里插入图片描述
保留⼀位⼩数为7.4。 计算状态值函数的⽬的是为了构建学习算法从数据中得到最优策略。 每个策略对应着⼀个状态值函数,最优策略⾃然对应着最优状态值函数。

4. 状态-行为值函数的具体推导过程

在这里插入图片描述
在2.6C中,在这里插入图片描述
将(2.10)代⼊(2.8)中,得到状态-⾏为值函数:
在这里插入图片描述

4.4 状态值函数与状态-⾏为值函数的⻉尔曼⽅程

我们先来讲一下什么是贝尔曼方程:贝尔曼方程,又叫动态规划方程,是以Richard Bellman命名的,表示动态规划问题中相邻状态关系的方程。某些决策问题可以按照时间或空间分成多个阶段,每个阶段做出决策从而使整个过程取得效果最优的多阶段决策问题,可以用动态规划方法求解。某一阶段最优决策的问题,通过贝尔曼方程转化为下一阶段最优决策的子问题,从而初始状态的最优决策可以由终状态的最优决策(一般易解)问题逐步迭代求解。存在某种形式的贝尔曼方程,是动态规划方法能得到最优解的必要条件。绝大多数可以用最优控制理论解决的问题,都可以通过构造合适的贝尔曼方程来求解。

首先我们从value function的角度进行理解,value function可以分为两部分:

  • 立即回报 R t + 1 R_{t+1} Rt+1
  • 后继状态的折扣价值函数 γ v ( S t + 1 ) \gamma v(S_{t+1}) γv(St+1)

由状态值函数的定义式(2.3)可以得到状态值函数的⻉尔曼⽅程
在这里插入图片描述
解释一下,

  • 从状态 s s s到状态 s + 1 s+1 s+1是不确定的,比如掷骰子游戏,当前点数是1的情况下,下一个状态有可能是1,2,3,4,5,6的任意一种状态可能,所以最外层会有一个期望符号。
  • 如果我们跟着一直推下来的话:有疑问的会在导出最后一行时,将 G t + 1 G_{t+1} Gt+1 变成了 v t + 1 v_{t+1} vt+1 。其理由是收获的期望等于收获的期望的期望。参考叶强童鞋的理解。

通过方程可以看出 v ( s ) v(s) v(s)由两部分组成,一是该状态的即时奖励期望,即时奖励期望等于即时奖励,因为根据即时奖励的定义,它与下一个状态无关;这里解释一下为什么会有期望符合,是因为从状态 s s s到下一个状态 s + 1 s+1 s+1可能有多个状态,比如掷骰子,下一个状态可能有1,2,3,4,5,6,从 s s s到下一个状态都是有一定概率,所以会有期望符合。

另一个是下一时刻状态的价值期望,可以根据下一时刻状态的概率分布得到其期望,比如在上面掷骰子例子中,从状态1到下一个状态1,2,3,4,5,6求期望的做法,我们可以直接用概率公式 p ( 1 → 1 ) , p ( 1 → 2 ) , p ( 1 → 3 ) , p ( 1 → 4 ) , p ( 1 → 5 ) , p ( 1 → 6 ) p(1 \to 1),p(1 \to 2),p(1 \to 3),p(1 \to 4),p(1 \to 5),p(1 \to 6) p(11),p(12),p(13),p(14),p(15),p(16)然后乘以对应下一状态的价值函数即可。

如果用 s ’ s’ s表示 s s s状态下一时刻任一可能的状态,那么Bellman方程可以写成:
在这里插入图片描述



同样我们可以得到状态-动作值函数的⻉尔曼⽅程
在这里插入图片描述

4.5 最优策略的选择

计算状态值函数的⽬的是为了构建学习算法从数据中得到最优策略。 每个策略对应着⼀个状态值函数,最优策略⾃然对应着最优状态值函数。

定义:最优状态值函数 v ∗ ( s ) v^*(s) v(s) 为在所有策略中值最⼤的值函数,即 v ∗ ( s ) = max ⁡ π v π ( s ) {v^*}(s) = \mathop {\max }\limits_\pi {v_\pi }(s) v(s)=πmaxvπ(s)最优状态-⾏为值函数 q ∗ ( s , a ) q^*(s,a) q(sa)为在所有策略中最⼤的状态-⾏为值函数,即 q ∗ ( s , a ) = max ⁡ π q π ( s , a ) {q^*}(s,a) = \mathop {\max }\limits_\pi {q_\pi }(s,a) q(s,a)=πmaxqπ(s,a)

我们由(2.9)式和(2.11)式分别得到最优状态值函数和最优状态-⾏动值函数的⻉尔曼最优⽅程:
在这里插入图片描述
若已知最优状态-动作值函数,最优策略可通过直接最⼤化 q ∗ ( s , a ) q^*(s,a) q(sa)来决定。
在这里插入图片描述
如图2.7所⽰为最优状态值函数⽰意图,图中虚线箭头所⽰的动作为最 优策略。
在这里插入图片描述
⾄此,我们将强化学习的基本理论即⻢尔科夫决策过程介绍完毕。现 在该对强化学习算法进⾏形式化描述了。

我们定义⼀个离散时间有限范围的折扣⻢尔科夫决策过程:
M = ( S , A , P , r , ρ 0 , γ , T ) M=(S, A,P,r,ρ0 ,γ,T) M=SAPrρ0γT

  • S S S:状态集
  • A A A:动作集
  • P : S × A × S → R P:S×A×S→R PS×A×SR是转移概率
  • r : S × A → [ − R m a x , R m a x ] r:S×A→[-Rmax ,Rmax ] rS×A[RmaxRmax]为⽴即回报函数
  • ρ 0 : S → R ρ0 :S→R ρ0SR是初始状 态分布
  • γ ∈ [ 0 , 1 ] γ∈[0,1] γ[01]:折扣因⼦
  • T T T:⽔平范围(其实就是步数)
  • τ \tau τ:⼀个轨迹序列,即 τ = ( s 0 , a 0 , s 1 , a 1 , … ) \tau=(s_0 ,a_0 ,s_1, a_1 ,…) τ=s0a0s1a1
  • 累积回报: R = ∑ t = 0 T γ t r t R = \sum\limits_{t = 0}^T {{\gamma ^t}{r_t}} R=t=0Tγtrt

强化学习的⽬标是找到最优策略 π π π,使得该策略下的累积回报期望最⼤,即: max ⁡ π ∫ R ( τ ) p π ( τ ) d τ \mathop {\max }\limits_\pi \int {R(\tau ){p_\pi }(\tau )d\tau } πmaxR(τ)pπ(τ)dτ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值