神经元它的误差,即它的状态与正确之间的差异,δ这个名称便来源于这个真实活动与要求之间的差异(数学上δ常用来表示小而有限的差异)。网络的学习规则利用这个信息计算如何调整权重以改进网络的性能。
Adaline网络是使用有教师学习的一个较早的例子。它是1960年由伯纳德·威德罗(Bernard idrow)和霍夫(M.E.hoff)设计的,因此δ律又称作威德罗-霍夫规则。他们设计规则使得在每一步修正中总误差总是下降的。①这意味着随着训练过程网络最终会达到一个误差的极小值。这是毫无疑问的,但还不能确定它是真正的全局极小还是仅仅是个局域极小值。用自然地理的术语说就是,我们达到的是一个火山口中的湖,还是较低的池塘。海洋,还是像死海那样的凹下去的海(低于海平面的海)?
训练算法是可以调节的,因而趋近局域极小的步长可大可小。如果步长过大,算法会使网络在极小值附近跳来跳去(开始时它会沿下坡走,但走得太远以致又上坡了)。如果步子小,算法就需要极长的时间才能达到极小值的底端。人们也可以使用更精细的调节方案。
反传算法是有教师学习算法中的一个特殊例子。为了让它工作,网络的单元需要具有一些特殊性质。它们的输出不必是二值的(即,或0,或者+1或-1),而是分成若干级。它通常在0到+1之间取值。理论家们盲目地相信这对应于神经元的平均发放率(取最大发放率为+1),但他们常常说不清应该在什么时候取这种平均。
如何确定这种quot;分级quot;输出的大小呢?像以前一样,每个单元对输入加权求和,但此时不再有一个真实的阈值。如果总和很小,输出几乎是0。总和稍大一些时,输出便增加。当总和很大时,输出接近于最大值。图54所示的S形函数(sigmoid函数)体现了这种输入总和与输出间的典型关系。如果将一个真实神经元的平均发放率视为它的输出,那么它的行为与此相差不大。
这条看似平滑的曲线有两个重要性质。它在数学上是quot;可微的quot;,即任意一处的斜率都是有限的;反传算法正依赖于这个特性。更重要的是,这条曲线是非线性的,而真实神经元即是如此。当(内部)输入加倍时输出并不总是加倍。这种非线性使得它能处理的问题比严格的线性系统更加广泛。
现在让我们看一个典型的反传网络。它通常具有三个不同的单元层(见图55)。最底层是输入层。下一层被称作quot;隐单元quot;层,因为这些单元并不直接与网络外部的世界连接。最顶层是输出层。最底层的每个单元都与上一层的所有单元连接。中间层也是如此。网络只有前向连接,而没有侧向连接,除了训练以外也没有反向的投射。它的结构几乎不能被简化。
训练开始的时候,所有的权重都被随机赋值,因而网络最初对所有信号的反应是无意义的。此后给定一个训练输入,产生输出并按反传训练规则调节权重。过程如下:在网络对训练产生输出以后,告诉高层的每个单元它的输出与quot;正确quot;输出之间的差。单元利用该信息来对每个从低层单元达到它的突触的权重进行小的调整。然后它将该信息反传到隐层的每个单元。每个隐层单元则收集所有高层单元传未的误差信息,并以此调节来自最底层的所有突触。
从整体上看具体的算法使得网络总是不断调节以减小误差。这个过程被多次重复。(该算法是普适的,可以用于多于三层的前向网络。)
经过了足够数量的训练之后网络就可以使用了。此时有一个输入的测试集来检验网络。测试集是经过选择的,它的一般(统计)特性与训练集相似,但其他方面则不同。(权重在这个阶段保持不变,以便考察训练后网络的行为。)如果结果不能令人满意,设计者会从头开始,修改网络的结构、输入和输出的编码方式、训练规则中的参数或是训练总数。
所有这些看上去显得很抽象。举个例子或许能让读者清楚一些。特里·塞吉诺斯基和查尔斯·罗森堡(C talk)。它的任务是把书写的英文转化成英文发音。英文的拼法不规则,这使它成为一门发音特别困难的语言,因而这个任务并不那么简单易行。当然,事先并不把英语的发音规则清楚地告诉网络。在训练过程中,网络每次尝试后将得到修正信号,网络则从中学习。输入是通过一种特殊的方式一个字母接一个字母地传到网络中。NEt talk的全部输出是与口头发音相对应的一串符号,为了让演示更生动,网络的输出与一个独立的以前就有的机器(一种数字发音合成器)耦合。它能将NEt tallk的输出变为发音,这样就可以听到机器quot;朗读quot;英语了。
由于一个英语字母的发音在很大程度上依赖于它前后的字母搭配,输入层每次读入一串7个字母。①输出层中的单元与音素所要求的21个发音特征②相对应,还有5个单元处理音节分界和重音。图56给出了它的一般结构。③