Playing Atari with Deep Reinforcement Learning 作者: Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller 单位:Deepmind 论文链接:https://arxiv.org/abs/1312.5602 亮点:作者提出了用深度学习模型来拟合价值函数,结合Q-Learning进行训练的深度强化学习算法DQN,并且在Atari 2600上进行了验证。 Motivation (Why): 传统RL依赖手工特征和线性的价值函数,性能受限。
作者: Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller
单位:Deepmind
论文链接:https://arxiv.org/abs/1312.5602
亮点:作者提出了用深度学习模型来拟合价值函数,结合Q-Learning进行训练的深度强化学习算法DQN,并且在Atari 2600上进行了验证。
传统RL依赖手工特征和线性的价值函数,性能受限。DL的技术进步,可以在原始数据中提取高维信息,不需要再手工提取特征。如果把DL和RL结合起来,RL算法性能可以显著提升,但是这有以下两个问题要克服:
作者通过使用一个CNN网络和Q-Learning算法结合的DQN算法来解决上述问题。具体来说,动机中的DL算法需要大量有标签数据的问题是由Q-Learning训练中的Fixed Q-target思路解决的,而RL算法中数据不是独立同分布的问题是通过经验回放来缓解(alleviate)的。
与之前TD-Gammon直接在On-policy的策略中学习不同,DQN采取了Off-policy的形式,将采样数据存在一个固定大小的名为经验回放池的集合中,训练中将集合划分成多个Mini-batch,采用SGD优化器更新权重。对于在Q-learning中使用经验回放策略来缓解非独立同分布的问题,本文提出的算法如下图所示:

以上是DQN完整的算法,算法根据 \epsilon -贪婪策略在状态 s_t 选择并执行一个行动 a_t, 观测系统给出的奖励 r_t 以及采取动作后的游戏画面 x_{t+1}, 由于使用任意长度的历史作为神经网络的输入是很困难的,因此作者通过序列转换函数 \phi(),将序列 s_{t+1} = s_t,a_t,x_t+1 转化成 状态向量 s_{t+1}, 使Q函数可以在固定长度的历史上工作。此外,作者利用一种被称为经验重放的技术, 将算法在不同回合中各时间步长采集的经验数据 e_t = (s_t, a_t, r_t, s_{t+1}) 汇总存放在一个经验重放存储器 D=e_1,...,e_N 中。在算法内循环中需要对模型进行更新的时候,我们从存储样本的经验重放存储器中随机抽取样本,对模型参数进行更新。
本文提出方法的优点:
待改进的地方:
经验回放部分只储存最近的经验,并且取样的时候是随机取样的,并不区分比较重要的样本,还因为内存问题不停地覆盖先前的经验。可以用更复杂的取样策略,来区分出哪些样本更重要并加以利用。
结果:

DQN在7个Atari 2600游戏上的得分有6个超过了最好方法,有3个游戏超过了人类专家,但在Q*bert、Seaquest、Space Invaders等游戏上与人类相差甚远,作者评价它们更具挑战性,需要要求网络找到可以延伸到更长时间尺度的策略。
个人思考
吴文昊,西安交通大学硕士在读