如何从零训练神经网络玩游戏这里有一段详细的解读视频_[#第一枪]
雷锋网消息,最近,Youtube 上的知名游戏博主 SethBling 训练了一个叫 MariFlow 的神经网络来玩 Mario Kart 游戏。在进行15个小时的游戏训练并做了一些针对性的改进后,这个神经网络在 50cc Mushroom Cup 中获得了金牌。
这并不是 SethBling 第一次在游戏中应用神经网络“通关”。此前 SethBling 曾经创建了另一个神经网络MarI/O,通过训练,这个神经网络自己演变成玩“超级马里奥世界”(Super Mario World)的高手。SethBling还拍摄了一个六分钟的视频来解释通过神经网络来进行游戏的原理。他设计了一个四层的神经网络,通过计算,程序会给出它认为在某个点上应该按下什么键的预测。通过这个视频,或许你也可以举一反三,做出更好的应用例子(例如赛车游戏)。
和雷锋网来看一下构建这个神经网络中 SethBling 的思路吧:
游戏当中,我们可以看到Mario在一直全速奔跑,全程没有任何停顿,并能快速躲开类似上图这样高难度的子弹袭击,最终到达终点的时候剩余时间为354秒。
让我们重头开始看看神经网络是如何进行决策的:如上图所示,这是一个只有4层的神经网络模型,通过对最左侧的输入图像的计算(红色的短线代表Mario、白色方块代表不会移动的物体如地面,黑色方块代表会移动的物体如敌人,等等),最终得出最右侧的8个按键的输出状态(SethBling解释说,神经网络中的神经元和神经树突并不总是被亮起的,这也是我们所说的只使用到了我们一小部分的大脑)。
而在一开始的时候,机器的表现非常笨拙,甚至不会按任何键。在这样的过程中,系统会尝试切换不同的模拟状态,通过尝试了很久后才学会了向右移动;
在遇到子弹的时候也不会跳跃躲避;
那么神经网络是如何学习的呢?还是从最初的简单状况开始,绿色线代表正激励连接,而红色表示负激励连接。只要从目前的状态所激活的是绿色的正激励连接,那么Mario就只管一直按右键狂奔;
当红色的负激励连接被激活时,则切换到相应的状态,如上图中按下A键做一个跳跃动作;
如果没有任何链接被激活,那么Mario就站在那里。这只是一个简单的示意:如果神经网络中的节点和连接越复杂,系统能做出的选择也更多,最终做出最合适的选择;
那么神经网络是如何从简单进化到复杂的呢?我们设定一个函数Fitness,这个函数值取决于Mario奔跑的距离以及所用的时间,奔跑距离越大、所用时间越短,Fitness值越大,而只有获得最大值的模型才能被选为下一代演化的基础模型,而在下一代演化中在关键节点上(如上图吃到子弹游戏结束)会产生随机突变(注:这和生物进化的过程非常相似,只有最适应环境的种类才能生存繁衍),在这样不断演变中达到最优解。
在上图的34代演化得分图中,我们可以看到机器在进化过程中也遇到了一些瓶颈,但最终克服了这些瓶颈取得了好成绩。
这一方法,SethBling称之为NEAT(Neuro Evolution of Augmenting Topologies,增强拓扑神经演化),在 Kenneth Stanley 和 Ari 的论文中也有讲述。
完整视频见此。
- 玉林市委书记金湘军一行慰问玉柴王辉博士特种涂料黑河提臀裤电器装置直筒裤Frc
- 通用电气并购阿海珐输配电部门竞标进入第二双城滑动开关滚珠丝杆操纵杆吹膜机Frc
- 国内PSABS市场行情稳中上涨318冷藏船彩印机吸塑机橡胶衬里水晶奖杯Frc
- 4月5日国际原油价格评论铂金牛仔服平衡吊磁选机内燃叉车Frc
- 苏州纽威阀门获千万元中央预算内投资补助石棉垫片裁线机DVB水过滤器生物家教Frc
- 未来包装行业人力资源的开发与管理研究园林石雕调压器望远镜螺帽集电环Frc
- 拆皮带大架安全技术措施风淋喷嘴哈密泡泡机光接收机磁力锁Frc
- 铁公基发力国家电网1600亿投资创纪录贴标机喷水管挖掘机收获机械搞笑玩具Frc
- 09年6月30日防火涂料网上行情最新快报丝印网纱防爆电机犬用便器女鞋驱动泵Frc
- 供应电机采埃孚与卧龙电气建合资公司彭州特殊鞋底冰箱维修探伤电脑插座Frc