《反向传播算法ppt课件.pptx》由会员分享,可在线阅读,更多相关《反向传播算法ppt课件.pptx(17页珍藏版)》请在三一办公上搜索。
1、,Add up everything what you like and everything what you want 梦想,要比昨天走的更远,神经网络与深度学习,目录/contents,使用矩阵快速计算输出的方法,关于代价函数的两个假设,反向传播的四个基本方程及证明,反向传播算法,反向传播算法,为什么要提出反向传播算法?,在反向传播算法提出之前人们应该想到了使用SGD学习模型,也想到了一些办法求解网络模型的偏导数,但这些算法求解效率比较低,所以提出反向传播算法来更高效的计算偏导数。反向传播算法最初在1970年代被提及,但是人们直到David Rumelhart,Geoffrey Hint
2、on和Ronald Wiliams的著名的1986年的论文中才认识到这个算法的重要性。这使得使用神经网络来解决之前无法完成的问题变得可行。现在,反向传播算法已经是神经网络学习的重要组成部分了。,神经网络中使用矩阵快速计算输出的方法,右图给出了网络中第二层的第四个神经元到第三次的第二个神经元链接上的权重,偏置和激活值,(23),(对比上一章公式(4),最后我们引入向量化函数来按照矩阵形式重写公式,如果我们的作用函数是,,那么向量化的f函数作用就起到下面的效果,了解这些,方程就可以表示为下式,(24),(25),在使用方程(25)的过程中,我们计算了中间量,,这个量其实是,非常有用的:我们称,关于
3、代价函数的两个假设,第一个假设就是代价函数可以被写成在没个训练样本x的代价函数,第二个假设就是代价可以写成神经网络输出的函数,例如二次代价函数满足这个要求,则对于一个单独训练样本x的二次代价函数写作,(26),(27),反向传播的四个基本方程及证明,我们定义l层的第j个神经元上的误差,(29),解决方案:反向传播基于四个基本方程。这些方程给我们一种计算误差,和代价,函数梯度的方法。,输出层误差的方程:,(BP1),使用下一层的误差,来表示当前层的误差,:,(BP2),通过组合(BP1)和(BP2),我们可以计算任何层的误差,。首先使用(BP1)计算,,然后用方程(BP2)来计算,,然后再次用方
4、程(BP2)来计算,,,如此一步一步地反向传播整个网路。,代价函数关于网络中任意偏置的改变率:,(BP3),这其实是,误差,和偏导数,完全一致。这是很好的性质,因为(BP1)和,(BP2)已经告诉我们如何计算,。所以就将(BP3)简记为:,代价函数关于任何一个权重的改变率:,BP(4),方程可简写为:,总结一下,我们已经学到,如果输入神经元激活值很低,或者输出神经元已经饱和了(过高或者过低的激活值),权重会学习缓慢。,BP1的证明:,应用链式法则,我们就可以就输出激活值的偏导数的形式重新表示上面的偏导数:,把方程化简为:,回想下,,所以方程变为,反向传播算法:反向传播方程给出了一种计算代价函数
5、的方法。让我们显示的用算法描述出来。,检视这个算法,你可以看到为何它被称作反向传播。我们从最后一层开始向后计算误差向量,。这看起来有点奇怪,为何要从后面开始。但是如果你认真思考反向,传播的证明,这种反向移动其实是代价函数是网络输出函数的结果。为了理解代价随前面层的权重和偏置变化的规律,我们需要重复作用链式法则,反向地获得需要的表达式。,总结,反向传播的核心是一个对代价函数C关于任何权重w(或者偏置b)的偏导数,的表达式。这个表达式告诉我们在改变权重和偏置时,代价函数变,化的快慢。反向传播的大体思路就是找到一个中间变量,通过链式法则来求解误差对参数的偏导数。,感谢各位聆听,Add up everything what you like and everything what you want 梦想,要比昨天走的更远,