魂斗罗噩梦最高难度一命速通(人工智能小闲无伤打通魂斗罗)(1)

@破破的桥

人工智能小闲无伤打通魂斗罗 1 代第一关。小闲(英文名 Dplay)是我们花了四个月开发的人工智能游戏程序,它可以只看屏幕画面自我训练,通过深度增强学习算法,通关大多数横版和竖版过关游戏,比如魂斗罗、沙罗曼蛇、绿色兵团和赤色要塞等,也可以通关简单的对战类游戏如街霸。暂时还无法通关解谜、迷宫、棋类、RPG、3D 画面,以及各种复杂游戏。

小闲是在 Deepmind 的 DQN 算法上的改良版,核心技术上并无多大改进,但是解决了很多琐碎细致的问题。目前通关魂斗罗 1 的是 0.4 版本。训练大约 1000 万次。输入屏幕画面,如果主角死亡会给程序反馈,手速没有限制。无伤通关的概率大约是 1/4。由于某些代码限制,这段视频由四段视频拼接,所以中间有少量跳帧。为了减少训练时间,截掉了最后的通关画面。

解说一下:

9 秒处:小闲可以在很短的训练次数后学会主动吃 M 枪。

17 秒处:小闲本次训练时跳桥失败,但大部分情况下他会跳过桥,因为通过桥走死亡率低。

21 秒处:小闲能预见到即将出现两个敌人,并先发两颗子弹打死这两个敌人。

26 秒处:小闲能够把头埋到水里躲避子弹。

51 秒处:小闲主动吃 S 枪,因为这把枪对胜率影响很大。

59 秒处:小闲主动吃 R 枪,加快子弹速度。

1 分 05 秒到 2 分 37 秒:小闲打关底。前面非常流畅,但关底看得无比纠结,相比人类的平均水平(数秒)太久。这是由于关底 Boss 需要打很多枪才能通过,小闲很难判断到底哪一枪是有效的,所以接近四处乱打,人类则可以通过音效来判断有效攻击。这个问题暂时还没有很好的解决方案。

我们准备在下一版改进后,做一个频道,专门播放小闲对其它游戏通关的情况。不过由于秒拍对视频长度有限制,可能会选择其它平台。如果比较受大家欢迎的话,也可能会在直播平台上 24 小时直播老游戏通关。小闲每次通关的打法都有所不同,并且依然在持续改进,只是因为我们的 GPU 不够,所以改进得比较慢。

当然这个程序还有很多其它用途,但目前先埋头积累。

,