学习神经网络及其方法

文档序号:6408523阅读:1063来源:国知局
专利名称:学习神经网络及其方法
技术领域
本发明大致涉及神经网络,具体而言,涉及包含学习算法的学习神经网络,该学习算法用来调整学习神经网络的参数以实现特定的函数形式。
背景技术
神经网络是以人脑结构为模型的计算结构。如

图1所示,神经网络12通常接收若干输入I0—Im,基于所希的函数在输入I0—Im上运算,并产生若干神经网络的输出O0—Op。由于与本质上是串行处理的计算机相反,神经网络12并行处理I0—Im,所以它的处理速度极快。在这样的结构中,神经网络12包含若干以一系列连续层形式组织的“神经元”14。最靠近输出O0—Om的层称为“输出层神经元”,而位于输出层神经元前面的层称为“隐藏层神经元”。
每个神经元14通常都包含如图2所示的结构。可以向每个神经元14提供各种输入的组合。在每个神经元14中,先要对与神经元14连接的每个输入I赋予权重。例如,图2示出了经过神经元14以提供输出Oq的输入I0—Ik。权重施加装置16分别将权重W0—Wk赋予输入I0—Ik,权重施加装置16可以仅仅是将权重与输入I相乘的乘法器。在将权重W0—Wk赋予各个输入I0—Ik之后,如图2中加法块18所示,对信号进行求和运算。接下来,来自加法块18的信号送至非线性电路22(在现有技术中有时被称为“sigmoid”),信号经过非线性变换以提供输出Oq。
在每个神经网络中,权重施加装置16的数量一般都很多,而权重施加装置16可施加的权重值同样也很多。,由于无法避开复杂的数学,所以要确定赋予一组特定输入的权重从而实现一种所希的神经网络12的函数形式和一组所希的输出是及其困难的。有鉴于此,人们在创造学习算法或训练算法的研究上花费了很大的力气,这类算法用来确定所要赋予的合适权重以实现确定的网络函数形式。
学习算法一般将一组对应的所希数值O0′—Op′与一组实际网络输出O0—Op进行比较。该所希数值组O0′—Op′基于神经网络12的所希函数形式。由图1可见,这两组数值的比较产生了一组误差E0—Ep,如误差块24所示。而且,误差E0—Ep通常取为正数从而确保最小误差表示的是网络函数形式与所要得到的函数形式之间的最佳匹配。该程序可以由平方运算实现,如指向乘法块25的双箭头所示。随后,平方值在加法块26处经过求和运算得到一组整体网络误差EN。接着将该组网络误差EN送至权重调整装置28,该权重调整装置28不时地产生引导神经元14中权重向何方向变化的方向(对于每个权重不是+D就是-D)。如图1和2所示,该方向(+D或-D)经过许多并行连接29送至属于增益控制类型的幅度调整装置31,而幅度调整装置31决定了权重变化的幅度δ并将该幅度与相应方向的符号结合起来。由此向每个权重16提供不是+δ就是-δ的增量变化。
在权重调整装置28中采用的技术中,众所周知的有反向传播学习算法。对该主题已有完整的专著进行论述。根据反向传播学习算法,要确定每个权重的误差梯度(曲线的斜率),而该梯度表示了处理权重的方向。在数学中,该技术有时被称为梯度下降法。
但是,大多数学习算法(包括反向传播学习算法)都需要复杂的乘法、求和以及微分运算。这些数学运算要求巨大的处理支持能力,而且为了以乘法器和加法器的形式实现,必须占用很大的空间,特别是用到大量的神经元14时。数字电路的串行操作可以用来减少空间的大小,但这会导致处理速度减慢和学习周期延长。如果利用并行模拟电路,则可以加快学习速度并减少所需空间;但是模拟电路的非理想特性使得学习算法要达到预期效果变得非常困难,从而导致学习能力降低或者有时甚至不具备学习能力。反向传播学习算法对这些非理想特性特别敏感。
由此得出的结论是,工业界要求提供一种可以与神经网络结合在一起使用并在无需复杂电路(例如乘法电路)的前提下改善信号处理速度和学习周期的学习算法。

