【强化学习的数学原理-赵世钰】课程笔记(一)基本概念

一. 内容概述

​ 第一部分主要有两个内容:

1. 通过案例介绍强化学习中的基本概念

2. 在马尔可夫决策过程(MDP)的框架下将概念正式描述出来

二. 通过案例介绍强化学习中的基本概念

1. 网格世界(A grid world example)

在这里插入图片描述

​ 本课程中始终使用的一个示例:网格世界

​ (1)网格类型:可访问(Accessible);禁止访问(forbidden);目标单元格(target cells);边界(boundary)

​ (2)机器人只能在相邻网格移动,不能斜着移动

​ 强化学习的任务:给任意一个起始点,找到一个比较好的路径到达目标。比较好的路径就是尽量避开禁止访问的地方,不要有无意义的拐弯,不要超越边界。

2. 状态(State)

状态(state):智能体相对于环境的状态

​ 以网格世界为例,智能体的位置就是状态。有九个可能的位置,因此也就有九种状态: S 1 、 S 2 , … , S 9 S_1、S_2,\dots,S_9 S1S2,,S9。这些字母是一个索引,真正对应的状态可能是在二维平面上的位置(x,y),更复杂的问题可能还会对应速度,加速度,或其他类型的状态信息等等。

在这里插入图片描述

状态空间(state space):把所有状态放在一起,所有状态的集合(set)
S = { s i } i = 1 9 S=\{s_i\}_{i=1}^9 S={si}i=19

3. 动作(Action)

动作(action):每个状态都有五种可能的行动: a 1 , … , a 5 a_1,\dots, a_5 a1,,a5
在这里插入图片描述

  • a 1 a_1 a1:向上移动;
  • a 2 a_2 a2: 向右移动;
  • a 3 a_3 a3: 向下移动;
  • a 4 a_4 a4: 向左移动;
  • a 5 a_5 a5: 保持不变;

状态的动作空间(action space):状态的所有可能动作的集合。
A ( s i ) = { a i } i = 1 5 A(s_i) = \{a_i\}_{i=1}^5 A(si)={ai}i=15
动作空间和状态有依赖关系,不同状态的动作空间不同,由上面的公式可知,A 是 s i s_i si的函数。

4. 状态转移(State transition)

​ 在采取行动(action)时,智能体可能会从一个状态移动到另一个状态。这种过程称为状态转移。

在这里插入图片描述

  • 在状态 s 1 s_1 s1 下,如果我们选择行动 a 2 a_2 a2,那么下一个状态是什么?(向右移动一格)

