Skip to content

Commit 71df085

Browse files
committed
添加评论功能与润色第七章
1 parent 8bea7a5 commit 71df085

285 files changed

Lines changed: 19984 additions & 521 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: BOX2.1
3+
comments: true # 开启评论
4+
---
5+
将误差定义为$\delta_k = v_k - v_\pi$。我们只需证明$\delta_k \rightarrow 0$。$v_{k+1} = \delta_{k+1} + v_\pi$ 和 $v_k = \delta_k + v_\pi$ 代入 $v_{k+1} = r_\pi + \gamma P_\pi v_k$ 可得
6+
7+
$$\delta_{k+1}+v_\pi=r_\pi+\gamma P_\pi(\delta_k+v_\pi),$$
8+
9+
可以被写为
10+
11+
$$\begin{aligned}\delta_{k+1}&=-v_{\pi}+r_{\pi}+\gamma P_{\pi}\delta_{k}+\gamma P_{\pi}v_{\pi},\\&=\gamma P_{\pi}\delta_{k}-v_{\pi}+(r_{\pi}+\gamma P_{\pi}v_{\pi}),\\&=\gamma P_{\pi}\delta_{k}.\end{aligned}$$
12+
13+
因此
14+
15+
$$\delta_{k+1}=\gamma P_{\pi}\delta_{k}=\gamma^{2}P_{\pi}^{2}\delta_{k-1}=\cdots=\gamma^{k+1}P_{\pi}^{k+1}\delta_{0}.$$
16+
17+
由于$P_\pi$的每个元素都是非负且不大于$1$,因此我们可以得出$0\leq P_\pi^k \leq 1$,对于任意$k$。也就是说,$P_\pi^k$的每个元素都不大于$1$,另一方面,由于$\gamma< 1$,我们知道$\gamma^k\rightarrow 0$,因此$\delta_{k+1}=\gamma^{k+1}P_\pi^{k+1}\delta_0\rightarrow 0$当$k\rightarrow\infty$时。
18+
19+
---
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
接下来我们证明,$(7.1)$中的TD算法可通过应用RM算法求解$(7.4)$获得。
2+
3+
对于状态$s_t$,我们定义一个函数为
4+
5+
$g(v_\pi(s_t))= v_\pi(s_t)-\mathbb{E}\left[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s_t\right].$
6+
7+
那么,$(7.4)$式等价于
8+
9+
$$g(v_\pi(s_t))=0.$$
10+
11+
我们的目标是通过RM算法求解上述方程以获得$v_\pi(s_t)$。由于可以获得$r_{t+1}$和$s_{t+1}$(它们分别是$R_{t+1}$和$S_{t+1}$的样本),因此可获得的$g(v_\pi(s_t))$噪声观测值为
12+
13+
$$\begin{aligned}\tilde{g}(v_{\pi}(s_{t}))&=v_{\pi}(s_{t})-\begin{bmatrix}r_{t+1}+\gamma v_{\pi}(s_{t+1})\end{bmatrix}\\&=\underbrace{\left(v_{\pi}(s_{t})-\mathbb{E}\left[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s_{t}\right]\right)}_{g(v_{\pi}(s_{t}))}\\&+\underbrace{\left(\mathbb{E}\left[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s_{t}\right]-\left[r_{t+1}+\gamma v_{\pi}(s_{t+1})\right]\right).}_{\eta}\end{aligned}$$
14+
15+
因此,用于求解$g(v_\pi(s_t)) =0$的 RM算法(第$6.2$节)
16+
17+
$$\begin{aligned}v_{t+1}(s_{t})&=v_{t}(s_{t})-\alpha_{t}(s_{t})\tilde{g}(v_{t}(s_{t}))\\&=v_{t}(s_{t})-\alpha_{t}(s_{t})\left(v_{t}(s_{t})-\left[r_{t+1}+\gamma v_{\pi}(s_{t+1})\right]\right)\end{aligned},\tag{7.5}$$
18+
19+
其中$v_t(s_t)$表示时刻$t$时$v_\pi(s_t)$的估计值,$\alpha_t(s_t)$为学习率。
20+
21+
!!! note
22+
7.1中的式子为$v_{t+1}(s_t) = v_t(s_t) - \alpha_t(s_t) \left[ v_t(s_t) - \left( r_{t+1} + \gamma v_t(s_{t+1}) \right) \right]$
23+
24+
$(7.5)$式中的算法与$(7.1)$式TD算法具有相似的表达式,唯一区别在于$(7.5)$式右侧包含$v_\pi(s_{t+1})$,而$(7.1)$式包含$v_t(s_{t+1})$。这是因为$(7.5)$式在设计时仅需估计状态$s_t$的价值,并假设其他状态价值已知。若需估计所有状态的价值,则应将右侧的$v_\pi(s_{t+1})$替换为$v_t(s_{t+1})$。此时,$(7.5)$式将与$(7.1)$式完全等同。但这样的替换是否仍能保证收敛性?答案是肯定的,这将在定理$7.1$中予以证明。
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: BOX7.1
3+
comments: true # 开启评论
4+
---
5+
接下来我们证明,$(7.1)$中的TD算法可通过应用RM算法求解$(7.4)$获得。
6+
7+
对于状态$s_t$,我们定义一个函数为
8+
9+
$g(v_\pi(s_t))= v_\pi(s_t)-\mathbb{E}\left[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s_t\right].$
10+
11+
那么,$(7.4)$式等价于
12+
13+
$$g(v_\pi(s_t))=0.$$
14+
15+
我们的目标是通过RM算法求解上述方程以获得$v_\pi(s_t)$。由于可以获得$r_{t+1}$和$s_{t+1}$(它们分别是$R_{t+1}$和$S_{t+1}$的样本),因此可获得的$g(v_\pi(s_t))$噪声观测值为
16+
17+
$$\begin{aligned}\tilde{g}(v_{\pi}(s_{t}))&=v_{\pi}(s_{t})-\begin{bmatrix}r_{t+1}+\gamma v_{\pi}(s_{t+1})\end{bmatrix}\\&=\underbrace{\left(v_{\pi}(s_{t})-\mathbb{E}\left[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s_{t}\right]\right)}_{g(v_{\pi}(s_{t}))}\\&+\underbrace{\left(\mathbb{E}\left[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s_{t}\right]-\left[r_{t+1}+\gamma v_{\pi}(s_{t+1})\right]\right).}_{\eta}\end{aligned}$$
18+
19+
因此,用于求解$g(v_\pi(s_t)) =0$的 RM算法(第$6.2$节)
20+
21+
$$\begin{aligned}v_{t+1}(s_{t})&=v_{t}(s_{t})-\alpha_{t}(s_{t})\tilde{g}(v_{t}(s_{t}))\\&=v_{t}(s_{t})-\alpha_{t}(s_{t})\left(v_{t}(s_{t})-\left[r_{t+1}+\gamma v_{\pi}(s_{t+1})\right]\right)\end{aligned},\tag{7.5}$$
22+
23+
其中$v_t(s_t)$表示时刻$t$时$v_\pi(s_t)$的估计值,$\alpha_t(s_t)$为学习率。
24+
25+
!!! note
26+
7.1中的式子为$v_{t+1}(s_t) = v_t(s_t) - \alpha_t(s_t) \left[ v_t(s_t) - \left( r_{t+1} + \gamma v_t(s_{t+1}) \right) \right]$
27+
28+
$(7.5)$式中的算法与$(7.1)$式TD算法具有相似的表达式,唯一区别在于$(7.5)$式右侧包含$v_\pi(s_{t+1})$,而$(7.1)$式包含$v_t(s_{t+1})$。这是因为$(7.5)$式在设计时仅需估计状态$s_t$的价值,并假设其他状态价值已知。若需估计所有状态的价值,则应将右侧的$v_\pi(s_{t+1})$替换为$v_t(s_{t+1})$。此时,$(7.5)$式将与$(7.1)$式完全等同。但这样的替换是否仍能保证收敛性?答案是肯定的,这将在定理$7.1$中予以证明。
29+
30+
---
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
给定策略 $\pi$,其行动值可通过Expected Sarsa算法进行评估,该算法是Sarsa的一种变体。Expected Sarsa算法的表达式为
2+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: BOX7.4
3+
comments: true # 开启评论
4+
---
5+
给定策略 $\pi$,其行动值可通过Expected Sarsa算法进行评估,该算法是Sarsa的一种变体。Expected Sarsa算法的表达式为
6+
7+
---
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
这一章主要是讲解书中涉及的对定理证明的部分,我在学习的过程中并没有将其放在笔记部分,是因为我认为,在第一遍学习的过程中过于注重细节会使整体内容失去顺畅性,个人认为第一遍的学习可以先忽略对于定理的严格证明,而是对所学的东西有一个宏观的把握,在之后若干遍的学习中,逐渐掌握对于定理的严格化证明。
2+
3+
本书中所有Box中的证明我都汇总于这一章节中,并附上了我个人的补充与理解。
4+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: BOX_intro
3+
comments: true # 开启评论
4+
---
5+
这一章主要是讲解书中涉及的对定理证明的部分,我在学习的过程中并没有将其放在笔记部分,是因为我认为,在第一遍学习的过程中过于注重细节会使整体内容失去顺畅性,个人认为第一遍的学习可以先忽略对于定理的严格证明,而是对所学的东西有一个宏观的把握,在之后若干遍的学习中,逐渐掌握对于定理的严格化证明。
6+
7+
本书中所有Box中的证明我都汇总于这一章节中,并附上了我个人的补充与理解。
8+
9+
---
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## 1.1 一个网格世界例子
2+
3+
图$1.2$展示了一个智能体(agent)在网格世界中移动的例子,其将会在整本书中被广泛使用。在每个时刻,智能体只能占据一个单元格。白色单元格代表智能体可以进入的区域,蓝色单元格代表目标区域,橙色单元格代表智能体不可以进入的禁区。智能体的任务即为从初始区域出发,最终到达目标区域。
4+
5+
6+
![](../img/01/1.jpg)
7+
8+
> 图 1.2: 在全书中使用的现实网格世界例子
9+
10+
如果智能体事先知道网格世界的地图,那么规划一条到达终点的路径其实不难。但现实世界中情况往往会很复杂,智能体很难了解有关环境的任何信息。此时便需要通过与环境交互获取经验,从而找到一个好的策略。因此在本章中,我们将要学习一系列基本概念来描述这样一个过程。
11+
12+
---
13+
title: 留言板
14+
hide:
15+
# - navigation # 显示右
16+
17+
!!! abstract "⚡ AI摘要 (GLM)"
18+
19+
本文介绍了如何使用giscus添加评论系统到网站。giscus基于GitHub Discussions,开源、免费、无需数据库,支持自定义主题和多种语言。文章详细介绍了添加步骤,包括配置mkdocs.yml、创建GitHub Discussions仓库和插入评论代码。此外,还简单介绍了twikoo等其他评论系统。
20+
21+
# - toc #显示左
22+
# - footer
23+
# - feedback
24+
comments: true #默认不开启评论
25+
---
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## 1.1 一个网格世界例子
2+
3+
图$1.2$展示了一个智能体(agent)在网格世界中移动的例子,其将会在整本书中被广泛使用。在每个时刻,智能体只能占据一个单元格。白色单元格代表智能体可以进入的区域,蓝色单元格代表目标区域,橙色单元格代表智能体不可以进入的禁区。智能体的任务即为从初始区域出发,最终到达目标区域。
4+
5+
6+
![](../img/01/1.jpg)
7+
8+
> 图 1.2: 在全书中使用的现实网格世界例子
9+
10+
如果智能体事先知道网格世界的地图,那么规划一条到达终点的路径其实不难。但现实世界中情况往往会很复杂,智能体很难了解有关环境的任何信息。此时便需要通过与环境交互获取经验,从而找到一个好的策略。因此在本章中,我们将要学习一系列基本概念来描述这样一个过程。
11+
12+
---
13+
title: 留言板
14+
hide:
15+
# - navigation # 显示右
16+
# - toc #显示左
17+
# - footer
18+
# - feedback
19+
comments: true #默认不开启评论
20+
---
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## 1.1 一个网格世界例子
2+
3+
图$1.2$展示了一个智能体(agent)在网格世界中移动的例子,其将会在整本书中被广泛使用。在每个时刻,智能体只能占据一个单元格。白色单元格代表智能体可以进入的区域,蓝色单元格代表目标区域,橙色单元格代表智能体不可以进入的禁区。智能体的任务即为从初始区域出发,最终到达目标区域。
4+
5+
6+
![](../img/01/1.jpg)
7+
8+
> 图 1.2: 在全书中使用的现实网格世界例子
9+
10+
如果智能体事先知道网格世界的地图,那么规划一条到达终点的路径其实不难。但现实世界中情况往往会很复杂,智能体很难了解有关环境的任何信息。此时便需要通过与环境交互获取经验,从而找到一个好的策略。因此在本章中,我们将要学习一系列基本概念来描述这样一个过程。
11+
12+
---
13+
title: 你的页面标题
14+
comments: true # 开启评论
15+
---

0 commit comments

Comments
 (0)