fix ch12 typos

This commit is contained in:
qiwang067
2020-12-02 18:42:15 +08:00
parent 51837adc6c
commit 5ab0cdb572

View File

@@ -116,7 +116,7 @@ DDPG 通过 off-policy 的方式来训练一个确定性策略。因为策略是
![](img/12.9.png 'size=500') ![](img/12.9.png 'size=500')
虽然 DDPG 有时表现很好但它在超参数和其他类型的调整方面经常很敏感。DDPG 常见的失败情况是已经学习好的 Q 函数开始显著地高估 Q 值,然后导致策略被破坏了,因为它利用了 Q 函数中的误差。 虽然 DDPG 有时表现很好但它在超参数和其他类型的调整方面经常很敏感。DDPG 常见的问题是已经学习好的 Q 函数开始显著地高估 Q 值,然后导致策略被破坏了,因为它利用了 Q 函数中的误差。
我们可以拿实际的 Q 值跟这个 Q-network 输出的 Q 值进行对比。实际的 Q 值可以用 MC 来算。根据当前的 policy 采样 1000 条轨迹,得到 G 后取平均,得到实际的 Q 值。 我们可以拿实际的 Q 值跟这个 Q-network 输出的 Q 值进行对比。实际的 Q 值可以用 MC 来算。根据当前的 policy 采样 1000 条轨迹,得到 G 后取平均,得到实际的 Q 值。
@@ -141,11 +141,11 @@ $$
其中 $\epsilon$ 本质上是一个噪声,是从正态分布中取样得到的,即 $\epsilon \sim N(0,\sigma)$。 其中 $\epsilon$ 本质上是一个噪声,是从正态分布中取样得到的,即 $\epsilon \sim N(0,\sigma)$。
目标策略平滑化起到了 regularizer 的作用,它处理了 DDPG 中可能发生的一种特殊的失败情况:如果 Q 函数近似器对某些动作形成了一个不正确的尖峰,那么策略将迅速利用这个尖峰,然后出现敏感或不正确的行为。这种情况可以通过在类似的动作上平滑 Q 函数来避免,目标策略平滑化就是为了做到这一点 目标策略平滑化起到了 regularizer 的作用。
![](img/12.10.png) ![](img/12.10.png)
我们可以 TD3 跟其他算法进行对比。这边作者自己实现的 DDPG(our DDPG) 和官方实现的 DDPG 的表现不一样,这说明 DDPG 对初始化和调参非常敏感。TD3 对参数不是这么敏感。在 TD3 的论文中TD3 的性能比 SAC(Soft Actor-Critic) 高。但在 SAC 的论文中SAC 的性能比 TD3 高,这是因为强化学习的很多算法估计对参数和初始条件敏感。 我们可以 TD3 跟其他算法进行对比。这边作者自己实现的 DDPG(our DDPG) 和官方实现的 DDPG 的表现不一样,这说明 DDPG 对初始化和调参非常敏感。TD3 对参数不是这么敏感。在 TD3 的论文中TD3 的性能比 SAC(Soft Actor-Critic) 高。但在 SAC 的论文中SAC 的性能比 TD3 高,这是因为强化学习的很多算法估计对参数和初始条件敏感。
TD3 的作者给出了对应的实现:[TD3 Pytorch implementation](https://github.com/sfujim/TD3/),代码写得很棒,我们可以将其作为一个强化学习的标准库来学习。 TD3 的作者给出了对应的实现:[TD3 Pytorch implementation](https://github.com/sfujim/TD3/),代码写得很棒,我们可以将其作为一个强化学习的标准库来学习。