强化学习之DQN论文介绍

简介: 强化学习之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的变体,将随机小批量更新与经验回放内存相结合,以便轻松训练用于强化学习的深度网络。我们的方法在七个受测试的游戏中,在六个游戏中给出了最先进的结果,没有对架构或超参数进行任何调整。

目录
相关文章
|
机器学习/深度学习 存储 算法
【强化学习】常用算法之一 “DQN”
DQN算法是深度学习领域首次广泛应用于强化学习的算法模型之一。它于2013年由DeepMind公司的研究团队提出,通过将深度神经网络与经典的强化学习算法Q-learning结合,实现了对高维、连续状态空间的处理,具备了学习与规划的能力。本文对DQN算法进行了详细的讲解,包括发展史、算法公式和原理、功能、示例代码以及如何使用。DQN算法通过结合深度学习和Q-learning算法,实现了对高维、连续状态空间的处理,具备了学习和规划的能力。
1404 0
【强化学习】常用算法之一 “DQN”
|
机器学习/深度学习 存储 算法
I2A、MBMF、MVE、DMVE…你都掌握了吗?一文总结强化学习必备经典模型(三)
I2A、MBMF、MVE、DMVE…你都掌握了吗?一文总结强化学习必备经典模型
466 0
|
机器学习/深度学习 算法 自动驾驶
【强化学习】什么是“强化学习”
强化学习是机器学习领域的一种重要方法,主要通过使用环境的反馈信息来指导智能体的行为,并且通过智能体收集的经验数据对自身策略进行优化。在强化学习中,我们通常用“智能体”来表示学习机器或者一个决策实体。这个智能体在某个环境中采取行动,然后收到环境的反馈信号(奖励或者惩罚),从而逐渐学习到一个最优的行动策略。在强化学习中,主要涉及到一些概念,如状态、行动、奖励、策略等等。状态指的是输入进入智能体算法的集合,行动指的是智能体做出的反应,奖励通常是指环境给予智能体的反馈信息,策略指的是智能体在某种状态下选择的行为。
178 0
【强化学习】什么是“强化学习”
|
机器学习/深度学习 存储 算法
【强化学习】常用算法之一 “Q-learning”
Q-learning算法是一种基于强化学习的无模型学习方法,通过学习到目标系统的Q值函数来解决智能体在给定环境下的最优决策策略问题。Q-learning算法是基于后验策略方法,即学习出目标系统的价值函数Q之后,通过使用某种策略来最大化该价值函数,称之为后验策略。Q-learning算法是偏差-方差权衡的算法,在偏差较高的情况下可以在基于模型的强化学习中找到一个接近最优策略的解决方案。同时它也具有较高的收敛速度和广泛的适用性,因为其只需要存储一个值函数,不需要存储模型。
394 0
【强化学习】常用算法之一 “Q-learning”
|
机器学习/深度学习 决策智能
初探强化学习
初探强化学习
112 0
|
10月前
|
机器学习/深度学习 算法 自动驾驶
强化学习模型
强化学习模型
151 0
|
机器学习/深度学习 人工智能 自然语言处理
【ICLR2020】基于模型的强化学习算法玩Atari【附代码】
【ICLR2020】基于模型的强化学习算法玩Atari【附代码】
152 0
|
机器学习/深度学习 算法
介绍Q-Learning和两种常见的强化学习算法原理
介绍Q-Learning和两种常见的强化学习算法原理
82 0
|
机器学习/深度学习 存储 算法
DQN、A3C、DDPG、IQN…你都掌握了吗?一文总结强化学习必备经典模型(一)
DQN、A3C、DDPG、IQN…你都掌握了吗?一文总结强化学习必备经典模型
288 0
|
机器学习/深度学习 存储 算法
DQN、A3C、DDPG、IQN…你都掌握了吗?一文总结强化学习必备经典模型(二)
DQN、A3C、DDPG、IQN…你都掌握了吗?一文总结强化学习必备经典模型
376 0