Hopfield神经网络的制作方法

文档序号:6408466阅读:339来源:国知局
专利名称:Hopfield神经网络的制作方法
技术领域
本发明涉及一种改进的Hopfield神经网络。该改进的神经网络特别地,虽然不唯一地用于在包交换网络中控制包交换。
在包交换网络,要传送的信息被数字化并被形成在小的可寻址的包中,后者然后被传送通过一个同步网络。人们期望将来的宽带交换系统将采用包交换[1],虽然普遍认为这种网络将依赖于异步传输模式(ATM),但是在实现必要的高速包交换技术[2],[3],方面仍然存在着许多挑战。特别是,这种系统的基本特征之一就是将单个的包可靠而快速地发送到它们定址的目的地的快速包转接器的有效性。
许多作者[4]已经建议利用神经网络获得ATM网络控制。尤其是,已经建议将神经网络技术应用在交换和路由方案中;Brown作出了这一领域的概述[5]。
在近期的研究中,Ali和Nguyen探索了一种Hopfield网络在控制高速包转接器中的应用[6]。Hopfield神经网络用于转接器的控制是首先由Marrakchi和Toudet提出的[7]。虽然Ali和Nguyen论证了Hopfield动态网络可以用于获得高的解的准确度,但是长的模拟时间仍然是一个问题。这严重地限制了可以研究的交换系统的规模。虽然Ali和Nguyen所使用的方法是一个令人鼓舞的进步,但是这种方法在很大程度上是特定的,并且考虑到运行速度,使得对网络的建议不仅是次最佳的,而且不能保证收敛到有效的解。
已经进行各种尝试来提高收敛速度,一种技术是当运算进行时改变神经的阈值函数,以使网络的运行达到要求的结果。这种方法已经被Honeywell采用[11]。另一种方法,例如被Foo等人采用的[15],是在一定的神经上施加恒定的偏置,使执行运行优先关系。虽然这两种方法在一定情况下都是有助益的,但是它们没有讲防止运算变得特别长和庞大的中心问题,因此对于有许多活性神经的大网络是很慢的。
神经网络领域的研究者的一个共同目标是设计一个强有力的不容易受困于局部最小值的网络。已经采用各种方法来提高网络的健全性,包括使用以一定方式随时间变化的传递函数。Ueda等人[16]公开了一种随时间变化的传递函数,它随着运算的进行变得越来越敏锐。Neelakanta等人[17]使用了一种相当近似的方法,但是根据逐渐下降的退火温度模拟的。Cheung[18]和Gsosh[19]公开了随着运算的进行以一定的方式改变单个神经的运行的其他方法。
为了优化这类现在以其名字命名的神经网络,Hopfield建议首先为要解决的问题确定一个能量函数,然后将该能量函数与现在称为Hopfield能量函数的函数进行比较,以确定该网络的加权和偏置。这种方法描述在例如Hopfield[13]和Chu[14]中。本申请人惊讶地发现,使用这一技术的扩展,可以获得可观的更多的信息以帮助优化该网络。
神经网络已经被用于各种情况下,包括路由系统和纵横接线器中,参见例如Fvjitsu[20]和Troudet等人的[12]。
本发明的一个目的是提供一种根据Hopfield模型的改进的神经网络,特别是用于运行高速包交换(虽然也可以面对许多其他的应用)。
进一步的目的是改进Ali和Nguyen所做的工作,并提供一个更快地收敛到一个有保证的或事实上有保证的有效解的神经网络。
本发明的进一步的目的是提供一种根据Hopfield模型的改进的通用的神经网络,它将可应用于许多技术领域。
根据本发明的第一方面,提供了一种运行Hopfield网络解决一个问题的方法,该解是部分已知的,该方法包括强制至少一些其正确的值已知的神经取各自正确的值,并运行该网络以完成该问题的解。
本发明还扩展到执行该方法的设备,并且相应地扩展到适合于解决其解已部分已知的问题的Hopfield网络,该网络包括适合于强制至少一些其正确值已知的神经取各自正确的值的装置,以及用于运行该网络以完成该问题的解的装置。
通过使至少一些神经取它们已知的正确值,发现运算的收敛大大地加速了,并且网络通常变得更稳定了。
典型地,网络被用于解决交换或排队问题时,解矩阵中的各元将或者收敛到上归整值(attractor)(可以是1)或者收敛到下归整值(可以是0)。当解矩阵的各元的解已知时(例如由于该要解的问题的一些约束或从其他外部源),相应的项可以被强制到对应的归整值。
根据本发明的第二方面,提供了一种运行含有具有递级反应的传递函数的神经的Hopfield网络的方法,该方法包括根据一条更新规则,重复地更新神经输出,其特征在于该传递函数至少有一个参数在迭代中随机地或伪随机地改变。
本发明还扩展到实施该方法的设备,相应地还扩展到含有具有递级反应的传递函数的神经的Hopfield网络,该网包括一种用于根据一种更新规则更新神经输出的装置,其特征在于用于在迭代中,随机地或伪随机地改变传递函数的参数的装置。
逐次迭代改变更新规则会在系统中引入噪声,使该算法能够避免至少一些否则可能陷入的非全程最小值。这可以通过随机地或伪随机地改变S形函数的常数(β)而达到。
根据本发明的第三方面,提供了一种运用一更新规则或实质上在数学上与之等价的公式运行Hopfield网络的方法xij(t)=xij(t-1)+Δt(-axij-AΣk≠jnyik-BΣk≠inykj+C2)--(23)]]>其中,Xij是到表示为ij的神经中的输入,Yij是到表示为ij的神经中的输出,A、B和C是最佳值,并且其中Xij和Yij通过以下单调作用(传递)函数相关联。
Yij=f(Xij)(1)并且C选得远远小于A与B之和。
本发明还扩展到实施该方法的设备,并且相应地扩展到适合于使用一种更新规则或实质上在数学上与之等价的公式运行的Hopfield网络,xij(t)=xij(t-1)+Δt(-axij-AΣk≠jnyik-BΣk≠inykj+C2)--(13)]]>其中Xij是到表示为ij的神经中的输入,Yij是到表示为ij的神经中的输出,A、B和C是最佳值,并且进一步地,其中Xij和Yij通过以下单调作用(传递)函数相关联。
Yij=f(Xij)(1)并且C被选得远远小于A与B之和。
如果上述不等关系不满足,该网络仍然可以收敛到一个正确的解,这不是不可能的,但是发现其性能不是很好。假定A、B和C被适当选取,可以使用的Δt的值可高到0.1或0.2或者更大。
最好C在40至150的范围内,并且A和B(其二者经常是相等的)至少比C大10倍(例如大20或30倍)。
优选的最佳参数是A=B=1250并且C=100。这使得允许使用Δt=0.2或更大。
以往的工作已经集中于A、B和C的其他范围。例如,Ali和Nguyen[6]建议A=B=100,并且C=40,我们认为这是次最佳的。我们发现仅通过数值的模拟确定A、B和C的值在实践中是不可行的因为任何实际的应用要尝试的可能性的数目是令人难以置信地高。为了避开这个问题,我们已经开发了一种用于更近似地确定参数应该是什么的新的方法系统,并且我们惊讶地发现,Ali和Nguyen的值不是理想的。通过在我们的优选的新的范围内设定参数并选择适当的β值,我们还已经设法提高了神经网络的稳定性,并且这使得我们能够使用一个大得多的步长(Δt=0.2,相对于Ali和Nguyen[6]中的Δt=10-4)。
本发明优选的应用在于电信转接器,尤其是用于包交换系统的包转接器。该转接器在实践中的实现将在很大程度大依赖于应用,以及各种相关技术的限制。VLSI,光学系统,软件等等都能利用。
神经网络可以实现在硬件上也可实现在软件上。它也可以分开在两者(混合件)之间。
在一个实际的实施例中,一个包转接器将合乎需要地与一个单独的队列管理程序相关联,该管理程序位于该交换的前面,并向神经网络提供优先信息。如果一个进入的包正在经历一个不可接受的延迟(或者如果进入的包被指定为具有一个高的优先权),该队列管理程序应改变对神经网络的输入矩阵以考虑所要求的次序。队列管理程序的功能可以通过采用常规的神经发生的算法,模糊算法或混合技术达到。
在本发明用于解决问题而不是用于电信转接器的实施中,还可以希望有一个输入管理程序,位于该神经网络的前面,并且根据对要解决的问题的已知的约束修正输入矩阵,特别是,当网络正承担某种排序任务时,该输入管理程序将提供给该神经网络以优先信息。
本发明可以通过很多方法付诸实践,现在将通过举例描述一个特定实施例,说明本发明在高速包交换领域的应用。优选实施例的说明将参照附图,其中

