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

本文由公众号 “把科学带回家” 提供

给孩子最好的科学教育

作者 美图君

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

看过他训练出的 AI 玩的游戏,感觉…再也不想玩游戏了呢。

先来看 AI 玩 Flappy bird 会怎样。

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

小哥使用的是NEAT(neuro evolution of augmenting topologies)算法,也就是增强拓扑的神经演化算法。

NEAT 是一种结合神经网络和遗传算法(genetic algorithm)的好算法。

遗传算法是什么?

遗传算法类似于一个代码进化系统,它是一种优胜劣汰 AI 的算法。

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

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

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

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

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

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

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

第六代目就可以妥妥地拿下2000分了...

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

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

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

你还不知道有这个游戏?

你能玩到第几关呢?

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

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

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

上面的那些网络就是控制这些 AI 的神经网络,它会一代代地发生变化。

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

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

_(:з」∠)_

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

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

好的,玩过这个游戏的人知道,到了一定时间,速度会变得飞快,而且一些鸟鸟飞得太高踩不到,所以在大鸟鸟面前要主动弯腰。

利用遗传算法训练到第八代 AI 的时候,它们看起来就已经很聪明了。

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

但是第八代还是没学会在踩不扁的大鸟鸟面前低头。

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

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

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

到了第40代AI,见识一下什么叫做恐怖。

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

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

还有这个世界最难游戏。

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

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

每个 AI 依照一套指令(术语叫做 vector)。

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

一伙 AI 冲上场的画面。有不怕死的已经当场去世了。

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

注意到头是绿的 AI 吗?它们是上一代 AI 里最优秀的后代。

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

终于到了第50代,第50代啊同志们,有一个AI来到了终点。

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

老母亲的泪目。

也是用 NEAT 算法训练的 AI 玩越野赛车。

从没眼看的个位数代目——

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

再到彪悍的十七代目——

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

再来看看 AI 玩贪吃蛇。

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

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

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

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

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

这个精分版的贪吃蛇 AI 是这样玩的。

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

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

除了 NEAT 算法,他还用其他算法破解了另一些游戏。

比如,小哥还教 AI 玩55 x 55 x 55的魔方。

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

小哥说不能做更大的魔方了,它电脑要中风了。

小哥用Q学习(Q-Learning)练的玩钢琴块游戏的 AI。

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

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

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

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

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

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

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

不过瘾,请戳

掉入地下一万米

盯了270万学生50年,哈佛斯坦福学者发现成绩的贫富差距高达4年

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

把科学带回家

ID:steamforkids

给孩子最好的科学教育

转载请联系 [email protected]

长按二维码关注我们

图片非特别注明均来自网络。

https://shimo.im/docs/TubAO2hZeXYfRSk5/


分享到:


相關文章: