首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >塔秘 | DeepMind提出Rainbow:整合DQN算法中的六种变体

塔秘 | DeepMind提出Rainbow:整合DQN算法中的六种变体

作者头像
灯塔大数据
发布于 2018-04-04 03:53:35
发布于 2018-04-04 03:53:35
9820
举报
文章被收录于专栏:灯塔大数据灯塔大数据

导读

「AlphaGo 之父」David Sliver 等人最近探索的方向转向了强化学习和深度 Q 网络(Deep Q-Network)。在 DeepMind 最近发表的论文中,研究人员整合了 DQN 算法中的六种变体,在 Atari 游戏中达到了超越以往所有方法的表现。

大规模强化学习(RL)在复杂连续决策问题中最成功的方法是 Deep Q-Network 算法(DQN; Mnih et al. 2013, 2015)。它包含了 Q 学习的卷积神经网络与以及反复经验(experience replay)而从原像素中学习,已在多种 Atari 游戏中达到或超过了人类水平的表现。从那时起,很多扩展性方法被不断提出,不断提升着这种方法的速度和稳定性。

Double DQN(DDQN;van Hasselt、Guez&Silver;2016)通过解耦选择(decoupling selection)和引导行动评估解决了 Q 学习过度估计偏差的问题。Prioritized experience replay(Schaul 等人;2015)通过重放(replay)学习到更频繁的转换,提升了数据效率。dueling 网络架构(Wang 等人;2016)可以通过分别表示状态值和动作奖励来概括各种动作。从多步骤引导程序目标中学习(Sutton;1988;Sutton & Barto 1998)如 A3C(Mnih 等人;2016)中使用偏差-方差权衡而帮助将最新观察到的奖励快速传播到旧状态中。分布式 Q 学习(Bellemare、Dabney & Munos;2017)学习了折扣回报(discounted returns)的分类分布(代替了估计平均值)。Noisy DQN(Fortunato 等人;2017)使用随机网络层进行勘测(exploration)。当然,以上几种方法还不是全部。

图 1. 57 个 Atari 游戏中等人类水平与各类 DQN 方法的对比。研究人员将各类 DQN 方法结合起来(彩虹色)与 DQN(灰色)和各自的表现基准进行了对比(其他各颜色)。DQN 混合方法的优势在 7 百万帧后开始显现,在 4400 万帧后大幅度领先,随后性能提升趋于平缓。

以上这些算法各自都可以提升 DQN 性能的某个方面,因为它们都着力于解决不同的问题,而且都构建在同一个框架上,所以能够被我们整合起来。在一些例子中这种方法已经被使用过了:Prioritized DDQN 和 Dueling DDQN 都使用了 Q 学习,Dueling DDQN 也结合了 prioritized experience replay。在 DeepMind 最近发表的论文中,研究人员讨论了综合上述所有方法的整合性方案,并提出了单智能体系统:Rainbow。研究人员展示了整合后的表现,证明了它们很大程度上是互补的。实际上,这些组合在 57 个 Atari 2600 游戏组成的基准测试环境中在数据效率和最终结果上都达成了新的业界最佳水平。该研究也提供了分类测试结果,显示了每种组件对于提升性能的贡献。

表 1. Rainbow 的超参数。在 57 种 Atari 游戏的测试中,研究使用了同一个智能体和参数。

表 2. Rainbow 和其他测试基准的表现分数对比。

图 4. 所有 57 个 Atari 游戏的独立智能体(ablation agents)性能下降测试。性能是学习曲线下的面积,相对于 Rainbow 智能体和 DQN 进行了规则化。其中,DQN 超越 Rainbow 的两种游戏被剔除了。导致性能下降最严重的组件在每个游戏中都被高亮显示了。删除优先级和多步骤学习在大多数游戏中造成的性能影响最大,不过每个组件在不同游戏中的影响各有差异。

论文:Rainbow: Combining Improvements in Deep Reinforcement Learning