图1是高速包转接器的示意图;图2是表示β值为0.08和0.16的S形函数曲线;图3示出最佳参数设定为A=B=1250,C=700及β=0.08的一个8×8输入矩阵的模拟结果;图4示出图3的模拟的f(x)的值;图5示出最佳参数设定为A=B=1250及C=100的一个8×8输入矩阵的模拟结果;图6示出图5的模拟的f(x)的值;图7示出最佳参数设定为A=B=1250及C=100的一个8×8输入矩阵的模拟结果。该图示出当非请求神经被连接时y的变化;图8是对应于图7的图,但是其中非请求神经未连接,因而被排除在运算之外;以及图9示出神经网络和队列管理程序的关系。
该特定的实施例具体涉及用于运行高速包转接器的如图1中说明的类型的神经网络有关。该图是从Ali和Nguyen[6]中的相似的图改编而来的。转接器的目的是保证该系统中的该定址的包沿着它们各自请求的路径被快速地发送到它们正确的目的地。一个典型的转接器有多个输入和多个输出,输入接收要发送的包,而输出连接到各个可用的路径上。这样,输入1上进入的包可以请求通过转接器的输出中的任一个被发送。类似地,到达其他输入中的任一个的包可以请求被发送到任一输出上。
正如从图1中将看到的,本发明的实施例的转接器是一个n×n转接器;换句话说有n个输入和n个输出。n个输入中各个具有N个独立的输入队列,每个队列对应于各输出。相应地,请求被发送到输出1的输入1上的一个输入包将被排在输入1的第一队列中。该输入上请求被发送到输出2上的其他包将被存储在输入1的第二队列上,以此类推。很显然共有n2个输入队列。
转接器是同步操作的,其任务是将包从输入队列尽快传送到请求的输出上。当要求传送的请求比转接器的容量到达得更快时,转接器不得不从各种输入队列中这样选择包,使通过量最大。在本实施例中,它是解决该最佳化问题的神经网络。
遵照Ali和Nguyen[6]的方法使用了Hopfield神经网络。通用的Hopfield能量函数被与一个将使通过量最大的计算出的能量函数进行比较,以得出要求的微分方程,该方程就是该交换问题的解。该微分方程包括未定常数(最佳参数),它们是由Ali和Nguyen通过模拟确定的。正如下面将要描述的,本发明提供一种实质性改进的方法,用于确定最佳参数应该是多少才会稳定并快速收敛。
我们将从考虑基本的Hopfield模型开始,然后着手考虑如何使用该模型处理考虑之中的具体的交换问题。Hopfield神经网络-基本模型用于本发明的实施例的神经网络是Hopfield模型[8、9],它包括大量处理元件(神经元),它们通过神经加权互相联系。在任何时刻,各神经可以由两个连续变量描述,神经活性水平Xij和神经输出Yij。这些变量通过下述非线性处理函数f相关Yij=f(Xij)(1)其中f取为某种非线性单调增函数。该函数被称作作用(或传递)函数。f的确切的形式不是特别重要,任何适当的非线性单调增函数都能使用。但是在该优选实施例中,f被取为S形函数。f(x)=11+exp(-βx)----(2)]]>其中β是增益因子,它控制S形函数的斜率,如图2所示。
通过下式给出描绘单个神经的动态特性的Hopfield方程dxijdt=-axij+Σk,l=1nTij,klykl+Iij----(3)]]>其中Tij,kl是描绘由(ij)和(kl)指定的神经之间的连接强度的加权矩阵。Iij描述加到各神经上的外部偏置(有时指“外部偏压电流”)。
Hopfield已经示出对于对称连接的情况Tij,kl=Tkl,ij,以及单调增量处理函数f,该动态系统(3)具有随时间连续下降的一个Lyapunov(能量)函数。这样一个函数的存在保证了该系统向平衡状态收敛。这些平衡状态经常称作“点归整”。
Hopfield能量函数是下列形式E=-Σi,j,k,l=1nTij,klyijykl-Σi,j=1nIijyij+Σi,j=1n·λij∫0f(xij)f-1(xij′)dxij′--(4)]]>其中λij是正的常数,X’是在其上进行积分的虚变量。这个方程在Hopfield[8]中给出。
很容易得出,如果对所有的ij,λij=a,运动方程(3)可以写作x.ij=-∂E∂yij----(5)]]>其中点表示对时间的微分。从这种关系中我们推导出偏微分方程E·=-Σi,j=1n(∂E∂yijyij·+∂E∂xijxij·)=-2Σi,j=1n∂f∂xij(∂E∂yij)2≤0---(6)]]>该不等式从这样一个事实得出,即处理函数(2)为单调增量的。如果我们省略(4)中的积分项(正如在这类计算中常用的),能量函数的时间导数变成E·=-Σi,j=1n(Σk,l=1nTij,klykl+Iij)(df(xij)dxij)(Σp,q=1nTij,pqypq+Iij)]]>+Σi,j=1naxij(df(xij)dxij)(Σk,l=1nTij,klykl+Iij)---(7)]]>如果我们要得到收敛,式(4)必须连续下降,因此式(7)的右手侧必须小于或等于0。一般地,由于右手侧的第二项,往往不是这种情况。但是在大的增益极限值内(换句话说因为方程式(2)趋向于一个阶梯函数,并且β是大的)dfij、dxij的导数变成一个δ函数并且因而(dfij/dxij)Xij趋近于零。这确立了由Hopfield[8]讨论的一个结果。相应地,假设式(2)中β的值被适当地选定,我们要以肯定系统收敛,并且在平衡状态我们未由于从式(4)中省略积分项而引入任何不精确度。
还有其他方法构成一种Lyapunov函数,例如,在动态公式中使衰变为零。但是这种方法已知被Aiyer等人[10]讨论过,它不是本发明的实施例中的优选方法,因而将不再进一步讨论。
用于神经网络解的交换问题的公式表示回过来参见图1,将想起我们关心解决规模为n×n的方形转接器的最佳化问题。我们将使用Brown和Ali及Nguyen[5,6]的方法来定义任何时刻该转接器的状态为一个n×n的二进制矩阵,它将被指定为y。设rij为在输入i上请求连接到输出j的包数。各输入队列的状态作为到神经的初始状态给出;因此,对于一个n×n的交换构造需要共n2个神经。神经的初始状态(换句话说输入队列的状态)由下列矩阵表示y=y11…y1n………yn1…ynn----(9)]]>其中yij=0ifrij=01ifrij≥1----(10)]]>换言之,如果特定输入队列占用,rij是1,如果它空闲,rij是零。在该公式表示中,矩阵y的行代表输入线,而列代表输出线。各下标对(i,j)定义一个连接信道。
在各时隙中,各信道中只准许一个包通过换言之,在各时隙中最多有一个包可以被发送到各个输出,并且最多有一个包可以从各输入中被选出。神经网络的任务是取输入矩阵y并在其上反复操作,以产生一个实际上建立起了信道联系的输出或配置矩阵,即定义要选取的包以在交换约束中获得最大的通过量。
给定交换约束,很显然输出(配置)矩阵在各行中最多可以有一个不消失元并且在各列中最多可以有一个不消失元。在各行中多于一个元或在各列中多于一个元将意味着交换约束已经被违反了,即转接器或者试图一次从单个输入上传递两个包,或者试图一次传递两个包到一个单个输出上。
如果输入矩阵在任一行或任一列包括多于一个的非消失元,那么用于连接的请求将多于转接器在那个时隙中能处理的数量。因为在任一时刻只有一个输入可以被连接到一个输出上,交换机构将不得不只选择一个请求而使其余的等待。
举一个例子,如果有这样的请求,即各个输入都有要传输到全部输出的包,输入矩阵将是111111111]]>对于该输入式,使最大量的包流过转接器的输出(配置)矩阵如下100010001,100001010,010100001,001100010,001010100,010001100]]>这些矩阵中的每一个被称作“有效”解,因为它们都满足交换约束条件并且都使转接器流量最大。其他配置式如000010001,110100001]]>无效。第一个矩阵满足交换约束但不能使通过量最大,因为没有包被从第一输入上选取,虽然至少有一个包在等待。第二个矩阵违反了交换约束,它试图一次从第一输入选取两个包,并一次向第一输出发送两个包。
当然,有时没有包等在各输入上,输入矩阵y将不是满的。在这种情况下,有效解的数将会减少。举个例子,如果输入矩阵如下000101111]]>有效输出矩阵为000100010,000100001,000001100,000001010]]>应该注意的是,如果输入矩阵的行或列包含仅有零项,则在我们使用的命名方法中,只有当在相应的行和/或列中也包含仅有零的项时,输出结果或配置矩阵才有效。否则,连接将通过转接器进行,即使没有请求这种连接。下述矩阵001100010]]>将不是有效配置矩阵,即使它使转接器的通过量最大,并且不违反交换约束,因为它在第一输入线和第三输出线之间建立了连接,这没有被任何进入的包请求。得到这一结论的方法是本实施例的新颖特征之一,将在下面更详细地讨化。能量函数从配置矩阵的分析,人们能为交换问题构成一个能量(Lyapunov)函数。然后这一函数可以与标准的Hopfield能量函数进行比较,以发现最终的加权连接矩阵和外部偏置。从上面部分的说明,容易建立起[6],交换问题的能量函数由下式给出E=A2Σi,j,l=1l≠jnyijyil+B2Σj,i,k=1k≠inyijykj+C2Σi,j=1n(n-yij)--(11)]]>只有对于为满请求矩阵/输入矩阵y的解的配置矩阵,即对于在各行和各列至少有一个非消失元的输入矩阵的解的配置矩阵,这一能量函数取零值。如果输入矩阵包括一个或多个零行或列,式(11)右手侧的最后一项取正值。与式(4)(忽略积分项)的比较给出下列加权和偏置的表达式Tij,kl=-Aδik(1-δjl)-Bδjl(1-δik)Iij=C2----(12)]]>其中δij是Kroneckerδ。将该式代入到动态方程式(3)中得出dxijdt=-axij-AΣk≠jnyik-BΣk≠inykj+C2----(13)]]>这是交换问题所要求的微分方程。在这一动态方程中,各神经将向减小能量函数(11)的配置发展。参数A、B和C被称为“最佳参数”,在以往的工作6中,这些纯粹是通过反复试验确定的。如果最佳参数不被精心地选择,方程(13)将或者根本不收敛,或者收敛得很慢。另一种可能性是方程可能收敛到例如在如上所述的意义上无效的一个解,它不能使转接器的通过量最大。
在实践上,方程(13)用于其迭代的形式中,如下xij(t)=xij(t-1)+Δt(-axij-AΣk≠jnyik-BΣk≠lnykj+C2)----(13a)]]>其中Δt是步长。建立最佳参数本发明的一个重要特征与最佳参数的确定有关。如上面所指出的,最佳化以前是通过反复试验完成的,但是现在人们相信在该领域的重大的进步可以通过使用更条理化的方法取得。
为了获得一些关于最佳参数A、B和C的初始信息,我们将考虑在平衡条件下的动态方程(13),即当dxijdt=0----(14)]]>时,然后从方程(13),并代入方程(2),我们发现,xo,ij=-AΣk≠jnf(xo,ik)-BΣk≠inf(xo,kj)+C2----(15)]]>其中Xo,ij,是平衡时Xij的值。
为了在参数上施加一些进一步的约束,我们应想起在交换问题的最终解中,各神经(即配置矩阵y中的各项)将或者为零或者为1。假设已经发现一个有效解,这意味着该矩阵的每一行最多有一个活性单元并且每一列最多有一个活性单元。我们可以利用这一附加条件对接近平衡的区域中的最佳参数上设置进一步的约束。如果我们首先假设,(i,j)是一个零位置,则可以直接地建立平衡条件如下X1=-A-B+C2----(16)]]>其中X1表示第一平衡解。因为我们处于平衡状态,我们知道有关的y值必定趋近于零,并且从方程式(2)我们知道只有当x趋近于负无穷时,y才趋近于零。相庆地,我们可以将式(16)改写为下面的不等式。-A-B+C2<<0----(17)]]>一般地,在网络中将有n2-n个位置满足这一条件。这个解可以称为“负归整”解,因为它是当x趋于负无穷时得到的平衡解。
另一方面,如果我们假设位置(i,j)代表平衡状态中趋向于1的位置,则平衡条件变为X2=C2----(18)]]>其中X2代表第二平衡解。使用式(2),容易看出当x趋近于无穷时,y趋近于1,并且我们能够相应地将式(18)改写为不等式C2>>0----(19)]]>一般地,这一条件在该网络中的n个位置将不得不满足。
最终平衡条件意味着网络中的n个神经已收敛到两个归整值中的一个,并且n2-n个神经已经收敛到另一个归整值。从方程式(19)和(17)我们发现参数不得不满足下列不等式0<G<2(A+B)(20)如果要求一个对称的配置矩阵,可以通过设定A=B得到,在这种情况下条件(20)变为0<C<4A(2)事实上,通过广泛的模拟,我们已经发现在极限值时,x1的大小和X2相等。将X1=-C/2代入式(16)得出式(20)和(21)的改变后的形式,为0<C<(A+B)(20a)0<C<2A(21a)在变换问题的Hopfield模型的模拟中我们发现,假设β和Δt选得正确,A和C的满足式(21a)的任何值都能得到正确结果。这已经被大量输入矩阵和不同规模的矩阵所证明。
一个实践的观点为A常常被取得比C大得多。这是由于这样的事实,即神经的一大部分得趋近于负的归整值,而只有少数趋近于正的归整值。取A的值远远大于C可加速收敛,并使我们能使用大的Δt值。
我们还可以通过选择一个适当的β值来加快收敛。在实践中我们发现β应比约0.08大一些,因为允许我们忽略式(4)中的积分项的基本Hopfield模型中的逼近假定β是合理地大。
在式(13a)中,如果Δt的小值是可接受的,则式(2)中的βx项可以很大。为了使得y的极限值合理地接近0和1,我们近似地选择βx大于大约4。因此,从式(18)β≥8C----(21b)]]>因为β应该比约0.08大,如上面讨论的,我们可以写出β的一个通用式如下β=0.08+2KC----(21c)]]>其中K是一个任意常数,大于或等于零,并且e在零和2A之间(见式(21a))。
如果我们要求Δt较大,我们必须小心不要把β设得太大,否则该模型不收敛。根据经验,我们发现对于Δt大于约0.01,假设式(21c)中K不超过大约10,我们得到收敛。当然,Δt的大的值是我们所感兴趣的,因为它提供较小值的Δt更快的收敛。讨论建立了这些最佳参数上的值的限制之后,我们已经能够研究Ali和Nguyen6没有考虑的区域。Ali和Nguyen使用值A=B=100及C=40,他们认为非常满意。本工作已经得出,他们使用的值实际上是很根本上次佳的。为了证明这一点,我们考虑了这些作者考虑的一种情况(n=4)。对于n=4的情况,有65536种可能的请求矩阵,其中只有200个被Ali和Nguyen随机地考察了。他们发现他们的参数设置值对被考察的200种特定的情况是可接受的。使用他们对A、B和C的参数设置值,我们考察了所有65536种可能情况发现65392种输出是正确的,但144种输出是不正确的(换句话说,它们提供少于最佳的通过量)。类似的结论也适用于较大矩阵,例如n=5和n=6。Ali和Nguyen没有指定β值,所以我们使用了我们的值0.08。当我们用β设定为1.00重复模拟时,我们发现它们的A、B和C的值的确对所有的情况提供正确的收敛,但是收敛特别慢。因为对于n=5和n=6,可能的输入矩阵的量非常大,用我们的值去尝试所有的情况是不可能的,但是对于我们试过的100000个(随机选取的),我们发现使用参数设定A=B=1250及C=100,通常少于30次选代就能得到收敛,并且在各种情况中,解都是有效的。我们不能绝对保证,用我们的有条件的参数设定值,系统将不会收敛到一个非全程最小值,但是在我们研究的例子中还没有出现过这种情况。假设A和C满足式(21a),Δt被正确地选择,并且β满足式(21c),我们期望该网络将处理所有类型的输入矩阵。为了快速收敛,我们取A远远大于C。
从我们已经完成的模拟中我们相信,C的值通常应在40到150的范围,并且A(等于B)应该有至少大于C的一个数量级的值。因此,例如,如果C取为100,则A和B应都大于1000。我们发现在实践中,假设式(21a)被满足,A、B和C的确切值对于收敛并不关键,但是为了快速收敛,A必须远远大于C。对于n=8(即一个8×8输入矩阵)的系统的演化的图示,将参照图3至6进行说明。
图3和图4示出带有最佳参数设置值A=B=1250和C=700的一个8×8输入矩阵的模拟结果。
图3示出对于n2中各个神经,d×/dt是如何随时间变化的,图4类似地示出y的值是如何随时间变化的。可以看出,在图4中一些神经是稳定的,但是也有一些不稳定并且没有收敛到一个最终的解。这时因为A不远远大于C,只能期望对于小Δt的值才能收敛。所用的Δt值(Δt=0.2)太大了。
作为对照,图5和6是根据值A=B=1250和C=100模拟的对应图。可以看出,在约40次迭代之后,系统获得稳定性,并且系统很快收敛到一个有效解,一些神经收敛到1而另一些收敛到零。在此,Δt与从前一样被设定为0.2,但是现在因为A远远大于C,系统在Δt的较大值上也不会不稳定。取A远远大于C使我们能够使用大的Δt,因而比在先技术能获得更快的收敛。
通过实验我们发现,当没有达到平衡条件时,经常是由于这样的事实,即有时在系统的演化过程中两个分开的归整值中的一个将消失。通过选择A远远大于C,我们保证了在动态方程的时间发展的整个过程中两个归整值都存在。用这种方法,我们发现网络的振荡和不稳定表现被避免了。避免局部最小值在运动方程由一个连续减小的能量函数确定的任何系统中,存在系统在能量函数的局部最小值处被捕获的危险。在本实施例中,它将等价于在一个满足交换约束的解上收敛,但是仅仅是转接器通过量的局部最大值,而不是全程最大值。当没有简单的方法避免收敛到局部最小值时,我们建议在实践中在系统中引入一些“噪声”以尽可能避免假收敛。当神经网络计算其解时,我们通过随机地变化式(2)中的值β做到这一点。在第一次迭代中,β值被设定为0.08,在接下来的迭代中,β值被随机地选为处在0.08至0.16范围的一些值。当然,β是增益因子,控制S形函数的斜率,如图1所示。当β取在大于0.08的值时(见式21(C),可以取得等价于β值的最大量噪声。强加的归整值用于交换目的的网络通常是稀疏地连接的。这可以容易地看出,因为只有i=k并且j不等于k时,式(12)右侧中的第一项才是非零的。这样给出了n2(n-1)个连接。第二项有同样数目的非消失连接。因此连接矩阵(12)定义了2n2(n-1)个连接。这得与一个n2个神经的网络所能有的最大可能数目的连接,即n4-n2个连接比较。
正如前面提到的,如果输入矩阵包括一个零行或一个零列,可以设想输出矩阵也应包括一个相应的零行或列,因为否则神经网络就是引入了没有请求过的连接。能量函数(11)和连接矩阵(12)不能保证是这种情况。这一点依从于这样的事实,即如果行或列中之一只含有消失项,能量函数(11)不取最小值。为了避免这种情况发生,我们建议零行和零列应从hopfield动态特性上切断。在实践中我们发现这种做法既改善了其他神经的收敛,又可以达到显著的速度提高。
零行和列可以以很多方式从Hopfield动态特性上切断。一个简单的机制仅仅是在任何计算中根本不包括零行和列。另一种更好的方法是强制一个零行或一个零列中的所有的神经为负的归整值。在实践中我们所做的是切断从所有其他神经到零行和列的输入。但是,它们的经常输出仍然被耦合。因而被强制的神经总是保持在固定的负归值上,但是它们的输出仍然馈送到其余的计算中,并将影响未被强制的神经的时间演化进程。所有被强制的神经的外部偏置被设置为零。
切断零行和列的作用将通过参考图7和8进行说明。这些图示出了最佳参数设定为A=B=1250且C=100的对8×8输入矩阵的模拟结果。在各种情况下,输入矩阵在第一和最后一行有非消失元,但所有其他的元都为零。显然这种输入将只要求两个连接。
允许所有的神经根据动态方程式自由改变产生如图7所示的输出。该图示出n=8个神经是连接的,换言之,网络有不被初始输入矩阵要求的假连接呼叫。但是,如果零请求神经通过一个强加的归整值从系统的动态特性上被切断如前面描述的,则网络将收敛到如图8所示的一个有效解。
如果我们将施加的归整值称为x3,为了将它与式(16)和(18)的正的和负的归整值x1和x2区别开,我们可以使用一个式(16)的等价式,以提供给我们关于施加的归整值应为何值以保证各神经总是收敛于零的概念。因为A=B且A远远大于C,我们从方(16)得到近似式X3=-2A(22)事实上我们发现在实践中,假如加入的归整值足够大或负得足够大,其确切的值并不特别重要。
作为扩展,也可能不仅对零行和零列,而且对没有发生连接请求的各单个神经使用强加的归整值。如果没有连接请求,一个理想的解将不会引起连接的建立,因此有可能有效地在切断初始输入请求矩阵的所有零,并只在初始非零的项上运行神经网络。这进一步提高了收敛速度。队列管理程序在本发明的一个实际实施例中,可能有必要作专门的安排来处理正经历不可接受的延迟的进入包、要求它们有一个特别高的优先权,或其他特定的排序要求。因而,在该优选实施例中,将有队列管理程序位于神经网络的前面,并为进入的流量提供优先权标签或安排。这示意性地表示在图9中。
如果一个进入的包正在经历一个不可接受的延迟(或者另一种情况,如果一个关键性的包已被指定为有一个高的优先权),队列管理程序将修改输入矩阵(9)以考虑要求的排序。当队列管理程序从一条输入线接收到一个包,它将检查目的地址以确定适合的目的输出线。它还将确定这个特定的包的优先权和/或延迟。根据它读到的信息,然后它将适当地更新输入矩阵(9),因而改变神经网络不得不按照其运行的初始条件。它还可以根据各个包请求的优先权强加或正的或负的归整值,或用其他方法从网络上切断一定的神经。
队列管理程序的功能可以通过使用传统的神经的发生算法、模糊算法或混合技术得到。
应由队列管理程序提供的一个特殊的功能将是用来调整输入矩阵(a)以考虑到能有多于一个包正在等待特殊的连接的事实。如果大量的包开始建立起来,都等待特殊的连接,队列管理程序需要有一些机制用来有效地提高这些包的优先权,以保证队列不会长得不能接受。得到相同结果的另一个办法可以是利用各元不只是0或1而是代表正在等待特殊连接的包的数目的整数的一个输入请求矩阵。等待特殊连接数目越高,根据式(1)和(2),y的初始值越大,并且相应地那个特殊的神经收敛到值1的可能性就越大。计算过程最后,我们讨论在运行神经网络时所用的计算过程。无论该网络是体现在硬件还是软件上,该过程都有实际上相同。过程如下1、接收输入请求矩阵,该矩阵在最简单的情况下包含0和1,表明哪些连接被请求了,哪些没有被请求。
2、将请求的矩阵集中到0上,将0变为-2A(负归整值)。
可选择的使用队列管理程序对结果矩阵作适当的修正,诸如对一定的请求允许较高的优先权。较高的优先权将通过用较高的数取代特定的1项而得到。同时,队列管理程序将设定任一强加的负的归整值,这要求改变相应的项至大的负数,(例如-2A),并且同时将安排那些神经在计算开始之前被从其他神经上切断(如上面所说明的)。
4、修正后的输入矩阵然后用式(2)被神经矩阵代替(非请求或强制的元保持在负的归整值-2A)。这一神经矩阵的元是Yij。参数β随机地设置在0.08到0.16的范围内。在步骤4的第一次迭代中,它被设置为β=0.08。
5、重复微分方程式(13a)(它包括参数A、B和C),以计算新的Xij值。步长Δt可以是诸如0.2。
6、到步骤4,除非系统已经收敛,即除非自最后一次迭代后yij没有改变一个给定的量。如果所有的神经都收敛了便停止。实际中的实现本发明的网络可以实现在硬件上,也可以实现在软件上,或者在两者的混合上。潜在的硬件技术将包括VLS1、光学系统等等。网络要实现在其中的环境当然在媒体的确定上扮演一个关键角色。例如,如果速度是要素,硬件实现将显得可取,但是当然它必须抵消这样的事实,即硬件实现对于大型转接器而言将非常复杂。一种Hopfield神经网络的硬件(电气)实现的说明书已经被Brown5出版。Hopfield网络中的各个参数可以与电路中的各种电气元件的值相关联。
预期本发明将应用在许多不同的领域,特别是对Hopfield能量可以被计算的任何问题上,并且需要一个每行有最多一个非消失元且每列有最多一个非消失元的输入矩阵,换言之,问题等价于货郎问题的时候。潜在的应用领域包括网络和服务管理(包括线路、信道、卡、电路、网络等的切换等);拥塞控制;分布式计算机系统(包括微处理器系统、卡、电路等中的负荷平衡、以及分散的计算机系统;工作管理系统;财务处理系统(在银行、股票市场,商店等中);交通调度(航线、火车、地铁、轮船等);交错的生产线;预订、存储与货物系统(包括航线,存贮等);通用的调度和资源分配系统;通用的信道分配问题;流体控制系统(包括油、气、化学品等);通用的控制系统(包括核、小轿车、航线、交通系统等);系统管理系统(包括卫星、车辆,视听等);处理任务分配的机器人系统;一般的任务分配;实时数据采集和分析系统;以及排队延迟过程。连续的情况本工作可以扩展到连续的情况,其中到网络中的输入可以取一个给定范围的任何值,而不是被限定为0和1。这样做的一个特殊的方法,如上面所描述的,将是允许输入是任一正整数,例如对应于在各个队上等待交换的包数目的整数。另一种情况,输入可以是真的连续的(不仅仅是分步的)。
在网络计算开始之前,输入可以乘以一个扩散因子f,以改变输入值跨跃的范围。因为网络计算是非线性的,改变输入范围可能对网络的运行和收敛速度有深深的影响。
在真正的连续情况中,附加的噪声要避免。强加的归整值可以使用,但是在实践中发现,在许多情况下它们不能在网络的收敛速度上增加很大速度。
连续情况可以被考虑用于通过使任务对所选择的资源的适当性的指示值的和为最大而在多重服务或多种环境下进行第一级任务分配。该网络也可以用于考虑任务间通讯费用及其他条件的较高级的任务分配。在其他领域中应用领域包括网络和服务管理,分布式计算机系统、用于工作管理的系统,财务处理,交通调度、预订、存贮、货物处理、数据库控制、自动化生产和通用调度、控制或资源分配问题。参考文献(1)A Pattavini,′Broadband Switching SystemFirst Generation′,European Transactions on Telecommunications,Vol2,No1,p75,1991.(2)M Listanti and A Roveri,′Integrated Services Digital networksBroadband Networks′,European Transactions on Telecomm-unications,Vol2,No1,p59,1991.(3)CCITT,Draft Recommendation I.150B-ISDN ATM Aspects,Geneva,January1990.(4)A Hiramatsu,"ATM Communications Network Control byNeural Networks′,IEEE Transactions on Neural networks,Vol1,No1,p122,March1990.(5)T X Brown,′Neural Networks for Switching from E C Posner,Ed′,′Special Issue on Neural Networks in Communications′,IEEE Communications Magazine,p72,November1989;seealso A Maren,C Hartson and R Rap,′Handbook of NeuralComputing Applications′,Academic Press,London,1990.(6)M M Ali and H T Nguyen,′A Neural Network Controller fora High-speed Packet Switch′Proc.Int.TelecommunicationsSymposium1990,pp.493-497.(7)A Marrakchi and T Troudet,′A Neural Network Arbitrator forLarge Crossbar Packet Switches′,in IEEE Transactions onCircuits and Systems,Vol36,No7,p1039,1989.(8)J J Hopfield,Neurons with graded response have collectivecomputational properties like those of two-state neurons.Proc.Natl.Sci.USA Vol.81,pp3088-3092,Biophysics,May1984.(9)A good discussions of Hopfield networks and further referencesis given in J Hertz,A Krogh and R G Palmer,′Introduction tothe Theory of Neural Networks,Vol1,No2,June1990.(10)S.V.Aiyer,M.Niranjan and F.Fallside,A Theoretical Investi-gation into the performance of the Hopfield Model.IEEE Tran-sactions on Neural Networks,Vol1,No2,June1990.(11)Honeywell Inc,EP-A-0340742.(12)Troudet et al,IEEE Transactions on Circuits and Systems,vol.
38,No.1,January1991,New York,US,pages42-56.(13)J J Hopfield,US-A-4660166.(14)P P Chu,IJCNN-91International Joint Conference on NeuralNetworks,Vol.1,8July 1991,Seattle,USA,pages141-146.(15)Y S Foo,IEEE International Conference on Neural Networks,Vol.2,24July1988,San Diego,USA,pages275-282.(16)Ueda et al,IJCNN International Joint Conference on NeuralNetworks,Vol.4,7June1992. Baltimore,USA,pages624-629.(17)Neelakanta et al,Biological Cybernetics,Vol.65,No.5,Sep-tember1991,Heidelberg,Germany,pages331-338.(18)Cheung et al,IECON89,15th Annual Conference of IEEE Indu-strial Electronics Society,Vol.1,6November1989,Philadelphia,USA,pages359-364.(19)Ghosh et al,1993 IEEE International Conference on NeuralNetworks,Vol.1,28March1993,San Francisco,USA,pages359-364.(20)Fujitsui Limited,EP-A-475233.
权利要求
1.运行一种Hopfield网络来解决一个问题的方法,问题的解是部分已知的,该方法的特征在于强制至少一些其正确值已知的神经取各自的正确值,并运行该网络以完成对问题的解。
2.根据权利要求1所述的方法,其中在网络运行期间从未被强制的神经到被强制的神经的输入被切断。
3.根据权利要求1或2所述的方法,其中在网络运行期间从被强制的神经的输出保持与未被强制的神经相耦合。
4.如上面权利要求中任一项所述的方法,其中该问题在数学上等于货郎问题。
5.根据权利要求4所述的方法,其中当神经的值用一个矩阵表示时,在问题的解中已知是零的行和列被强制保持为零。
6.根据权利要求4所述的方法,其中当神经的值用一个矩阵表示时,在问题的解中已知是零的矩阵项被强制保持为零。
7.根据上面权利要求中任一项所述的方法,其中所述正确值都是相同的,并形成网络的一个归整值。
8.根据权利要求7所述的方法,其中网络正好有两个归整值,上归整值和下归整值,各未被强制的神经由该网络的一种运行算法设置而收敛到或上归整值或下归整值。
9.根据权利要求8所述的方法,其中被强制的神经被强制保持在下归整值。
10.根据权利要求8所述的方法,其中被强制的神经被强制保持在上归整值。
11.根据上面权利要求中任一项所述的方法,其中到神经中的起始输入可以取一个连续范围值内的任何值。
12.根据权利要求11所述的方法,其中在该网络运行之前起始输入值被乘以一个扩散因子f。
13.一种运行一种含有带有具备递级反应的传递函数的神经的Hopfield网络的方法,该方法包括根据一种更新规则重复地更新神经输出,其特征在于该传递函数有至少一个参数在迭代中随机地或伪随机地改变。
14.根据权利要求13所述的方法,其中该参数为迭代数的非单调函数。
15.根据权利要求12或14所述的方法,其中传递函数由y=f(x)或实质上在数学上与之等价的函数定义,其中x是神经输入,y是神经输出,且f(x)=11+exp(-βx)----(2)]]>β是所述参数。
16.根据权利要求15所述的方法,当从属于权利要求16时,其中β在约0.08和0.16之间的范围内随机地选取。
17.利用下述更新规则或一个实质上在数学上与其等价的方程式运行一Hopfield网络的方法,xij(t)=xij(t-1)+Δt(-axij-AΣk≠jnyik-BΣk≠inykj+C2)--(23)]]>其中xij是到表示为ij的神经中的输入,yij是到表示为ij的神经中的输出,A、B和C是最佳值,并且其中xij和yij通过以下单调作用函数yij=f(xij)相关联,其特征在于C被选取得远远小于A与B之和。
18.根据权利要求17所述的方法,其中C在约40到150之间。
19.根据权利要求17或18所述的方法,其中A至少比C大10倍。
20.根据权利要求17至19中任一项所述的方法,其中B至少比C大10倍。
21.根据权利要求17至20中任一项所述的方法,其中网络在设置为A等于B的条件下运行。
22.根据权利要求17至21中任一项所述的方法,其中A、B和C基本上如下A=B=1250;C=100。
23.根据权利要求17至22中任一项所述的方法,其中作用函数f(x)由下式定义f(x)=11+exp(-βx)----(2)]]>
24.根据权利要求22所述的方法,其中βC的值近似为4或大于4。
25.根据权利要求23或24所述的方法,其中β满足方程式β=0.08+2K/C其中K是一个任意常数,大于零。
26.根据权利要求25所述的方法,其中K小于10左右。
27.根据权利要求17至24中任一项所述的方法,进一步包括给那些其正确值已知的神经设置初始条件,使得所述神经保持它们各自正确的值。
28.根据权利要求24所述的方法,其中该初始条件为x2=-A-B+C2----(16)]]>
29.根据权利要求27或28所述的方法,其中所述初始条件为x2=C2----(18)]]>
30.根据上面权利要求中的任一项所述的方法,包括根据对可接受的解的约束,在运行该Hopfield网络之前对初始条件进行修正的步骤。
31.根据权利要求28所述的方法,其中所述步骤包括将神经的初始值乘以一个不等于1的扩散因子f。
32.根据权利要求28所述的方法,其中该修正步骤由另一个神经网络完成。
33.一种采用如上面任何一项权利要求所述的运行一Hopfield网络的方法运行电信转接器的方法。
34.一种运行如权利要求33所述的电信转接器的方法,其中该转接器是一种包转接器。
35.一种根据前面任一项权利要求所述的方法运行的神经网络。
36.一种含有如权利要求35的神经网络的电信转接器。
37.一种根据权利要求36所述的电信转接器,包括一个队列管理程序,适合于根据等待被转接器的呼叫的优先权在运行该神经网络之前修正初始条件。
38.一种根据权利要求36或37所述的电信转接器,其中该转接器是一种包转接器。
39.一种含有如权利要求36至38中任一项所述的转接器的电信网络。
40.一种适合于解决其解已部分已知的问题的Hopfield网络,该网络的特征在于适合于强制至少一些其正确值已知的神经取各自正确值的装置,以及用于运行该网络以完成对该问题的解的装置。
41.一种含有具有带递级反应的传递函数的神经的Hopfield网络,该网络包括用于根据一种更新法则更新神经输出的装置,其特征在于用于在迭代之间随机地或伪随机地改变传递函数的一个参数的装置。
42.一种适合于采用下述更新规则或实质上在数学上与其等价的方程式运行的Hopfield网络,xij(t)=xij(t-1)+Δt(-axij-AΣk≠jnyik-BΣk≠inykj+C2)---(23)]]>其中xij是到表示为ij的神经中的输入,yij是到表示为ij的神经中的输出,A、B和C是最佳值,并且其中xij和yij通过以下单调作用函数yij=f(xij)相关联,其特征在于C被选取得远远小于A与B之和。
43.一种基本上如在此参照或不参照图1、2、5、6、7、8、9中任一个或其适当组合具体描述的运行一Hopfield网络的方法。
44.一种基本上如在此参照或不参照图1、2、5、6、7、8、9中任一个或其适当组合具体描述的包转接器。
45.一种优化一Hopfield网络的方法,包括(a)为要解决的问题确定一个能量函数;(b)将所述能量函数与Hopfield能量函数E=-Σi,j,k,l=1nTij,klyijykl-Σi,j=1nIijyij+Σi,j=1nλij∫0f(xij)f-1(xij′)dxij′-(4)]]>进行比较,以确定该网络的加权和偏置;其特征在于(c)将该加权和偏置带入Hopfield动态方程式dxijdt=-axij+Σk,l=1nTij,klykl+Iij----(3)]]>以给出描述该网络预期的随时间变化的微分方程式。(d)通过考虑平衡条件dxijdt=0----(14)]]>推导出关于所述微分方程式中任何未确定的最佳常数的信息。(e)通过分别考虑下述条件推导出关于最佳常数的进一步信息(i)已经收敛到一个上归整值的那些神经的平衡;以及(ii)已经收敛到一个下归整值的神经的平衡。
46.根据权利要求17所述的方法,其中到神经中的起始输入可以取一个连续值范围内的任何值。
全文摘要
一种根据Hopfield模型的神经网络,用于运行一个高速包转接器,特别是用于宽带交换系统。最佳参数以一种新颖的有条理的方法建立,并且强加的归整值基本上用于提高收敛速度。为了减少发生局部最小值的可能性,通过改变逐次迭代间神经传递函数的一个参数在系统中引入噪声。
文档编号G06N3/08GK1121372SQ9419184
公开日1996年4月24日 申请日期1994年4月19日 优先权日1993年4月20日
发明者迈克尔·安东尼·盖尔, 沙拉·贾莱尔·阿米, 迈克尔·罗伯特·威斯托·曼宁, 斯维里·奥拉夫森 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1