s 1 → a 2 s 2 s_1 \xrightarrow{a_2} s_2 s1a2 s2

  • 在状态 s 1 s_1 s1 下,如果我们选择行动 a 1 a_1 a1,那么下一个状态是什么?(向上移动一格,会撞到边界,所以状态还是 s 1 s_1 s1

s 1 → a 1 s 1 s_1 \xrightarrow{a_1} s_1 s1a1 s1

状态转换描述了智能体与环境的交互行为。 在游戏当中可以任意定义某个状态采取一个行动后状态的转换,但是在实际中不可以

注意禁止访问的区域(forbidden area):

例如:在状态 s 5 s_5 s5,如果我们选择操作 a 2 a_2 a2、 那么下一个状态是什么?

  • 情况 1:禁区可以进入,但会受到惩罚。那么

s 5 → a 2 s 6 s_5 \xrightarrow{a_2} s_6 s5a2 s6

  • 情况 2:禁区无法进入(如被围墙包围)

s 5 → a 2 s 5 s_5 \xrightarrow{a_2} s_5 s5a2 s5

​ 这边考虑的是第一种情况,这种情况更为普遍,也更具挑战性。因为如果把一些状态给排除掉的话,状态空间就小了,实际上做搜索的时候会更加容易。虽然进去forbidden area会的得到惩罚,但是也许进去之后,进到target area反而是最近的路径,所以有可能agent会冒险进到这个forbidden area。

表格表示法(Tabular representation): 使用表格来描述状态转换,表格的每一行对应状态(state),每一列对应行动(action)。

在这里插入图片描述

表格表示法只能表示确定性(deterministic)的情况。

State transition probability: 使用概率描述状态转换

  • 直觉:在状态 s 1 s_1 s1 下,如果我们选择行动(take action) a 2 a_2 a2,下一个状态就是 s 2 s_2 s2
  • 数学:使用条件概率表示

p ( s 2 ∣ s 1 , a 2 ) = 1 p ( s i ∣ s 1 , a 2 ) = 0      ∀ i ≠ 2 \begin{align} p(s_2 |s_1,a_2) &= 1 \\ p(s_i |s_1,a_2) &= 0 \ \ \ \ \forall i \ne 2 \end{align} p(s2s1,a2)p(sis1,a2)=1=0    i=2

解释:假如当前时刻状态在 s 1 s_1 s1 ,采取动作 a 2 a_2 a2,那么下一时刻状态转移到 s 2 s_2 s2 的概率是1,但是下一时刻转移到其他任意 i ≠ 2 i \ne 2 i=2 的状态的概率是 0 。

虽然这里仍然是确定性情况,但是也可以用条件概率描述随机性的(stochastic) 状态转换(例如阵风),假如当前时刻状态在 s 1 s_1 s1,采取动作 a 2 a_2 a2,由于有风,有百分之 50 的概率到 s 2 s_2 s2,有百分之 50 的概率到 s 5 s_5 s5

在这里插入图片描述

5. 策略(Policy)

策略告诉智能体在某一状态下应采取什么行动。

(1) 策略的直观表示法: 我们用箭头来描述策略。(图中的圆圈表示待在原地不动)

在这里插入图片描述

​ 基于这一策略,我们可以得到以下不同起点的轨迹(path,trajectory)。

在这里插入图片描述

(2)策略的数学表示法: 使用条件概率描述策略

确定性策略(deterministic policy):

​ 例如,对于状态 s 1 s_1 s1,它的策略 π \pi π 就是一个条件概率,它指定了任何一个状态下,采取任何一个动作(action)的概率是多少。
π ( a 1 ∣ s 1 ) = 0 π ( a 2 ∣ s 1 ) = 1 π ( a 3 ∣ s 1 ) = 0 π ( a 4 ∣ s 1 ) = 0 π ( a 5 ∣ s 1 ) = 0 \begin{align} \pi(a_1|s_1) &= 0 \\ \pi(a_2|s_1) &= 1 \\ \pi(a_3|s_1) &= 0 \\ \pi(a_4|s_1) &= 0 \\ \pi(a_5|s_1) &= 0 \\ \end{align} π(a1s1)π(a2s1)π(a3s1)π(a4s1)π(a5s1)=0=1=0=0=0
公式解释: 在状态 s 1 s_1 s1下,采取动作(take action) a 1 a_1 a1往上走的概率是 0;在状态 s 1 s_1 s1 下,采取动作(take action) a 2 a_2 a2 往右走的概率是 1,以此类推。

针对一个状态所有可能采取的动作的概率之和应该等于 1。

​ 上面例子只说了 s 1 , 还有 s 2 , … , s 9 s_1,还有 s_2,\dots,s_9 s1,还有s2,,s9,针对每个状态都要它的有策略。

不确定性策略(stochastic policy):

在这里插入图片描述

​ 在这一策略中,对于状态 s 1 s_1 s1,使用条件概率表示策略:
π ( a 1 ∣ s 1 ) = 0 π ( a 2 ∣ s 1 ) = 0.5 π ( a 3 ∣ s 1 ) = 0.5 π ( a 4 ∣ s 1 ) = 0 π ( a 5 ∣ s 1 ) = 0 \begin{align} \pi(a_1|s_1) &= 0 \\ \pi(a_2|s_1) &= 0.5 \\ \pi(a_3|s_1) &= 0.5 \\ \pi(a_4|s_1) &= 0 \\ \pi(a_5|s_1) &= 0 \\ \end{align} π(a1s1)π(a2s1)π(a3s1)π(a4s1)π(a5s1)=0=0.5=0.5=0=0
公式解释: 在状态 s 1 s_1 s1 下,采取动作(take action) a 1 a_1 a1 往上走的概率是 0;在状态 s 1 s_1 s1 下,采取动作(take action) a 2 a_2 a2 往右走的概率是 0.5,以此类推。

针对一个状态所有可能采取的动作的概率之和应该等于 1。

(3) 策略的表格表示法: 每一行对应一个状态(state),每一列对应一个动作(action)

在这里插入图片描述

这样的表格可以描述确定性(deterministic)或随机性(stochastic)的情况,在编程的时候就是这么做的,会用一个数组或者矩阵表示这样的一个策略。

6. 奖励(Reward)

奖励(reward)是强化学习中最独特的概念之一。

奖励:智能体采取行动(take action)后获得的真实数字,是标量。

  • 如果这个数字是正数,则是正向奖励,代表对采取此类行动的鼓励。
  • 如果这个数字是负数,则是负向奖励,代表对采取此类行动的惩罚,不希望这样的行为发生。
  • 那么零奖励呢?代表没有惩罚。
  • 正数也可以意味着惩罚,负数也可以意味着奖励,这是数学上的技巧而已。

在这里插入图片描述

​ 在网格世界示例中,奖励设计如下:

  • 如果智能体试图离开边界,则让 r b o u n d = − 1 r_{bound} = -1 rbound=1
  • 如果智能体试图进入禁区,让 r f o r b i d = − 1 r_{forbid} = -1 rforbid=1
  • 如果行为体到达目标单元,让 r t a r g e t = + 1 r_{target} = +1 rtarget=+1
  • 其他情况下,智能体获得的奖励为 r = 0 r = 0 r=0

奖励可以被理解为一种人机界面(我们与机器交互的一种手段),我们可以用它来引导智能体按照我们的期望行事。

例如,有了上述设计的奖励,智能体就会尽量避免走出边界或踏入禁区,而会尽量进入目标区域。所以可以通过设计 reward,实现目标。

(1)奖励转换(reward transition)的表格表示法: 表格的每一行对应一个状态(state),每一列对应一个动作(action),表格中间表示在某个状态采取某个动作得到的奖励(reward)。

在这里插入图片描述

​ 表格只能表示确定性的情况(deterministic),比如在一个状态采取了一个行动,一定会得到某种奖励,但是实际上奖励(reward)的大小可能是不确定的,这时候可以使用下面的数学表示法表示。

(2)奖励的数学表示法: 条件概率

直觉: 在状态 s 1 s_1 s1下,如果我们选择行动 a 1 a_1 a1,奖励为 − 1 -1 1

数学: p ( r = − 1 ∣ s 1 , a 1 ) = 1   a n d   p ( r ≠ − 1 ∣ s 1 , a 1 ) = 0 p(r = -1|s_1,a_1) = 1 \ and \ p(r \ne -1 |s_1,a_1) = 0 p(r=1∣s1,a1)=1 and p(r=1∣s1,a1)=0

这里是一个确定性(deterministic)案例,在这个状态采取这个行动,一定会得到那个 reward。奖励转换(reward transition)也可能是随机(stoachstic)的。

例如,如果你努力学习,这个行为会被鼓励,就会得到正的奖励。但正的奖励的数值多少不确定。

奖励依赖于当前的状态和动作,而不是依赖于下一个状态。

  • 比如在 s 1 s_1 s1 选择动作 a 1 a_1 a1,会回到 s 1 s_1 s1

  • s 1 s_1 s1 选择动作 a 5 a_5 a5,也会在 s 1 s_1 s1

这两个行为的下一个状态相同,但动作不一样,reward 就不一样。

7. 轨迹和收益(Trajectory and return)

(1)策略1

在这里插入图片描述

轨迹(trajectory)是一条状态-行动-回报链:
s 1 → r = 0 a 2 s 2 → r = 0 a 3 s 5 → r = 0 a 3 s 8 → r = 1 a 2 s 9 s_1 \xrightarrow[r=0]{a_2} s_2 \xrightarrow[r=0]{a_3} s_5 \xrightarrow[r=0]{a_3} s_8 \xrightarrow[r=1]{a_2} s_9 s1a2 r=0s2a3 r=0s5a3 r=0s8a2 r=1s9
这条轨迹的收益(return)是: 沿轨迹(trajectory)收集的所有奖励(reward)的总和(The return of this trajectory is the sum of all the rewards collected along the trajectory:):
r e t u r n = 0 + 0 + 0 + 1 = 1 return = 0 + 0 + 0 + 1 = 1 return=0+0+0+1=1
(2)策略2

在这里插入图片描述

​ 不同的策略(policy)带来不同的轨迹(trajectory)
s 1 → r = 0 a 3 s 4 → r = − 1 a 3 s 7 → r = 0 a 2 s 8 → r = 1 a 2 s 9 s_1 \xrightarrow[r=0]{a_3} s_4 \xrightarrow[r=-1]{a_3} s_7 \xrightarrow[r=0]{a_2} s_8 \xrightarrow[r=1]{a_2} s_9 s1a3 r=0s4a3 r=1s7a2 r=0s8a2 r=1s9
​ 这条路径的收益是(The return of this path is): r e t u r n = 0 − 1 + 0 + 1 = 0 return = 0 − 1 + 0 + 1 = 0 return=01+0+1=0


哪种策略更好?

  • 从直觉上将:第一个更好,因为它避开了禁区。
  • 在数学角度:第一种更好,因为它的收益(return)更大!

收益(return)可以用来评价一项策略(policy)的好坏

8. 折扣回报(discounted return)

在这里插入图片描述

轨迹可能是无限的(A trajectory may be infinite:):
s 1 → a 2 s 2 → a 3 s 5 → a 3 s 8 → a 2 s 9 → a 5 s 9 → a 5 s 9 … s_1 \xrightarrow{a_2} s_2 \xrightarrow{a_3} s_5 \xrightarrow{a_3} s_8 \xrightarrow{a_2} s_9 {\color{blue}\xrightarrow{a_5} s_9 \xrightarrow{a_5} s_9 \dots } s1a2 s2a3 s5a3 s8a2 s9a5 s9a5 s9
​ 收益是( The return is ): r e t u r n = 0 + 0 + 0 + 1 + 1 + 1 + . . . = ∞ return = 0 + 0 + 0 + 1+1 + 1 + . . . = \infty return=0+0+0+1+1+1+...=

​ 这个定义是无效的,因为回报(return)发生了偏离,会发散!需要引入折扣率(折扣因子) (discounted rate): γ ∈ [ 0 , 1 ) \gamma \in [0, 1) γ[0,1)

​ 折扣率(discounted rate)和回报(return)结合就得到了折扣回报(Discounted return)
d i s c o u n t e d    r e t u r n = 0 + γ 0 + γ 2 0 + γ 3 1 + γ 4 1 + γ 5 1 + … = γ 3 ( 1 + γ + γ 2 + …   ) = γ 3 1 1 − γ \begin{align} discounted \ \ return & = 0 + \gamma 0 + \gamma^2 0 + \gamma^3 1 + \gamma^4 1 + \gamma ^5 1 + \dots \\ &=\gamma^3(1 + \gamma + \gamma^2 + \dots) = \gamma^3 \frac{1}{1 - \gamma} \end{align} discounted  return=0+γ0+γ20+γ31+γ41+γ51+=γ3(1+γ+γ2+)=γ31γ1
折扣回报(Discounted return)的作用: 1)总和变得有限;2)平衡远期和近期的回报(reward):

  • 如果 γ \gamma γ 接近于 0, γ \gamma γ 的三次,五次方会很快的衰减掉,则折扣回报(Discounted return) 的价值以 近期(最开始) 获得的奖励(reward)为主。
  • 如果 γ \gamma γ 接近于 1,未来的奖励(reward)衰减比较慢,则折扣回报(Discounted return) 的价值以 远期奖励 为主。

