diff --git a/docs/errata.md b/docs/errata.md index 717a314..b814af8 100644 --- a/docs/errata.md +++ b/docs/errata.md @@ -52,6 +52,18 @@ for i_ep in range(cfg.train_eps): ``` * 103页,图3.37上面一段:具体可以查看 GitHub 上的源码 → 具体可以查看本书配套代码 +* 140页,6.1节上面添加以下文字: + +​ 深度 Q 网络算法的核心是维护 Q 函数并使用其进行决策。$Q_{\pi}(s,a)$ 为在该策略 $\pi$ 下的动作价值函数,每次到达一个状态 $s_t$ 之后,遍历整个动作空间,使用让 $Q_{\pi}(s,a)$ 最大的动作作为策略: +$$ +a_{t}=\underset{a}{\arg \max } ~Q_{\pi}\left(s_{t}, a\right) +$$ +​ 深度 Q 网络采用贝尔曼方程来迭代更新 $Q_{\pi}(s,a)$ : +$$ +Q_{\pi}\left(s_{t}, a_{t}\right) \leftarrow Q_{\pi}\left(s_{t}, a_{t}\right)+\alpha\left(r_{t}+\gamma \max _{a} Q_{\pi}\left(s_{t+1}, a\right)-Q_{\pi}\left(s_{t}, a_{t}\right)\right) +$$ +​ 通常在简单任务上,使用全连接神经网络(fully connected neural network)来拟合 $Q_{\pi}$,但是在较为复杂的任务上(如玩雅达利游戏),会使用卷积神经网络来拟合从图像到价值函数的映射。由于深度 Q 网络的这种表达形式只能处理有限个动作值,因此其通常用于处理离散动作空间的任务。 + * 149页,式(6.15) 改为 $$ @@ -68,6 +80,8 @@ V^{\pi}(s) &\le Q^{\pi}(s,\pi'(s)) \\ \end{aligned} $$ +* 176页,第1行:全连接网络 → 全连接神经网络 +* 176页,第1行下面的代码块:初始化 Q 网络,为全连接网络 → 初始化 Q 网络为全连接神经网络 * 190页,9.5节第2段的第3行:也是不好实现的。我们可以实现优势演员-评论员算法就可以。 → 不好实现异步优势演员-评论员算法,但可以实现优势演员-评论员算法。 * 191页,第4和第5行:要用梯度去更新参数......就把梯度传 → 要用梯度去更新全局网络的参数。每个进程算出梯度以后,要把梯度传 * 191页,图9.6的上面一段的倒数第1行:变成 $\theta_2$了 → 变成$\theta_2$ 了(其他进程也会更新模型)