flappybird电脑版(flappybird苹果版)
时间:2022-03-31 06:56:53
小编:量子位
阅读:
问耕 编译整理
量子位 出品 | 公众号 QbitAI
震惊!《Flappy Bird》火了这么多年,竟然没有中文名字。
没事。这不妨碍各路AI大触用这款游戏练手。比方说今天这个HTML5教程,就是教你使用神经网络+遗传算法,搭建一个玩转小鸟的AI。
提前说一下,教程最后有这个AI的代码下载。所有的代码都是使用Phaser框架使用HTML5完成的。另外,神经网络使用了突触神经网络(Synaptic Neural Network)库,而不是从零开始搭建。
Demo上面是Demo演示的截图,访问下面这个网址,能够看到这套算法的实际效果。
http://www.askforgametask.com/html5/tutorials/flappy/
算法这套系统的算法,主要是基于NeuroEvolution(神经进化)。这种机器学习方法,使用遗传算法(GA)等进化方法来训练人工神经网络(ANN)。
也就是说,这个例子中的机器学习=遗传算法+神经网络
人工神经网络人工神经网络是机器学习算法的一个子集,它受到生物神经网络结构和功能的启发,这些网络是由很多彼此发送信号的神经元组成。
一个神经网络由输入层,一个或多个隐藏层,以及输出层组成。每层都有一些神经元,输入和输出层的神经元直接与外部环境相连。
在这个项目中,每个智能体(也就是小鸟)都有自己的神经网络作为闯关的AI大脑。这些大脑由三层组成,结构如下:
一个输入层,两个神经元,代表小鸟到豁口的水平距离和垂直距离
一个隐藏层,六个神经元
一个输出层,一个神经元,执行如下动作:如果输出>0.5就飞一下
上述文字,也可以用下面这张图表示:
我们在这里使用遗传算法,来训练和改进神经网络。
遗传算法顾名思义,是一种借鉴了自然选择和遗传过程的基于搜索的优化技术。这种算法使用相同的选择、组合交叉和变异的组合,来进行初始的随机演化。
以下是我们遗传算法实现的主要步骤:
使用随机神经网络创建10个初始的小鸟(种群)
让小鸟使用他们自己的神经网络,同时起飞玩游戏
对于每个小鸟,计算适应度函数来衡量飞行质量
当所有小鸟死亡时,使用遗传算子把当前种群评估到下一代
重复步骤2
适应度函数对于上面的第3步,我们深入谈一下适应度函数的细节,以及如何定义。
由于我们想要使用最好的个体(小鸟)来进化种群,所以需要定义一个适应度函数。
一般来说,适应度函数用来衡量对象的质量。我们队每一只小鸟都进行测量,并从中选择合适的个体,用以生成下一代种群。
在这个项目中,我们按照小鸟的飞行距离给予奖励。另外,我们会根据小鸟和下一个豁口的距离给予惩罚。按照这种方式,就可以区别哪些飞行了同样距离的小鸟。
对于上面第4步中遗传算法,下面是实现的步骤。基本上,最好的小鸟个体会生存下来,它们的后代会取代表现最差的那些。
现有种群的个体按照适应度进行排序
选择前四名给予奖励,直接把它们传给下一代种群
排名最高的两个个体,进行交叉组合,生成一个后代
前四名中随机选择两个个体,交叉组合产生三个后代
前四名中随机选择两个个体,生成两个直接复制的后代
对于每个后代,施加一些随机变异
代码上述代码,可以访问如下地址获取:
https://github.com/ssusnic/Machine-Learning-Flappy-Bird
结论在这个教程中,我们成功的让AI学会玩Flappy Bird这个游戏。在几次迭代之后,我们可以得到一个几乎无敌的小鸟。为了实现这一目标,我们采用了两种机器学习算法:人工神经网络+遗传算法。
如果你对这个项目感兴趣,未来可以尝试改变代码中的一些参数,看看会发生什么。例如,可以改变隐藏层中的神经元数量或者每一代种群的个体数量。当然还可以对适应度函数进行修改,比方加入障碍物之间的距离、重力等等因素。
以及,你可以尝试把类似的理念应用到其他游戏中去!
祝好运~
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
本文标签:
- 梦幻模拟战克丽丝转公主怎么样 要不要转公主,梦幻模拟战雪莉怎么转公主梦幻模拟战手游9月6日更新后新增了克丽丝的二次转职终极职业公主,这将让克丽丝的英雄强度有进一步的提升哦,大大强化了他的辅助能力。从而提高了整个队伍的伤害以及强度。许多时间:2022-08-08
- 梦幻模拟战时空裂缝精英7-2通关视频,梦幻模拟战时空裂缝精英7-2通关视频攻略时空裂缝是梦幻模拟战中的重要玩法,玩家在这里可以获得修行之证等道具,用来进阶我们的英雄,同时每一关还有隐藏宝箱,有几率开出各种好东西,对玩家来说是必须参与的玩法。下面让我时间:2022-08-08
- 天涯明月刀手游花灯宴题目一览 答案详细介绍,天涯明月刀手游茶话会答案天涯明月刀手游花灯宴题目有哪些?答案是什么?游戏中花灯宴活动中是有很多题目需要我们去回答的,下面由小猪下载网小编为大家带来花灯宴题目一览吧! 天涯明月刀手游花灯宴题目一时间:2022-08-08
- 神都夜行录河伯巡游有什么用 河伯巡游解析,神都夜行录河伯巡游多久一次河伯巡游是神都夜行录中钓鱼时有概率出现的特定事件,很多玩家还不知道河伯巡游将会触发哪些效果,接下来小编就为大家带来河伯巡游的详细解析。 在水产丰富度高于50的时候,会时间:2022-08-08
- 神都夜行录无支祁送礼技巧 可以送和酒相关的,神都夜行录无支祁怎么获得神都夜行录无支祁送什么礼物好?游戏中无支祁这个水猴子比较喜欢喝酒,所以要往这方面靠,下面由小猪下载网小编为大家带来无支祁送礼技巧吧! 神都夜行录无支祁送礼技巧 作为一个时间:2022-08-08
热门阅读
-
天下第一社区视频www免费看内容丰富可以随意选择,网友:还不限次数!
阅读:1283557
-
老阿姨哔哩哔哩B站肉片入口进出无限制!网友:没骗人,随便进
阅读:810673
-
迈开腿让学长尝尝你的草莓突然上热搜,网友:这水果难道有这么好吃吗
阅读:395775
-
能看美女隐私部位的软件(不收费的隐私软件有哪些)
阅读:231995
-
麻豆精产国品一二三产区区别哇,我从来没见过这样的表演!
阅读:225015