1 Star 1 Fork 657

boobor / 人工生命

forked from drinkjava2 / 人工生命 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
开发思路.md 9.17 KB
一键复制 编辑 原始数据 按行查看 历史
drinkjava2 提交于 2019-03-11 19:45 . Go frog go!

这里存放一些杂乱的思路,不成系统,但是丢掉又可惜

  • 将来训练者和生物体可以对话,表现形式为弹出一个24x24点阵图形,每次只能弹出一种图形。训练者由人或电脑操纵,生物体则可以任意自主行动和说话(输出任意图形),训练者和生物体具有相似权限的输出(开始阶段输出图形仅限于100个汉字和数字),行动仅限于说话、移动、打击、保存食物、拿出食物。

  • 训练者在生物体模拟正确或行为(输出文字或图形,行走,吃,睡等)正确后,给予食物奖励。训练者在生物体说话或行为错误时,不给予奖励或给予打击惩罚。

  • 人类大脑的工作机制必然是简单的,它不可能拥有象现代CPU那样精密的构造,一个三极管损坏将整个停摆。由一个受精卵发育成的人脑,上百亿个脑细胞的形成必然遵迿一些简单的规律。

  • 人类大脑的工作机制必然与规模有关,否则无活解释为何人的脑细胞为何需这么多、从不退化。(生物体活动多的细胞,会影响到DNA遗传,表现为用进废退,并不全是100%随机的。)

  • 以上简单性和规模两点决定了基因的设计,体现在程序中就是Frog可以下蛋,蛋就是Frog的脑结构的精简版,可以存盘。蛋可以用来孵化出下一代的Frog。

  • 生物体具有天生痛觉区(一种固有的神经元兴奋区,此区兴奋将导致神经元群的工作集中于将短期内形成的神经元联系与负反愧兴奋区发生强烈关联,这就是痛觉的本质)和天生愉悦区(一种固有的神经元兴奋区,此区兴奋将导致短期内形成的神经元联系获得加强)。

  • 生物体具有思考区,思考区与视觉区(和将来要加入的听觉区)联系紧密,思考区可以将视觉或内部细胞区的兴奋联系起来,思考区内容是暂时的,很快由新的内容代替,思考区既属于输入区,也输于输出区,思考区的所有内容将自动被大脑的某个空闲区存贮一段时间。

  • 思考区内容由天生驱动区(痛觉、愉悦区)及后天形成的驱动区驱动,工作于串行方式,相当于人类的“心无二用”现象。大脑神经网络的检索和保存机制是并行的,可以从上亿个神经元中快速并保存与当前思考区相关联的内容,但是思考区的本身的活动却是串行的。

  • 思考区检索关联信息时,最近活跃过的细胞存储区优先兴奋(被检索出),既使在做梦中也是这样。

  • 模拟生物体的输出细胞区有说话区(24x24点阵网格)、上下左右行走区、张嘴及吞咽区、攻击区,移动视觉聚焦区,保存物体区。

  • 条件反射的建立是重点,任意两个兴奋区兴奋,都会导致位于它们中间的一个空白兴奋区形成与这两个区的联系,时间影响条件反射的建立。短期内形成的神经元联系快速消退,反复发生的神经元联系被加强。条件反射形成后,如没有复习,则随时间流逝而减弱直至消失。

  • 具有一种天生的(生物体的DNA遗传信息带来的)但比较弱的本能,能够重复训练者的行动和文字输入,如果训练者从左到右写一横,它也能本能模仿写一横,输入和输出区的每个象素点对应它的一组输入和输出天生神经元兴备群。

  • 有一种机制保证永远至少有一个驱动型兴奋区占优(用于驱动思考区),如果什么也没发生,“闲得无聊,要找点事干”区或做梦区兴奋。

  • 有可能做梦,做梦过程的目的:

    1. 节省能量,让大脑的思考区维持单线程低功耗工作(但不至于死机,可以接收各种输入信号并醒过来),生物脑是没有重启键的。
    2. 给大脑一段空闲时间进行整理工作,将最近发生的事件拿出来在思考区复习一遍,并进行推演,试图与旧的存贮内容内容发生关联,以形成新的条件反射。(创造力思维的产生,来源于不相干的细胞区被联系起来。) 这个过程实际上白天也在发生,只是白天的目的性太强,不象做梦这么自由。
    3. 旧的存贮内容在推演过程中得到强化,不至于被遗忘,始终得不到推演机会的存贮内容将随时间流逝被彻底遗忘(丢失)。始终得不到推演机会的存贮内容一定是无用的内容。
  • 先定一个基础的开发目标:100x100的点阵,在上面随机点一个点,人工生命也必须模仿在相似的位置点一个点,并具备遗传功能,不能做到这一点的人工生命都被自然淘汰,模仿最快、最精确的人工生命生存机率最高。 第二步开发目标: 在点阵上从左到右顺序写一横,不能模仿的人工生命全部淘汰。 第三步开发目标: 在点阵上写1、2、3....,不能模仿的人工生命全部淘汰。

  • 以下是以前发的comments, 先抄进来备份:

  • 利用优胜夯汰、随机变异、用进废退这三大原则,利用计算机的高速度来让电脑自动生成最优神经网络脑模型,而不是手工从算法着手来模拟人脑,可能是一个捷径,比较适合象我这样的懒人和苯人,因为不用花太多时间去研究算法(模式识别的成果可以引用,因为眼睛是关键的输入兴备区),只需要花时间在模拟环境和编制简单的用进废退逻辑即可。从单细胞进化到多细胞、从青蛙进化到人类,对于大自然来说,它从来就不懂什么是算法,这是一个漫长的、随机的进化过程,但在超级电脑上跑可能只要几天时间,就可能得到一个相当不错的脑模型。当然电脑速度越快、容量越大、环境模拟的越真实,则优胜夯汰后形成的脑结构就越复杂,错的脑模型都被自然淘汰掉了。 从算法着手搭建,还是从模拟环境着手自动进化,这是创建人工生命的两个大方向。模拟环境的难点在于环境本身必须足够复杂、正确。而且必须循序渐进,与脑的进化同步,如果把一群青蛙扔到猴子的模拟环境中,则所有青蛙都会被自然淘汰掉,项目就无法进行下去了。 怎样做到模拟环境的循序渐进,目前一种方法是从模仿像素开始,到模仿写出1,2,3, 到模仿1+1=2,到模仿解方程。。。,数学是一个比较好的循序渐进的模型,后面的知识全部建立在以前的基础上。模仿围棋也可以,可以从几格扩大到19格,但是模拟围棋比较复杂,只能通过两个脑对杀才行,没有数学这么简单,而数学可以随机出题,用标准答案来判定脑模型的解题正确性。 用模拟环境的方法得到的脑模型,可以解决任意问题,直到产生意识现象为止。学完数学可以接着学画画,学完画画可以接着学打球...,前面的学习和后面的学习会自动累加,并产生创造性条件反射,这是神经网络的能力。当它能解决的问题足够复杂时,能够正确解析“我”这个词时,我们可以称他为拥有了"意识"。

  • 看不见摸不着的思维,例如心里面想象一幅画,它的物理基础是脑神经元兴奋区确确实实地组成了一幅画。

  • 思维的本质是虚拟现实并代入主体,预计各种可能发生的情况并作出反映,根据结果产生奖励或惩罚,环境是虚拟的,奖励或惩罚神结元兴奋却是实在的。 越简单的动物虚拟现实的能力越差,所以思维能力差。这里的虚拟现实包括一切以前经历过的神经兴奋,如图象、声音、各种感觉,都可以模拟。这是一种"创造性思维"条件反射的建立,因为在这个模拟过程中,可能会出现根本未发生过的假设,导致神经元产生奖励或惩罚兴奋。为什么做到好梦会不愿意被吵醒? 因为在梦里神经元的奖励区兴奋了。

  • 关于环境,用简单的语言教育第一代生命体,然后由第一代生命体去自动教育下一代,第一代的神经元数量活跃区在下一代有更多机率变异。引入生命死亡机制, 模拟“优胜劣汰、用进废退”,这样可以由外部环境来决定大脑的自动进化,而不是由手工来设计整个大脑结构,这可能是一个非常复杂的结构,手工很难完成。模拟环境的复杂度和正确性决定了大脑的复杂度。

  • 昨天作梦,居然梦到“大脑思考区的图象不清晰了怎么办? 会有一种机制不断刷新它,像显像管不停需要刷新一样”,当时梦里觉得特有道理。先添加上来再说。

  • 人脑才是虚拟现实的高手, 可能脑细胞这么多,最大用处就是用来虚拟现实的,把想象的内容在思考区排成一个虚拟环境,而且是实时的,豪无迟涩感,梦中居然感觉不到这是一个虚拟出来的环境,可见速度有多快。虚拟现实在平时思考时起了关键作用。

  • 正式决定,回到人工智能开发,尝试一下简单人工生命的开发。早在02年前我就曾构思过"一个人工脑模型"并预言围棋人类将败。借着现在模式识别研究的突破,现在是时候尝试一下搭建这个脑模型了

Java
1
https://gitee.com/boobor/frog.git
git@gitee.com:boobor/frog.git
boobor
frog
人工生命
master

搜索帮助