​ 通过控制 γ \gamma γ,能够控制智能体学到的策略,若减小 γ \gamma γ ,会让智能体变得更加短视(更加注重最近一些的奖励 reward);若 γ \gamma γ 较大,会让智能体变得更加远视(更加注重长远的奖励 reward)

9. Episode

在这里插入图片描述

​ 当智能体按照策略(policy)与环境交互时,可能会在某些终端状态(terminal states)停止。由此产生的轨迹(trajectory)称为一集(an episode) (或一次试验 trail)。

​ 例如:episode
s 1 → r = 0 a 2 s 2 → r = 0 a 3 s 5 → r = 0 a 3 s 8 → r = 1 a 2 s 9 s_1 \xrightarrow[r=0]{a_2} s_2 \xrightarrow[r=0]{a_3} s_5 \xrightarrow[r=0]{a_3} s_8 \xrightarrow[r=1]{a_2} s_9 s1a2 r=0s2a3 r=0s5a3 r=0s8a2 r=1s9
通常假定一集(An episode)是一个有限的轨迹(finite trajectory),有 episodes 的任务称为偶发任务(episodic tasks)

有些任务可能没有结束状态(have no terminal states),这意味着与环境的交互永远不会结束。这类任务被称为持续性任务(continuing tasks)。

在 "网格世界 "的例子中,我们是否应该在到达目标后停止?还是像刚才计算折扣回报( discounted return )的时候还可以继续让智能体执行策略,然后一直停到 s 9 s_9 s9 状态?

