博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Deepmind顺练了人工智能14天成为星海2最强玩家
阅读量:5990 次
发布时间:2019-06-20

本文共 1814 字,大约阅读时间需要 6 分钟。

Deepmind的人工智能AlphaStar,在2018年12月19日一系列的星海争霸 2(StarCraft II)测试赛中,以5比0打赢世界顶尖职业玩家,Deepmind现释出了训练人工智能的细节。Deepmind提到,游戏一直是测试和评估人工智能效能的重要方法,而即便人工智能游玩Atari、马力欧甚至是Dota 2等游戏已经有很大的进展,人工智能在操作星海争霸 2上,仍然难以克服其复杂度。暴雪娱乐公司的星海争霸 2,被认为是极具挑战的实时战略游戏之一,而且过去即便是让计算机作弊,在游戏规则上动手脚,赋予计算机特殊能力,都难以与专业玩家匹敌。

不过现在,Deepmind的人工智能AlphaStar,已经能以深度神经网络完整游玩星海争霸 2,而且还能碾压世界排名前十的职业玩家。该神经网络透过监督式学习和增强学习,直接以原始游戏数据进行训练。星海争霸 2有许多种玩法,但在电子竞技中,最常见的形式是进行5场1对1的锦标赛,玩家可以选择各有特色的虫族、神族或人类种族。AlphaStar以神族与顶尖人类玩家交手,第一次是与德国顶尖玩家Dario Wünsch(代号TLO)进行对战,AlphaStar以5比0赢得了比赛,Dario Wünsch对人工智能的强度感到惊讶,并表示AlphaStar使用了过去他没想过的策略。第二次则是与世界排名前十强的职业神族玩家Grzegorz Komincz(代号MaNa)进行对战,依然以5比0取得完胜,Grzegorz Komincz表示,AlphaStar在每场游戏都采用不同的策略,并且以非常人性化的方式进行游戏。

Deepmind提到,人工智能要赢得游戏,除了必须谨慎地平衡经济发展,也需要微观的对各单位进行细微控制,要在短期与长期目标之间取得平衡以适应意外状况。星海争霸中没有单一最佳策略,人工智能需要在训练过程,不断探索以及拓展战略知识。而且不像是围棋或是西洋棋公开所有游戏信息,在星海争霸 2的关键玩家信息是隐藏的,必须透过侦查探索发现。另一个困难则是,人工智能需要有长期规画的能力,并非所有因果关系都是实时发生的,整个游戏历程可能长达一个小时才会结束,而这意味着早期采取的行动,或许有很长的一段时间无法获得回报。在星海争霸 2中,人工智能没有太多的思考时间,不像传统棋盘游戏是轮流进行,人工智能与玩家都必须随着游戏时间推移,不断地做出动作。人工智能还需要在大型的动作空间中做出决策,需要实时细微地控制数百个不同的单位和建筑物。由于以上这些困难,星海争霸成为人工智能的大挑战,Deepmind在2016年和2017年跟暴雪娱乐公司合作,释出了PySC2工具集,其包括至今最大的匿名游戏回放(Replay)集,Deepmind利用这些基础,并搭配先进的工程技术和算法开发出AlphaStar。

AlphaStar的行为由深度神经网络生成,该神经网络接受原始游戏接口的输入数据,并输出一系列游戏内指令。AlphaStar还使用了一种先进的多代理学习算法,这个神经网络最初是由暴雪释出,能让AlphaStar模拟星海争霸天梯排位系统上的玩家对战,学习使用宏观与微观策略。AlphaStar使用这个初始代理人在95%的比赛中,击败了游戏内建的菁英级人工智能,相当于天梯中黄金等级的人类玩家。而这些被应用在多代理人增强学习的过程中,Deepmind创建了一系列连续的战队,战队互相对战,类似于人类玩家在天梯上对战的情况。这种新形式的训练方法,采用了基于人数的增强学习概念,创造不断探索玩法的巨大战略空间。

Deepmind提到,随着战队的进步,能够发展出击败早期策略的反制策略,甚至是全新战术以及微观管理计划,像是一开始人工智能喜爱使用神族的光炮或暗黑圣堂武士进行快攻,但这种充满风险的策略在训练过程被放弃,取而代之的是优先扩大基地,生产更多任务人强化经济实力,或是牺牲两个先知单位,破坏对手的工人以压制其经济发展。这个策略发展的过程,跟玩家发现新策略的方式相似。AlphaStar在手速上并没有作弊,星海争霸职业玩家平均每分钟动作(APM)可达数百个,现有机器人的APM约在数千到数万间,但是AlphaStar的平均APM约为280,明显的低于职业玩家,Deepmind表示,AlphaStar动作数更低表示每个动作都更加准确,平均观察并执行动作的延迟约在350毫秒。信息来源:

转载地址:http://ssilx.baihongyu.com/

你可能感兴趣的文章
CefSharp High DPI问题的解决
查看>>
关于SQL Server服务占用内存过大---限制数据库内存使用
查看>>
解析ASP.NET Mvc开发之查询数据实例
查看>>
小程序传入两个值
查看>>
使用GRPC远程服务调用
查看>>
selenium自动化之显式等待和EC(expected_conditions)模块
查看>>
Python库安装相关问题
查看>>
speech to text
查看>>
java多态成员的特点总结
查看>>
20172328 2018-2019《Java软件结构与数据结构》第七周学习总结
查看>>
工作总结--琐碎操作和业务
查看>>
benchmarks
查看>>
Hibernate体系结构(入门)
查看>>
python学习12
查看>>
[记]创建常量、原子性的值类型
查看>>
Hadoop单机模式集群搭建
查看>>
Centos 安装python BeautifulSoup模块(实践)
查看>>
window.open详解
查看>>
Python函数
查看>>
java 窗口中的动态效果
查看>>