训练人工神经网络

来自计算思维百科
跳转至: 导航搜索

人工神经网络的一个重要特征是自适应学习,神经网络的权值决定了网络能否正确工作,权值的设置不再是传统意义上的被编程而是被训练。也就是说,一个程序员不再决定解决一个特定问题所需权的值,然后并把这些值“插”入网络中;相反,一个人工神经网络通过监督训练学习获得合适的权值,该训练是一个反复的过程,从训练装置而来的输入被应用到网络,然后用小的增量调整权值使网络的性能接近期望状态。如何调整权值是一个值得研究的课题。修改权值需要一种合理的策略,每次调整都应该导向正确目标而不是破坏前一步调整取得的进展。

神经网络的最基本学习规则是Hebbian规则,所有的学习规则都可视为Hebbian规则的变种。Hebbian学习规则的基本思想是如果神经网络中某一神经元与另一直接与其相连的神经元同时处于兴奋状态,那么这两个神经元之间的连接强度应该加强。

3.4.6.png

图5 神经元间的连接

如图5所示,神经元i和神经元j之间的连接权值的修改规则可以定义为 ,其中wij(t+1)表示修改后的权值,η是学习因子,表示权值学习速率的比例常数,yi(t)和yj(t)分别表示t时刻第i个和第j个神经元的输出值。如果yi(t)和yj(t)都是1,那么wij将增大,否则保持不变。由于yi(t)=xi(t),Hebbian修改规则也可以表示成 。

另外一种学习方式是误差修正学习,也称为Delta学习规则,通过实际输出与期望输出的误差来修正权值,误差修正学习的修改规则是 ,其中ej表示第j个神经元的期望输出值。误差修正学习是一个迭代过程。一开始可以随机设置权值然后根据输入模式对应的实际输出和期望输出的误差更新权值,不断重复这个过程知道所有训练模式网络输出满足要求。

除了上述两种学习方法意外,神经网络训练方法还有梯度下降学习、Kohonen学习、反向传播学习、概率式学习、竞争式学习等。其中反向传播学习是目前应用最为广泛的网络学习规则,误差的反向传播技术一般采用Delta规则,该过程分成两步:第一步是正反馈,当输入数据在网络中从前往后计算每个神经元的输出,然后计算每个单元的输出与期望输出的误差;第二步是向后传播,从后向前重新计算误差,并修改权重。完成这两步以后才输入新的输入数据,不断调整网络的权重直到网络的计算误差达到最小。