事实上,我们可以通过将偶发任务(episodic tasks)转换为持续任务(continuing tasks),用统一的数学方法来处理偶发任务和持续任务。

转换的两种方法:

  • 方案 1:将目标状态(target state)视为特殊的吸收状态(absorbing state)(absorbing state 就是在设置它的 state transition probability 的时候,如果当前状态就是 target 状态,不论采取什么样的 action 都会再回到这个状态;或者在这个状态的时候没有其他的 action ,可以修改 action space ,让它的 action 只有留在原地这样的一个 action)。一旦智能体达到吸收状态(absorbing state),就永远不会离开。因此它之后得到的所有奖励(reward ) r = 0 r = 0 r=0
  • 方案 2:将目标状态(target state)视为有策略的正常状态(a normal state with a policy)。如果策略好的话,智能体能够一直留在那里,收集正的收益(reward) ,策略不好的话智能体仍然可能离开目标状态,并在进入目标状态时获得 r = + 1 r = +1 r=+1 的收益。

我们在本课程中将考虑方案 2,这样我们就不需要将目标状态(target state)与其他状态区分开来,而可以将其视为正常状态(a normal state)。

三. 在马尔可夫决策过程(MDP)的框架下将概念正式描述出来

1. 马尔可夫决策过程(Markov decision process) 的关键要素:

