Frog | 人工生命 (https://gitee.com/drinkjava2/frog)

这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体,技术架构基于02年提出的 一个人工脑模型。 这个项目永远没有结束的时候,开始于模拟一个简单的生命体,然后是青蛙、狗......, 结束于有“自我意识表现”的人工脑,或者说,结束于被机器人代替人类的那一天。

(接上回 给青蛙找个工作:走跷跷板),以下为本次项目更新内容 :

2019-11-11  第一版字母的模式识别演示
这是个比较重要的更新,也是青蛙切换到3D脑的第一个正式版本更新,它实现了ABCD四个字母的识别。测试时分别用ABCD四个字母,并同时加上一个声音信号进行训练,识别时只激活视网膜区,采用变形后的字体,即小一号的斜体字,从显示结果来看,识别效果还是很好的。另外这个模式识别是双向的,如果只单单激活听力区,也会在视网膜区成像。(如果要演示这点,需要将LetterTester.java中的seeImage和hearSound两行注释互换一下,并去除Cell.java中的59和60两行,这两行代码的作用是阻止光子逆向传播到视网膜上)。以下是这个模式识别的截图,黑色的小点表示视网膜发出的视觉波信号,蓝色的表示耳朵发出的听力波信号:在它们交汇的地方,有可能产生新的光子并逆向传播,用红色小点来表示,最终在波源处逆向成像。这个工作原理在细胞级别将相关的信号关联起来,也就是以前所说的体全息存贮的模拟实现,可以在三维空间实现信息的高密度存贮:
result6
这个模式识别的原理比较简单,不需要高等数学知识,每个人都能看懂,而且它可能更符合人脑的工作模式,它可以进行图像到声音的关联,也可以实现声音到图像成像的逆关联,另外还有两个重要优点:1.它可以同时处理多维的信号,也就是说可以同时处理多个图片、声音等信号。 2.它的训练速度非常快,没有采用什么海量的大数据来进行训练,只要任意有关联的信号,哪怕信号只出现一两次,它都会自动将它们关联起来,这个关联是动物的条件反射能够建立的基础。
目前这个更新只是个基本原理的演示,还没有进行多个字母同时训练并通过比较信号强度进行分辨的功能,这个需要对声音信号进行编码。今后将在这个模式识别原理上进行扩展,进行声音的编码、多参数优化自动生成器官、把小蛇引入到虚拟环境等等一系列更复杂的任务。

另外,在脑图上,本次更新添加了t、f、l、r、x五个快捷键,可以在脑图上选择顶视、前视、左视、右视、斜视这5个方向的视图。

附录— 可以比较形象地解释这个模式识别的工作原理的比喻:
可以把具备动态触突的神经元比作一个果冻,光子来了,在上面撞了一个坑(动态触突)就被陷进去了(能量存储),如果来的多,或者速度快(能量大),一小部分的光子就被从果冻的另一头撞出去了(光直线传播,寻找下一个神经元,增加信息存储单元,实现体全息存贮)。如果在另一个角度又来了新的光子,同样的过程在发生,只不过在撞击的过程中,以前陷在其它坑里的光子有可能被撞出来,沿着撞击坑的路径直线逆向返回(即波的逆向成像,两个撞击事件,在神经元级别就被关联起来,关联的相关度取决于它们撞击坑的大小),原来的光子陷入的越多,则被撞出来的机率就越大(短期发生的事最先被回忆出来),随时间流逝,光子被果冻吸收(果冻变肥,有可能遗传),被撞出来的机率就越小(信息的遗忘),撞击坑也会自动修复(动态触突消失,脑神经又可以接收新的信息了)。如果反复地有光子撞击在同一个坑,这个坑就会变大,这个修复的过程会变得很慢,坑变大了后果就是,即使只有轻微的撞击,也可以很容易将大坑里的光子撞出来(即记忆曲线,复习的效果优于单次长时间学习)。 在某些位置,撞击太频繁、太强烈,不是在果冻上撞出坑,而是撞出一条通路,光子可以无损耗地通过,就形成了一个个传导通道(神经纤维),直到光子被某个果冻拦截为止。另外,撞球也遵守动量守恒原理,同一个方向运动的光子,最有可能将逆向的坑里的光子撞出来,也就是说同一个器官产生的相邻的两个信号不容易产生互相干拢。思考和意识,就好象一场撞球游戏。

另外说明一下,本项目是一个外行根据自已的理解进行的神经网络探索试验项目,学术性和严谨性不够,项目设计思路仅供参考,欢迎指出问题。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。