查看: 1512|回复: 3
收起左侧

[IT业界] 世界上最难的“沙雕”游戏被AI攻破了

[复制链接]
春风万水千山
头像被屏蔽
发表于 2021-3-21 23:19:54 | 显示全部楼层 |阅读模式

梦晨 晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

13年以前,有这样一款“变态”级难度的游戏曾风靡一时。

它的名字简单粗暴——QWOP。

意思是让玩家用这四个键位控制游戏人物的左右大腿和小腿,以最快的速度跑完100米。

实际上,大部分玩家刚上手的时候,可能连起点线都迈不过去就Game Over了。
如果你能跑出几米远,绝对算是一个高手,甚至能在朋友面前炫耀一番。
QWOP的难点在于,一旦角色失去平衡就很难再挽回,需要在100米的距离内一直保持重心不过于向前后倾斜。

当你经过苦练第一次跑起来时,又会被50米处作者故意设置的栏杆摆一道:说好的100米短跑怎么变跨栏了?
△某小编当年的游戏截图

在那个4399小游戏盛行的年代,这款也被戏称为“是男人就跑100米”。因为难度过于“变态”,QWOP开发者曾收到过很多辱骂邮件。

虽然绝大部分人难以跑到终点,但仍有一批骨灰级玩家乐此不疲,他们不仅能轻松跑完,至今还为竞争世界排名而不断挑战。

2个月前,一位日本玩家创造了新的世界纪录:48.34秒。
看到这款“沙雕游戏”,你是不是会想到强化学习来训练双足机器人的画面?
一位来自波士顿咨询的数据分析师Wesley Liao也是这么想的。

不过别以为“变态”难度的游戏到了AI面前就变成了毛毛雨。

Liao综合了之前多种强化学习算法,最后甚至请来了“世界名师”教学,费了好大一番功夫,才终于让AI在上周打破人类玩家的记录。

可见这款游戏的难度一点都不比围棋低啊。(手动狗头)
小试牛刀

一开始,Liao使用OpenAI Gym强化学习环境来训练AI,先设定好游戏的状态、操作和奖惩机制。

状态包括每个身体部位和关节的位置、速度和角度。操作方式限定为11种:4个QWOP按键、6种两两按键组合以及不按任何键。

用来训练AI的算法是ACER(具有经验回放能力的Actor-Critic)。这种算法的优点是,不仅可以从其最近获得的经验中学习,也可以学习存储数据中更早的经验。
由于ACER非常复杂,Liao使用了别人的实现代码“Stable Baselines”。

Liao首先尝试了让AI自己学习。经过多次实验后,他发现AI只学会了“蹭膝盖”这种方式跑过终点,速度很慢。
这和许多人类普通玩家以及其他强化学习算法是一样的,离高手的水平还差很远,更不用谈打破纪录了。

仔细分析可以发现,AI根本没有学习到跨步机制,只是学习到了最安全、最慢的方法来到达终点。

看来靠AI完全自学是不行了。

学会奔跑

类似于DeepMind用顶级棋手教AlphaGo下棋,Liao想到是不是也可以让人类玩家来教一下AI。

但是Liao本人的技术和顶级玩家差距太大,自己最多也只能跑到28米。

这都不重要,重要的是起码Liao跨出更大步伐的技巧,只能寄希望于AI能从“渣技术”里学到一点奔跑的技巧吧。

但是结果很不幸,AI很好地诠释了“邯郸学步”:不仅没掌握跑步技巧,反而在起点就跌倒了。

然后Liao让AI自己继续训练。所谓师父领进门,修行在个人,AI能否将人类技术和自学能力结合起来?

结果令人兴奋,经过90个小时的训练,AI终于学会了像人一样奔跑!
最终成绩是1分25秒,已经能跑进全球排行榜的前15名,离超过人类不远了。

接下来要做的就是再向AI教授更多技巧,奈何本人技术太渣。

所以要想进一步提高AI的水平,必须找顶级高手来帮忙。

