找回密码
 注册

QQ登录

只需一步,快速开始

楼主: ruiaijun

[原创]用计算机如何模拟反射?(设计思路)

[复制链接]
 楼主| ruiaijun 发表于 2004-10-16 14:50:00 | 显示全部楼层
    5、建立反射的条件。
  在具体讨论模拟条件反射之前,首先我们对反射条件的模拟做一个讨论:不管是那一种反射,都需要满足同时(也可以是间隔时间短暂的先后)和反复两个条件。这种条件是生物神经系统的特殊要求。由于生物神经系统的记忆能力有限,它需要一个反复进行同样刺激(或操作)对记忆进行巩固的过程。不过这个特殊要求也并不是缺点,它起到对多种刺激的选择作用。那些不再重复的刺激就会不被记忆。
  在计算机模拟时,计算机的记忆能力很强,不需要巩固就可以保存下来。反复这个条件有时可以设置,有时可以不设置。前者我们叫反射的逼真模拟,后者我们叫做反射的近似模拟。两者的区别在于,近似模拟只依据同时出现,就建立起相应的反射表。多次反复就不进行了。逼真模拟要设计一定的反复次数,渐渐地完善反射表,模拟反射的强化过程。在需要模拟对记忆的选择作用时,强化过程必须模拟。 
  反射建立后不加巩固还会退化,这也是生物特性决定的,但是退化带来的遗忘可以淘汰一些记忆,起到节约存储的作用。计算机则不会自动遗忘(除非存储器损坏)。一般的模拟中也可以不模拟退化过程,但是在关注遗忘的有益作用时,必须模拟退化。这时还要设计不加巩固时反射表中数据渐渐丢失的程序,使反射能够退化。这些都要在设计建立反射表的程序时加以设置。逼真模拟显然比近似模拟的程序要复杂的多。以下的讨论中两种模拟都可以选用,看你具体要求而定。
chenghwnss 发表于 2004-10-19 15:55:00 | 显示全部楼层
用计算机模拟反射不致于您说的那么复杂吧。至于如何模拟,您可以看我关于(人工智能软件)的编写这篇文章。
ZhmXY 发表于 2004-10-21 19:26:00 | 显示全部楼层

不过说了半天还有一个关键问题,如何将信息处理为程序能接受的格式?

如果没有输入信息,整个系统就没有意义。

另:最近被考试所逼,没时间上来好好看帖子,抱歉。

 楼主| ruiaijun 发表于 2004-10-22 13:18:00 | 显示全部楼层

引用


原文由 chenghwn 发表于 2004-10-19 15:55:25 :
用计算机模拟反射不致于您说的那么复杂吧。至于如何模拟,您可以看我关于(人工智能软件)的编写这篇文章。

