cs231n笔记(6)--反向求导
一.理解
反向求导在BP算法中也叫梯度下降,我对其的理解就是为了让最后的损失函数损失最小化(即识别误差最小),如何让最后误差最小呢?由于导数在几何上的意义是函数上升或者下降的趋势,那么我们可以把整个人工神经网络+损失函数的模型看成是一步一步的函数叠加的结果,输入为图像,输出为损失。那么每一个神经元(**函数)以及之后损失函数都会对最后的误差结果产生影响。反向求偏导后(链式法则,每一步都对输入x求偏导)每一个神经元和误差函数都会有与之对应的导数,我们可以简单理解为当导数为正,有输入时(默认输入都为正去理解),此结点会让最后输出的误差变大,此后我们调节时就将此结点对应W变小。当导数为负时相反。举个简单例子:
绿子为输入输出,红字为相应结点导数。
二.
当我们训练整个模型时,一步一步根据每个结点的导数让损失下降时,就是把最高的损失降到最低,好像是下山一样。所以称之为梯度下降: