强化学习之DQN论文介绍

DQN

摘要

1.基于Q-learning从高维输入学习到控制策略的卷积神经网络。

2.输入是像素,输出是奖励函数。

3.主要训练、学习Atari 2600游戏,在6款游戏中3款超越人类专家。

介绍

DQN(Deep Q-Network)是一种基于深度学习的强化学习算法,它使用深度神经网络来学习Q值函数,实现对环境中的最优行为的学习。DQN算法通过将经验存储在一个经验回放缓冲区中,以解决Q值函数的相关性问题,并使用固定的目标网络来稳定学习。在训练过程中,DQN通过选择最大Q值的动作来更新神经网络的参数,以优化Q值函数的预测能力。DQN算法在许多不同的强化学习任务中都表现出色,例如游戏玩耍和机器人控制等领域。

问题

  • 没有大量的人工标签

  • 数据样本之间相互独立

  • 数据分布会发生变化

特点

DQN算法的主要特点包括:

  1. 基于深度学习的模型学习:DQN使用深度神经网络来学习Q值函数,可以处理高维状态空间和动作空间的问题,并且可以自动学习复杂的特征表示。
  2. 经验回放:DQN通过将经验存储在一个经验回放缓冲区中,以解决Q值函数的相关性问题,并从经验池中随机选择数据进行训练,以提高学习的效率和稳定性。
  3. 固定的目标网络:DQN使用固定的目标网络来稳定学习过程,减少Q值函数的震荡和不稳定性。
  4. 学习的离线和在线:DQN可以通过从回放缓冲区中提取数据进行离线学习,也可以在实时任务中进行在线学习。
  5. 适用范围广:DQN算法适用于许多不同的强化学习任务,包括游戏玩耍、机器人控制、交通控制等领域。
  6. 高性能:DQN在许多强化学习任务中表现出色,甚至可以超过人类水平。

经验回放

经验回放是一种将智能体在环境中收集的经验存储在缓冲区中,以便智能体可以从中随机抽取样本进行学习的技术。以下是一个简单的经验回放示例:

考虑一个强化学习智能体正在玩一个电子游戏,每个时间步它都会观察到当前的游戏状态,并采取一个动作。该智能体将当前状态、采取的动作、获得的奖励以及转移到的下一个状态保存在一个经验元组中,然后将其添加到经验回放缓冲区中。

当智能体需要进行学习时,它可以从经验回放缓冲区中随机选择一批经验元组进行训练。通过从经验池中随机选择样本,智能体可以消除经验的时序相关性,减少样本之间的相关性,提高学习的效率和稳定性。在训练期间,智能体可以使用这些样本来更新其策略和价值函数,从而提高其性能并学会在游戏中取得更高的得分。

相关工作

  • 在此之前最先进的是:TD-gammon。在双陆棋上取得卓越成效。
  • 与我们工作最相近的是:NFQ。

实验

到目前为止,我们已经在七款流行的ATARI游戏上进行了实验。我们对奖励结构进行了一次更改。由于各场比赛的得分水平差异很大,我们将所有正奖励固定为1,所有负奖励固定为−10奖励不变。以这种方式削减奖励限制了误差衍生工具的规模,并使其更容易在多个游戏中使用相同的学习率。同时,这可能会影响性能。因为它无法区分不同数量的奖励

算法流程

DQN算法的流程如下:

  1. 初始化深度神经网络和经验回放存储器。
  2. 对于每个时间步,首先观察当前状态,然后根据某个随机策略或当前深度网络的输出确定一个动作。
  3. 执行动作,并观察下一个状态和奖励信号。
  4. 将当前状态、动作、奖励和下一个状态存储到经验回放存储器中。
  5. 从经验回放存储器中随机采样一批经验,然后计算相应的Q值,并使用MSE损失函数训练深度神经网络。
  6. 每隔一段时间将当前深度网络的参数复制到一个目标网络中,用于计算目标Q值。
  7. 重复执行2-6步,直到达到预设的训练次数或目标性能。

在训练过程中,DQN算法使用深度神经网络估计状态-动作对的Q值,并使用经验回放存储器来平稳训练,从而提高算法的收敛性和稳定性。同时,使用目标网络来稳定训练,减小训练过程中的更新幅度,从而避免Q值的不稳定性和过度估计

结论

本论文介绍了一种新的强化学习深度学习模型,并展示了其仅使用原始像素作为输入就能掌握Atari 2600电脑游戏中困难的控制策略的能力。我们还提出了一种在线Q-learning的变体,将随机小批量更新与经验回放内存相结合,以便轻松训练用于强化学习的深度网络。我们的方法在七个受测试的游戏中,在六个游戏中给出了最先进的结果,没有对架构或超参数进行任何调整。

猜你喜欢

转载自blog.csdn.net/qq128252/article/details/129027326
今日推荐