[DQN] Playing Atari with Deep Reinforcement Learning
Posted 超级超级小天才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[DQN] Playing Atari with Deep Reinforcement Learning相关的知识,希望对你有一定的参考价值。
论文链接:https://arxiv.org/abs/1312.5602
引用:Mnih V, Kavukcuoglu K, Silver D, et al. Playing atari with deep reinforcement learning[J]. arXiv preprint arXiv:1312.5602, 2013.
概述
Deep Reinforcement Learning (DQN) 是一个 model-free、off-policy 的强化学习算法,使用深度神经网络作为非线性的函数估计,是一个“端到端”训练的算法。Deep Q-network 直接接受RGB三通道图片作为输入,输入为N个动作对应的Q值,即 Q ( s , a ) Q(s,a) Q(s,a),论文的实验主要基于七个Atari游戏。
算法
主要的创新点
- 引入了一个replay buffer,用于存储采样,即一个四元组: [ s t a t e t , a c t i o n t , r e w a r d t , s t a t e t + 1 ] [state_t,action_t,reward_t,state_t+1] [statet,actiont,rewardt,statet+1],每次梯度更新需要从buffer中随机抽取一批数据来进行梯度下降,由于buffer本身有大小限制,所以新进来的数据会顶替旧的数据(按队列规则,先进先出),这样的好处在于:可以减少每个sample之间的关联性,减少方差,(因为训练时假设每个sample都是iid的,也就是 independently and identically distributed,但是如果直接使用按照时间序列依次采样得到的sample来训练,显然他们是不符合iid的),并且可以使用batch训练来充分利用硬件资源。
- 使用了target network和policy network,采样时使用target network来取得数据,但是训练时更新policy network的参数,在一定的步骤数后,将policy network的参数再拷贝给target network。
- 由于有一个replay buffer,而且batch size要远远大于1,而每一步都会采样更新,所以几乎每个sample都会被使用好多次,所以是 data efficient 的。
- 可以端到端训练,因为输入时直接使用游戏界面的RGB图像,输出时Q值。
- 网络底层对RGB图片进行了一定的预处理,将其转换成了灰度图,且裁剪出中间的一个游戏的主体部分
其他的点
- 实验所测试的所有Atari游戏均采用了同一套网络结构和超参数(很强的适应性)
- 在进行evaluation的时候,除了传统的使用累计奖赏或平均奖赏外,还使用了一些state对应的Q值变化来进行评估,更能体现出算法的稳定性
以上是关于[DQN] Playing Atari with Deep Reinforcement Learning的主要内容,如果未能解决你的问题,请参考以下文章
[DQN] Playing Atari with Deep Reinforcement Learning
Playing Atari with Deep Reinforcement Learning:打响DRL的第一枪
Playing Atari with Deep Reinforcement Learning
Paper Reading 1 - Playing Atari with Deep Reinforcement Learning