Skip to content

Commit 642a0fb

Browse files
committed
更新第一章版本表达和排版
1 parent fa899d0 commit 642a0fb

27 files changed

Lines changed: 477 additions & 78 deletions
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## 1.1 一个网格世界例子
2+
3+
图$1.2$展示了一个智能体(agent)在网格世界中移动的例子,其将会在整本书中被广泛使用。在每个时刻,智能体只能占据一个单元格。白色单元格代表智能体可以进入的区域,蓝色单元格代表目标区域,橙色单元格代表智能体不可以进入的禁区。智能体的任务即为从初始区域出发,最终到达目标区域。
4+
5+
6+
![](../img/01/1.jpg)
7+
8+
> 图 1.2: 在全书中使用的现实网格世界例子
9+
10+
如果智能体事先知道网格世界的地图,那么规划一条到达终点的路径其实不难。但现实世界中情况往往会很复杂,智能体很难了解有关环境的任何信息。此时便需要通过与环境交互获取经验,从而找到一个好的策略。因此在本章中,我们将要学习一系列基本概念来描述这样一个过程。
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## 1.1 一个网格世界例子
2+
3+
图$1.2$展示了一个智能体(agent)在网格世界中移动的例子,其将会在整本书中被广泛使用。在每个时刻,智能体只能占据一个单元格。白色单元格代表智能体可以进入的区域,蓝色单元格代表目标区域,橙色单元格代表智能体不可以进入的禁区。智能体的任务即为从初始区域出发,最终到达目标区域。
4+
5+
6+
![](../img/01/1.jpg)
7+
8+
> 图 1.2: 在全书中使用的现实网格世界例子
9+
10+
如果智能体事先知道网格世界的地图,那么规划一条到达终点的路径其实不难。但现实世界中情况往往会很复杂,智能体很难了解有关环境的任何信息。此时便需要通过与环境交互获取经验,从而找到一个好的策略。因此在本章中,我们将要学习一系列基本概念来描述这样一个过程。
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## 1.2 状态和行动
2+
3+
本书中首先介绍的概念是状态(state),它描述了智能体相对于环境的状态。在网格世界的例子中,状态相当于智能体的位置。既然是九宫格,当然也会有九种状态。它们被表示为图$1.3(a)$中的$s_1,s_2,...,s_9$,状态的集合被叫做状态空间(state space),用符号表示为$\mathcal{S}=\{s_{1},\ldots,s_{9}\}。$
4+
5+
对于每个状态,智能体会采取五个可能的行动(action):向前,向右,向后,向左和静止不动。这五个行动分别被表示为$a_1,a_2,...,a_5$(如图1.3(b)中所示)。不同的状态可以有不同的行动空间,表示为$\mathcal{A}=\{a_{1},\ldots,a_{5}\}$。例如,在$s_1$的状态下采取$a_1$或$a_4$会导致与边界(boundary)发生碰撞,我们可以设置$s_1$的行动空间为$\mathcal{A}(s_1)=\{a_{2},a_3,a_{5}\}$。在这本书中,我们考虑最一般的情况: $\mathcal{A}(s_i)=\mathcal{A}={a_{1},\ldots,a_{5}}$对于所有$i$。
6+
7+
![](../img/01/2.png)
8+
9+
> 图1.3 状态和行动的图解,这里有九个状态${s_1,...,s_9}$,每个状态有五个可能的行动${a_1,a_2,a_3,a_4,a_5}$。
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## 1.2 状态和行动
2+
3+
本书中首先介绍的概念是状态 (state),它描述了智能体相对于环境的状况。在网格世界的例子中,状态对应于智能体所在单元格的位置。如图$1.3$所示,这个网格具有9个单元格,因此也对应了9个状态,它们分别表示为$s_1,s_2,...,s_9$,所有状态的集合被叫做状态空间 (state space),表示为$\mathcal{S}=\{s_{1},\ldots,s_{9}\}。$
4+
5+
我们将要介绍的第二个概念是行动 (action)。具体到网格世界中,智能体在每个状态下会采取五个可能的行动:向上移动,向右移动,向下移动,向左移动和静止不动。这五个行动分别被表示为$a_1,a_2,...,a_5$(如图$1.3(b)$中所示)。所有动作的集合被称为行动空间 (action space),表示为$\mathcal{A}=\{a_{1},\ldots,a_{5}\}$。
6+
7+
不同的状态可以有不同的行动空间,例如,在$s_1$的状态下采取$a_1$或$a_4$会导致智能体与边界发生碰撞,因此我们可以设置$s_1$的行动空间为$\mathcal{A}(s_1)=\{a_{2},a_3,a_{5}\}$。在这本书中,我们考虑最一般的情况,即使其中有我们认为不合理的行动,我们也并不是人为去除,而是通过算法来学习选择。即,对任意状态$s\in\mathcal{S}$,有$\mathcal{A}=\{a_1,a_2,\ldots,a_5\}$
8+
9+
![](../img/01/2.png)
10+
11+
> 图1.3 状态和行动的图解,这里有九个状态${s_1,...,s_9}$,每个状态有五个可能的行动${a_1,a_2,a_3,a_4,a_5}$。
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## 1.2 状态和行动
2+
3+
本书中首先介绍的概念是**状态** (state),它描述了智能体相对于环境的状况。在网格世界的例子中,状态对应于智能体所在单元格的位置。如图$1.3$所示,这个网格具有9个单元格,因此也对应了9个状态,它们分别表示为$s_1,s_2,...,s_9$,所有状态的集合被叫做状态空间 (state space),表示为$\mathcal{S}=\{s_{1},\ldots,s_{9}\}。$
4+
5+
我们将要介绍的第二个概念是**行动** (action)。具体到网格世界中,智能体在每个状态下会采取五个可能的行动:向上移动,向右移动,向下移动,向左移动和静止不动。这五个行动分别被表示为$a_1,a_2,...,a_5$(如图$1.3(b)$中所示)。所有动作的集合被称为行动空间 (action space),表示为$\mathcal{A}=\{a_{1},\ldots,a_{5}\}$。
6+
7+
不同的状态可以有不同的行动空间,例如,在$s_1$的状态下采取$a_1$或$a_4$会导致智能体与边界发生碰撞,因此我们可以设置$s_1$的行动空间为$\mathcal{A}(s_1)=\{a_{2},a_3,a_{5}\}$。在这本书中,我们考虑最一般的情况,即使其中有我们认为不合理的行动,我们也并不是人为去除,而是通过算法来学习选择。即,对任意状态$s\in\mathcal{S}$,有$\mathcal{A}=\{a_1,a_2,\ldots,a_5\}$
8+
9+
![](../img/01/2.png)
10+
11+
> 图1.3 状态和行动的图解,这里有九个状态${s_1,...,s_9}$,每个状态有五个可能的行动${a_1,a_2,a_3,a_4,a_5}$。
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## 1.3 状态转移
2+
3+
当执行一次行动时,智能体可能会从一个状态转移到另外一个状态。这样一个过程被称为**状态转移** (state transition)。例如,如果智能体在状态$s_1$处执行了行动$a_2$(也就是向右移动),那么此时智能体将会移动到状态$s_2$,这样一个过程可以表示为:
4+
5+
$$s_1\xrightarrow{a_2}s_2$$
6+
7+
下面我们考虑两个重要且特殊的情况。
8+
9+
- 当智能体尝试跃出边界时,它下一步的状态应该是什么呢?例如,在$s_1$时采取行动$a_1$(也就是向上移动)时。因为智能体不可能挑出状态空间,所以智能体将会弹回到某一状态,在本书中设置为弹回原来的状态,这样一个状态转移过程表示为$s_1\xrightarrow{a_1}s_1$。
10+
11+
- 当智能体试图进入禁区时,它下一步的状态应该是什么呢?例如在$s_5$时采取行动$a_2$(也就是向右移动)。分析两种不同的情况。在第一种情况下,尽管$s_6$是禁区,但是他仍然是可访问的,只不过进入的时候有惩罚。这种情况下,下一个状态就是$s_6$。因此状态转移就是$s_5\xrightarrow{a_2}s_6$。在第二种情况下,$s_6$是不可访问的,在这种情况下,智能体在尝试采取行动$a_2$时将会弹回回到$s_5$,因此这时候的状态转移过程就是$s_5\xrightarrow{a_2}s_5$。
12+
13+
我们究竟应该考虑哪种情况呢?在不同的场景下有不同的选择。在本书中,我们考虑第一种情况,即禁区是可以被访问的,只是智能体进入禁区会受到惩罚。这种情景更加一般化并且有趣。我们在后面的部分例子中可以看到智能体可能“冒险”穿过禁区,从而更快地到达目标区域。
14+
15+
每个状态的每一个行动都会对应一个状态转移过程。这个过程在表$1.1$中有所描述。在这个表中,每一行对应一个状态,每一列代表一个行动。每一个单元格给出了当智能体在对应的状态采取了对应行动后,将会转移到的下一个状态。
16+
17+
![](../img/01/3.png)
18+
19+
> 表1.1 状态过程的表格表示。每个单元格表示智能体在某一状态下采取行动后要过渡到的下一个状态。
20+
21+
在数学上,状态转移过程可以用条件概率来描述,例如,对于状态$s_1$和行动$a_2$的状态转移可以表示为:
22+
23+
$$\begin{cases}&p(s_1|s_1,a_2)=0,\\&p(s_2|s_1,a_2)=1,\\&p(s_3|s_1,a_2)=0,\\&p(s_4|s_1,a_2)=0,\\&p(s_5|s_1,a_2)=0,\end{cases}$$
24+
25+
该条件概率表明,在状态$s_1$时采取行动$a_2$时,智能体移动到状态$s_2$的概率为$1$,移动到其他状态的概率为$0$。因此在状态$s_1$处采取行动$a_2$一定会导致智能体转移到$s_2$,关于条件概率的预备知识在附录A中给出,供读者参考。
26+
27+
!!! note
28+
强烈建议读者熟练掌握概率论。
29+
30+
表格表示法虽然直观,但只能描述**确定性**(deterministic)的状态转移过程。一般来说,状态转移也可能是**随机的**(stochastic),此时需要用条件概率分布来描述。例如,当一阵随机的风吹过网格世界时,如果在状态$s_1$处采取行动$a_2$,智能体有可能会被吹到状态$s_5$,而不是状态$s_2$。在这种情况下,我们有$p(s_5|s_1,a_2)>0$。不过为了简单起见,我们在书中仅考虑网格世界中的确定性状态转移过程。
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## 策略(Policy)
2+
3+
**策略**(policy)会告诉智能体在每一个状态下应该采取什么行动。直观上,策略可以被描述为图$1.4(a)$中的箭头。如果智能体执行某一个策略,那么它将会从初始状态生成一条轨迹。
4+
5+
![](../img/01/4.png)
6+
> 图1.4 一个确定性策略和对应的轨迹
7+
8+
在数学上,策略可以用条件概率来描述。将图$1.4$中的策略描述为$\pi(a|s)$,表示在状态$s$采取行动$a$的概率。每一个状态和每一个行动都有这样的定义。例如,在图$1.4$所示的例子中,状态$s_1$对应的策略是:
9+
10+
$$\begin{gathered}\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{gathered}$$
11+
12+
该条件概率表示在状态$s_1$下采取行动$a_2$的概率是$1$,而采取其他动作的概率为$0$。
13+
14+
上面例子中的策略是确定性的。但是策略也可能是随机的。例如,在图$1.5$给出了一种随机策略: 在状态$s_1$下,智能体有0.5的概率采取向右移动,有0.5的概率采取向下移动,此时在状态$s_1$的策略是:
15+
16+
$$\begin{gathered}\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{gathered}$$
17+
18+
![](../img/01/5.png)
19+
> 图1.5 一个随机策略。在状态$s_1$中,智能体可能向右移动,也可能向下移动,概率均为$0.5$。
20+
21+
除了用条件概率来表示策略,其也可以通过表格形式来描述。例如,表$1.2$展示了图$1.5$所示的随机策略。其中第$i$行和第$j$列的元素对应了在第$i$个状态下采取第$j$个行动的概率。这种表示法称为**表格表示法**(tabular representation)。这种表格表示法十分基础,是后续学习概念和算法的关键。此外,我们将在第8章中介绍另一种表示方法,即将策略表示为参数化函数。
22+
23+
![](../img/01/6.png)
24+
> 表1.2 一个策略的表格表示法。
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## 策略(Policy)
2+
3+
**策略**(policy)会告诉智能体在每一个状态下应该采取什么行动。直观上,策略可以被描述为图$1.4(a)$中的箭头。如果智能体执行某一个策略,那么它将会从初始状态生成一条轨迹。
4+
5+
![](../img/01/4.png)
6+
> 图1.4 一个确定性策略和对应的轨迹
7+
8+
在数学上,策略可以用条件概率来描述。将图$1.4$中的策略描述为$\pi(a|s)$,表示在状态$s$采取行动$a$的概率。每一个状态和每一个行动都有这样的定义。例如,在图$1.4$所示的例子中,状态$s_1$对应的策略是:
9+
10+
$$\begin{gathered}\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{gathered}$$
11+
12+
该条件概率表示在状态$s_1$下采取行动$a_2$的概率是$1$,而采取其他动作的概率为$0$。
13+
14+
上面例子中的策略是确定性的。但是策略也可能是随机的。例如,在图$1.5$给出了一种随机策略: 在状态$s_1$下,智能体有0.5的概率采取向右移动,有0.5的概率采取向下移动,此时在状态$s_1$的策略是:
15+
16+
$$\begin{gathered}\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{gathered}$$
17+
18+
![](../img/01/5.png)
19+
> 图1.5 一个随机策略。在状态$s_1$中,智能体可能向右移动,也可能向下移动,概率均为$0.5$。
20+
21+
除了用条件概率来表示策略,其也可以通过表格形式来描述。例如,表$1.2$展示了图$1.5$所示的随机策略。其中第$i$行和第$j$列的元素对应了在第$i$个状态下采取第$j$个行动的概率。这种表示法称为**表格表示法**(tabular representation)。这种表格表示法十分基础,是后续学习概念和算法的关键。此外,我们将在第8章中介绍另一种表示方法,即将策略表示为参数化函数。
22+
23+
![](../img/01/6.png)
24+
> 表1.2 一个策略的表格表示法。
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## 奖励(Reward)
2+
3+
**奖励** (Reward)是强化学习中最重要的概念之一。
4+
5+
在一个状态下执行一个行动后,智能体会从环境反馈中获得奖励$r$,其是状态$s$和行动$a$的函数,可以表示为$r(s,a)$,其数值可以为正数、负数或零。不同的奖励值对于智能体最终学习到的策略具有不同的影响。通常来说,正奖励表示鼓励智能体采取相应行动;负奖励不鼓励智能体采取该行动。
6+
7+
在所用的网格世界例子中,奖励可以设计如下:
8+
9+
- 如果智能体尝试跃出四周边界,则$r_\text{boundary}=-1$
10+
11+
- 如果智能体尝试进入禁区,则$r_\text{forbidden}=-1$
12+
13+
- 如果智能体到达目标区域,则$r_\text{target}=+1$
14+
15+
- 其他情况下,智能体获得的奖励为$r_\text{other}=0$
16+
17+
读者应该注意目标状态$s_9$,当到达该状态之后,它也许会持续执行策略,进而继续获得相应奖励。例如,如果智能体在状态$s_9$采取行动$a_5$ (静止不动),下一个状态还是$s_9$,此时会获得奖励$r_\text{target}=+1$。如果智能体在状态$s_9$执行行动$a_2$,下一个状态也是$s_9$,但奖励是$r_\text{boundary}=+1$。
18+
19+
奖励可以被理解为一种人机交互 (human-machine interface)的重要手段,我们用它来引导智能体按照我们的期望行事。例如,通过上面奖励设置,可以让智能体避免越出边界或踏入禁区,力争进入目标区域。设计合适的奖励是强化学习的重要一步。不过对于复杂的任务来说,这一环节并不简单,因为它总是需要用户对给定问题有很好的理解。尽管如此,设计奖励可能仍然比使用其他专业工具来设计策略容易得多,这也可能是为什么强化学习受众广的原因。
20+
21+
奖励的过程可以直观地表示为一个表格,如$1.3$所示。表格的每一行对应一个状态,每列对应一个行动。表中每个单元格中的值表示在该状态下采取该行动所能获得的奖励。初学者可能会有这样一个问题:如果给定了奖励表格,我们是否能通过简单地选择奖励最大的行动来找到好的策略吗?答案是否定的。这是因为这些奖励都是**即时奖励** (immediate reward),即在采取一个行动后立即获得的奖励。如果要确定一个好的政策,那么必须考虑更长远的**总奖励** (total reward)(更多信息请参见第$1.6$节)。具有最大即时奖励的行动不一定会带来最大的总奖励。
22+
23+
表格表示法虽然直观,但只能描述确定性的奖励过程。为了描述更加一般化的奖励过程,我们可以使用条件概率$p(r|s,a)$来描述在状态$s$采取行动$a$得到奖励$r$的概率。例如,对于状态$s_1$,有:
24+
25+
$$p(r=-1|s_{1},a_{1})=1,\quad p(r\neq-1|s_{1},a_{1})=0.$$
26+
27+
![](../img/01/7.png)
28+
> 表1.3: 奖励的表格表示法。
29+
30+
这意味着,当在状态$s_1$处采取行动$a_1$,智能体肯定会获得$r=-1$,而得到其他奖励值的概率为$0$。这个奖励是确定性的,因此既可以用表格也可以使用条件概率来描述。然而如果奖励过程是随机的,那么表格表示法也将不再适用。例如$p(r=-1\mid s_1,a_1)=0.5,p(r=-2\mid s_1,a_1)=0.5$,即各有$0.5$的概率获得$-1$或$-2$的奖励。值得强调的是,本书中的网格世界考虑的只是确定性的奖励过程。给出一个简单的例子帮助读者理解奖励为什么可能是随机的,例如,一个学习努力的学生,他/她会收到一个正向的奖励(例如在考试中取得更高的成绩),但是奖励的值是不确定的,可能是100分,也可能是90分。

0 commit comments

Comments
 (0)