深度强化学习系列(10):NoisyNet-DQN原理及实现 深度学习原理.pdf 深度强化学习系列(10):NoisyNet-DQN原理及实现深度学习原理.pdf 深度学习 人工智能 本文解决的是强化学习中的“探索问题”(efficient exploration),作者通过给训练网络中添加噪音参数(和梯度更新同时更新网络权重参数),通过权重网络的训练来更新参数,结果表明能够使 用额外较小的计算成本,在A3C、DQN、Dueling DQN等算法上实现相对于传统的启发式更优的结果。 背景及问题 我们知道,对于探索-利用而言,目前通常采用的以下两种方法:epsilon-greedy:-(以超参数形式给出)很有可能会导致智能体采取随机步骤,而不是按照它学到的策略采取行动。通常的做法是,在训练开始时使该-,然后慢慢减小到一个较小的值,例如0.1或0.02。熵正则化:将策略的熵添加到损失函数中时,在策略梯度方法中使用它,以惩罚我们的模型过于确定其行为。 而常见的启发式搜索在强化学习中的原则是“Optimism in the face of uncertainty”,这种面对不确定性的乐观属性就导致了启发式需要在智能体的性能表现上有理论保证,而这些方法的缺点在于仅限于使用在较小的状态、动作空间比较小或者是线性函数逼近的问题上效果还可以,对于一些问题复杂的函数毕竟问题并不能够很好的进行解决。 作者提出了一个NoisyNet,该方法主要包括将高斯噪声添加到网络的最后(完全连接)层。噪声的参数可以在训练过程中通过模型进行调整,这使智能体可以决定何时以及以什么比例将权重引入不确定性。 原理与数学过程 NoisyNet是一个神经网络,其权重和偏置会受到噪音的影响,ϵ greedyϵ greedy = 1一般的,如果将NoisyNet数学表示为(x表示输入,y表示输出,表示噪音参数),作者在此处将定义为:其中定义为是一组可学习参数向量的集合,“”是零均值噪音的量,具有固定统计量,表示逐元素乘法。 那么关于噪音参数的损失函数我们表示为:那么接下来的过程就是对进行优化。那如何优化呢?接下来让我们思考这样一个问题对于一个输入来说,数学表示为,其中可知,,这个理解起来很简单。那么如果给参数中添加噪音呢?(也就是给网络结构添加噪音)? 下面是作者给出的带有噪音参数的线性层数学表示:乍看起来挺复杂,其中$w \left(\mu{w} \odot \varepsilon{b}+\sigma^{b} \odot\varepsilon^{b})$,每个参数的维度如下:y = f (x)θθθθ = def μ + Σ ⊙ εζ = def (μ,Σ)ε⊙ε :(ζ)Lˉ= def E[L(θ)]ζpqy = wx + bw ∈ Rq×p x ∈ Rp b ∈ Rpy = def μ + σ ⊙ εx +(www)μ +bσ ⊙bεb等价于{w}+\sigma{w}\right)$,$b$等价于$(\muμσεμ ∈wRq×pσ ∈wRq×pε ∈wRq×pμ ∈bRqσ ∈bRqε ∈bRq其中 是随机噪音参数,下图是对该过程进行图表表示: 其含义如下:以上是如何引入噪音的问题,在论文中,作者尝试噪音参数引入的两种分布:独립高斯噪音(Independent Gaussian Noise):噪音层的每个权重都是独립的,并且具有模型自学习的 和 。也就是对于任意的(对应)和 (对应 )的参数都是来自高斯分布。共 个变量分解高斯噪音(Factorised Gaussian Noise):包含噪音的输入输出:第一个人具有输入p个单位的高斯分布噪音输入,第二个人具有q个单位的高斯噪音输出。共 个变量,其分解如下: 这里的函数是一个实值函数使 用蒙特卡罗近似梯度,单步优化如下:εμσεi,jwεjbεwεb(pq + q)εi(p + q)εi,jwεjb = f εf ε( i)( j)= f ε( j)f : f(x) = sgn(x)∣x∣∇ (ζ) =Lˉ∇E[L(θ)] = E ∇L(μ + Σ ⊙ ε)[μ,Σ]∇ (ζ) ≈Lˉ∇L(μ +μ,ΣΣ ⊙ ξ) Deep NoisyNet原理以及初始化过程 注:本文的Noisy是针对于值函数(动作-值函数)的,不是针对策略输出的action的 3.1 各种算法的NoisyNet更新公式其实数学的更新公式很简单,重新构造优化目标和优化参数(在原来的值函数基础上加上对应参数即可) NoisyNet-DQN NoisyNet-Dueling DQN NoisyNet-A3C 3.2 噪音的初始化过程 1. 对于没有分解的高斯参数来说,每个元素 的采样来自于独립正态分布 ,其中 表示神经网络的输入层的输入。 2. 分解高斯参数来说,采样来自于分布参见代码: (ζ)Lˉ(ζ) =LˉE Er + γQ y,b,ε ;ζ− Q(x, 本文提出了一种新的深度强化学习方法NoisyNet-DQN,通过引入噪音参数来解决探索问题,实验结果表明该方法能够获得更好的结果,并且具有更高的计算效率。
- 粉丝: 31
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助