当前位置:首页 > 科技数码

dqn 开源 | OpenAI基准DQN及其三个变体:通过最佳实践确保DQN正确性

选自开放人工智能博客

机心编译

参与:黄,微胖

我们打开了OpenAI基准(https://github . com/open ai/baselines),力求重现与已发表论文相当的强化学习算法。接下来的几个月,我们会发布算法;今天,DQN和它的三个变种发布了。

再现强化学习的结果非常复杂:性能非常嘈杂,算法有很多活跃的部分,所以会有细微的漏洞,很多论文没有报告所有必要的技巧。通过发布正确的知识(以及创建这些知识的最佳实践),我们希望确保强化学习的显著优势绝对独立于现有算法的错误或调试版本的比较结果。

强化学习算法的正确实施面临挑战。好的结果通常只来自于修复看似不重要的漏洞。本文包含了一些修改强化学习算法实现的最佳实践和DQN公布的一些细节。

查看代码:https://github.com/openai/baselines

最佳实践

与随机基准相比:在下面的视频中,游戏H.E.R.O中,代理的动作是随机的;如果在训练初期看到这一点,很容易认为代理在学习。所以,你要时刻证明你的代理人的表现优于随机代理人。

谨防非突破性漏洞:在研究了一个包含10个流行强化学习算法的重新实现的样本后,我们注意到其中6个包含了微妙的漏洞,这些漏洞是由社区成员发现的,并得到了作者的证实。这些漏洞包括忽略一些样本梯度或错误实施因果卷积的轻微漏洞,以及严重漏洞,如报告的分数高于真实结果。

像你的代理一样看世界:像大多数深度学习方法一样,对于DQN,我们倾向于将环境的图像转换成灰度,以减少训练过程中所需的计算量。这就带来了这方面的问题:当Seaquest运行DQN算法时,我们注意到我们的部署性能非常差。在查环境的时候,我们找到了原因——如图所示,后处理的图像不含鱼。

在将屏幕图像转换为灰度时,我们错误地校准了绿值系数,导致鱼消失。注意到这个错误后,我们调整了颜色值,算法可以再次看到鱼。

为了以后调试这样的问题,健身房现在包含了一个播放功能,研究人员可以像代理一样轻松看到同样的观察结果。

修复bug,然后是超参数:修复bug后,开始调整超参数。最后,我们发现为超级参数ε设置退火程序以控制探测速率会显著影响性能。最后,在最初的100万步之后,我们将超级参数减少到0.1,在接下来的2400万步之后,我们将超级参数减少到0.01。如果在实践中有漏洞,我们可能会想出不同的超级参数设置来解决我们还没有诊断出来的问题。

再次查看论文解释:在《DQN自然》的论文中,作者写道,“我们还发现这有助于”将错误术语从更新编辑为-1到1之间。这个表达式有两种解释方式:计算渐变时,编辑对象,或者编辑乘法项。前者看起来更自然,但是当改变(转换)时,梯度将为零,误差很大,并且性能不是最优的,正如我们在DQN的实现中发现的那样。后一种解释是正确的,还有一种简单的数学解释——Huber loss。您可以通过检查符合预期的梯度来找到类似的漏洞。在TensorFlow中使用compute _ gradients(https://www.tensorflow.org/API _ docs/python/TF/train/gradientdeponentoptimizer # compute _ gradients),很容易检查出符合预期的渐变。

在多次浏览代码后,然后考虑每一行代码可能有什么问题,我们发现了这篇博文中提到的大部分漏洞。虽然有点后知后觉,但即使是有经验的研究人员也很容易低估发现一个实现中的所有漏洞需要多少次代码。

深度问答学习

我们用Python 3和TensorFlow。此版本包括:

DQN:这种强化学习算法可以将Q-Learning和深度神经网络结合起来,使强化学习在复杂的高维环境中工作,比如游戏或机器人。

Doubel Q Learning:有时候,现有的DQN算法往往会高估与具体动作相关的值,从而纠正这个问题。

priority Replay(https://arxiv . org/ABS/1511.05952):通过学习回放记忆,将DQN回放功能的体验扩展到真实回报与预测回报存在显著差异的地方,使代理能够针对不正确的假设调整响应。

决斗DQN:神经网络分为两部分,一部分学习评估每一个时间步长的值,另一部分计算每一步的潜在优势,然后将它们组合成一个单一的动作优势Q函数。

启动时,运行:

pip安装基线

#训练模型并将结果保存到cartpole_model.pkl

python-m baselines . deepq . experiments . train _ cart pole

#加载cartpole_model.pkl中保存的模型,并可视化学习到的策略

python-m baselines . deepq . experiments . happy _ cart pole

我们还提供经过培训的代理,其操作如下:

python-m baselines . deepq . experiments . atari . download _ model-blob model-atari-pre-duer-break-1-model-dir/tmp/models

python-m baselines . deepq . experiments . atari . happy-model-dir/tmp/models/model-atari-pre-duer-duer-break-1-env Breaking-duering

基准

我们还有一个iPython笔记本,展示DQN是如何在雅达利上部署的。可以对比不同算法的性能。决斗双Q学习带优先重放(黄色)、双Q学习带优先重放(蓝色)、决斗双Q学习(绿色)、双Q学习(红色)。

↓↓↓

1.《dqn 开源 | OpenAI基准DQN及其三个变体:通过最佳实践确保DQN正确性》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《dqn 开源 | OpenAI基准DQN及其三个变体:通过最佳实践确保DQN正确性》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1452118.html

上一篇

北京红黄蓝幼儿园虐童案宣判 刘亚男获刑1年6个月

下一篇

快递员性侵案一审 犯强奸罪获刑3年6个月

朱高煦死法 朱棣次子朱高煦再三作死,结果死法也是古今罕见,成了“烤全羊”

  • 朱高煦死法 朱棣次子朱高煦再三作死,结果死法也是古今罕见,成了“烤全羊”
  • 朱高煦死法 朱棣次子朱高煦再三作死,结果死法也是古今罕见,成了“烤全羊”
  • 朱高煦死法 朱棣次子朱高煦再三作死,结果死法也是古今罕见,成了“烤全羊”
兰州交通事故 兰州“11·3”重大道路交通事故调查结果公布

兰州交通事故 兰州“11·3”重大道路交通事故调查结果公布

新华社兰州11月16日电兰州市政府16日公布“11.3”重大道路交通事故调查结果。调查发现事故车辆带病上路,违章超载。当事故车辆失去刹车时,事故驾驶员没有采取紧急措施规避风险。货物装载时存在安全隐患,加重了事故损害。3...

兰州高速车祸 兰州“11·3”重大道路交通事故调查结果公布

新华社兰州11月16日电兰州市政府16日公布“11.3”重大道路交通事故调查结果。调查发现事故车辆带病上路,违章超载。当事故车辆失去刹车时,事故驾驶员没有采取紧急措施规避风险。货物装载时存在安全隐患,加重了事故损害。3...

杭州小学生发现西游记漏洞 从大唐到西域很多菜相似

杭州小学生发现西游记漏洞 从大唐到西域很多菜相似

杭州小学生发现西游记漏洞 从大唐到西域很多菜相似  西湖区这位小学生发现《西游记》一个漏洞  《西游记》是很多人心中的经典,当主题曲《云宫迅音》响起,大家就知道,暑假来了。  杭州九莲小学五班的马思齐,最爱看《西游记...

拼多多APP下架 技术存漏洞遭苹果应用商店下架

拼多多APP下架 技术存漏洞遭苹果应用商店下架  拼多多App遭苹果应用商店下架:技术bug,将紧急修复  11月27日,社交电商平台拼多多证实其App从苹果应用商店短期下架。  拼多多的声明称,最新发版的iOS客户端...

三度论坛 “2018互联网安全与治理论坛”在蓉举办 发布《网络安全感和满意度社会调查结果通报》

四川新闻网成都9月18日电-今天下午,由公安部网络安全局主办、四川省公安厅、成都市公安局、公安部第三研究所承办的“2018互联网安全与治理论坛”主题活动在成都高新区世纪城国际会议中心举行。十多位“大咖”根据自己的工作经...

贾跃亭仲裁被驳回 贾跃亭与恒大仲裁结果出炉

贾跃亭仲裁被驳回 贾跃亭与恒大仲裁结果出炉  贾跃亭与恒大仲裁结果出炉 双方各执一词均称自己获胜  双方仲裁结果出炉,贾跃亭提出的彻底剥夺恒大融资同意权的要求被否决,临时提出要进一步剥夺恒大资产抵押权的新要求被一并否决...

原配起诉小三要70万"包养费" 结果竞是这样

原配起诉小三要70万"包养费" 结果竞是这样  原配起诉小三索要70万“包养费”,经调解愿为她养娃  已婚男子偷偷在外养了小三,还和小三生育了两个孩子。原配得知后,一怒将小三告上法庭,要求小三返还丈夫为其支付的70万...