如何从零训练神经网络玩游戏?这里有一段详细的解读视频

Youtube 上的知名游戏博主 SethBling训练了一个叫 MariFlow 的神经网络来玩 Mario Kart 游戏。看懂他怎么做的,你也能举一反三。

最近,Youtube 上的知名游戏博主 SethBling 训练了一个叫 MariFlow 的神经网络来玩 Mario Kart 游戏。在进行15个小时的游戏训练并做了一些针对性的改进后,这个神经网络在 50cc Mushroom Cup 中获得了金牌。

这并不是 SethBling 第一次在游戏中应用神经网络“通关”。此前 SethBling 曾经创建了另一个神经网络MarI/O,通过训练,这个神经网络自己演变成玩“超级马里奥世界”(Super Mario World)的高手。SethBling还拍摄了一个六分钟的视频来解释通过神经网络来进行游戏的原理。他设计了一个四层的神经网络,通过计算,程序会给出它认为在某个点上应该按下什么键的预测。通过这个视频,或许你也可以举一反三,做出更好的应用例子(例如赛车游戏)。

和AI研习社来看一下构建这个神经网络中 SethBling 的思路吧:

游戏当中,我们可以看到Mario在一直全速奔跑,全程没有任何停顿,并能快速躲开类似上图这样高难度的子弹袭击,最终到达终点的时候剩余时间为354秒。

让我们重头开始看看神经网络是如何进行决策的:如上图所示,这是一个只有4层的神经网络模型,通过对最左侧的输入图像的计算(红色的短线代表Mario、白色方块代表不会移动的物体如地面,黑色方块代表会移动的物体如敌人,等等),最终得出最右侧的8个按键的输出状态(SethBling解释说,神经网络中的神经元和神经树突并不总是被亮起的,这也是我们所说的只使用到了我们一小部分的大脑)。

而在一开始的时候,机器的表现非常笨拙,甚至不会按任何键。在这样的过程中,系统会尝试切换不同的模拟状态,通过尝试了很久后才学会了向右移动;

在遇到子弹的时候也不会跳跃躲避;

那么神经网络是如何学习的呢?还是从最初的简单状况开始,绿色线代表正激励连接,而红色表示负激励连接。自要从目前的状态所激活的是绿色的正激励连接,那么Mario就只管一直按右键狂奔;

当红色的负激励连接被激活时,则切换到相应的状态,如上图中按下A键做一个跳跃动作;

如果没有任何链接被激活,那么Mario就站在那里。这只是一个简单的示意:如果神经网络中的节点和连接越复杂,系统能做出的选择也更多,最终做出最合适的选择;

那么神经网络是如何从简单进化到复杂的呢?我们设定一个函数Fitness,这个函数值取决于Mario奔跑的距离以及所用的时间,奔跑距离越大、所用时间越短,Fitness值越大,而只有获得最大值的模型才能被选为下一代演化的基础模型,而在下一代演化中在关键节点上(如上图吃到子弹游戏结束)会产生随机突变(AI研习社注:这和生物进化的过程非常相似,只有最适应环境的种类才能生存繁衍),在这样不断演变中达到最优解。

在上图的34代演化得分图中,我们可以看到机器在进化过程中也遇到了一些瓶颈,但最终克服了这些瓶颈取得了好成绩。

这一方法,SethBling称之为NEAT(Neuro Evolution of Augmenting Topologies,增强拓扑神经演化),在 Kenneth Stanley 和 Ari 的论文中也有讲述。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

开发 | 手工搭建神经网络太费劲?来试试精确度高达94.1%的进化算法

AI科技评论按:阳春三月,辽阔的南美洲大草原上,两只体格强健的雄性美洲豹正在为争夺一只拥有美丽花纹的雌豹,进行着一场血腥而又激烈的较量。它们心里很清楚,成者为王...

372140
来自专栏大数据挖掘DT机器学习

文本分类实战: 机器学习vs深度学习算法对比(附代码)

这几周因为在做竞赛所以没怎么看论文刷题写博客,今天抽时间把竞赛用到的东西总结一下。先试水了一个很小众的比赛–文因互联,由AI100举办,参赛队不足20个,赛题...

1.2K90
来自专栏大数据文摘

AI小视频 | 原创灵魂手绘,聊个5分钟的人工智能

22660
来自专栏CDA数据分析师

【零一】#操作教程贴#从0开始,教你如何做数据分析#中阶#第十篇

大家好,我是零一。这一篇给大家介绍聚类/分类。 我的公众微信号是start_data,欢迎大家关注。 我们先讲一讲聚类。 上一篇的探索关系,很多朋友反映说非常有...

20280
来自专栏量子位

Kaggle获奖者自述比赛求生指南:我们如何“穿越”亚马逊热带雨林

作者:刘思聪 中山大学|计算机科学与技术研究生 来源自知乎专栏:AI带路党 量子位 已获授权编辑发布 大家好,我是思聪 · 格里尔斯,我将向您展示如何从世界上某...

62680
来自专栏生信宝典

贝叶斯学习记录

这篇文章用于记录学习贝叶斯定理及其应用过程中的记录,希望由浅及深的提供一份自我学习教程。 引子 概率的定义:概率是一个0-1之间的数,代表了我们对某个事实或预测...

23560
来自专栏AI科技评论

学界 | 别再抄袭论文图片了,机器学习算法能自动检测出来

AI 科技评论按:近期来自纽约雪城大学的 Daniel Acuna 等人在 bioRxiv 上发表了一篇文章,作者在文章提出了一种机器学习算法,该算法能够自动进...

42950
来自专栏人工智能头条

MLlib中的Random Forests和Boosting

12930
来自专栏数据结构与算法

【概率期望动态规划】

1~8题出处:hdu4576   poj2096   zoj3329   poj3744   hdu4089   hdu4035   hdu4405   hdu...

9510
来自专栏人工智能LeadAI

基于Tensorflow实现FFM

github:https://github.com/sladesha/deep_learning

28730

扫码关注云+社区

领取腾讯云代金券