https://blog.csdn.net/vivian_ll/article/details/100919715
神经网络会有一个损失函数,机器学习的关键就是通过训练模型参数降低损失函数的值,那么在知道损失函数值之后如何更新参数呢?也就是如何更新w和b。
∂C/∂w和∂C/∂b相当于loss值C相对于w和v变化的速度。如果∂C/∂w是正的,则增大w,C也会增大,如果希望C减小的话,应该减小w;并且∂C/∂w的绝对值越大,表示w对C的值影响越大,w稍微有一点变化,C就会有大幅变化。如果要优化C变小,w应该对应的减少多少呢?也没有一个确定的答案。这里通过变化的速度和学习率相乘作为一个减小的值。通过多轮迭代。最终是希望c达到最小点。而当函数落入最小值的时候,无论是局部最小还是全局最小,其周围一定是平滑的。所以此时∂C/∂w和∂C/∂b将会变得很小甚至为0,即参数不在更新了。当函数在局部最小点处参数不在更新出现梯度消失的问题时,目前也有各种trick进行解决。不是这里的重点。
作者:hairuo55
链接:https://www.jianshu.com/p/74bb815f612e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
“正向传播”求损失,“反向传播”回传误差。
下边链接讲的很好
https://blog.csdn.net/ft_sunshine/article/details/90221691