BP算法理解
反向传播(Back Propagation)是利用链式法则递归计算表达式的梯度的方法。
历史:1986年Rumelhart和Hinton一起重新发现了backprop,当时BP还是把求梯度和权重更新(梯度下降)打包了;而现在深度学习权重更新已经很简单粗暴了,BP基本单指第一步:求梯度。所以,现在BP已经完全等同于链式法则了。
图解传统BP 包括了前向传播+反向传播+更新权重。注意这里 $\delta$ 的含义有些混淆,没有乘以 $f’_i(e)$ ,可以结合这篇BP推导看,符号使用相对清晰。
思考:对DNN而言,单层网络(感知机)只要激活函数是单调的,能够保证是凸函数;但多层网络就是非凸优化了。
BP算法
Why:求解NN每层的参数,可以使用梯度下降,但难点在于如何计算每层loss对参数的梯度,而BP是计算梯度的有效方法。
BP算法推导参考Ufldl,损失函数为squared loss,激活函数为sigmoid,符号说明 如下:
样本集 $\brace{ (x^{(1)}, y^{(1)}), \ldots, (x^{(m)}, y^{(m)}) }$,包含$m$个
...