Noisy DQN

论文链接:Noisy DQN(MeireFortunato et al., 2019)

在深度强化学习智能体中引入了参数噪声—— NoisyNet,并且该智能体策略的随机性可以用来帮助有效的探索。利用梯度下降法学习噪声参数和剩余网络权值。对于 A3C,DQN,Dueling Agent,可以使用这个 NoisyNet 来替代传统的探索启发式方法(如,熵奖励和 ϵ − g r e e d y \epsilon-greedy ϵgreedy)。而且具有 NoisyNet 的 Agent 在 Atari 游戏中的表现常常会有很大的提升,并且超过人类的水平。

NoisyNets 是指权值和偏差受噪声参数函数扰动的神经网络。这些参数是通过梯度下降来调整的。定义由噪声参数 θ \theta θ 的向量参数化的神经网络:
在这里插入图片描述
在这里插入图片描述
一般的,线性的神经网络层表示为:
在这里插入图片描述
相应地,带噪声的线性层定义为:
在这里插入图片描述

在有噪声网络的线性层的噪声分布可以有两种选择:

  1. 独立的高斯噪声:每个权值和偏差的噪声是独立的
  2. Factorised 高斯噪声:减少了网络中随机变量的数量,从每个权值一个减少到每个有噪声的线性层的每个输入和每个输出一个。

噪声网络的损失函数(噪声的期望)及其梯度:
在这里插入图片描述
在这里插入图片描述
对上面的梯度使用蒙特卡罗近似:

在这里插入图片描述


噪声网络在DQN中的使用(NoisyNet-DQN):

  1. 不再使用 ϵ − g r e e d y \epsilon-greedy ϵgreedy ,直接使用贪婪策略(最优值函数)。
  2. 值函数的全连接层参数化为一个有噪声的网络,其中参数从每个回放后的噪声网络参数分布中提取。
  3. 为了回放,当前的噪声网络参数样本保持固定。
  4. 由于 DQN 对每个动作步都进行了优化,因此在每个动作之前都要重新采样噪声网络参数。

NoisyNet-DQN loss:
在这里插入图片描述

NoisyNet-DQN 算法伪代码:
Noisy DQN_第1张图片


噪声网络在 A3C 中的使用:

  1. 删掉策略损失函数的熵奖励。
  2. 将策略网络的全连接层参数化为噪声网络。
  3. 在每一步优化之后都采样策略网络的新参数,由于A3C使用n步返回,所以每n步就会发生优化。

NoisyNet-A3C 算法伪代码:

Noisy DQN_第2张图片

你可能感兴趣的:(RL)