PixelCNN-based Pseudocounts

Count-Based Exploration with Neural Density Models

原文链接:Count-Based Exploration with Neural Density Models

简介

本文主要在CTS-based Pseudocounts的基础上做出了三点改进:

  1. 使用PixelCNN代替CTS作为密度模型
  2. 采用了多步RL方法
  3. 提出了混合蒙特卡洛更新

方法

PixelCNN 作为密度模型

PixelCNN 是一种生成模型,通过自回归方式建模像素的联合分布。本文对其进行了简化以适应强化学习的实时性要求:

  • 架构:使用轻量级 PixelCNN,包含 2 个残差块和 16 个特征图(原版为 15 个残差块和 128 个特征图)
  • 训练:在线训练(逐帧更新),避免因批量训练导致的优化冲突。
  • 学习率:固定学习率(如 0.001),实验表明优于衰减学习率

相比CTS作为密度函数,有如下提升:

  1. 更强的表达能力:卷积结构捕捉全局特征,提升伪计数的准确性。
  2. 更稳定的探索:PixelCNN生成的伪计数更平滑,对罕见事件的响应更显著(如房间切换),同时减少了噪声
    image-63.png
  3. 稀疏奖励突破:在Montezuma’s Revenge等游戏中实现SOTA性能。

衰减伪计数

由于神经模型的优化约束(如固定学习率),直接满足理论假设(如 PG 衰减率为 $n^{-1}$)较困难。因此,本文引入衰减系数 $c_n$:

$$ \hat{N}_n(x) = \left( \exp\left(c \cdot n^{-1/2} \cdot \text{PG}_n(x)\right) - 1 \right)^{-1}, $$

其中 $c$ 为常数(如 0.1),$n^{-1/2}$ 确保伪计数的合理增长。此外,PG 被阈值处理为 $\text{PG}_n(x)^+ = \max(0, \text{PG}_n(x))$,以应对可能因为“超调”现象出现的负增益。
超调现象指在神经网络训练中,优化器(如SGD、Adam、RMSProp)可能因步长(学习率)过大或梯度方向不稳定,导致参数更新过度(overshooting),使更新后的模型对$x$的概率估计不升反降

混合蒙特卡洛更新

混合蒙特卡洛更新(Mixed Monte Carlo , MMC)结合了 Q-Learning 和蒙特卡洛更新的优势:

$$ Q(x, a) \leftarrow Q(x, a) + \alpha \left[ (1 - \beta) \delta(x, a) + \beta \delta_{\text{MC}}(x, a) \right], $$

其中 $\delta(x, a)$ 为 TD 误差,$\delta_{\text{MC}}(x, a)$ 为蒙特卡洛回报。MMC 的作用包括:

  • 快速传播探索奖励:稀疏奖励下,蒙特卡洛回报能直接传递长期回报信息。
  • 突破稀疏奖励瓶颈:在 Montezuma’s Revenge 等游戏中,仅 MMC 或仅探索奖励均无效,但二者结合能显著提升性能。
comments powered by Disqus
发表了21篇文章 · 总计4万5千字
使用 Hugo 构建
主题 StackJimmy 设计