scratch3上集成神经网络

莫问, 纵有疾风起 人生不言弃
帖子创建于2019年06月26日 分享 1384 次浏览 16 个赞 3 人关注

直接上视频

https://v.youku.com/v_show/id_XNDI0NDMyOTYwOA==.html?spm=a2hzp.8244740.0.0

具体做法:创建一个鸟类种群赋予它们飞翔的能力,因为这些鸟刚来到这个世界不明白自己要做什么,所以让它们自由飞翔。我们充当上帝的角色,去观察它们,我们不用去了解它们怎么飞,什么时候飞,只需要知道哪些鸟可以活到最后,将活到最后的鸟进行杂交,用它们优秀的基因繁衍出后代,重复这个操作,让这个种群按照这个方式一直进化。

我一开始按照这种方式操作发现会出现一个问题,进化出来的鸟老是会在同一个地方摔跤,进化的次数越多越容易形成相同的飞行方式,在同一个地方去世。所以后面做了一个基因突变的操作,看视频也可以发现这个种群在进化到第7代的时候出现了一只能通过第一个障碍的鸟,但是这只鸟有个坏习惯,喜欢一直往高处飞,而往高处飞的这个基因一直遗传到第13代,直到第14代的时候出现了一只基因突变的鸟,才打破这个循环。

总结:创建一个种群=>记录活到最后的几只鸟=>用最优秀的鸟与其它鸟杂交=>对杂交的后代部分基因进行突变=>获得新的种群。

这个程序还有很多地方需要完善的,比如,如果进化了几十代都没有一个能够通过第一个障碍的鸟,那么证明这些鸟的进化方向已经错了,那么就需要把这个种群灭绝,重新生成种群。

以上实现是结合神经网络库synaptic

synaptic一些内置架构如:多层感知器, 多层长短期记忆网络 (LSTM), 液体状态机 和 Hopfield 网络, 和一个能够训练任何给定的网络的训练器, 其中包括 解决异或的内置训练/测试,完成离散序列记忆任务或嵌入式Reber语法测试,因此你可以轻松测试和比较不同体系结构的性能。


通过这个库可以建立自己想要的智能模型。

一开始用JavaScript做了一个小demo,后面做着发现这个库可以完美接入到scratch3上。接入上去后可以用这个库对玩家的游戏作品进行智能过关。

只需要用这几个图形化指令就能建立你想要的神经网络模型,用于人工智能教育感觉会很方便。


这个案例的核心思想就是神经网络中的遗传变异


当然,神经网络能做的事远不止这些,需要大家提供更多的想法和创意,做出更多好玩的案例和作品。

不知道老师们对用scratch学习人工智能的态度是如何,如果这个帖子能火的话 我会把这个版本的scratch上传到平台上,并提供详细的教程,让老师们能把人工智能教育更好的做下去。

我需要大家的点赞加评论。

13 条评论

论坛小助手

2019年06月27日

鸟的“基因越来越好了”

论坛小助手

2019年06月27日

鸟的基因越来越好了

今天也要加油鸭

2019年06月27日

感觉很厉害啊

233333

2019年06月27日

66666

Z

2019年06月27日

想法很棒

微微乐~安卓机器人

2019年06月27日

一个字~碉!

直接上平台吧☞我们首先要获得感性认识啊

锋锋锋

2019年06月27日

看完只能双击66666了

浅风

2019年06月27日

厉害,超赞

小古德

2019年06月27日

不明觉厉

萝卜头-阿常

2019年06月27日

好厉害👍

段国增

2019年07月08日

不断的学习,进化,模拟人行为

微友汇

2019年12月17日

厉害

童磊

2020年02月03日

厉害厉害

量子发动机建模演示

2020年05月06日

无量寿福,,,