论文链接:https://arxiv.org/abs/1710.02298

深度强化学习社区对于提升 DQN 算法的性能已经做出过很多种独立的改进尝试。但是,目前我们尚不清楚这些扩展是不是互补的——它们是否可以互相结合?在本论文中,我们研究了 DQN 算法的 6 个扩展,对其组合进行了实证研究。我们的实验组合在 Atari 2600 基准测试中,数据效率和最终表现上都实现了实现了业内最佳水平。我们也提供了详细的研究结果,其显示了每种组件对于总体性能的贡献。

文章来源:机器之心

文章编辑:秦革

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灯塔大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
记一次微信小程序逆向
加密嘛,之前抓了看到是加密就放弃了,现在重新弄一弄 https://github.com/wux1an/wxapkg 用这个工具反编译本地微信小程序
亿人安全
2024/05/14
1.5K1
记一次微信小程序逆向
小程序逆向分析 (二) 跑起来
李老板: 奋飞呀,光Debug一下没啥意思,有没有可能把这个反编译出来的小程序跑起来?还是说反编译的代码有缺漏,不好使?
奋飞安全
2021/09/10
1.5K0
以【某程旅行】为例,讲述小程序爬虫技术
前提:在学习本文采集小程序数据之前,相信大家都掌握了抓取数据包的技能,比如使用Mitmproxy进行抓取数据包。如果看到这里的你还没有掌握的话,可以参与辰哥之前的写的一篇关于mitmproxy使用的文章(实战|手把手教你如何使用抓包神器MitmProxy)。
Python研究者
2021/07/20
3K0
以【某程旅行】为例,讲述小程序爬虫技术
逆向教程 - 完整逆向某小程序破解签名算法过程记录
一天晚上我正在愉快的网上冲浪的时候突然我一个朋友给我转发了一个叫“大家画我”的小程序,大概意思就是用他小程序里面内置的画板去画个图片,然后就可以显示出来了。
用砖头敲代码
2022/10/31
2.3K0
逆向教程 - 完整逆向某小程序破解签名算法过程记录
微信小程序网络通信(一)
先调用 wx.login(Object object) 获取临时登录凭证,及code,然后wx.request()方法将登录凭证发送到开发者服务器,开发者服务器得到code以后通过appiid和appsecret以及code将信息发送到微信接口服务,然后微信接口服务器将信息返回session_key + openid 等信息,接着开发者服务器进行自定义登录态,即将登录态将openid,session_key进行关联,然后向小程序防返回自定义登录态。
mySoul
2018/09/26
1.8K0
再聊一道面试题:Websocket
事情是这样shai儿的,早在很多年前老李曾经到一家公司去面试,面试官和老李之间产生了这样一段对话:
老李秀
2020/04/26
4.8K0
再聊一道面试题:Websocket
小程序渗透记录 通过细节挖掘漏洞的艺术
近期挖掘的几个有意思的支付漏洞逻辑漏洞,记录一下。希望能对师傅们有一点点的思路帮助,欢迎指正及交流学习!
亿人安全
2025/03/31
1651
小程序渗透记录 通过细节挖掘漏洞的艺术
SRC 视角下:渗透测试中的逻辑漏洞思路博弈
最近挖到的中高危漏洞,既没靠 `0day` 这种 "王炸",也没搞复杂利用链 "炫技",纯靠瞪大眼睛当 "人肉扫描器",连标点符号都不放过地逐行比对参数和响应。直到某个昏昏欲睡的下午,随手改了个藏在 `JSON` 数据深处的小参数,系统突然像短路反馈了全新的信息,反常的响应直接暴露未授权访问的 "马脚"。当时激动得差点把咖啡泼到键盘上,看着满地咖啡渍才顿悟 —— 原来倒掉的咖啡,比直接喝咖啡提神一百倍
亿人安全
2025/06/30
720
SRC 视角下:渗透测试中的逻辑漏洞思路博弈
「IM系列」WebSocket教程:安全授权认证详解和简单实现思路
近年,不论是正在快速增长的直播,远程教育以及IM聊天场景,还是在常规企业级系统中用到的系统提醒,对websocket的需求越来越大,对websocket的要求也越来越高。从早期对websocket的应用仅限于少部分功能和IM等特殊场景,逐步发展为追求支持高并发,百万、千万级每秒通讯的高可用websocket服务。
Tinywan
2023/12/05
1.9K0
「IM系列」WebSocket教程:安全授权认证详解和简单实现思路
腾讯云ASR产品-PHP实现录音文件识别极速版鉴权请求
(2)腾讯云控制台开通实时语音权限 https://console.cloud.tencent.com/asr
HI hero
2021/10/11
6.7K14
绕过接口参数签名验证
在一些关键业务接口,系统通常会对请求参数进行签名验证,一旦篡改参数服务端就会提示签名校验失败。在黑盒渗透过程中,如果没办法绕过签名校验,那么就无法进一步深入。
Bypass
2022/12/01
1.6K0
【小程序逆向专栏】某润选房小程序逆向分析
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
K哥爬虫
2024/04/30
3870
【小程序逆向专栏】某润选房小程序逆向分析
App爬虫神器mitmproxy和mitmdump的使用
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。 mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。 下面我们来了解它们的用法。 一、准备工作 请确保已经正确安装好了mitmproxy,并且手机和PC处于同一个
崔庆才
2018/06/25
13K0
Src挖掘-某众测前端解密学习记录
某次大型金融公司众测,抓包发现都是加密数据,经过Jsrpc与autoDecoder学习调试后,最后也是成功还原数据包,挖掘出高危漏洞。分享经验,希望对大家有所帮助。
亿人安全
2024/04/19
4010
Src挖掘-某众测前端解密学习记录
小程序中神秘的用户数据
上一篇文章手把手教会你小程序登录鉴权介绍了小程序如何进行登录鉴权,那么一般小程序的用户标识可以使用上文所述微信提供的jscode2session接口来换取,小程序还提供了一个getUserInfo的API来获取用户数据,这个用户数据里面也可以包含当前的用户标识openid。本文就如何获取小程序中的用户数据及数据完整性校验等内容来展开详述
腾讯IVWEB团队
2020/06/24
1.6K0
实战|手把手教你如何使用抓包神器MitmProxy
玩爬虫的小伙伴都知道,抓包工具除了MitmProxy外,还有Fiddler、Charles以及浏览器netwrok等
Python研究者
2021/05/13
4.9K0
实战|手把手教你如何使用抓包神器MitmProxy
以【某程旅行】为例,讲述小程序爬虫技术
前提:在学习本文采集小程序数据之前,相信大家都掌握了抓取数据包的技能,比如使用Mitmproxy进行抓取数据包。如果看到这里的你还没有掌握的话,可以参与辰哥之前的写的一篇关于mitmproxy使用的文章(实战|手把手教你如何使用抓包神器MitmProxy)。
Python研究者
2021/07/18
5070
腾讯云ASR产品-PHP实现实时语音鉴权请求
(2)腾讯云控制台开通实时语音权限 https://console.cloud.tencent.com/asr
HI hero
2021/06/24
3.6K0
腾讯云ASR产品-PHP实现实时语音鉴权请求
小程序开发新能力解读 - 2021.09
介绍:通过视频号直播与视频内容中的介绍更好地了解小程序提供的服务。可以在直播电商、内容营销等应用场景与视频号进行更好的联动。
binnie
2021/09/09
1.1K0
小程序开发新能力解读 - 2021.09
用小程序·云开发打造运动圈小程序丨实战
和朋友合伙写了一个小程序,写了一个以共享乒乓信息和交流的平台———乒乓圈。我们使用了微信的云开发来完成数据和后台的作用。免去了租赁服务器。
腾讯云开发TCB
2019/09/04
1.9K0
推荐阅读
相关推荐
记一次微信小程序逆向
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档