Human-level control through deep reinforcement learning(DQN)

简介

这篇文章是deepmind提出的大名鼎鼎的dqn,首次将深度神经网络与强化学习结合。在Atari 2600的游戏上以只输入图片和得分的形式进行训练,获得了比人类专家更好的游戏结果。

动机

这篇文章认为强化学习应用中面临一个很大的挑战。以往的强化学习算法取得较好的结果要么输入是低维的状态空间,要么是手工设计的有用的特征,如何从输入的高维的空间信息(例如图片)中提取出有用的知识非常困难。

方法

将q-learning与神经网络结合。使用神经网络来估计q-learning的q-table,也就是动作值函数。使用神经网络来对数据拟合的前提是数据是独立同分布的,然而强化学习生成的带有序列信息的数据,前后联系不具备这种特征。如果使用顺序产生的数据用于训练网络会使网络出现问题,对动作价值函数的错误估计,进而影响后续产生的数据。为了能够使用神经网络来对动作值函数进行估计,使用了两个方法。

  1. experice replay:将游戏过程产生的数据,包括当前状态(state),当前的动作(action),收益(reward),下一个状态(next_state)。存放到experice replay buffer,每一次训练网络的时候,从experince replay buffer中选择一定数量(batch size)的数据作为输入。
  2. 使用一个阶段更新的target network来作为训练的目标(label)。既然是训练神经网络,除了预测的结果,还有预测结果的标签。文章提出使用一个和预测网络结构完全相同target网络,来预测结果作为标签。并在更新预测网络的一定次数后,将预测网络的参数完全复制给target 网络。需要注意的是,使用的标签并不是直接使用target网络对当前状态预测价值。而是使用当前的回报与未来折损收益的和作为标签(贝尔曼期望方程)。


实验

Human-level control through deep reinforcement learning(DQN)_第1张图片
DQN在Atari 2600上的表现

在atari 2600上游戏的性能,指标是human-normalized score,是一种更能和人水平进行比较的指标。计算方法如下:

random score是随机操作智能体的得分,相当于0分
human score是有人类专家操作的得分

你可能感兴趣的:(Human-level control through deep reinforcement learning(DQN))