强化学习笔记:noisy DQN

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习笔记:noisy DQN相关的知识,希望对你有一定的参考价值。

噪声网络 (Noisy Net) 是一种非常简单的方法,可以显著提高 DQN 的表现。 噪声网络的应用不局限于 DQN ,它可以用于几乎所有的强化学习方法。

1 噪声网络的原理

  • 把神经网络中的参数 w 替换成 µ+σξ
    • 此处的 µσξ 的形状与 w 完全相同。
    • µσ 分别表示均值和标准差,它们是神经网络的参数,需要从经验中学习。
    • ξ 是随机噪声,它的每个元素独立从标准正态分布 N (0, 1) 中随机抽取。
    • 符号“”表示逐项乘积。

  •  

 

 2 noisy DQN

噪声网络可以用于 DQN 标准的 DQN 记作 Q ( s, a ; w ) ,其中的 w 表示参数。把 w 替换成 µ + σ ξ ,得到噪声 DQN
  •  其中的 µ σ 是参数,一开始随机初始化,然后从经验中学习;
  • ξ 则是随机生成,每 个元素都从 N (0, 1) 中抽取。
  • ——>噪声 DQN 的参数数量比标准 DQN 多一倍。

         在之前的DQN中(包括带target network的、Double DQN、Dueling Network),我们为了一定的采样随机性,使用ε-Greedy作为行为策略

        但对于noisy DQN来说,其本身就有一定的随机性,可以进行exploration,所以可以不用ε-Greedy,直接

 2.1 Q-learning 方法

  • TD目标:
  • TD损失函数
  • 同样地进行梯度下降更新参数

注:j+1时刻和j时刻的是不一样的,每次都需要随机生成新的 

2.2 noisy DQN进行决策

  • 做完训练之后,可以用噪声 DQN 做决策。
    • 做决策的时候不再需要噪声,因此可以把参数 σ 设置成全零,只保留参数 µ
    • 这样一来,噪声 DQN 就变成标准的 DQN

 

3 noisy DQN的好处 

  • 在训练的时候往 DQN 的参数中加入噪声,不仅有利于探索,还能增强鲁棒性。
    • 鲁棒性意思是即使参数被扰动,DQN 也能对动作价值 Q做出可靠的估计。
  • 假设在训练的过程中不加入噪声。
    • 把学出的参数记作 µ。当参数严格等于 µ 的时候, DQN 可以对最优动作价值做出较为准确的估计。
    • 但是对 µ 做较小的扰动,就可能会让DQN 的输出偏离很远。
  • 噪声 DQN 训练的过程中,参数带有噪声: w = µ + σ ξ
    • 训练迫使 DQN 在参数带噪声的情况下最小化 TD 误差,也就是迫使 DQN 容忍对参数的扰动。
    • 训练出的 DQN 具有鲁棒性:参数不严格等于 µ 也没关系,只要参数在 µ 的邻域内, DQN 做出的预测都应该比较合理。

以上是关于强化学习笔记:noisy DQN的主要内容,如果未能解决你的问题,请参考以下文章

异步并行强化学习 + Double DQN

DQN笔记:MC & TD

强化学习 DQN 经验回放 是什么

强化学习 DQN 经验回放 是什么

DQN 为什么要批更新

DQN 为什么要批更新