深度增强学习《Human-level control through deep reinforcement learning》读后总结

先贴一个链接,这篇文章写得很不错:www.greatytc.com/p/d347bb2ca53c

这篇文章是DeepMind团队于2015年在Nature上发表的关于深度增强学习的一篇文章。

这篇文章非常有趣,作者通过将深度学习与强化学习相结合,提出了一个名叫“deep Q-network”的算法。作者通过使用同一种算法和网络,同一种超参数,在49种游戏的集合中,仅仅使用像素点和游戏分数作为输入,就有超过一半游戏超过了专业游戏玩家的水平。

接下来是具体的原理介绍,

首先我们将这个游戏任务进行转换,假设这里有一个agent,在一个环境中(比如某个游戏)。环境有着一个即时状态s0。agent可以在环境中执行某种行动a0(比如向左或者向右移动)。这些行动可能会带来收益r1,并且会改变环境并使其进入新的状态s1,然后agent又可以这行另外的行动,如此进行下去。因此总共的收益就是:

我们的目标就是最大化这个R,同时为了使程序更关注现在的r,我们对r进行时间上的折减,折减系数为γ,因此有下面这个action-value函数:

等式右边可以转换为以下形式:

但是这里有一个问题,当使用非线性函数(如卷积神经网络)来估计Q函数时,函数可能不稳定甚至会发散。主要有以下几种原因:

1.可观测序列的相关性,即每次输入的图片都是时间上前后连续的。

2.Q值的小的更新会很大范围的更改策略进而更改数据的分布

3.Q值和目标函数(也就是上面等式右边的式子)之间的相关性

为此作者使用了:

1.经验延迟机制,它会将数据随机化,因此可以消除观测数据的相关性,并且减小数据分布的影响。

2.使用一个迭代更新算法调整Q函数向目标值的方向,并且周期性的更新,从而可以降低和目标之间的相关性。


为了实现经验延迟机制,作者将每一时刻t对应的

都存入数据集Dt,因此

在训练的时候,随机从Dt里面抽取mini-batch个样本,并在它们上面使用Q-learning更新。

第i次迭代时的损失函数如下:

为了验证模型的效果,作者在Atari2600平台上测试了它。这个平台提供了49种不同的游戏。作者使用相同的网络架构、超参数和学习过程来证明他们的方法可以非常鲁棒的成功在很多游戏中学习到操作策略,并且学习过程仅仅基于传感器的输入并且只依赖很少的先验知识(仅仅是视觉图像输入,以及每个游戏可采取的动作个数)。最终在29个游戏上,成功超越了75%的人类玩家的分数!最后作者通过使用一个叫做“t-SNE”的技术将所有状态可视化了出来。

最后作者介绍了他们实验的具体方法,

1.数据预处理:

首先,为了编码一个单帧图像,我们在要编码的图像和上一幅图像的每个像素颜色值中取最大值,这有利于消除游戏过程中的闪烁。第二点,我们从RGB图像中提取了Y通道,即亮度通道,然后把它缩小为84*84大小。每次选取最近的4帧图像并将他们作为Q函数计算的输入,也就是卷积神经网络的输入。

2.网络结构:

作者使用了三层卷积层和两层全连接层的网络,而并没有使用Pooling层,因为Pooling层会对每一帧图像中像素的位置关系造成影响。

3.训练细节:

(1)由于49种游戏的分数范围差别很大,我们对于正的回报给予1,负的回报给予-1,对于不变的给予0。使用这种方式,可以限制误差倒数的规模,同时对于不同的学习任务可以更容易的使用相同的学习速率。

(2)为了使算法能够对新玩法一直保持尝试,而不是一直使用一种策略,作者使用了RMSProp算法,其中的mini-batch大小是32。在训练过程中以的概率来选择策略,ε退火的线性的从1.0到0.1,然后固定在0.1上。也就是说,最开始ε=1,也就是每一次都随机选择策略。当ε=0.1时,则以0.1的概率选择其他策略(a),以0.9的概率保持当前策略。

(3)使用了简单的frame-skipping技术。也就是说,机器人每经历k幅图像才采取一个动作,而不是每幅图像都采取动作,在忽略的图像播放过程中,其动作会一直持续。因为在运行仿真器的过程中,前馈一步所需要的计算比程序选取一个动作所需的计算量要少很多。作者使用的k=4。

4.算法

最优的“动作-值”函数遵循一个重要的恒等式,也就是贝尔曼等式。原文中描述如下:

也就是说,假设通过下一步行动a’所得到的Q*(s’,a’)已知,

则我们的任务就是最大化r+γQ*(s’,a’)这个式子,转化一下就得到上面的等式了。

然后我们用一个权重为θ的神经网络来近似模拟上面的式子,则

可以用

来表示,于是损失函数可以表示为:

其中:

最后的训练步骤为:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容