AI 学会你最拿手的小游戏之后 科学美图

  一个懂写代码的程序员平常是怎么玩游戏的?想知道吗,一个网名叫做 Code Bullet 的澳大利亚程序员就经常自己在家制造和训练 AI 帮他打游戏。

  你要做的,就是告诉计算机,什么是“成功”的标准,还要告诉AI,它可以看到什么,可以做什么。成功的AI可以进行一次繁殖,留下后代,不成功的 AI 就当场去世了。

  为了模拟演化,子代 AI 还会和爸爸/妈妈有一点点的不同,类似于遗传突变。

  神经网络则是一种具有学习能力的算法,它模拟的是生物神经网络的结构,可以根据经验不断调整。

  在 Flappy bird 里,小哥设定 AI 可以看到鸟鸟和柱子的距离、鸟鸟相对于柱子的速度等信息。剩下的该怎么玩 AI 自便。

  在每一代的 AI 里,玩得最好的可以进行繁殖,并把自己的优秀基因遗传给下一代。当然了,下一代也不会照单全收,还是会有小小的突变。

  好的,小哥用 NEAT 玩坏的第二个游戏,就是 Chrome 浏览器连不上网时候出现的彩蛋小游戏——跳跳恐龙。

  好的,发现自己技术太差以后,小哥就自行复制出了游戏,并开始无情的 AI 模式了。

  第一代AI有500只,每一只控制着一只恐龙。发挥最好的 AI 可以进入繁殖阶段,不行的AI就莫得繁殖。而且下一代的策略会和上一代有一点点不同,类似于遗传突变。

  这个神经网络的输入信号就是每个 AI 看到的东西,输出就是每个AI的动作。新的神经网络连接的出现代表着 AI 学会了某种特定的策略。

  第一代的基本设定很简单,就是不停地随便乱跳。就和你一开始玩的时候一样。如果你仔细看上面的图,会发现有只AI是一直趴着前进的。

  就这样,傻 fufu 的 AI 被一代代刷掉之后,终于有只 AI 搞明白要看清楚距离再跳了。

  好的,玩过这个游戏的人知道,到了一定时间,速度会变得飞快,而且一些鸟鸟飞得太高踩不到,专家称达量限速套餐致4G降速 取消相关套餐能否改善所以在大鸟鸟面前要主动弯腰。

  到了25代,AI 终于学会了,如果你不能碾压别人,那就要立刻向大佬低头,晚0.1秒都不行。

  第25代 AI 妥妥地拿下了2万分。后来因为小哥的电脑实在吃不消了才没有继续刷出高分。

  小哥也是因为自己玩得太烂,于是决定用遗传算法算法来海选 AI 帮自己刷分。

  和自然选择理论一致,适合度最高的 AI 可以繁殖,做不到的 AI 就只能去死了。小哥规定,AI 要在有限的步数之内完成特定的指令。完成的指令越多,就可以获得更多的步数。

  小哥先利用遗传算法和深度学习(deep learning)训练出了几条优秀的 AI 贪吃蛇,然后利用融合(fusion)的方法把它们的“大脑”合体。相当于一个贪吃蛇的身体里藏着好几条蛇。人类是不是管这个叫做精分?

  小哥另外让高级版的贪吃蛇 AI 在不同贪吃蛇 AI 附体时对外展现出不同的颜色。

  比如,在发现食物,并且确定能够吃到的时候变成绿色,蓝色表示它确定能离食物越来越近,白色表示它看不到食物在哪里,只能尽量不让自己死掉。

  总之,小哥用 NEAT 算法的套路玩转了各种你耳熟能详的小游戏。效果都是杠杠的。

  Q学习属于增强学习算法,增强学习算法就是要记录学习过的策略,并且根据奖励(目标)来调整策略的算法。

  AI 的目标是找到屏幕上的黑框,然后使劲地摁就好了。一键玩到电脑中风的样子——

  你玩过扫雷吧。小哥也造了一个扫雷 AI。看 AI 玩 64 x 36 的扫雷觉得莫名舒爽有木有?

  好的,看完了上面这些 AI 打游戏的精彩片段我们知道,永远也不要嘲笑一个会繁殖的 AI 和一个玩不好游戏的程序员。


香港挂牌图| 彩霸王彩图168| 正版挂牌| 白姐玄机| 495555奇人中特网1| 铁算盘| 状元红心主论坛| 北斗星论坛| 心水论坛| 开奖结果|