发明内容
简而言之,本发明提供一种调整神经网络权重的方法和提供一种具有能自适应地修改相应权重的学习算法的学习神经网络以实现特定的网络函数形式。根据该方法,权重从初始状态开始以增量变化(+δ或-δ)为单位随机变化。而且,如果改变权重后网络误差减少,则迭代该增量变化直到网络误差增加,而如果改变权重后网络误差增加,则再次随机变化权重。不断迭代该程序直到网络误差接近于零。
前述方法可以更为详细地描述如下。对于网络第一次权重内的各增量变化(δ),任意选择(可能是随机地)一组第一方向(例如+或-)。第一次权重以各增量变化为单位增加从而形成第二次权重。随后从一组网络输入结合第二次权重产生一组网络输出。通过将网络输出与所要得到的对应于网络输入的输出进行数学组合,产生涉及一组网络输出的整体网络误差。当整体网络误差的数值减小时,沿着第一方向以各增量变化为单位再次增加第二次网络权重从而形成第三次权重,并从该组网络输入结合第三次权重产生一组网络输出。当误差的数值增加时,对各增量变化任意选择(可能是随机地)一组第二方向,第二次权重以各增量变化为单位沿着第二方向增加从而形成第四次权重,并且从该组网络输入结合第四次权重产生一组网络输出。
根据本发明的另一个特点,可以通过将随机数连续移位至网络的各种权重装置上来产生权重变化的方向,而且随机数(例如随机选取+1或-1)用于指示权重变化的方向。
本发明的一个优点是,与现有技术相比,信号处理速度、学习周期和能力都得到了加强。
本发明的另一个优点是,可以在不使用复杂的乘法电路的前提下实现新颖的学习算法,因而有利于用电子线路实现并减少了实现所需占用的空间。
本发明的另一个优点是,通过产生一个随机数并随后连续移位至网络内的每个权重装置上,最大程度地缩小了处理电路的尺寸,这里的随机数指示了权重变化的方向。
本发明的另一个优点是,可以利用学习神经网络充分而精确地控制未知设备,它们可以是非线性或线性设备并可有任意阶次复杂性。
对于本领域内的技术人员来说,以下的附图和详细论述将使他们能理解本发明的其它目标、特点及其优点。附图的简要说明借助以下附图可以更好地理解本发明。附图中网络规模的大小并不重要,重点放在如何清楚地论述本发明的原理上。
图1为普通具有用于实现网络内权重调整的学习算法的权重调整设备的学习神经网络的示意框图;图2为图1中神经元的示意框图;图3为按照本发明的学习神经网络的示意框图;图4为普通的反向传播学习算法与本发明的随机权重变化学习算法进行比较的三维曲线图;图5为图3中神经元的示意框图;
图6为图5中权重施加设备的示意框图;以及图7为应用图3的学习神经网络的示意框图,其中由学习神经网络控制未知设备。
实施发明的详细描述现参照附图,其中各张附图中相同的标号表示相似的部分,图3示出了一种新的实现了按照本发明的随机权重变化学习算法的学习神经网络30。学习神经网络30包含从若干输入I0—Im与经过权重调整装置28处理的若干权重W0—Wp的组合中产生若干输出O0—Op的若干学习神经元14′。神经网络30可以包含任意数量的神经元层。而且,可以向每个神经元14提供可用输入的任意组合。换句话说,图3所示第一层内的每个神经元14可以接收输入I0—Im的任意组合而每个外层神经元14可以接收来自隐藏层神经元的任意组合的神经元输出。而且,输出O0—Op中的每一个与各个所要得到的输出O0′—Op′进行比较以产生在块24处所指的各个误差E0—Ep。这些误差E0—Ep随后如块25处所指经过平方运算,并将最终的平方误差相加,如加法块26所指,从而从该组输入I0—In产生一组误差EN′。
在学习神经网络30中,权重调整装置28′包含时间延迟装置(T)32、累计装置33和比较器(C)34。累计装置33将该组误差EN′累计起来以产生分析用的整体网络误差EN。累计装置33是可选的,但是由于它可以根据一段时间内若干输入/输出之间的关系调整权重,所以有利于学习神经网络30的学习。而且,时间延迟装置32接收该整体网络误差EN。比较器34将整体网络误差EN与时间延迟装置32输出的时间延迟输出进行比较以确定权重处理后网络误差EN是增加还是减少。该信息随后送至接着将提供正的或负的权重变化δ的学习神经元14′。权重变化的极性规定了权重变化δ的方向。
值得注意的是,根据本发明的随机权重变化学习算法,权重首先从初始状态处,以+δ或-δ的增量权重变化为单位随机变化。随机变化方向(+D或-D)被送至学习神经元14′,如图3中的标号35所示。在本文的内容中,“随机”选取指的是真正的随机选取、伪随机选取或其它具有在一个集合中任意确定一个新数值的特征的选取,该数值的选取概率应基本上与其它未被选取数值的选取概率相等。而且,如果实施了前面的权重变化以后减少了整体网络误差EN,则迭代同一权重变化直到误差EN增加。但是,如果整体网络误差EN增加,则再次随机改变权重。在对前面的方法不断迭代之后,输出误差EN和误差E0—Ep逐渐减少并最终趋向于零。
本发明的随机权重变化学习算法的数学表示如下Wij(n+1)=Wij(n)+ΔWij(n+1)ΔWij(n+1)=ΔWij(n)如果E(n+1)<E(n)ΔWij(n+1)=δ*Rand(n)如果E(n+1)>=E(n)(Rand(n)只包含两个状态±1的随机函数)这里的Wij表示第j层的第i个权重而E表示整体网络误差。上述方程由图3中的时间延迟装置32与比较器34相结合而实现。
图4示出了普通反向传播学习算法与本发明的随机权重变化学习算法的比较。在反向传播学习算法中,操作点沿着与神经网络12对应的整体网络误差曲线最陡的坡度下降。权重变化的方向与整体网络误差曲线E的梯度对应。相反,在本发明的随机权重变化学习算法中,操作点在整体误差曲线E上盘上盘下,而不是沿着陡坡径直向下,但从统计的角度和最终的结果来看,操作点趋向于正确答案,即误差为零的位置。实质上,沿着参差不齐的操作曲线的每个方向变化代表了新的随机方向的产生。
由图4显而易见,本发明的随机权重变化学习算法比起反向传播学习算法,其效率较差。但是,随机权重变化学习算法无需乘法器(而乘法器在以模拟方式实现时可能会引起漂移或具有非理想特性,在以数字电路方式实现时可能会进一步增加复杂性)。并且可以利用只含两个权重变化状态+δ或-δ的非常简单的电路来更新权重。最后,随机权重变化学习算法不需要特殊的网络结构。因此,以降低一些效率为代价,本发明换来了前面所述的显著优点。
图5示出了利用随机产生的权重变化达到最佳效果的学习神经元结构。如图5所示,每个权重施加装置16包含移位装置36和乘法器38。移位装置36向乘法器38提供权重,供其将权重与输入Ix结合,其中x是I0…Ik…Im中的任意一个。而且,移位装置36经随机线路35串联而经移位线路44并联。比较好的是如图3所示,随机线路35通过反向连续的(从外层向内部的隐藏层)神经元层连接,从而使每个神经元14′基本上实现了真随机产生。由图5可见,在操作中,随机产生的方向输入学习神经元14′并在移位线路44的控制下经随机线路35逐个在移位装置36之间传递。在前面的结构中,一次只需要产生一个随机方向,从而无需对每个移位装置36产生一个随机方向,这最大程度地减少了处理电路。
图6进一步示出了移位装置36。由图6可见,移位装置36包含接收来自随机线路35的随机方向和来自移位线路44的移位控制信的移位寄存器48号。移位装置36进一步包含从移位寄存器48接收增量变化(+δ或-δ)的加法块52,增量权重变化由随机线路35确定。加法块52将增量权重变化与已有的权重W结合起来以在线路46上提供权重,该权重再与相应的输入I结合起来。如果移位寄存器48在移位线路44上没有接收到脉冲,则沿同一方向以相同的权重变化δ改变权重(+或-)。但是,如果移位寄存器48在移位线路44上接收到了脉冲,则经方向线路35向移位寄存器48提供另一个随机方向,而将δ的新方向送至加法块52并最终送至输入I。
图7示出了学习神经网络的可能应用55,其中学习神经网络30用来控制未知设备56。在本文中,未知设备可以是由输入控制输出的任何系统或设备。而且,未知设备56可以是非线性或线性设备,并且可以具有任何阶次的复杂性。
在图7的实施例中,未知设备56直接与网络30的输出O0—Op相连。一般的情形是,由输出O0—Op直接控制未知设备56而通过神经网络30对输入I0—Im的处理,由神经网络30的输入I0—Im间接控制未知设备56。采用延迟块58以不同的时间间隔延迟输入I0—Im。实际的输入与延迟的输入都送至学习神经网络56,而每个输入都具有专门的权重施加装置16(图2)。同样如图所示,未知设备的输出O0—Op与所希的设备输出O0′—Op′经延迟块58以几个不同的时间间隔延迟。而且,学习神经网络30利用实际输出O0—Op、所希的设备输出O0′—Op′、延迟的实际输出和延迟的所希输出产生整体误差信号EN′(图3)。网络30随后采用误差信号EN′控制权重的更新。由于学习神经网络30既能学习非线性函数又能学习线性函数,所以图7的应用55表明,学习神经网络30可以用来控制各种未知设备56。
最后,对于本领域的技术人员来说,很容易在不偏离本发明的精神和范围的前提下对上述较佳实施例做出变动。因此,这样的变动都包含在了以下由下面权利要求所限定的本发明范围之内。
权利要求
1.一种尽可能减少神经网络中权重调整的计算复杂性的方法,其特征在于包含以下步骤从初始状态以增量变化为单位随机改变权重;如果改变所述权重后网络误差降低,则迭代所述增量变化直到所述网络误差增加;以及如果改变所述权重后所述网络误差增加,则再次随机改变所述权重。
2.如权利要求1所述的方法,其特征在于进一步包含借助网络控制设备的步骤。
3.一种尽可能减少神经网络中权重调整的计算复杂性的方法,其特征在于包含以下步骤(a)任意选取网络中各个第一次权重的增量变化的第一方向;(b)利用所述各增量变化增加所述第一次权重以形成第二次权重;(c)从网络的输入与所述第二次权重中产生网络输出;(d)通过将所述网络输出与对应所述网络输入的所希输出以数学方式结合,产生涉及所述网络输出的误差;(e)当所述误差的数值减少时,(i)利用所述各增量变化沿所述第一方向再次增加所述第二次权重以形成第三次权重;以及(ii)从网络的输入与所述第三次权重中产生网络输出;以及(f)当所述误差的数值增加时,(i)对于所述各增量变化,任意选取第二方向;(ii)利用所述各增量变化沿所述第二方向再次增加所述第二次权重以形成第四次权重;以及(iii)从网络的输入与所述第四次权重中产生网络输出。
4.如权利要求3所述的方法,其特征在于通过累计所述所希输出与所述网络输出之差的平方和产生所述误差。
5.如权利要求3所述的方法,其特征在于通过计算所述所希输出与所述网络输出之差的绝对值产生所述误差。
6.如权利要求3所述的方法,其特征在于通过计算由所述所希输出与所述网络输出的数学组合计算得到的正数产生所述误差。
7.如权利要求3所述的方法,其特征在于进一步包含利用随机发生器选取所述第一和第二方向的步骤。
8.一种完成如权利要求1—7所述方法的神经网络。
9.一种用于学习在网络中的网络输入上施加权重以获得网络输出的系统,其特征在于包含任意选取一组网络中各个权重的增量变化的第一方向的装置;利用所述各增量变化增加所述权重的装置;从网络的输入与所述权重中产生网络输出的装置;通过将所述网络输出与对应所述网络输入的所希输出以数学方式结合而产生涉及所述网络输出误差的装置;确定所述误差减少或增加的学习装置;当所述误差的数值减少时,所述学习装置利用所述各增量变化沿所述第一组方向再次增加所述权重以形成新的权重并从网络输入与所述新的权重中产生网络输出;以及当所述误差的数值增加时,所述学习装置对于所述各增量变化,任意选取第二组方向,利用所述各增量变化沿所述第二组方向增加所述权重以形成所述新的权重,并从网络输入与所述新的权重中产生网络输出。
10.一种集成电路,其特征在于包含如权利要求9所述的系统。
11.一种用于包含了若干将权重与网络值结合起来的权重装置的神经网络的方法,该方法在产生权重的同时尽可能地降低了计算复杂性并改善了速度,其特征在于包含以下步骤产生一个随机数;依次向每个权重装置提供随机数;根据随机数产生每个权重装置上权重的极性;以及通过将所述极性与各权重的大小结合起来产生每个权重装置上权重。
12.如权利要求11所述的方法,其特征在于,所述网络包含若干神经元层,并且进一步包含沿着基本上与数据流通过网络方向相反的方向经神经元层传送随机数的步骤。
13.如权利要求11所述的方法,其特征在于进一步包含沿着朝向网络输入层的方向从网络的输出层移动随机数的步骤。
14.在一种具有若干接收网络输入并产生网络输出的神经元的神经网络中,神经网络包含若干通过增量来修改网络输入的权重装置,它在提高速度的同时在减少复杂性方面作了改进,改进包括一个向所述若干权重装置依次提供随机代码的移位寄存器装置,随机代码用于增量变化的方向并使每个所述权重装置在接收随机代码后实现所述方向上的增量变化。
15.如权利要求14所述的改进,其特征在于进一步包含产生随机代码并将随机代码提供给所述移位寄存器装置的随机发生器。
16.如权利要求14所述的改进,其特征在于每个所述权重装置包含适合将权重与网络输入结合起来的乘法器。
17.如权利要求14所述的改进,其特征在于进一步包含与网络输出相连并受到网络输出控制的设备。
18.一种神经网络,其特征在于包含若干权重装置,每个所述权重装置用于将权重与网络值以数学方式结合起来;产生随机方向的装置;以及向所述若干权重装置依次提供随机方向的移位装置。
19.如权利要求18所述的网络,其特征在于进一步包括与网络的输出相连并受网络控制的设备。
全文摘要
一种学习神经网络(30),它在权重调整装置(28)内实现了随机权重变化学习算法。权重从初始状态以较小的增量变化权重+δ或-δ作随机变化。如果整体网络输出因权重变化而减少,则迭代同一权重变化直至误差增加。但是,如果整体误差增加,权重则再次随机变化。在对前述方法迭代结束后,网络误差逐渐减小,最终趋向于零。而且,采用了移位装置(36)和乘法器(38)作为权重施加装置(16)。
文档编号G06F15/18GK1132562SQ94193627
公开日1996年10月2日 申请日期1994年7月27日 优先权日1993年10月4日
发明者K·赫鲁兹, M·A·布鲁克 申请人:乔冶亚技术研究公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1