Python语言与信息数据获取和机器学习人工智能/模式识别/机器学习精华专题

DQN论文详解

2017-11-15  本文已影响0人  四碗饭儿

本文介绍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算法收敛不稳定甚至发散,原因如下

从上面可以看出,使用神经网络来学习Q和逼近其他函数的不同在于

为了改善收敛,DeepMind使用了下面两套机制

这样在第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帧后,指标为

Reference

https://www.nature.com/articles/nature14236

上一篇下一篇

猜你喜欢

热点阅读