一个反射表就搞定了,你觉得很复杂吗?如果仅模拟条件反射,全部程序的机器码不过一千字节,已经很小了!当然要在程序设计中说明它,费的唇舌就多了!

 楼主| ruiaijun 发表于 2004-10-22 13:21:00 | 显示全部楼层
  6、先天性反射(非条件反射)的模拟。
  由于条件反射需要有先天性反射的支持,所以我们先要讨论先天性反射的问题。在条件反射理论中,把先天性反射叫做非条件反射(无条件反射),是天生的神经间的联系。因此这种反射没有建立过程。在模拟程序中, 它是靠在程序编制时,在程序中人为地在反射表写入一些内容实现的。
  我们先讨论一下先天性反射的反射表结构。这个反射表也有很多条,对应着很多条先天性反射的通道。每一条中有两项,一项纪录着非条件刺激码,另一项纪录着相应反应操作的首址。这种反射表没有写表程序,只有读表程序。
  有了这个反射表和支持它的程序,我们就可以模拟先天性反射了。当计算机接受了一个代表某种刺激的信号后,信号译码程序先翻译该信号,得到表示这个刺激的码,然后以这个码为依据,检索反射表,在相应的条中找出与之有联系的项(反应),以该项为地址去寻址,由那个首址中调出与刺激相应的反应程序。这样,就实现了刺激与反应间通过反射表的调用。
  在计算机程序中,可以有很多方式实现实现程序的调用,模拟先天性反射不是最简单的,但是最形象的。
 楼主| ruiaijun 发表于 2004-10-23 13:01:00 | 显示全部楼层
  7、条件反射的模拟。
  条件反射由三个要件组成,条件刺激、非条件刺激、反应。非条件反射是建立条件反射的支持。非条件反射就是我们前面讨论过的先天性反射。
  条件反射反射表中每一条应该有三个项,它们分别记录上面三个要件。其中“反应”一项纪录的是先天性反射表的地址,其它两项分别记录着两种刺激码。支持这个反射表的程序要有读写两种功能。写反射表就是建立条件反射,读反射表就是实现条件反射。
  模拟建立条件反射时,计算机要接受到条件刺激和非条件刺激两个信号,经信号译码程序翻译后,并不需要区分它们,而是都送到先天性反射表中检索,其中在表中能够检索到的就是非条件刺激。并可以由它调出相应反应。与此同时,写表程序把条件刺激、非条件刺激、反应(它在先天性反射表中的地址)都记录到条件反射表中。于是就建立了条件反射。如果需要模拟条件反射的强化现象时,要先通过强化程序(经过预定的次数)后再把数据写入条件反射表。
  模拟实现条件反射时,计算机接收到条件刺激信号,经过译码程序后,把刺激码送到条件反射表中检索,检索到相应的非条件刺激码和反应(先天性反射表地址),然后到先天性反射表中依据非条件刺激码调出相应反应(其过程与实现先天性反射一样)。这样就模拟了条件反射的实现。
  如果要模拟条件反射的退化现象,要通过退化程序,在该反射不被巩固的若干次后,抹去条件反射表中的相应纪录。
  有些复杂的条件反射不是建立在非条件反射的基础上的,而是建立在以前建立的条件反射的基础上的。这种条件反射也可以模拟。只要在模拟建立条件反射时,在检索先天性反射表得不到结果时,要设置继续检索条件反射表的程序,从反射表中检索到以前建立的条件反射后,在该条的反应项中记录下条件反射表的地址,于是就可以了。不详细说了。以此类推可以建立条件反射链。
  每个刺激码由代表神经元的存储单元地址和刺激信号的特征共同组成。它的详细情况我们以后专题讨论。
ZhmXY 发表于 2004-10-23 21:31:00 | 显示全部楼层

提一种外界刺激信息处理的方法,

首先将刺激信息作为一个n维向量进行处理,每一个维度代表相对独立的一个行为趋势。

例如:靠近/远离刺激源,攻击,取食以及一系列活动

先将刺激信息在n个对于生物体相对独立的行为趋势的数轴上分解,得到n个独立的一维向量。

再将这些向量与生物体当时状况的对应基础向量相乘,得到单独的行为趋势,再将这些行为趋势合并,得到行为。

例:接收到“天敌”的视觉信号(识别过程忽略),其中其中“远离信号源”向量数值较大,其余“取食”“饮水”等为负,与本身状态的各种平衡向量(假定当时此生物状态为静息)相乘,得到的“远离信号源”行为趋势远大于其他行为趋势,得到“远离信号源行为”。但如果自身初始状态向量中,“攻击性”向量远大于“远离信号源”向量,则会最终得到“主动进攻行为。而行为结果本身作为输入信号,乘以本身感知信号(这个行为对那些方面有利或有害),再叠加到对应的本身状态向量上去,最终影响系统对各种刺激的反应灵敏度及反应方式(可能得到与原来相反的行为)。

反射表的方法固然简单,但是对于一个行为来说只有做或不做之分,没有解决行为强度和同一时间各种行为的协调的问题。

在此对以上问题给出一种解决方法,不知道楼主是否看得懂(我数学比较差,话说不太清楚,抱歉)

[此帖子已被 ZhmXY 在 2004-10-23 21:36:14 编辑过]

 楼主| ruiaijun 发表于 2004-10-24 21:04:00 | 显示全部楼层
引用
原文由 ZhmXY 发表于 2004-10-23 21:31:26 :

提一种外界刺激信息处理的方法,

首先将刺激信息作为一个n维向量进行处理,每一个维度代表相对独立的一个行为趋势。

