写点什么

DeepMind 推出 Agent57,在所有雅达利游戏上超越人类

  • 2020-05-19
  • 本文字数:1512 字

    阅读完需:约 5 分钟

DeepMind推出Agent57,在所有雅达利游戏上超越人类

谷歌旗下DeepMind的研究人员开发了一款名为Agent57的强化学习(RL)系统,该系统在街机学习环境下的全部 57 款雅达利 2600 游戏中得分都超过了人类。Agent57 是第一个在这种最难的游戏上全面超越人类的系统。


研究人员在 arXiv 上发表的一篇论文中介绍了这个系统以及一系列的实验。Agent57 基于的是 DeepMind 之前关于永不放弃(NGU)算法强化学习的工作成果。其底层架构由一个神经网络组成,该网络编码一组策略,范围从探索到利用,使用自适应机制在整个培训过程中对不同的策略进行优先级排序。另外的改进是,通过增加训练的稳定性来解决长期的可信度赋值问题。通过这些改进,Agent57 在所有游戏中的得分中值都高于 NGU。此外,在之前的人工智能系统根本不能玩的游戏中,Agent57 的得分表现也优于人类。


尽管 DeepMind 的大部分研究都集中玩游戏的 AI 上,包括像AlphaGo研究的经典棋盘游戏,据该团队他们的说法,其目标是“使用游戏作为系统开发的垫脚石,让 AI 应对更广泛的挑战。”研究人员认为雅达利 2600 系列游戏是用于评定 RL 表现的一个很好的基准,因为每款游戏都足以代表一个实际的挑战,而整个系列包含非常多品种,提供足够的多样化。尽管经过多年的研究,深度 Q-Networks (Deep Q-Networks,首个在多款游戏中实现人类水平表现的系统)也进行了多项改进,“所有深度强化学习代理始终未能在四款游戏中得分:蒙特祖玛的复仇(Montezuma’s Revenge)、陷阱(Pitfall)、飞向太空(Solaris)和滑雪(Skiing)。”若要玩好这些游戏,需要系统解决 RL 中的两个难题:探索-利用问题和长期信度分配问题。


探索-利用权衡是行为人在选择已经学习的策略和探索新的策略之间所必须达到的平衡。像《陷阱》和《蒙提祖玛的复仇》这样的游戏要求玩家在获得任何奖励之前先探索游戏“世界”。Agent57 的前身 NGU 使用了一种通过检测新的游戏状态而产生内在奖励的方式。于是,它学习了一套探索和利用政策。Agent57 使用一个多臂 bandits 元控制器改进了这一点,该控制器在训练期间调整了探索-利用平衡。


当代理采取的行动有延迟的报酬时,就会出现长期信度分配问题。例如,在滑雪游戏中,直到游戏结束才会给出分数,因此系统无法轻松学习游戏开始后不久所采取的动作的效果。Agent57 对 NGU 的改进是将 agent 的神经网络分为两部分:一部分学习预测行为的内在奖励,另一部分学习预测行为的外在奖励。研究人员发现,这“显著”提高了训练的稳定性。


DeepMind 团队将 Agent57 的性能与其他几个系统进行了比较,包括 NGU、循环回放分布式DQN (R2D2)和 MuZero。尽管 MuZero 在整个套件中拥有最高的平均值和中位数得分,但有一些游戏它“根本”就不会玩,得到的分数并不比随机策略好多少。Agent57 在最难的 20%的游戏中获得了最好的分数,并且是唯一在所有游戏中都超过人类表现的系统。


骇客新闻关于 Agent57 的讨论中,一名用户指出:


整个进化过程看起来越来越像 20 世纪 80 年代的专家系统,人们不断地添加越来越多的复杂性来“解决”一个特定的问题。对于强化学习,开始的时候,是简单而优雅的 DQN,而现在新的算法看起来像一个巨大的修修补补的大杂烩。事实上,NGU 极度复杂,看起来像是打满各种补丁的临时组合。现在在 NGU 的顶部,我们还加入了元控制器,甚至是 bandits ,最终成就了一款几乎无所不包的工具。


DeepMind 成立于 2010 年,2014 年被谷歌收购。DeepMind 开发的 AlphaGo 在 2016 年击败了最优秀的人类围棋选手之一。


原文链接:


DeepMind’s Agent57 Outperforms Humans on All Atari 2600 Games


译者简介:


冬雨,小小技术宅一枚,关注编程、软件工程、敏捷、DevOps、云计算等领域,非常乐意将国外新鲜的 IT 资讯和深度技术文章翻译分享给大家。


2020-05-19 14:382001

评论

发布
暂无评论
发现更多内容

链路压测中各接口性能统计

FunTester

性能测试 测试框架 测试开发 FunTester 链路测试

Linux之lastlog命令

入门小站

Linux

【Vue2.x 源码学习】第四十三篇 - 组件部分 - 组件相关流程总结

Brave

源码 vue2 9月日更

从一个并发异常问题引起的想法

卢卡多多

并发编程 9月日更

多线程知识体系01-线程池源码阅读讲解-Executor

小马哥

多线程 高并发 源码阅读 源码剖析 日更

升级mysql-connector-java-8.x踩坑纪实

小江

Java MySQL 时间戳 服务器时区 夏令时

Go 专栏|变量和常量的声明与赋值

AlwaysBeta

Go 语言

在线JSON转JAVA工具

入门小站

工具

【LeetCode】 二叉树中和为某一值的路径Java题解

Albert

算法 LeetCode 9月日更

华为云PB级数据库GaussDB(for Redis)揭秘:如何搞定推荐系统存储难题

华为云开发者联盟

数据库 推荐系统 存储 华为云 GaussDB(for Redis)

Linux内核四大核心框架

hanaper

Go 专栏|流程控制,一网打尽

AlwaysBeta

Go 语言

Go 专栏|函数那些事

AlwaysBeta

Go 语言

【报名】飞桨中国行丨企业零门槛AI创新应用-智能制造专场

百度大脑

人工智能

【Flutter 专题】58 图解 Flutter 嵌入原生 AndroidView 小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

Go 专栏|复合数据类型:数组和切片 slice

AlwaysBeta

Go 语言

Go 专栏|错误处理:defer,panic 和 recover

AlwaysBeta

Go 语言

Go 专栏|说说方法

AlwaysBeta

Go 语言

模块(二)如何设计架构

我是一只小小鸟

ShardingSphere 语句解析生成初探

源码 ShardingSphere

Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串

AlwaysBeta

Go 语言

Go 专栏|接口 interface

AlwaysBeta

Go 语言

Electron团队为什么要干掉remote模块

刘晓伦

Electron Node

Java + opencv 实现图片修复(图片去水印)

张音乐

Java OpenCV 音视频 9月日更 图片去水印

未来10年,5个C/C++吃香的细分领域技术

奔着腾讯去

云原生 网络安全 音视频 DPDK 虚拟化技术

(深入篇)漫游语音识别技术—带你走进语音识别技术的世界

声网

深度学习 音视频 语音识别

Go 专栏|复合数据类型:字典 map 和 结构体 struct

AlwaysBeta

Go 语言

线程同步类CyclicBarrier在性能测试集合点应用

FunTester

多线程 性能测试 线程安全 测试框架 FunTester

LeetCode刷题278-简单-第一个错误版本

ベ布小禅

9月日更

HTTP系列之:HTTP中的cookies

程序那些事

Java 网络协议 HTTP cookies

Vue进阶(九十):过滤器

No Silver Bullet

Vue 9月日更

DeepMind推出Agent57,在所有雅达利游戏上超越人类_AI&大模型_Anthony Alford_InfoQ精选文章