如何用人工智能秒杀超级马里奥游戏

转载 2018年01月08日 00:00:00

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

本文转自CSDN资讯(微信ID:CSDNnews)


近日,Einfach nerdig 在 Youtube 上发起了一个直播:通过人工智能学习系统来播放“超级马里奥”。目前这个直播仍然很受欢迎。


人工智能系统 MarI/O 由 SethBling 创造,拥有庞大粉丝群体的他并不是直播发起人。目前,发起直播的账号嵌套功能已经被禁用了,但网友们仍然可以在 YouTube(https://www.youtube.com/watch?v=q46Kski5ZK4) 上观看这个学习玩游戏的直播。


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


SethBling(https://hackaday.com/2015/06/14/neural-networks-and-mario/) 是“超级马里奥兄弟” 游戏的世界纪录保持者,他之前曾训练 Mari I/O AI 来为自己的“超级马里奥”游戏画面提供素材。正如他在下面的视频中解释的那样,他的神经网络起初并不知道游戏是如何工作的。后来通过一系列的模拟(虽然现在看来大部分都是无用工作作),逐渐知道了如何向右移动。二十四小时后,经历了足够训练和计算的 AI 便可以实现基本的行走和跳跃。



视频中,SethBling 详细解释了创建系统的过程,并且展示了最终工作结果。然而,在线实时观看“马里奥”的不断重复和尝试通关是一种完全不同的感觉——计算机中自己在那里尝试跳跃看着似乎很轻松,但自己亲手玩的时候还是非常纠结的。


现在的人工智能可以自己学习如何玩“超级马里奥”游戏,我们看到系统通过一次又一次的尝试和失败,试图学习如何通过障碍。当它正确地通过障碍时看起来就像真人在玩一样,事实上,它每玩一次游戏都会学到一些新的技巧。


但是大多数时候,它会像石头一样蠢。人工智能下,马里奥跳跃的能力大概是受到特定条件的限制,所以当水管工遇到障碍物时可能会卡住。这就需要手动重置,然后机器再次尝试。


640?wx_fmt=jpeg

如果你知道如何让马里奥跳过这条管道,那么你比机器更聪明


根据视频底部的计数器可以看出,这个人工智能玩超级马里奥的时间已经接近十七天——这听起来就像是一般游戏玩家的定期休假,区别只在于:AI 并不需要薯片和辣条这样的零食。


虽然 SethBling 不是第一个使用任天堂的游戏来训练机器的,但他是一个把“机器学习算法”用非常趣味的方式搬到 YouTube 上展示的人。而且,即使你不知道什么是“深度学习”或“神经网络”,这种有趣的游戏模式也很容易让人接受。


640?wx_fmt=jpeg

再次卡住,就像 Derek Zoolander 一样,这个 AI 也不能左转


你还可以在他的 YouTube 页面(https://www.youtube.com/channel/UC8aG3LDTDwNR1UQhSn9uVrw)上查看其他 AI 和游戏视频,其中包括 MarI/O 播放的 “超级马里奥世界”和“MarioKart”等其他任天堂经典作品。


原文:This livestream of AI learning to play Super Mario Bros is awesome

链接:https://thenextweb.com/artificial-intelligence/2018/01/03/this-live-stream-of-ai-learning-to-play-super-mario-bros-is-awesome/

作者:TRISTAN GREENE

译者:安翔

编辑:言则



热文精选


AI领域真正最最最最最稀缺的人才是……会解牛的那个庖丁

2018年了,但愿你还有被剥削的价值!因为AI失业潮真的开始了...

2018 年了,该不该下定决心转型AI呢?

不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了

盘点深度学习一年来在文本、语音和视觉等方向的进展,看强化学习如何无往而不利

先搞懂这八大基础概念,再谈机器学习入门!

这三个普通程序员,几个月就成功转型AI,他们的经验是...

干货 | AI 工程师必读,从实践的角度解析一名合格的AI工程师是怎样炼成的

AI校招程序员最高薪酬曝光!腾讯80万年薪领跑,还送北京户口

详解 | 如何用Python实现机器学习算法


640?wx_fmt=png

「Unity2D」使用Unity创建一个2D游戏系列-6

视差滚动 现在我们已经创建了一个静态场景,还有玩家和敌人。但是依旧很无趣,所以我们该去增强我们的背景和场景了。 有种特效专业出没于各大2D游戏15年,这就是所谓的视差滚动(parallax...
  • s556699
  • s556699
  • 2017年02月15日 22:50
  • 1619

Java游戏《超级玛丽》 swing界面

自己修改别人的程序, 本来是一个全屏游戏,我把它改正窗口的,不过只有部分功能   Hufan.java   import javax.imageio.ImageIO; import javax.sw...
  • zwyjg
  • zwyjg
  • 2013年03月18日 19:48
  • 9435

【Java】游戏小程序-超级玛丽(代码渗入)

一、游戏基本功能 1、能够向左向右行走(键盘监听) 2、能够跳跃 3、能够发射子弹 4、能够检测和障碍物之间的碰撞 5、背景图片的移动 二、游戏运行界面 三、游戏大致实现思路...
  • hj7jay
  • hj7jay
  • 2017年01月10日 09:28
  • 32099

如何用人工智能秒杀超级马里奥游戏

点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!近日,Einfach nerdig 在 Youtube 上发起了一个直播:通过人工智能学习系统来播放“超级马里奥”。目前这个直播仍然很受...
  • csdnnews
  • csdnnews
  • 2018年01月07日 00:00
  • 4155

js面向对象编程-简单超级马里奥小游戏

function Mario() { //Mario类 this.x=0; this.y=0; var top,left; this.move=function(direct) { ...
  • idwendy
  • idwendy
  • 2013年03月24日 22:36
  • 1042

《新超级马里奥兄弟2》最新海量游戏截图公布

与此前的几款3DS重要作品一样,《新超级马里奥兄弟2》也是在任天堂的新一期在线发布会Nintendo Direct放出的,发布会上同时公开了几张游戏的截图。   《新超级马里奥兄弟2》 的游戏基本形...
  • pizi0475
  • pizi0475
  • 2012年07月06日 19:38
  • 1100

cocos2d-x游戏开发系列教程-超级玛丽10-怪物与马里奥冲突检测

在超级玛丽游戏中,马里奥在移动,怪物也在移动,当他们遇见时,需要判断是马里奥身亡还是怪物身亡。这个判断的代码在怪物类的检测函数实现中。比如蘑菇怪的冲突检测函数:bool CMMonsterMushro...
  • yincheng01
  • yincheng01
  • 2014年02月15日 19:59
  • 3708

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(六)-马里奥跳跃

当w键按下时,马里奥执行跳跃动作执行跳跃动作也是在MarioMove函数中调用的实际的跳跃则调用了mario对象的OnCtrlJump函数,来看看OnCtrlJump函数吧void CMMario::...
  • yincheng01
  • yincheng01
  • 2014年02月13日 14:09
  • 3781

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移

上一篇博文提到,程序如何获取键盘输入,也就是D键按下,程序获取到前进指令,那么获取到前进指令之后,马里奥是如何前进的呢,这篇文章我们重点讨论这个问题。马里奥的移动,依旧是在帧刷新函数中,这个调用过程上...
  • yincheng01
  • yincheng01
  • 2014年02月13日 11:58
  • 3735

js_day16--Object+Array+超级马里奥游戏+构造函数

Day16   ●Object类        Object类是所有javascript类的基类,提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数。 主要属性: constru...
  • ggGavin
  • ggGavin
  • 2013年11月30日 15:47
  • 2018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何用人工智能秒杀超级马里奥游戏
举报原因:
原因补充:

(最多只允许输入30个字)