例如:靠近/远离刺激源,攻击,取食以及一系列活动

先将刺激信息在n个对于生物体相对独立的行为趋势的数轴上分解,得到n个独立的一维向量。

再将这些向量与生物体当时状况的对应基础向量相乘,得到单独的行为趋势,再将这些行为趋势合并,得到行为。

例:接收到“天敌”的视觉信号(识别过程忽略),其中其中“远离信号源”向量数值较大,其余“取食”“饮水”等为负,与本身状态的各种平衡向量(假定当时此生物状态为静息)相乘,得到的“远离信号源”行为趋势远大于其他行为趋势,得到“远离信号源行为”。但如果自身初始状态向量中,“攻击性”向量远大于“远离信号源”向量,则会最终得到“主动进攻行为。而行为结果本身作为输入信号,乘以本身感知信号(这个行为对那些方面有利或有害),再叠加到对应的本身状态向量上去,最终影响系统对各种刺激的反应灵敏度及反应方式(可能得到与原来相反的行为)。

反射表的方法固然简单,但是对于一个行为来说只有做或不做之分,没有解决行为强度和同一时间各种行为的协调的问题。

在此对以上问题给出一种解决方法,不知道楼主是否看得懂(我数学比较差,话说不太清楚,抱歉)

[此帖子已被 ZhmXY 在 2004-10-23 21:36:14 编辑过]


由反射表模拟的简单反射确实如你所说,只有做与不做之分。它是神经网络的低级功能,是神经网络的无智能活动。但是我的程序设计不是一个独立的运行程序,它是一个系列的发展型程序。它由简单反射一直设计到高等智能的产生。

你的意思我基本明白了。在我的理论中(此设计主题不是系统讲理论的),行为趋向也称作内趋力,它是由程序中的需要机制实现的。需要机制是由刺激激发的,它再决定行为,这已经超出简单地模拟反射范围,它将在由模拟反射引出初等智能中进行讨论。

你的讨论在我看来就是在处理刺激与需要之间的关系。多刺激可以看成是一个多维向量,它不是连续的,因此不能投影到数轴上。而需要也是离散的,它们刚好构成离散的对应关系,不用计算,彼此相对。而需要再指向相应的行为,就实现了由刺激到行为的生物主动链。我主张的是无数学模型,这样就可以不用数学模型。

需要机制体现了智能系统的主动性,你讨论的模型最终系统的行为还是由外界决定的。在人工智能中各种模型都有道理,但是我以为有主动性的系统更接近人类智能。

 

chenghwnss 发表于 2004-10-25 16:41:00 | 显示全部楼层
看了一下觉得我的记忆柱与您的反射表有许多相同的地方。
 楼主| ruiaijun 发表于 2004-10-11 22:41:00 | 显示全部楼层

    2、模拟条件反射的关键问题。
  要模拟条件反射就要先分析反射的神经机制:
  反射是两个或多个大脑神经部位(也可以看成是神经元间)建立的联系。其中有些联系生来就有,称先天性反射(巴甫洛夫叫做非条件反射);另外一些是后天建立的,称后天性反射(条件反射是其中一种)。对于反射的生物原理(神经间是如何联系的)人们目前还是众说纷纭。由于我们采用不模拟结构只模拟功能的方式研究,所以我们不参与反射生物机理的详细讨论。
  要用计算机模拟反射,就还要了解一下计算机:
  计算机没有神经部位(或神经元)。我们可以用保存信息的存储单元代表神经元,但是它们之间既不能先天又不能后天自动建立起联系。改造计算机的结构,模仿神经结构设计计算机,可以直接实现反射,但是硬件设计困难很大。我曾经设计过一个双响应存储器(它同时兼有处理存储两种功能),可以用硬件直接实现反射功能,但是硬件制作关很难通过。因此我们目前还不能走改变计算机结构的道路。
  经过上面的分析,用计算机模拟反射的关键就集中在如何使存储单元间建立联系上了。如何做到呢?

[此帖子已被 ruiaijun 在 2004-10-15 8:12:28 编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|生物行[生物导航网] ( 沪ICP备05001519号 )

GMT+8, 2025-6-28 09:51 , Processed in 0.014835 second(s), 12 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表