人工智能怎样学习玩《马里奥赛车64》?
TensorFlow是一款开源的深度学习软件,最近,有一位名叫kevin hughhes的开发者成功地实现了让这款软件来玩《马里奥赛车64》。
在过去数年里,kevin一直希望能够用深度学习软件来做些什么,但出于种种原因,这个计划一直停留在纸面上,这种状态一直到TensorFlow的出现。利用年底的空闲时间,他正式启动了一个名为“使用人工神经网络来玩《马里奥赛车64》”的项目。
在经过了数个月的工作之后,kevin hughhes往Youtube上传了一段展示项目成果的视频,视频中选择的赛道是面向初级玩家的路易赛道、驾驶员为马里奥、游戏模式则是Time Attack。让我们来看下TensorFlow干得如何吧。
需要注意的是,“使用外部AI来开游戏里的车”,与“游戏内置的AI自己开车”并不是一回事。外部AI并不能作弊般地直接获取游戏内的数据,而只能通过画面来判断行驶情况。所以你可以看到视频中的AI车技一般,不仅没有按照“最优路线”来驾驶,还会出现撞墙的情况,这些都需要AI来进一步学习来提高车技。
为了收集给TensorFlow参考用的练习数据,kevin开发了一个将游戏画面的截图和电脑同步的小程序。首先,他要在电脑上使用N64模拟器玩《马里奥赛车64》,并手动截取画面,然后在通过这个小程序来记录TensorFlow在游戏中所采取的行动。
借助一款Nvidia为自动驾驶汽车开发的辅助程序,kevin将TensorFlow学习的门槛尽可能地降到了最低。虽然他没有学习C语言的经验,但通过对指令输入程序代码的研究,kevin最终成功地将TensorFlow输出的指令完美地反映到了N64模拟器上。下面这张GIF图就是初期的成就之一。
虽然在第一次尝试中还存在诸如撞墙这样的问题。但这只是TensorFlow参考了20分钟的训练用数据的结果。并且,通过这种程度的学习之后,其他之前没有数据的赛道也能勉强跑下来。
此外,kevin还公开了在另一个难度更高的赛道“桃子赛道”上测试的GIF图,相比上面的“路易赛道”,这次的转弯的情况要好很多。
对于目前的结果,kevin hughhes兴奋地表示:“如果有更多数据的话,我确信一定能让人工智能在《马里奥赛车64》里展现出最完美的驾驶。”。