1、2018/10/9,1,Backpropagation Algorithm,郝红侠2006.11.13,2018/10/9,2,Perceptron : Single Layer Feed-forward,Input layer of source nodes,Output layer of neurons,Rosenblatts Perceptron: a network of processing elements (PE):,2018/10/9,3,XOR问题,任何一个逻辑电路都可以只用XOR门来实现, XOR是通用门 (universal logic gate) 感知器不能解决XOR问
2、题 两层感知器可以解决XOR问题,异或问题的二层感知器,2018/10/9,4,Perceptron : Multi Layer Feed- forward,2018/10/9,5,MLP的特性,除了输入输出,MLP含有一层或多层隐单元,隐单元从输入模式中提取更多有用的信息,使网络完成更复杂的任务。 MLP神经元的激励函数一般采用Sigmoid函数,即,式中ni是第i个神经元的输入信号,ai是该神经元的输出信号。,2018/10/9,6,当隐层神经元足够多时,Sigmoid结构原则上可以以任意精度逼近的多元非线性函数 MLP的适用范围大大超过单程网络 为了提高神经网络的分类能力,必须采用MLP
3、,但当要精确逼近复杂问题时,隐层神经元和连接突触可能会达到“爆炸”量。,2018/10/9,7,Backpropagation Algorithm,Late 1980s - NN re-emerge with Rumelhart and McClelland (Rumelhart, D., McClelland, J., Parallel and Distributed Processing, MIT Press, Cambridge, 1986.),Why BP is a learning method?,它之所以是一种学习方法,就是因为用它可以对组成前向多层网络的各人工神经元之间的连接权值
4、进行不断修改,从而使该前向多层网络能够将输入它的信息变换成所期望的输出信息。如果将该多层网络看成一个变换,而网络中各人工神经元之间的连接权值看成变换中的参数,那么这种学习算法就是要求得这些参数。,Why a Backpropagation learning method?,之所以将其称作为反向学习算法,是因为在修改各人工神经元的连接权值时,所依据的是该网络的实际输出与期望的输出之差。将这一差值反向一层一层的向回传播,来决定连接权值的修改。,2018/10/9,8,Learning Rule,Measure error Reduce that error By appropriately adj
5、usting each of the weights in the network,2018/10/9,9,BP Network Details,Forward Pass: Error is calculated from outputs Used to update output weights Backward Pass: Error at hidden nodes is calculated by back propagating the error at the outputs through the new weights Hidden weights updated,2018/10
6、/9,10,BP Algorithm,正向过程:,输出层所有神经元的误差能量总和 sum squared error, SSE,权值修正: delta学习规则,2018/10/9,11,Case 1: 输出层权值修正,对于sigmoid函数:,局部 梯度,2018/10/9,12,Case 2:隐层权值修正,2018/10/9,13,BP算法的步骤,初始值选择 前向计算,求出所有神经元的输出 对输出层计算 从后向前计算各隐层 计算并保存各权值修正量: 修正权值: 判断是否收敛,如果收敛则结束,不收敛则转至Step2,2018/10/9,14,收敛性和局部极小值,对于多层网络,误差曲面可能含有多
7、个不同的局部极小值,梯度下降可能陷入这些局部极小值中的任何一个 对于多层网络,反向传播算法仅能保证收敛到误差E的某个局部极小值,不一定收敛到全局最小误差 尽管缺乏对收敛到全局最小误差的保证,BP算法在实践中仍是非常有效的函数逼近算法,2018/10/9,15,BP算法的改进,学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.010.8之间。增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取正数。通常在01之间,而且一般比学习率要大。,2018/10/9,16,增加冲量项,Here we modify weights of neurons with:,(1),(2),当本次与前一次同符号时,其求和权值增大,使Wij较大,从而在稳定调节时加快了w的调节速度。当与前次符号相反时,指数加权求和的结果使得Wij减小了,起到了稳定的作用。,2018/10/9,17,THANK YOU!,