茶西、Don FJ、CoolBoy编译

人类又输了?AI研究为何如此痴迷游戏对决?

程序猿为何痴迷于用人工智能攻克各种游戏?是对网瘾少年的嘲讽,还是对科技未来的探索?这一切的背后,是人性的扭曲还是道德的沦丧?敬请关注本期的走进大数据文摘!

8月5日,人工智能系统OpenAI Five迎战了由5名专业电子竞技玩家组成的队伍,这次的战场是Dota2,这个游戏需要快速的反应力,渊博的游戏策略知识,更重要的是团队协作。

在这个电子游戏中,两支五人队伍会被安排在竞技场的两端,与对方战斗并利用物理或者法术攻击摧毁对方的营地。

这是当今最赚钱的电子竞技项目之一,今年最大规模锦标赛的奖池已经积累超过2300万美金。研究人员开发的软件想要赢过经过千锤百炼的职业选手,就跟让机器人学着在迈克尔∙乔丹(Michael Jordan)头上扣篮一样难。

游戏是一个让我们这些没有博士学位的人了解人工智能研究已经到达何种程度的好方法:在复杂环境下,人工智能可以击败人类吗?

我们知道IBM的“深蓝”在国际象棋比赛中击败了Garry Kasparov,以及DeepMind的AlphaGo在围棋比赛中战胜李世石,这意味着什么——数十年来人类的练习与技巧被计算机打败了。

除了这些广为人知的比赛以外,几十年来人工智能研究人员还致力于创造人工智能代理(AI agents),这些代理可以在Atari游戏、西洋棋、甚至是明星大乱斗中成为“超级玩家(Super Smash Bros)。

链接:

https://qz.com/917221/a-super-smash-bros-playing-ai-has-taught-itself-how-to-stomp-professional-players/

出了实验室,很多电子游戏的人工智能研究也许就无法真正有用了,但是OpenAI证明了其名下的研究在竞技之外也有很大的应用空间。比如说用来打Dota 2游戏的算法也可以教机械手如何移动。

正向强化

强化学习是最流行的教机器人玩游戏的方法之一,埃隆∙马斯克(Elon Musk)和山姆∙奥特曼(Sam Altman)主导创立的OpenAI人工智能研究实验室也使用了这种技术。你交给机器人一个任务,比如拾取金币,然后在机器人完成任务时给予奖励。

一开始机器人的行动是完全随机的,直到它意外发现如何完成任务。相对于那些无法得到奖励的行动来说,那些能够完成任务的行动被系统认为是更好的选择,由此一来机器人下一次执行任务时就更愿意采取这些行动。在经历数百次、数千次,甚至数百万次的尝试之后,机器就能逐渐学习到完成任务时所需的策略。

在两周的时间内,OpenAI的Dota 2游戏机器人与自己对战了数百万次。每次游戏中,机器人的奖励机制也有所改变,从开始的为自己获得积分转变为后来的提高团队的总积分。在Quartz之前的报道中,研究团队将其称为“团队精神”。

链接:

https://qz.com/1311732/openai-built-gaming-bots-that-can-work-as-a-team-with-inhuman-precision/

纽约大学的Julian Togelius向Quartz表示,游戏其实是对真实世界的一种模拟,一种只有一个具体目标的模拟,这正是人工智能学习的好地方。

“真实世界可没有有趣的任务,”Togelius笑着说。“游戏简直太完美了,无论你是输是赢,无论你得了多少分,都有奖励等着你。”

游戏可以玩无数次——毕竟它们只是程序而已,并且可以让数以千计的机器人同时玩,从而使得找到解决方案或策略的速度成倍增加。

但是这个方法里面有个陷阱,机器人的学习完全依赖于它们得到的奖励。算法对于游戏该如何工作毫无概念,所以当游戏出现问题和故障时,机器人就会做最简单的事情来得到奖励。

德国弗莱堡大学的研究人员在今年初在用Atari游戏Q*bert来进行强化学习算法训练时发现了这一问题。

