目录
- 一. 内容概述
- 1. 通过案例介绍强化学习中的基本概念
- 2. 在马尔可夫决策过程(MDP)的框架下将概念正式描述出来
- 二. 通过案例介绍强化学习中的基本概念
- 1. 网格世界(A grid world example)
- 2. 状态(State)
- 3. 动作(Action)
- 4. 状态转移(State transition)
- 5. 策略(Policy)
- 6. 奖励(Reward)
- 7. 轨迹和收益(Trajectory and return)
- 8. 折扣回报(discounted return)
- 9. Episode
- 三. 在马尔可夫决策过程(MDP)的框架下将概念正式描述出来
- 1. 马尔可夫决策过程(Markov decision process) 的关键要素:
- (1)集合(Sets)
- (2)概率分布(Probability distribution (or called system model))
- (3)策略(policy)—— 对应 Markov decision process 中的 decision
- (4)马尔可夫性质:无记忆性质(Markov property: memoryless property)—— 对应 Markov decision process 中的 Markov
- 2. 马尔可夫过程(Markov process)
- 3. 马尔可夫过程(Markov process)与马尔可夫决策过程(Markov decision process) 的关系
- 四. 总结
一. 内容概述
第一部分主要有两个内容:
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 S1、S2,…,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$ 下,如果我们选择行动$ a_2$,那么下一个状态是什么?(向右移动一格)
s 1 → a 2 s 2 s_1 \xrightarrow{a_2} s_2 s1a2s2
- 在状态 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 s1a1s1
**状态转换描述了智能体与环境的交互行为。**在游戏当中可以任意定义某个状态采取一个行动后状态的转换,但是在实际中不可以。
注意禁止访问的区域(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 s5a2s6
- 情况 2:禁区无法进入(如被围墙包围)
s 5 → a 2 s 5 s_5 \xrightarrow{a_2} s_5 s5a2s5
这边考虑的是第一种情况,这种情况更为普遍,也更具挑战性。因为如果把一些状态给排除掉的话,状态空间就小了,实际上做搜索的时候会更加容易。虽然进去forbidden area会的得到惩罚,但是也许进去之后,进到target area反而是最近的路径,所以有可能agent会冒险进到这个forbidden area。
表格表示法(Tabular representation): 使用表格来描述状态转换,表格的每一行对应状态(state),每一列对应行动(action)。
表格表示法只能表示确定性(deterministic)的情况。
**State transition probability:**使用概率描述状态转换
- 直觉:在状态$ s_1$ 下,如果我们选择行动(take action)$ a_2 ,下一个状态就是 ,下一个状态就是 ,下一个状态就是 s_2$。
- 数学:使用条件概率表示
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(s2∣s1,a2)p(si∣s1,a2)=1=0 ∀i=2
解释:假如当前时刻状态在 s 1 s_1 s1,采取动作 a 2 a_2 a2,那么下一时刻状态转移到 $s_2 的概率是 1 ,但是下一时刻转移到其他任意 的概率是1,但是下一时刻转移到其他任意 的概率是1,但是下一时刻转移到其他任意 i \ne 2$ 的状态的概率是 0 。
虽然这里仍然是确定性情况,但是也可以用条件概率**描述随机性的(stochastic)**状态转换(例如阵风),假如当前时刻状态在 s 1 s_1 s1,采取动作$ a_2 ,由于有风,有百分之 50 的概率到 ,由于有风,有百分之 50 的概率到 ,由于有风,有百分之50的概率到s_2$,有百分之 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} π(a1∣s1)π(a2∣s1)π(a3∣s1)π(a4∣s1)π(a5∣s1)=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} π(a1∣s1)π(a2∣s1)π(a3∣s1)π(a4∣s1)π(a5∣s1)=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_{bound} = -1$
- 如果智能体试图进入禁区,让$ r_{forbid} = -1$
- 如果行为体到达目标单元,让$ r_{target} = +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 s1a2r=0s2a3r=0s5a3r=0s8a2r=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 s1a3r=0s4a3r=−1s7a2r=0s8a2r=1s9
这条路径的收益是(The return of this path is):$ return = 0 − 1 + 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 } s1a2s2a3s5a3s8a2s9a5s9a5s9…
收益是( 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)**的价值以远期奖励为主。
通过控制 γ ,能够控制智能体学到的策略,若减小 γ ,会让智能体变得更加短视(更加注重最近一些的奖励 reward);若 γ 较大,会让智能体变得更加远视(更加注重长远的奖励 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 s1a2r=0s2a3r=0s5a3r=0s8a2r=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 s∈S 相关联的行动集 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(s′∣s,a)
- 奖励概率: 在状态 s s s下,采取行动 a a a,获得奖励 $ r $ 的概率为 $ p(r|s, a) $
(3)策略(policy)—— 对应 Markov decision process 中的 decision
策略:在状态 s s s 下,选择行动 a a a 的概率为 π ( a ∣ s ) \pi(a|s) π(a∣s)
(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+1∣at+1,st,…,a1,s0)=p(st+1∣at+1,st)p(rt+1∣at+1,st,…,a1,s0)=p(rt+1∣at+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(s′∣s,a)
- Reward, reward probability p ( r ∣ s , a ) p(r|s, a) p(r∣s,a)
- Trajectory, episode, return, discounted return
- Markov decision process