DQN

DQN

为了让强化学习能够逼近复杂的现实世界,agents必须面临一个很难的问题:它们必须从高维的传感器输入中提取到有效的对于环境的表达,并且使用这些去泛化之前的经验来适应新的情况。人类和动物似乎是通过有效的方式结合强化学习和层次化的传感器处理系统来解决这个问题的。本文我们发展了一种新的人工agent——deep Q-network,它可以使用端到端的强化学习方法直接从高维传感器输入中学习到成功的策略。

用强化学习来拟合一个非线性函数逼近器(用神经网络来代表动作价值函数Q)是不稳定的,甚至是不收敛的。这个不稳定性有下面原因:观测序列之间的相关性,Q的很小的更新都会很显著地改变策略因此会改变数据的分布,和动作价值Q和目标价值 r + γ max ⁡ a ′ Q ( s ′ , a ′ ) r+\gamma \max_{a'}Q(s',a') r+γmaxaQ(s,a)的相关性。我们使用新的Q-learning变体来解决不稳定性,这个变体有两个核心点。第一,我们使用生物上的启发机制 experience replay,这可以打乱数据减少观测序列的相关性,平缓数据分布的改变。第二,我们对动作价值Q是每个iter都更新,对于target是周期性更新,这也减少了target的相关性。
在实验中,我们阐释了DQN agent的核心组件的重要性——replay memory,分开的目标Q-network和深度卷积网络结构,去掉任意一个都会对性能产生不好的影响。

METHODS

Preprocessing. 我们直接处理Atari 2600的raw图像帧,这些图像帧是210x160的像素,而且只有128个颜色。考虑到计算和存储的用量,我们使用一个基本的预处理步骤来减小输入的维度以及处理一些Atari 2600模拟器自带的特性。第一,取当前一帧和前面一帧的对应像素的最大值作为像素值,这是为了移除游戏中的闪烁问题。第二,从RGB图像中提取Y通道,也就是亮度,然后rescale到84x84,同时还使用最近m帧的数据,将它们堆叠起来作为输入。
Model architecture. 这里将state作为网络的输入,直接输出对于多个action的Q values,不需要对于一个action搭建一个网络。
Training details. 我们在49个Atari 2600游戏上进行实验。每个游戏训练一个不同的网络:使用同样的网络,学习算法和超参设定。这说明我们的方法足够鲁棒来适用于很多游戏,只需要引入很少的先验知识。因为得分的范围根据游戏的不同而不同,我们将所有可能的rewards限制在1到-1,如果不变就是0。
我们同样采用frame-skipping方法,也就是agent每k帧看并且选择动作,并不是每一帧,被跳过的帧使用上一次的动作。因为模拟器向前一步的计算量小于agent选择一个动作,这样agent可以跑大概k次游戏,而且几乎不增加时间。
下图为超参设置。
在这里插入图片描述
我们的实验使用了一些先验:输入数据是视觉图像(驱使我们使用CNN),game-specific score,动作的数量以及生命值。
Evaluation procedure. 我们评估训练过的agent的方法是让agent玩游戏玩30次,每次从不同的初始随机状态开始玩至多5分钟,使用policy是 ϵ − g r e e d y \epsilon-greedy ϵgreedy策略, ϵ = 0.05 \epsilon=0.05 ϵ=0.05。这样做的目的是为了最小化评估时的过拟合。随机agent被当做baseline来进行比较,10hz(每6帧)随机选择动作,在间隔帧重复上一个动作。10Hz是人类玩家选择按键的最快速度,选择这个频率避免了虚假的baseline。
同时专业的人类玩家也使用同样的模拟器来作为agents,在规定的条件下玩游戏。人类玩家不允许暂停,保存和重载。在原始的Atari2600环境中,模拟器频率是60Hz,禁止音频输出,也就是只使用画面。每个游戏先练习两个小时,然后每个游戏玩20次每次步超过5分钟取平均来作为人类preformance。
Algorithm.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值