CN1516070A - 一种联想记忆神经网络 - Google Patents
一种联想记忆神经网络 Download PDFInfo
- Publication number
- CN1516070A CN1516070A CNA031135250A CN03113525A CN1516070A CN 1516070 A CN1516070 A CN 1516070A CN A031135250 A CNA031135250 A CN A031135250A CN 03113525 A CN03113525 A CN 03113525A CN 1516070 A CN1516070 A CN 1516070A
- Authority
- CN
- China
- Prior art keywords
- sequence
- neuron
- path
- pattern
- centerdot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及人工神经网络,是一种联想记忆神经网络,此网络实现了大存储容量、完全消除了假模式、具有多模式回忆能力,同时具有较高的记忆可靠性;希望记忆的模式被存储在网络的一组连接中,这些连接构成一个通过网络中所有神经元的单环回路;网络中处理和传递的信号为主要由神经元编号组成的序列,神经元执行一组处理这种序列的符号和逻辑运算;连接包括“连接状态”和“禁止路径”,前者用于存储信息,后者用于抑制网络中出现的假模式。
Description
发明领域
本发明涉及人工神经网络,具体来说就是涉及一种用于存储信息的新型联想记忆神经网络及其记忆方法。
技术背景
联想记忆神经网络具有很好的容错性,非常适合于不完整或畸变信息的识别与分类。已有多种不同形式的联想记忆神经网络,如Hopfield联想记忆神经网络、双向联想记忆神经网络等。但现有联想记忆神经网络存在如下问题:
1)每记忆一个模式都要重新确定网络中所有的连接权重,致使寻求合适连接权重的方法变得复杂而困难,从而导致联想记忆性能不理想,如存储容量小,存在假模式等,象Hopfield网络,若联想准确度大于99%时,则采用外积法的存储容量为0.138N,虽然采用伪逆法的存储容量可达0.5N,却是以容错能力下降为代价的。
2)所有的连接都参与每个模式的记忆,这虽然降低了记忆对每个连接的依赖,但并不能完全消除这种依赖,而且每个连接对存储在网络中的不同模式的影响程度也不同,所以如果断掉一个连接,一部分存储模式可能完全不受影响,而另一部分存储模式则可能不能被正确回忆出来,而若断掉多个连接,则可能使网络完全丧失回忆能力,因此可靠性有待提高。
3)当输入模式不曾被记忆在网络中时,网络中可能存在多个与输入模式具有最小汉明(Hamming)距的模式,但上述联想记忆网络一般只能回忆出其中一个模式,显然,通常人们总是希望网络具有多模式回忆能力(即全部或部分地回忆出这些最小汉明距模式)。
4)回忆时,要求输入模式必须是完全确定的,但就实际使用而言,总是希望用于回忆的模式可以是不完整的,即允许其中部分信息是不确定的,因为回忆的目的往往就是希望根据残缺的信息来获得完整的信息。
本发明的目的就是针对现有联想记忆神经网络的上述缺点提出一种新型的联想记忆神经网络及其记忆方法,与现有联想记忆神经网络相比,其优点是:存储容量大、可完全消除假模式、具有多模式回忆能力、回忆时允许输入不完整模式,记忆的可靠性高。
发明内容
本说明书中的网络均指联想记忆神经网络。
本发明的主要思路可概括为:1)采用Hopfield网络拓扑结构,但将实数连接权重改为连接权向量(也称连接状态),连接权向量的分量为逻辑值;2)不同于现有网络那样让所有连接参与存储每个模式,而是每个模式都各自存储在一个或多个所谓“模式环”的环路中;3)如果某个模式环中存储的模式不是希望记忆的模式(即假模式),则在该模式环中设置“禁止路径”,使该假模式不会被回忆出来;4)现有网络的神经元对输入求加权和,再将其减去一偏置量后作为激活函数的自变量,激活函数的输出就是神经元的输出,而本发明中神经元进行的是符号逻辑运算,输入、输出均为一组主要由神经元编号构成的序列。
下面结合附图详细说明本发明内容。
附图简单说明
图1是本发明提出的联想记忆神经网络的拓扑结构;
图2是本发明的五神经元联想记忆网络举例;
图3是说明图2中模式存储方式的树状图;
图4是设置禁止路径的方法示意图,用于说明记存过程中将一个空连接转变为非空连接时在由此而产生的存储非希望记忆的模式的模式环中设置禁止路径的方法;
图5是设置禁止路径的方法示意图,用于说明记存过程中撤销一条禁止路径时在由此而产生的存储非希望记忆的模式的模式环中设置禁止路径的方法;
图6是本发明的一个实施例;
图7是图6中神经元的内部结构及与其他神经元的连接示意图;
图8、图9是实施例中负责监控神经元及作为与外部设备接口的微处理器CI的工作程序框图;
图10、图11、图12、图13是实施例中神经元微处理单元NK的工作程序框图。
本发明联想记忆神经网络结构详细说明
图1所示是本发明的连想记忆神经网络拓扑结构,它与无自反馈的Hopfield网络完全相同,其中si=[si1,si2,…,siM]是神经元i的状态(向量),i=1,2,…,N,N为网络中神经元的个数,sik∈{-1,0,1},其中-1、1是sik的逻辑状态,sik=0表示该分量的状态不确定,k=1,2,…,M,M表示神经元状态(向量)所包含的状态分量个数,lij为神经元i到神经元j的连接,i,j=1,2,…,N,lii总是断开的,Xi(t)是神经元i的输出。下面参照图1对本发明网络结构作进一步的描述。
1)存储在网络中的信息用模式表示,模式形式为:
P=[p1,p2,…,pM],pi=[pi1,pi2,…,piN], Pik∈{-1,1},i=1,2,…,M,k=1,2,…,N。
为便于叙述,称P为一级模式,pi为P的第i个二级模式。
2)神经元i到神经元j的连接lij中存储着向量qij和一组禁止路径wij,表示为:
lij=[qij,wij] (1)
其中
k=1,2,…,M,
表示lij中存储了ζ条禁止路径,wij η表示其中的第η条禁止路径,称qij=0的连接为空连接,它是连接的初始状态,表示该连接还没有被用来存储向量,lij=qij表示lij中没有存储禁止路径。
为了便于叙述,称qij为lij的状态或权向量。
网络中每个连接都有一个时间单位的延迟,即信号通过一个连接需花一个时间单位。
3)禁止路径是网络中按顺序排列的一串神经元编号所表示的一段路径,这段路径不允许信号通过,禁止路径的表示方法如下:设n1,n2,…,nl为神经元的编号,则
表示n1→i→j为禁止路径,即由神经元n1出发经连接lnli到神经元i再经连接lij到神经元j的这段路径为禁止路径,同理,
表示的禁止路径为n1→n2→…→nl→i→j。
4)网络中每个模式存储在一个或多个称为“模式环”的回路中,模式环是由网络中N个连接和所有神经元组成的单向单环回路,其中“单向”是指回路中信号只能向一个方向传递,“单环”表示回路通过网络中每个神经元一次。设p,q,r,s,…,t是神经元编号,且{p,q,r,s,…,t}={1,2,…,N},即等式两边的集合相等,显然p≠q≠r≠s≠…≠t,则模式环用连接表示为:
lpqlqrlrs…ltp
模式环也可以直接用神经元编号表示为:pqrs…tp。
若pqrs…tp不包含空连接,则存储在其中的模式P=[p1,p2,…,pM]可由式(2)得到:
其中第二个等式左边集合是将右边集合中的元素按下标第一个数字由小到大重排的结果。
5)网络中所有神经元的状态所构成的状态(向量)表示为:
S=[s1,s2,…,sN]。
由上述模式环的含义可见,对于有N个神经元的联想记忆神经网络,从任意神经元出发的信号可以到达的第一个神经元是其它N-1个神经元之一,而可以到达的第二个神经元是剩余的N-2个神经元之一,依此类推,可见网络中最多有(N-1)!个模式环。N个神经元所能表示的模式数最多为2MN个,由式(2)可见,如果所有源自同一神经元的连接的状态互不相同,即对于任意神经元i,若j≠k,有qij≠qik(显然要求2M≥(N-1)),则每个模式环所存储的模式都是不同的,故网络所能记忆的不同模式数最多为(N-1)!,且只要N>2,则2MN=(2M)N≥(N-1)N>(N-1)!,可见网络的存储容量可达(N-1)!。例如,N=16,M=4时,则最多可存储15!≈1.3×1012个不同模式。另外,若M固定,则
如M=1,当N≥6时,(N-1)!>2N,若N=16,则(N-1)!/2N≈1.995×107,而2N是N个神经元所能表示的最大模式数,这就意味着要存储一个模式时,网络可能有非常多的模式环可用,这样便可以选择合适的模式环以照顾网络的其他性能要求,从而提出网络的整体性能,也可以用多个模式环来存储同一个模式,从而提高网络记忆该模式的可靠性。
当在某些空连接中存储适当的权向量,使它们成为非空连接,并与已存在的部分非空连接共同构成新的模式环来存储希望记忆的模式时,这些新的非空连接还可能与网络中的其他非空连接构成另外的模式环,而这些模式环所存储的模式并非希望记忆的模式(称为假模式),从而在存储希望记忆的模式的同时也存储了假模式(简称存储假模式的模式环为假模式环),为此,在存储假模式的模式环中设置禁止路径,利用信号不能在包含禁止路径的模式环中构成回路来避免回忆出假模式,可见包含禁止路径的模式环是假模式环。
本发明联想记忆神经网络举例
图2是本发明的五神经元联想记忆网络(N=5,M=2)举例,其中连接用中间有箭号的弧线表示,箭号方向为信号传递方向,Xi是神经元i(i=1,2,3,4,5)的输出,每个非空连接存储一个包含两个分量的权向量,图中的数字是模式环编号,此编号是模式环所存储的模式的十进制数,标有相同编号的连接构成一个模式环,可见一个连接属于多个模式环,用虚线表示的连接l24、l53是空连接,图中有3条禁止路径(用带箭号的点划线表示):1→3→4、2→3→4→5、4→3→2→5,假模式环用带删除线的编号表示。
图3是由图2中全部模式环组成的树状图,每根竖直线表示一个连接,虚线表示空连接,与同一横线相连的连接源自同一神经元,每个连接上、下端的数字分别是源、目标神经元的编号,图中每条从最上面的‘1’到最下面的‘1’的路径都是一个模式环,最下面一排数字是相应模式环的编号,图中的点划线表示禁止路径,每个连接旁边是存储在该连接中的二级模式。
式(3)是图2所示联想记忆网络的连接矩阵,其中最上面一行数字1-5和最左边一列数字1-5分别是矩阵的列编号和行编号,它们也分别是目标神经元编号和源神经元编号;每个连接所存储的二级模式位于矩阵中相应行、列编号交点处,位于其下的数字或数字串是禁止路径,如第2行第5列为连接l25中存储的内容:q25=[-1,1],w25=[43]。
表1是此连接矩阵存储的模式及假模式,跟在模式后的第一个数字是相应模式的十进制表示,第二个数字串是存储该模式的模式环,根据此模式环及式(2)很容易在连接矩阵中找出相应的存储模式。在存储假模式的模式环中带下划线部分是禁止路径。
表1
本发明联想记忆神经网络记忆方法详细说明
本发明提出的记忆方法要求网络中传递的信号是序列,每个神经元接收其它神经元输出的序列,并按下述记忆方法中的要求处理这些序列,然后输出一组新的序列,并规定其中序列的个数不能超过某个规定上限,为了便于叙述,下面称此上限为L,至于上限的设置见下述关于L的讨论。
序列表示为:
h(t)n0n1…nt其中t是离散时间,ni(i=0,1,…,t)是神经元的编号,h(t)是附加信息,表示该序列所经过的路径中具有不同于源神经元状态的连接的个数,序列的长度定义为序列中神经元编号的个数,即t+1,此序列的含义是:神经元n0在t=0时刻输出序列h(0)n0,神经元n1在t=1时刻经由ln0n1接收到序列h(1)n0并输出序列h(1)n0n1,然后神经元n2在t=2时刻经由ln1n2接收到序列h(2)n0n1并输出序列h(2)n0n1n2,如此下去,直到神经元nt输出h(t)n0n1…nt。由于神经元在接收到的序列之后加上神经元自身的编号,从而将其变为一个新的序列,然后再输出此新的序列,可见序列表示了它自身所经历的路径。
本发明所述的记忆方法包括回忆和记存两个部分。
回忆
回忆是找出网络中存储的与输入模式汉明(Hamming)距最小的模式。回忆分为0≤t<N和N≤t<2N两个阶段。
0≤t<N阶段:
1)根据输入模式P设置所有神经元的状态S,即令sij=pji,i=1,2,…,N,j=1,2,…,M,回忆时允许pji=0,即pji∈{-1,0,1}。
pji=0表示该状态分量不确定或不必确定是取-1还是取1,这样可以通过输入不完整的模式来回忆出存储在网络中的相应的一个或多个完整模式,尤其是当我们希望在网络中找出具有某种特征的模式时,将特征作为不完整模式输入的方法就显得非常有用了,称含pji=0的模式为不完整模式。
2)网络从t=0时刻开始运行,每个神经元发出一个仅含神经元自身编号的初始序列,且附加信息为0,即神经元i发出的初始序列为h(0)i,h(0)=0,i=1,2,…,N。
3)任何序列只能到达同一个神经元不超过一次,例外情况是,当t=N-1时,序列中的第一个编号正好是所要到达的神经元的编号,即序列第二次到达该神经元时将构成一个模式环。
4)序列不能通过禁止路径。
5)序列不能通过空连接。
6)如果连接的状态与源神经元的状态不同(比较二者状态是否相同时,总是视源神经元中状态不确定的分量与相应连接的状态分量相同),则序列经过该连接时附加信息加1。
7)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择L个序列(如果接收到的序列不足L个,则选择全部这些序列),并在其中每个序列之后加上自身的编号从而将它们变为新的序列,然后输出这些新的序列。
N≤t<2N阶段:
1)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择并输出L个序列(如果接收到的序列不足L个,则选择并输出全部这些序列),如果是t=N,则在其中每个序列之后加上神经元自身的编号再输出。
2)序列只能在自身所表示的模式环中传递,即序列通过连接lij(i,j∈{1,2,…,N})的条件是:序列所表示的模式环中包含‘ninj’,即该序列曾经通过lij,同时序列所表示的模式环不包含存储在lij中的任何禁止路径。
当t=N时,每个神经元接收到的每个序列所包含的第一个编号必然是该神经元自身的编号,也就是说序列经历了N-1个神经元后到达了其最初出发的神经元,它包含网络中全部神经元的编号,这些序列的形式可表示为:x(N)=h(N)n0n1…nN-1nN,其中nN=n0,显然,n0n1…nN-1n0或ln0n1ln1n2…lnN-1n0表示一个模式环,然而,它可能是假模式环,因为t=N时,序列的头尾相连,而一段包含序列头尾的路径有可能是一段禁止路径,因此有必要通过N≤t<2N阶段的网络运算来消除这部分假模式环。
t=2N时,在神经元输出的序列中,h(2N)最小者所表示的模式环中存储的模式与输入模式的汉明(Hamming)距最短,这就是我们希望回忆出来的模式,此模式可由式(2)得到。显然,当输入模式不是已存储在网络中的模式,而网络中可能有多个不同模式与输入模式的汉明(Hamming)距同为最小时,神经元输出的序列中,h(2N)最小者一般不止一个,因此网络具有多模式回忆能力。
记存
记存是在网络中寻找一个合适的模式环来存储希望记忆的模式(以下称待记存模式),记存按以下要求进行:
1)根据待记存模式P设置所有神经元的状态S,即令sij=pji,i=1,2,…,N,j=1,2,…,M。
2)网络开始运行的时刻规定为t=0,此时每个神经元发出一个仅含神经元自身编号的初始序列,且附加信息为0,即神经元i发出的初始序列为h(0)i,h(0)=0,i=1,2,…,N。
3)序列不能通过与源神经元不同状态的非空连接。
4)任何序列只能到达同一个神经元不超过一次,例外情况是,当t=N-1时,序列中的第一个编号正好是所要到达的神经元的编号,即序列第二次到达该神经元时将构成一个模式环。
5)通过空连接的序列附加信息加1。
6)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择L个序列(如果接收到的序列不足L个,则选择全部这些序列),并在其中每个序列之后加上神经元自身的编号从而将它们变为新的序列,如果t<N,则输出这些新的序列。
7)填充空连接及撤销禁止路径:a)当t=N时,神经元接收到的序列均表示一个模式环,相应的附加信息大小等于它所经历的空连接的个数,任取其中附加信息最小者作为存储待记存模式的模式环;b)若此模式环中不存在空连接和禁止路径,则说明网络中已经存储了待记存模式,因此终止记存过程;c)填充此模式环中的空连接,即将其中空连接的状态逐一改变为相应源神经元的状态,也就是将其中所有qij=0改变为qij=si;d)逐一撤销该模式环包含的所有禁止路径;e)每撤销一条禁止路径或每填充一个空连接之后,都要进行8),9)项要求的工作。
8)搜索因填充空连接或撤销禁止路径而产生的所存储的模式不是待记存模式P的模式环(为便于叙述,将其中存储的模式表示为Ps),下面详细说明具体搜索方法。
如果是搜索因填充某个空连接而产生的存储Ps的模式环,则暂时清空与该连接有相同目的神经元的其它连接,即设lnl-1nl是被填充状态的连接,则令:
式(4)使得网络中只存在包含连接lnl-1n1的模式环。
如果是搜索因撤销禁止路径而产生的存储Ps的模式环,则暂时清空所有与该禁止路径中的连接有相同目的神经元的其他连接,即设被撤销的禁止路径为:nl-γnl-γ+1…nl-2nl-1nl,则令:
其中
表示k取1~N中除nl-γ、nl-γ+1外的所有整数,α、β及δ的表示方式与k一样,显然式(5)使得网络只存在包含路径nl-γnl-γ+1…nl-2nl-1nl的模式环。
令S=P,进入回忆过程,由回忆得到的所有h(2N)≠0的序列所表示的模式环就是存储Ps的模式环,然后恢复被式(4)、(5)改变的连接状态。
9)在存储Ps的模式环中设置禁止路径,新设置的禁止路径必须包含被填充状态的连接或被撤销的禁止路径,因为网络中已经存在的模式环不包含新被填充状态的连接,已经存在的假模式环不包含被撤销的禁止路径,从而使得它们不会受新设置的禁止路径的影响。下面结合图4和图5来说明禁止路径的设置方法:
图4和图5中圆圈表示神经元,带箭头的直线表示连接及信号的传递方向,λ,γ为非负整数。图4是在因填充空连接而产生的存储Ps的模式环中设置禁止路径的情况,lnl-1n1是被填充状态的连接,nl-1nl…nl+λnl+λ+1 1是存储模式P的模式环中的部分路径,nl-1nl…nl+λnl+λ+1 2是存储Ps的模式环中的部分路径,则禁止路径设置为:
其中q表示连接
中已经存储的禁止路径条数。
图5是在因撤销禁止路径而产生的存储Ps的模式环中设置禁止路径的情况,被撤销的禁止路径为存储在lnl-1nl中的nl-γnl-γ+1…nl-2nl-1nl,nl-γnl-γ+1…nl-2nl-1nl…nl+λnl+λ+1 1是存储待记存模式P的模式环中的部分路径,存储Ps的模式环中的部分路径是nl-γnl-γ+1…nl-2nl-1nl…nl+λnl+λ+1 2,则禁止路径设置为:
其中q表示连接
中已经存储的禁止路径条数。
至此,实现了一个模式的记存。
关于L的讨论:L越大,即神经元输出的序列越多,则神经元接收到的序列也越多,最终搜索到的模式环也越多,可见为了不漏掉网络中存储的模式与输入模式汉明(Hamming)距最短的模式环,希望L尽可能地大,但神经元也要花费更多的时间来处理输入、输出序列,在神经元的处理速度确定的情况下,只能在L的大小(即搜索模式环能力的大小)与完成一次记存或回忆过程所需的时间之间取得某种平衡,具体要根据使用者对这两者的不同重视程度来确定L。
实施例
本发明既可以用硬件实现也可以用软件实现,还可以混合采用硬件和软件实现。
硬件结构
图6是本发明的一个混合采用软件和硬件的实施例,为了便于叙述,图6中将神经元排序为:neuron 1,neuron 2,…,neuron N;所有神经元的内部结构都是一样的;神经元neuroni(i=1,2,…,N)的输出经信号线Li送至其他N-1个神经元,Li由数据线、地址线及写控制线组成,微处理器CI(内部自带ROM和RAM)通过总线B1监控各神经元的运行及通过通信线B2作为接口与外部设备通信,SYNi是神经元i发出的同步信号,逻辑“与”运算电路的输出SYN是网络同步信号,同步信号的作用是保证所有神经元在相同时刻的工作状态相同,ESYN用于CI控制SYN信号的允许或强制无效,SYN为逻辑“1”表示同步信号有效,此时意味着ESYN及所有SYNi(i=1,2,…,N)均为“1”。
图7以神经元neuron i为例表示神经元内部结构及与其他神经元的连接关系。神经元核心NK是一微处理单元,NK内部自带或外接用于存储运行程序的只读存储器(ROM)和暂存数据的随机存储器(RAM)。来自其他N-1个神经元的输出数据分别存储在N-1组双端口存储器(DPRAM)中,每组双端口存储器可存储L个序列及一个神经元状态,N-1组存储器的输入端口相互独立,可以同时写入数据,各组存储器输出端口的数据线并联构成数据线Xi,供NK读取其中的内容,AS是用于NK选择具体存储单元的地址线及读控制线。电可擦除可编程只读存储器(E2PROM)用于存储所有以神经元i为目标神经元的连接的状态及禁止路径,NK通过数据线与读、写控制线SI访问E2PROM。由上可见,Li(i=1,2,…,N)和E2PROM共同承担连接的功能,前者传递信号,后者存储连接状态和禁止路径。
记存/回忆方法的实现
微处理器CI经通信线B2接收外部设备送来的记存/回忆命令及模式,然后通过命令代码及相应数据控制所有神经元的NK执行相应的记存/回忆操作,最后将结果回送给外设。
每个神经元的NK中设有神经元状态寄存器Rs和源神经元寄存器Rn,Rs用于暂存CI指定的本神经元的状态,Rn用于暂存CI指定的一个神经元编号,如果某个神经元的Rn不是空的,则该神经元的NK只处理Rn中神经元的输出,其目的是在记存/回忆过程中使搜索到的模式环包含特定的连接;NK的输出(即写入其他N-1个神经元双端口存储器中的数据)包括两部分:神经元自身的状态及一组序列。
NK开始工作时总是先使同步信号有效,即让SYNi=“1”,然后接收来自CI的命令及数据,并执行命令规定的操作,为了便于说明,这些命令以代码形式表示如下:
F1—设置神经元的状态(向量),即将CI指定的本神经元状态(向量)存储在Rs中;
F2—在CI指定的空连接中存储源神经元的状态,即NK到DPRAM中读取CI指定的空连接的源神经元状态,并将其写入E2PROM中该空连接的状态存储单元;
F3—到E2PROM中读取CI指定的连接的状态并将其传递给CI;
F4—将NK内部RAM中的模式环传递给CI;
F5—将CI指定的神经元编号存入Rn;
F6—清空Rn;
F7—到E2PROM中读取CI指定连接中的禁止路径并将其传递给CI;
F8—清除E2PROM中CI指定的禁止路径;
F9—将CI指定的禁止路径存储到E2PROM中该禁止路径最后一个连接的禁止路径存储区;
F10—搜索记存模式环(见图11及相关说明);
F11—搜索回忆模式环(见图13及相关说明)。
下面详细介绍网络在CI控制下记存/回忆的工作过程。图8是CI的工作程序框图,方框中的命令代码是要求所有神经元NK执行的操作;开始时CI总是发出同步允许信号(1),即ESYN=“1”,然后处于等待与外设通信状态(2)(3),当接收到外设记存/回忆命令及模式时,就转入相应的记存/回忆模式环搜索(4)(见图9及其说明),从而得到一组表示模式环的序列;然后分两种情况(5):
1)如果是回忆,则在搜索到的模式环中选取L个附加信息最小的不同的模式环(6),根据式(2)及利用命令F3查出存储在这些模式环中的模式(7),并将所得模式作为回忆结果输出给外设(8)。
2)如果是记存,则在搜索到的模式环中任选一个附加信息最小的模式环(9),为便于说明,将其记作PL,用l表示PL中神经元的排列序号(序列中第一个神经元序号为1)并令l等于2(10),通过命令F3向PL中第l个神经元查询源自PL中第(l-1)个神经元的连接是否为空连接(11)、(12);①对于非空连接,利用F7向PL中第l个神经元获取源自PL中第(l-1)个神经元的连接中的禁止路径(13),如果其中有一条禁止路径被包含在PL中,则利用F8命令PL中第l个神经元撤销该禁止路径(14),通过F5将该禁止路径中第一个神经元以外每个神经元的Rn设置为该神经元的前一个神经元编号(15),然后进行回忆模式环的搜索(16),通过F6清空所有Rn(17),在每个搜索到的模式环(PL除外)中设置禁止路径(18)(见图5及其说明);②对于空连接,则通过命令F2在该空连接中存储其源神经元状态(19),并通过F5令PL中第l个神经元的Rn等于第(l-1)个神经元的编号(20),从而使得利用F11搜索到的模式环必然包含PL中第(l-1)个神经元到第l个神经元的连接(21),通过F6清空Rn(22),在每个搜索到的模式环(PL除外)中设置禁止路径(23)(见图4及其说明);利用F9将表示禁止路径的数据存储在该禁止路径的最后一个连接中(24);至此完成了PL中一个连接的处理,然后令l增加1(25),进行下一个连接的处理直至处理完所有PL中的连接(即l=N+2)(26),最后将PL作为记存结果输出给外设(27);CI在完成上述工作后,总是回到等待与外设通信状态。
图9是CI控制神经元实现记存/回忆模式环搜索的程序框图,CI首先强制同步信号无效(28),使所有神经元不能开始模式环的搜索,然后根据要记存/回忆的模式通过F1设置各神经元的状态(29),向所有神经元发出记存(F10)/回忆(F11)模式环搜索命令(30),再使同步信号允许有效(ESYN=“1”)(31),以便NK可以开始搜索模式环,然后通过中间带延时(33)的两次查询(32)(34)同步信号是否有效(SYN=“1”)来判断NK的模式环搜索是否结束,延时时间必须大于神经元NK使同步信号从有效变为无效所需的时间,这样就不会在神经元搜索模式环未结束时与神经元通信,最后通过F4读取搜索到的模式环(35),即读取各NK内部或外接RAM中的序列,每个序列都表示一个模式环。
图10是NK的程序框图,工作时首先使同步信号有效(36),即SYNi=1,然后处于等待接收CI命令及数据状态(37),此处的数据是指NK执行相应命令时需要CI提供的有关信息,接收到CI的命令及数据之后立即执行相应的操作,(38)-(48)分别表示命令F1-F11规定的操作,详见上述关于命令代码的说明,NK在执行完命令后总是回到等待接收CI命令及数据状态(37)。
图11是NK在搜索记存模式环时所执行的程序框图,与记存方法所描述的模式环搜索方法相对应。模式环搜索总是从离散时间t=0(49)开始,首先是初始化工作(50),这是记存方法中第2)项的要求,即清空本神经元输出端的N-1组DPRAM,将本神经元状态(向量)及初始序列h(0)i写入其中,i为本神经元编号,h(0)=0;同步信号设置与查询(51)是保证只有所有神经元都完成各自输出端N-1组DPRAM的写入后,才开始处理本神经元N-1组DPRAM中的序列;(52)、(53)、(54)分别实现记存方法中的第3)、4)、5)项,(55)、(56)、(57)实现记存方法中的第6)项,其中的RAM是指微处理单元NK内部或外接的随机存储器,(56)是保证只有所有神经元都处理完各自接收到的全部序列之后,才开始输出端DPRAM的清空与写入工作;(58)表示离散时间加1,(59)中如果t=N,则意味着序列已构成模式环,故结束搜索,否则回到(51)进行下一次循环;(60)使同步信号有效以便CI读取索搜到的模式环。
图12中使同步信号有效(61)、同步信号查询(62)、使同步信号无效(63)的过程保证所有神经元的NK同步工作,即只有CI发出同步允许信号有效(ESYN=“1”),以及所有NK都使各自的同步信号有效(SYNi=“1”),图6中的“与”运算电路输出的网络同步信号才会有效(SYN=“1”),(62)才会查询到有效同步信号,使得NK只有在查询到同步信号有效后,才能开始输出端的DPRAM写入或处理自身DPRAM中的内容,而(63)使同步信号无效的作用是为下一次同步作准备;必须指出,由于NK通过执行程序来使同步信号从有效到无效需要一定的时间,故只要所有NK的运行速度相差不大,则每个NK都能够及时查询到有效同步信号,而不必担心在此之前同步信号已变为无效。
图13是回忆时NK搜索模式环所执行的程序框图,实现回忆方法中所描述的模式环搜索任务,(64)-(66)、(68)、(72)-(77)、(80)-(82)、(84)与图11中相同方框的说明完全一样,只是用于回忆过程而已;(64)、(65)实现回忆方法中0≤t<N阶段的第2)项;(67)中只在设置禁止路径时的回忆过程中,才有Rn≠0,目的是搜索存储Ps的模式环,因为此模式环必然包含以Rn表示的神经元为源神经元,以本神经元为目的神经元的连接;(68)实现回忆方法中0≤t<N阶段的第3)项;(69)、(70)、(71)分别实现回忆方法中0≤t<N阶段的第4)、5)、6)项;(72)-(74)实现回忆方法中0≤t<N阶段的第7)项;(78)-(81)实现回忆方法中N≤t<2N阶段的第1)、2)项;(83)中t=2N意味着神经元输出序列所表示的模式环中不包含禁止路径,其中存储的模式不会是假模式,从而完成了模式环的搜索。
必须指出,图6、图7的硬件实现只涉及计算机硬件设计领域的常用技术,从事该领域的技术人员完全不需另外的创造性工作就能根据实施例完成本发明的硬件实现。无论是CI还是NK虽然是微处理单元,但其功能显然比普通微处理器要简单的多,因为它们只要求具备逻辑运算和整数加减运算能力,也就是说完全可以采用一般的微处理器;E2PROM可以用RAM替代,其中的数据可以长期存储在外部设备中,需要时由CI一次性读入即可;由于图4中DPRAM的读写不是同时进行的,故也可以用普通RAM通过适当的逻辑组合来实现。
Claims (8)
1.一种联想记忆神经网络,采用Hopfield网络拓扑结构,其特征在于神经元的状态包含多个状态分量,可表示为:
si=[si1,si2,…,siM]其中i=1,2,…,N,N为网络中神经元的个数,si为神经元i的状态,sik∈{-1,0,1},其中-1、1是sik的状态,sik=0表示该分量的状态不确定,k=1,2,…,M,M表示神经元状态所包含的状态分量个数,网络中的每个连接存储一个向量和一组禁止路径,可表示为:
lij=[qij,wij]
其中lij是神经元i到神经元j的连接,
是存储在lij中的向量,
k=1,2,…,M,
表示lij中存储了ζ条禁止路径,wij η表示其中的第η条禁止路径,qij=0的连接为空连接,它是连接的初始状态,表示该连接还没有被用来存储向量,lij=qij表示lij中没有存储禁止路径。
2.权利要求1中所述禁止路径的表示方法如下:设n1,n2,…,nl为神经元的编号,则
表示n1→i→j为禁止路径,即由神经元n1出发经连接ln1i到神经元i再经连接lij到神经元j的这段路径为禁止路径,同理,
表示的禁止路径为n1→n2→…→nl→i→j。
4.一种联想记忆方法,这种方法由回忆方法和记存方法两个部分组成,其特征在于要求网络中传递和处理的信号是序列。
5.权利要求4所述序列的特征在于序列可表示为:h(t)n0n1…nt,其中t是离散时间,ni(i=0,1,…,t)是神经元的编号,h(t)是附加信息,它表示该序列所经过的路径中具有不同于源神经元状态的连接的个数。
6.权利要求4所述回忆方法的特征在于回忆包括0≤t<N和N≤t<2N两个阶段;
0≤t<N阶段:
1)根据输入模式P设置所有神经元的状态S,即令sij=pji,i=1,2,…,N,j=1,2,…,M;
2)网络从t=0时刻开始运行,每个神经元发出一个仅含神经元自身编号的初始序列,且附加信息为0,即神经元i发出的初始序列为h(0)i,h(0)=0,i=1,2,…,N;
3)任何序列只能到达同一个神经元不超过一次,例外情况是,当t=N-1时,序列中的第一个编号正好是所要到达的神经元的编号,即序列第二次到达该神经元时将构成一个模式环;
4)序列不能通过禁止路径;
5)序列不能通过空连接;
6)如果连接的状态与源神经元的状态不同(比较二者状态是否相同时,总是视源神经元中状态不确定的分量与相应连接的状态分量相同),则序列经过该连接时附加信息加1;
7)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择L个序列(如果接收到的序列不足L个,则选择全部这些序列),并在其中每个序列之后加上自身的编号从而将它们变为新的序列,然后输出这些新的序列;
N≤t<2N阶段:
1)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择并输出L个序列(如果接收的序列不足L个,则选择并输出全部这些序列),如果是t=N,则在其中每个序列之后加上神经元自身的编号再输出;
2)序列只能在自身所表示的模式环中传递,即序列通过连接lij的条件是:序列所表示的模式环中包含‘ninj’,即该序列曾经通过lij,同时序列所表示的模式环不包含存储在lij中的任何禁止路径。
7.权利要求4所述回忆方法的特征在于回忆时允许输入不完整的模式。
8.权利要求4所述记存方法的特征在于包含以下9项规定:
1)根据待记存模式P设置所有神经元的状态S,即令sij=pji,i=1,2,…,N,j=1,2,…,M;
2)网络开始运行的时刻规定为t=0,此时每个神经元发出一个仅含神经元自身编号的初始序列,且附加信息为0,即神经元i发出的初始序列为h(0)i,h(0)=0,i=1,2,…,N;
3)序列不能通过与源神经元不同状态的非空连接;
4)任何序列只能到达同一个神经元不超过一次,例外情况是,当t=N-1时,序列中的第一个编号正好是所要到达的神经元的编号,即序列第二次到达该神经元时将构成一个模式环;
5)通过空连接的序列附加信息加1;
6)每个神经元在接收到的序列中,按附加信息由小到大的顺序选择L个序列(如果接收到的序列不足L个,则选择全部这些序列),并在其中每个序列之后加上神经元自身的编号从而将它们变为新的序列,如果t<N,则输出这些新的序列;
7)填充空连接及撤销禁止路径:a)当t=N时,任取其中附加信息最小者作为存储待记存模式的模式环;b)若此模式环中不存在空连接和禁止路径,则终止记存过程;c)填充此模式环中的空连接,即将其中空连接的状态逐一改变为相应源神经元的状态,也就是将其中所有qij=0改变为qij=si;d)逐一撤销该模式环包含的所有禁止路径;e)每撤销一条禁止路径或每填充一个空连接之后,都要进行8),9)项要求的工作;
8)搜索因填充空连接或撤销禁止路径而产生的所存储的模式不是待记存模式P的模式环(为便于叙述,将其中存储的模式表示为Ps),如果是搜索因填充某个空连接而产生的存储Ps的模式环,则暂时清空与该连接有相同目的神经元的其它连接,即设lnl-1nl是被填充状态的连接,则令:
如果是搜索因撤销禁止路径而产生的存储Ps的模式环,则暂时清空所有与该禁止路径中的连接有相同目的神经元的其他连接,即设被撤销的禁止路径为nl-γnl-γ+1…nl-2nl-1nl,则令:
令S=P,进入回忆过程,由回忆得到的所有力(2N)≠O的序列所表示的模式环就是存储Ps的模式环,然后恢复上述被清空的连接状态:
9)在存储Ps的模式环中设置禁止路径,新设置的禁止路径必须包含被填充状态的连接或被撤销的禁止路径,具体方法如下:
设lnl-1nl是被填充状态的连接,
是存储二模式P的模式环中的部分路径,
是存储Ps的模式环中的部分二咯径,则禁止路径设置为:
其中g表示连接
中已经存储的禁止路径条数;设被撤销的禁止路径为存储在lnl-1nl中的nl-γnl-γ+l。…nl-2nl-1nl,存储待记存模式P的模式环中的部分路径为nl-γnl-γ+1…nl-2nl-1nl…nl+λnl+λ+1 1。,存储Ps的模式环中的部分路径为nl-γnl-γ+1…nl-2nl-1nl…nl+λnl+λ+1 2门山门乙川,则禁止路径设置为:
其中g表示连接
中已经存储的禁止路径条数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031135250A CN1516070A (zh) | 2003-01-08 | 2003-01-08 | 一种联想记忆神经网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031135250A CN1516070A (zh) | 2003-01-08 | 2003-01-08 | 一种联想记忆神经网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1516070A true CN1516070A (zh) | 2004-07-28 |
Family
ID=34239311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031135250A Pending CN1516070A (zh) | 2003-01-08 | 2003-01-08 | 一种联想记忆神经网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1516070A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021420A (zh) * | 2014-05-23 | 2014-09-03 | 电子科技大学 | 可编程离散霍普菲尔德网络电路 |
CN105095967A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 一种多模态神经形态网络核 |
CN107273970A (zh) * | 2017-05-11 | 2017-10-20 | 西安交通大学 | 支持在线学***台及其构建方法 |
CN109242094A (zh) * | 2016-01-20 | 2019-01-18 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
CN110956257A (zh) * | 2018-09-26 | 2020-04-03 | 龙芯中科技术有限公司 | 神经网络加速器 |
-
2003
- 2003-01-08 CN CNA031135250A patent/CN1516070A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021420A (zh) * | 2014-05-23 | 2014-09-03 | 电子科技大学 | 可编程离散霍普菲尔德网络电路 |
CN104021420B (zh) * | 2014-05-23 | 2017-07-04 | 电子科技大学 | 可编程离散霍普菲尔德网络电路 |
CN105095967A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 一种多模态神经形态网络核 |
CN105095967B (zh) * | 2015-07-16 | 2018-02-16 | 清华大学 | 一种多模态神经形态网络核 |
CN109242094A (zh) * | 2016-01-20 | 2019-01-18 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
CN107273970A (zh) * | 2017-05-11 | 2017-10-20 | 西安交通大学 | 支持在线学***台及其构建方法 |
CN107273970B (zh) * | 2017-05-11 | 2020-06-19 | 西安交通大学 | 支持在线学***台及其构建方法 |
CN110956257A (zh) * | 2018-09-26 | 2020-04-03 | 龙芯中科技术有限公司 | 神经网络加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756653B (zh) | 基于图神经网络深度强化学习的多coflow调度方法 | |
CN104268722B (zh) | 基于多目标进化算法的动态柔性作业车间调度方法 | |
CN108122032B (zh) | 一种神经网络模型训练方法、装置、芯片和*** | |
EP0762294A2 (en) | Computer system using genetic optimization techniques | |
Li et al. | Two-stage knowledge-driven evolutionary algorithm for distributed green flexible job shop scheduling with type-2 fuzzy processing time | |
CN107247844B (zh) | 基于自适应PSO和混合转换策略的X结构Steiner最小树布线方法 | |
CN105959401B (zh) | 一种基于超网络的制造服务供需匹配与动态调度方法 | |
WO2021088436A1 (zh) | 一种用于多语言协同开发的项目调度方法及装置 | |
Abdallah et al. | Modeling task allocation using a decision theoretic model | |
CN102662642B (zh) | 一种基于嵌套滑动窗口和遗传算法的并行处理方法 | |
CN110991279B (zh) | 文档图像分析与识别方法及*** | |
CN108304364A (zh) | 关键词提取方法和装置 | |
CN108111335A (zh) | 一种调度和链接虚拟网络功能的方法及*** | |
CN102547776B (zh) | 基于模型驱动和进化算法的无线传感器网络模型转换方法 | |
CN105094970A (zh) | 一种求解分布式***下可分任务多趟调度模型的方法 | |
CN112711475A (zh) | 一种基于图卷积神经网络的工作流调度方法及*** | |
CN107145946A (zh) | 一种在不同神经网络结构间进行知识迁移的方法 | |
CN109690530A (zh) | 模型训练方法及其节点、网络及存储装置 | |
CN105868858A (zh) | 一种用于雕刻机的轨迹优化方法 | |
CN111191845A (zh) | 基于dbscan算法和kmp模式匹配法的电力通信网工单调度方法 | |
CN1516070A (zh) | 一种联想记忆神经网络 | |
CN1007665B (zh) | 数据处理*** | |
CN106384161A (zh) | 一种用于航天巡视计划区域划分的优化算法 | |
Zhu et al. | Modified bat algorithm for the multi-objective flexible job shop scheduling problem | |
JPS61500044A (ja) | 対角交換連想ル−プメモリを利用した知識検索人口知能システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |