使用 DQN 在 Atari 游戏中获得的即时奖励

人工智能 强化学习 深度学习 奖励
2021-11-06 12:03:47

我试图了解在强化学习问题中建模的不同奖励函数。我想知道如何缓解时间信用分配问题(只有在许多动作序列之后才能观察到奖励,因此没有观察到即时奖励)。

通过阅读 DQN 论文,我无法筛选出当Qtarget(s,a;θ)=rs+argmaxaQ(s,a;θ). 什么是rs在分数没有变化的情况下使用?因此,在 atari 游戏中为时间信用分配问题建模的即时奖励是什么?

如果rs在分数改变之前确实为 0,它会影响 DQN 的准确性吗?如果您甚至不知道采取该行动的直接回报是什么,那么更新方程式似乎是不准确的。

当前用于解决时间信用分配问题的方法有哪些?

另外,我似乎找不到很多解决时间学分分配问题的论文

1个回答

按顺序回答您的问题:

什么是rs在分数没有变化的情况下使用?

它是0.

因此,在 atari 游戏中为时间信用分配问题建模的即时奖励是什么?

奖励可以重新建模以提高学习速度。这称为“奖励塑造”,通常由可以调整数字以奖励已知的良好中间状态和动作的领域专家完成。

对于 DQN Atari,这还没有完成。取而代之的是,研究人员进行了奖励标准化/缩放,以便使用中度评分系统的游戏可以由相同的神经网络逼近器处理,就像一次发放数千分的游戏一样。

使用稀疏奖励是强化学习的标准做法,所有强化学习方法都在一定程度上解决了信用分配问题。从本质上讲,无论奖励稀疏性如何,理论上价值函数都可以作为一种预测机制,所以如果它们是正确的,无论下一个奖励是 1、50 还是 1000 时间步长,都可以用来驱动策略。奖励备份更新从值迭代到蒙特卡罗控制、SARSA、Q-Learning 和 Actor-Critic 的所有备份值到早期时间步骤中看到的状态/动作。这种价值备份是原则上解决信用分配的基本机制。学分分配问题是不同环境的程度和难度问题,因此有时很容易解决,有时却是一个主要障碍。

对于视频游戏,尤其是较老的街机游戏,这通常不是问题的难点。这些游戏旨在通过频繁增加分数来奖励人类玩家,游戏中已经有很多子目标。事实上,这是视频游戏作为开发新算法的玩具环境的吸引力之一。

例如,经典的太空入侵者不会简单地为在敌人一波中幸存而得分+1,而是为每个击中的玩家导弹加分。虽然分数不会在每一帧都增加,但此类游戏的奖励稀疏性相对较低,使用经验重放的简单单步 Q 学习可以轻松解决该环境的得分分配问题(经验重放确实对得分有所帮助任务)。这就是最初的 DQN Atari 论文所证明的,没有为奖励稀疏性做额外的准备。

如果rs在分数改变之前确实为 0,它会影响 DQN 的准确性吗?

不是直接的,DQN 预测未来的预期回报,原则上可以解释其估计中的延迟和稀疏性。但是,如果这变得非常稀疏,您会遇到两个问题:

  • 发现环境中的正奖励可能需要很长时间,并且可能需要更高级的技术,例如奖励塑造以鼓励搜索行为(每个时间步的小负奖励)或“好奇心

  • 信用分配变得更加困难,因为可能有助于成功的可能组合数量随着奖励之间的时间距离呈指数增长。确定哪些是重要的,尤其是在导致奖励的轨迹的早期,可能需要很多样本。

当前用于解决时间信用分配问题的方法有哪些?

如上所述,这是 RL 中的核心问题,因此文献中有很多方法。一些标准方法是:

  • DynaQ 使用的背景规划,或体验回放。这会在使用最新估计时重新评估之前看到的状态和动作,并且可以将值备份到轨迹内做出重要决策的位置。通过专注于对当前估计产生最大影响的更新,优先体验重播可以提供更多帮助。

  • 时差(λ) 带有资格痕迹资格跟踪直观地是一种信用分配机制,它们跟踪最近活跃的状态特征,并根据跟踪向量乘以值更新。同样,这会导致状态或状态动作值更快地备份到轨迹的早期部分。

  • 如上所述的奖励塑造。在某些研究环境中,这可能被视为“作弊”——例如,当面临开发算法的标准化环境测试时,添加领域知识来帮助代理只是证明核心算法比声称的要弱。然而,当面临的挑战是用最好的代理解决环境时,使用任何知识都可以(或者当然根本不使用 RL)。