有没有搞神经网络的大佬,看看这个「人工生命」项目的思路怎么样?
项目地址:https://gitee.com/drinkjava2/frog
作者是个 70 后,readme 里面是这么介绍的:
这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体,技术架构基于 02 年提出的 一个人工脑模型。 这个项目永远没有结束的时候,开始于模拟一个简单的生命体,然后是青蛙、狗……, 结束于有“自我意识表现”的人工脑,或者说,结束于被机器人代替人类的那一天。
这是一个 Java 项目,分为 Application 、Env 、Frog 三个模块:
- Application 模块: 用于项目的启动、关闭等基础服务,Windows 环境下可以用 run.bat 来启动它查看演示。
- Env 模块: 模拟一个生物生存区,用不同形状的图形点阵来表达和模拟食物、天敌、障碍等物体,这个虚拟空间由程序员全权控制,将随着 Frog 的脑进化而不断变得越来越复杂。
- Frog: 这是人工生命的主体,目前起名叫青蛙(Frog),其实叫什么都一样。它主要具备以下器官:
运动器官: 与运动神经元相连,只有 4 个动作:上下左右。
进食器官:当 Frog 与食物的坐标重合时,食物会被从 Env 中删除,并相应增加 Frog 的能量值,并激活 Frog 的进食感觉神经元,随时间流逝能量将减少,能量耗尽则 Frog 死亡。
视觉器官: 这是脑模型的一部分,在实验中先固定随意取脑内一片神经元区作为视觉区。
脑器官: 这即是程序员要解决的问题,也是我们要获取的最终目标。脑模型的生成由电脑优胜夯汰、循环迭代进化生成,但这个进化的算法还是必须由程序员来掌控,一步步探索出来,即要防止虚拟环境太复杂,也要避免脑模型不适应环境,生命体全部被淘汰,导致实验中断,无法进行下去。
里面的一些介绍的原理我个人是没有太看明白,比如下面这个添加「眼睛」后找食效率提高,有没有看懂的大佬来解释解释?