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,所有负奖励固定为−1,0奖励不变。以这种方式削减奖励限制了误差衍生工具的规模,并使其更容易在多个游戏中使用相同的学习率。同时,这可能会影响性能。因为它无法区分不同数量的奖励。
算法流程
DQN算法的流程如下:
1.初始化深度神经网络和经验回放存储器。
2.对于每个时间步,首先观察当前状态,然后根据某个随机策略或当前深度网络的输出确定一个动作。
3.执行动作,并观察下一个状态和奖励信号。
4.将当前状态、动作、奖励和下一个状态存储到经验回放存储器中。
5.从经验回放存储器中随机采样一批经验,然后计算相应的Q值,并使用MSE损失函数训练深度神经网络。
6.每隔一段时间将当前深度网络的参数复制到一个目标网络中,用于计算目标Q值。
7.重复执行2-6步,直到达到预设的训练次数或目标性能。
在训练过程中,DQN算法使用深度神经网络估计状态-动作对的Q值,并使用经验回放存储器来平稳训练,从而提高算法的收敛性和稳定性。同时,使用目标网络来稳定训练,减小训练过程中的更新幅度,从而避免Q值的不稳定性和过度估计
结论
本论文介绍了一种新的强化学习深度学习模型,并展示了其仅使用原始像素作为输入就能掌握Atari 2600电脑游戏中困难的控制策略的能力。我们还提出了一种在线Q-learning的变体,将随机小批量更新与经验回放内存相结合,以便轻松训练用于强化学习的深度网络。我们的方法在七个受测试的游戏中,在六个游戏中给出了最先进的结果,没有对架构或超参数进行任何调整。