链接:

https://www.theverge.com/tldr/2018/2/28/17062338/ai-agent-atari-q-bert-cracked-bug-cheat

机器人并没有学习像人类一样玩游戏,而是学会了跳下台面诱使敌人自杀,因为它知道敌人会跟着来。游戏把这算作成功清除敌人,还会给机器人多一条命和额外的积分,这可是个净赚的买卖。

机器人还发现了一个问题,当它从一个平台跳到另一个平台的时候,可以破坏游戏而得到几十万积分。从技术上讲,它的确是在做它该做的事情:得分。但是他并没有真正学会怎样玩游戏。

Togelius最近致力于通过随机配置每次机器人玩的游戏难度来创造更好的游戏机器人。由于机器人不会把同一难度级别的游戏玩两遍,Togelius表示,机器人不仅仅是要学会找到破解方法或者制定某种策略,事实上它们是要学会如何在不同场景下完成任务。

不仅是游戏

OpenAI 并不只是想在电子游戏中击败专业队伍,而是在学习如何通过做上千个小决定来达成更大的终极目标。例如OpenAI就在另外一个项目中再次使用了和Dota 2机器人相同学习系统与算法:研究人员设计了一个算法来控制机械手握住一个积木,并且用机械手的指头来操控它指向一个特定的方向。

OpenAI的技术人员Jonas Schneider告诉Quartz,这两个项目是同时开始的。但是去年当Dota 2的团队展示出在游戏中击败人类职业选手的进展时,机器人技术团队才了解到强化学习系统的潜力。

“我们用和Dota实验相同的代码达到了基本同样的性能水平” Schneider说道。“只用了几个星期它就就能达到我们之前几个月尝试达到的效果。这让我们十分惊讶。”

这些实验都采用了OpenAI开发的Rapid程序,这一程序协调了同时运行上百种强化学习算法的数以千计的处理器。每种算法驱动一个机器人玩游戏或者模拟手部动作,试验结束后学到的东西会同步给其他机器人。

利用几千倍于普通笔记本电脑的计算力,机械手已经不必通过人类对每个手指的移动进行编码,也可以拥有出色的灵巧度。

一招鲜

尽管OpenAI用相似的代码来训练游戏人工智能和机器人,一个重要的区别在于他们是分别在各自学习如何完成任务。你想让Dota 2机器人来控制一只手是不可能的:算法总体来说是可以同时学习多个技能的,但这种跨度大、毫不相关的技能还是不行的。

“我们还没见过哪些游戏训练出来的模型能够转型直接用于真实世界的,” Togelius说。“但是我们可以看到有些为了玩游戏而发明出来的方法成功应用到了现实世界。”

OpenAI的Rapid强化学习系统并非是第一个为了电子游戏而开发进而应用到真实世界的技术。Togelius提到,蒙特卡洛树搜索是一个十几年前为了下围棋而开发的算法,现在被应用于规划和优化类的任务。欧洲太空总署运用了这一算法来规划太空探测器的星际轨迹,它也是2016年DeepMind的AlphaGo击败世界冠军李世石的算法支柱。

蒙特卡洛树搜索论文链接:

https://www.aaai.org/Papers/AIIDE/2008/AIIDE08-036.pdf

对于OpenAI机器人技术团队来说,Dota 2是这项技术可以在未来应用于复杂工作的一个验证。Dota 2系统运用的计算力是机械手的20倍之多,其训练时间长达两星期,而机械手只用了两天——这意味着机器人技术团队有更多的时间和资源来处理那些需要更长时间来学习的新问题。

“我们已经对现在的算法能走这么远感到十分惊讶,所以某种程度上我们希望Dota可以成为AI游戏探索上的最后一个里程碑,”Schneider说。“很明确的是,如果这样一个复杂的游戏可以通过强化学习来解决,那这将是强化学习和电子游戏的终极考验。”

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

产业游戏AIOpenAI强化学习
相关数据
阿尔法围棋技术

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~