DQN论文详解
本文介绍DeepMind发表在Nature上的经典论文《Human-level control through deep reinforcement learning》
强化学习的中心问题是Agent如何优化它们对环境的控制(如何对环境采取行动以获得最大奖赏),理论基础包括动物行为的心理和神经科学研究。在处理复杂度高的真实世界任务时,Agent不得不从高维度的感知输入中提取环境的高效表达,将过往经验应用到新情形下。
人类和动物是如何处理真实世界中的复杂任务呢?解决办法是和谐地混合强化学习和层次性的感知系统。人类和动物的多巴胺能神经元释放的相位信号和强化学习中的temporal difference
(强化学习的一种算法)有显著的相似性。
在DQN之前,强化学习的应用往往仅限于手工提取特征、状态空间低维完全观测的领域。DQN则实现了从高维度的感知输入直接学习策略的端到端的强化学习。
在Atari 2600经典游戏试验中,DQN Agent仅仅使用像素和得分作为输入,它可以达到专业玩家的水平。不同游戏中,Agent使用相同的算法、网络结构、超参数。
DeepMind在他们的论文里宣称,DQN的出现弥合了高维感知输入和具体动作之间的鸿沟,使得AI可以胜任多元复杂任务。
论文中给出的任务设定:Agent与环境交互,得到观测、动作、奖赏的序列, Agent的目标是选择可以最大化未来累积奖赏的动作。
DeepMind使用深度卷积网络去近似最优情形下的Q函数
image
DQN算法是Q-learning算法的一种。当使用非线性函数逼近时,理论上无法证明Q-learning的收敛性,此时Q-learning算法收敛不稳定甚至发散,原因如下
- 观测序列的相关性(连续observation的相关性非常强)
- Q值的稍微改变可能使得策略发生很大的变动,导致数据分布的变动
-
action-value
和target value
之间的相关性
image
从上面可以看出,使用神经网络来学习Q和逼近其他函数的不同在于
- 数据并非独立同分布,例如,前一个观测和后一个观测之间存在较强的相关性
- 数据分布发生改变,Q的些微改变都可能导致策略的重大变化,从而改变观测的分布
- target value和action-value之间的相关性
为了改善收敛,DeepMind使用了下面两套机制
-
experience replay:随机化数据,消除了观测序列的相关性,平滑了数据分布的变动
image
image - target value:仅仅周期性更新而不是每个Step都更新,减少与action-value之间的相关性
这样在第i轮迭代时,Q-learning依据如下损失函数更新
loss function
DeepMind宣称DQN方法能够稳定地结合强化学习信号和随机梯度下降来训练大规模神经网络,他们对比了DQN Agent、其它RL Agent、人类选手、Random Agent(每次都均匀地选择动作),DQN Agent表现优异。
Agent只能观测到当前的screen,因此这个任务是部分观测型的(从当前的screen无法完全探知局势)。因此取观测、动作序列作为算法输入(每个序列都是有限的),即每个MDP的状态是
image
预处理中,取了最近4帧堆叠作为输入,模型架构是卷积+全连接+线性输出。训练细节,由于每场比赛的得分范围不同,奖赏被限制在-1,0,1之间reward clip
,这样限制了误差导数的范围,使得不同比赛可以使用相同的学习率。这也影响了Agent的性能表现,因为它无法区分不同幅度的奖赏了。训练时,使用RMSProp优化器,采用epsilon-greedy策略(探索率从1线性降到0.1)
评估时,以epsilon-greedy策略(0.05)运行520k帧后,指标为
- 每个游戏会话的平均胜率
- 平均每个状态选择的动作的Q值