Playing Atari with Deep Reinforcement Learning

Introduction

首先文章指出从深度学习角度转换成强化学习的几个困难的地方:
1)深度学习需要大量的标注数据,但是RL算法必须从稀疏的,有噪声的,延迟的reward里面去学习
2)action和reward之间的delay是比较吓人的,而深度学习中input和target之间的关联则是要简单的多。
3)深度学习通常假设样本是独立的,但是RL中state之间是highly correlated。
4)RL中数据分布会随着算法的进行而发生变化,但是深度学习的数据分布是不会变化的

文章的贡献是:
1)卷积神经网络客服这些挑战来学习成功的控制策略(!!!!神经网络学的是控制策略)
2)网络用Q-learning的算法进行训练。
3)上文中提到了RL中数据的关联性和分布变化等特性,作者采用replay机制从过去的transition中随机的采样,从而平滑训练分布。
(!!!!Q-learning只是一种算法,不是网络)

本文怎么学习的:
与通常的人类没有什么区别,就是通过video的输入,reward,terminal signal和一系列可能的action来进行学习。

Background

e: 环境,在本文就是Atari 仿真器
xt:t时刻屏幕对应的图像画面
1)首先在每一步,agent会从A={1,…,K}中选择一个action,送入到环境中也即仿真器中,来修饰它的内部状态和游戏的score,仿真器的内部状态agent是看不到的,agent仅仅能看到t时刻的输入xt
2)Agent在每一个时刻仅仅能看到仅仅能看到当前时刻的输入,许多的环境也即仿真器的状态其实是被忽略的,因此如果利用t时刻的st信息来学习游戏规则,效果会更好。St=x1,a1,x2,a2,…,at-1,xt
3)Agent的目标就是通过和仿真器的交互来选择最大化未来reward的动作(action),reward的表达式如下,
在这里插入图片描述
从公式可以看出,是将未来的T-t个时刻的reward加在了一起形成了t时刻的reward。T是游戏终止的时刻。
4)接下来定义的是最优价值函数,最优价值函数计算的是一种期望,什么期望呢,就是在看见了序列s和采取了动作a之后的未来reward的期望,这就是最有价值函数的定义,也是Q值的定义。 π \pi π能够从sequential映射到action的一种策略
在这里插入图片描述
5)最优的价值函数遵循贝尔曼方程。什么是贝尔曼方程呢?
假设下一步的squence是s’, 最优值Q(s’, a’)在不同的a’的选择下都知道了,最优的策略就是选择能够使下式最大的a’。
在这里插入图片描述
直接求最大值的做法很显然不可取,通常是将贝尔曼方程转化成迭代的方式进行求解。当i趋向于无穷的时候,会收敛到最优值。

在这里插入图片描述在这里插入图片描述

在实际中,这样的估计通常都是不合情理的,因为action-value函数对于每一个sequence都是独立估计的的,并没有泛化性,因此通常采用Q值函数来近似此估计。可以用线性函数来进行近似也可以用非线性函数来进行近似。如果是非线性函数近似就是神经网络,把这样的网络叫做Q-network。既然是网络,就要损失最小化,就涉及到怎么定义损失。
在这里插入图片描述
损失定义如下:
在这里插入图片描述
yi对应的就是target, ρ ( s , a ) \rho(s,a) ρ(s,a)是一个基于sequence s和action a的行为分布。当进行 θ i \theta_i θi优化的时候, θ i − 1 \theta_{i-1} θi1是固定的。
在这里插入图片描述
梯度反传函数如下,通过随机梯度下降函数进行下列的反传优化:

在这里插入图片描述

算法优点是:
1)算法是model-free,他解决了强化学习任务直接从仿真器进行采样
2)同样是policy-free,学习贪婪策略,通过遵循行为分布来保证合适的状态空间的开发。

Method

3.1 采用什么样的策略

1) 相比于TD-gammon和其他在线的方法,作者采用的是experience replay的方法。这种方法会去存储每一个时间步的agent的经验,也即et。将这所有的et放入到一个data-set D中,在许多episode上进行了pooled的操作。注意:这个data set D 的大小是N。在下文有提到,这里的N是最近的N歌。
2)在内循环中,随机从D中进行采样,然后对采样出来的样本进行Q-learning的更新或者minibatch的更新。
3)在做完上述步骤之后,agent就会根据 ε \varepsilon ε-geedy算法选择或者执行一个动作或者行为。
4)因为神经网络的输入是固定长度的,因此必须采用 ϕ \phi ϕ函数将输入转换为固定长度。

在这里插入图片描述

3.2 采用上述策略的原因

1)之所以采用随机的方法进行采样的方法,是连续的样本之间具有很强的强相关性,如果随机采样可以可以打破他们之间的强相关性。
2)在学习本次参数的同时也会决定下一次采用什么样的样本。如果最大化行为偏向于向左,那么采取的样本会更倾向于left-hand.
3) 通过expericence replay的方法,behaviour分布在过去的几个状态里是平均的,能够平滑学习,避免发散。

3.3 上述策略的优势

这种采取的方法并没有区分出重要的transition因为都是采取的随机的transition,而且最近的transition都会被忽略。

网络结构

  • 网络的输入是经过裁剪的图片, ϕ \phi ϕ函数将会截取最近的四帧送入到网络进行训练。
  • Q网络能将history-pair对映射到他们对应的Q-value值上面。但是这种同时输入history和action的方法的坏处就在于对于每一个action都要往前传一遍前传的网络,这样会大大增加网络的cost。相比之下,作者采用的方法比较巧妙,让网络输出N个action的状态,每一个action对应的是在此history下面的网络的对应的输出,就是最后网络输出的每一个单元都是一个action。在后面作者描述网络结构的时候也可以发现,最后的全连接层的输出的个数就是action的个数。

Experiments

4.1

Since the scale of scores varies greatly from game to game, we fixed all positive rewards to be 1 and all negative rewards to be -1, leaving 0 rewards unchanged. Clipping the rewards in this manner limits the scale of the error derivatives and makes it easier to use the same learning rate across multiple games. At the same time, it could affect the performance of our agent since it cannot differentiate between rewards of different magnitude.

因为分数的尺度随着游戏的不同而不同,作者将所有的正的reward设置为1,负的reward设置为-1,剩下的0依然是0.他会影响agent因为他不能够区分不同的magnitude。

More precisely, the agent sees and selects actions on every kth frame instead of every frame, and its last action is repeated on skipped frames

Agent每隔k帧选择action!!!!!

4.2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值