(1)集合(Sets)
  • 状态(即 state space): 状态 S 的集合。
  • 行动(即 action space): 与状态 s ∈ S s \in S sS 相关联的行动集 A ( s ) A(s) A(s)
  • 奖励: 奖励 R ( s , a ) R(s,a) R(s,a)的集合 (从状态 s 出发,选择动作 a,即 take action a ,得到的 reward 一定来源于一个集合)
(2)概率分布(Probability distribution (or called system model))
  • 状态转换概率: 在状态 s s s下,采取行动 a a a,转换到状态 s ′ s' s 的概率为 p ( s ′ ∣ s , a ) p(s'|s, a) p(ss,a)
  • 奖励概率: 在状态 s s s下,采取行动 a a a,获得奖励 r r r 的概率为 p ( r ∣ s , a ) p(r|s, a) p(rs,a)
(3)策略(policy)—— 对应 Markov decision process 中的 decision

​ 策略:在状态 s s s 下,选择行动 a a a 的概率为 π ( a ∣ s ) \pi(a|s) π(as)

(4)马尔可夫性质:无记忆性质(Markov property: memoryless property)—— 对应 Markov decision process 中的 Markov

p ( s t + 1 ∣ a t + 1 , s t , … , a 1 , s 0 ) = p ( s t + 1 ∣ a t + 1 , s t ) p ( r t + 1 ∣ a t + 1 , s t , … , a 1 , s 0 ) = p ( r t + 1 ∣ a t + 1 , s t ) p(s_{t+1}|a_{t+1},s_t,\dots,a_1,s_0) = p(s_{t+1}|a_{t+1},s_t) \\ p(r_{t+1}|a_{t+1},s_t,\dots,a_1,s_0) = p(r_{t+1}|a_{t+1},s_t) p(st+1at+1,st,,a1,s0)=p(st+1at+1,st)p(rt+1at+1,st,,a1,s0)=p(rt+1at+1,st)

​ 这是与历史无关的一个性质。

​ 比如最开始的状态是 s 0 s_0 s0,然后我采取了一个 action a 0 a_0 a0,慢慢的我走到 s t s_t st 的时候,我采取了一个 action 是 a t + 1 a_{t+1} at+1,这时候我跳到下一个状态 s t + 1 s_{t+1} st+1 的概率 等于 完全不考虑这些历史,也不管之前在什么地方,反正现在在 s t s_t st,现在 take action a t + 1 a_{t+1} at+1,会跑到 s t + 1 s_{t+1} st+1 的概率。

All the concepts introduced in this lecture can be put in the framework in MDP

2. 马尔可夫过程(Markov process)

​ 网格世界(The grid world)可以抽象为一个更通用的模型,即马尔可夫过程(Markov process)。

在这里插入图片描述

​ 圆圈代表状态(states),带箭头的链接代表采取 action 后的状态转换(state transition)。

3. 马尔可夫过程(Markov process)与马尔可夫决策过程(Markov decision process) 的关系

一旦给出策略,即策略确定下来,那么 policy 就和整个系统融为一体了,马尔可夫决策过程(Markov decision process)就变成了马尔可夫过程(Markov process)!

四. 总结

​ 通过使用网格世界的示例,我们展示了以下关键概念:

​ By using grid-world examples, we demonstrated the following key concepts:

  • State
  • Action
  • State transition, state transition probability p ( s ′ ∣ s , a ) p(s' |s, a) p(ss,a)
  • Reward, reward probability p ( r ∣ s , a ) p(r|s, a) p(rs,a)
  • Trajectory, episode, return, discounted return
  • Markov decision process
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值