顶级高手助阵

Liao观察速通排行榜上的录像,发现顶级玩家的技巧是把左腿抬高可以跑得更快。

△排名第一玩家gunmaneko的踢腿技巧

他开始全球排名前二的玩家gunmaneko和Kurodo请教踢腿技巧的操作。

两位玩家热情地回答了他的问题。

其中Kurodo指出这个技巧的关键在于减少游戏角色在纵向的移动,并提出把保持身体高度加入AI的奖励函数。
Liao向Kurodo分享了他的代码,Kurodo慷慨地使用代码记录了50次自己游戏时的按键记录发给Liao。

Liao尝试使用这些数据对AI进行预训练,但效果并不好。AI还没来得及学会踢腿技巧,倒先把基本的跑步方法忘记了。
Liao不得不改变方法,他把Kurodo的数据注入到AI的回放缓存*(Replay Buffer)*中。

这相当于修改AI的记忆,使AI有一半的记忆是自己的,另一半来自Kurodo。
并且是AI每自己玩一次,就注入一次Kurodo的数据,保证AI随机从记忆中选取一段来学习时选到两种记忆的概率相同,避免在学习新技巧的过程中把基本操作忘掉。

AI使用Kurodo的数据训练了15个小时,终于学会了踢腿,但因为两种记忆无法协调在一起,跑时间长了动作会不稳定。

Liao此时把Kurodo的记忆移除,又让AI自己训练了25小时,总训练时间达到了65小时。
最终AI的成绩达到1分08秒,终于进入前十。

打破世界纪录

Liao把教AI玩这个游戏的过程做成视频发在网上。一个月前,外媒Gismodo问他:为什么AI还没有打破世界纪录?

于是Liao重新训练了一个只为优化速度而存在的新AI。

新AI改用Prioritized DDQN算法,因为这种算法会给学习效率更高的状态增加权重而不是均匀采样,能使新AI迅速学会旧AI已经掌握了的技巧。

并且,新AI的奖励函数去掉了身体高度,膝盖弯曲角度等参数,改成只和前进速度相关。

新AI先用已有数据进行只有几分钟的预训练,随后是40小时的自训练。最终,新AI每秒所做的动作数在训练环境中由9提高到18,并在测试环境中达到25。

新AI对踢腿技巧的掌握非常稳定,即使被障碍物影响也能迅速恢复。


快速高效的动作使AI的成绩提高到47.34秒,比人类最高纪录48.34秒刚好快1秒。

这才终于算是,在人工智能超越人类的游戏列表中又增加了一项。

One More Thing

你以为这就完了?

跑完100米不算完,这款游戏还有一种世界级难度——“是男人就跑完马拉松”。

为Liao提供帮助的玩家Kurodo最近刚刚提交了世界纪录,全球也只有两人完成了这项壮举。

很难想象他们在电脑前连续按几个小时QWOP的画面。

另外,QWOP的开发者Bennett Foddy一直在坚持开发这类“变态”难度的独立小游戏。
有一款Getting Over It with Bennett Foddy名气颇高,中文名“掘地求升”。玩法就是一个装在坛子里的人不停用锤子让自己升高。
Foddy曾经在普林斯顿大学和牛津大学担任博士后研究员,现在是一名独立游戏设计师。QWOP就是他在普林斯顿大学时期开发的。

我只能说,学霸开发的游戏,学渣真的玩不起。



https://new.qq.com/omn/20210321/20210321A042PM00.html
黑狐无风
头像被屏蔽
发表于 2021-3-21 23:35:48 | 显示全部楼层
排行榜的平成宅男无敌
zay365
头像被屏蔽
发表于 2021-3-22 09:13:31 | 显示全部楼层
那游戏不是还有一个外号叫没腿玩个锤子吗
风林12刀
发表于 2021-3-22 14:41:31 来自手机 | 显示全部楼层
以前玩过这游戏,,,,
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-30 00:00 , Processed in 0.150344 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表