深度学习小白——反向传播
2017-03-27 18:48
225 查看
一、理解
函数关于每个变量的导数指明了整个表达式对于该变量的敏感程度
梯度▽f是偏导数的向量,所以有
,
直观理解链式法则,f=q*z, q=x+y ,先进行前向传播,从输入计算到输出(绿色),然后反向传播从末端开始,根据链式法则递归地向前计算梯度,一直到输入端。
在整个反向传播过程中,每个门单元应将回传的梯度乘以它对其输入的局部梯度,从而得到整个网络的输出对该门单元的每个输入值的梯度
例如上图,加法门收到输入[-2,5],计算输出3,则对于两个输入的局部梯度是+1,网络的其余部分计算出最终值 为-12,反向传播时,算到加法门时,知道加法门的输出梯度是-4,
继续递归并对梯度使用链式法则,加法门拿到梯度,然后把这个梯度分别乘到每个输入值的局部梯度,即得到了整个网络输出对每个输入值的梯度。
二、sigmoid函数
注意:在计算反向传播时,前向传播过程中得到的一些中间变量非常有用,在实际操作中,最好代码实现对于这些中间变量的缓存,对于不同分支的梯度,要使用+=而不是=来累积这些变量的梯度
【总结】
加法门:把输出梯度相等地分发给它所有的输入
取最大值门:对梯度作路由,将梯度转给其中一个输入,这个输入是在前向传播中值最大的那个输入。
乘法门:它的局部梯度就是输入值,但是是相互交换之后的。
三、小结
分段计算在反向传播中很重要!应该将函数分成不同的模块,这样计算局部梯度相对容易,然后基于链式法则将其“链”起来
在矩阵运算中,要注意分析维度,通过维度推导出来公式,也可以先写一个小规模的例子,在纸上推演梯度,然后对其一般化。
给一个每层只有一个神经元的4-layer简化模型来说明反向传播:
其中,C表示代价函数,aj = σ(zj)(注意,a4 =
z4),zj = wjaj-1 +
bj,我们称 zj是神经元的带权输入。现在我们要来研究一下第一个隐藏神经元的梯度∂C/∂b1,这里我们直接给出表达式(具体证明,请移步这里):
函数关于每个变量的导数指明了整个表达式对于该变量的敏感程度
梯度▽f是偏导数的向量,所以有
,
直观理解链式法则,f=q*z, q=x+y ,先进行前向传播,从输入计算到输出(绿色),然后反向传播从末端开始,根据链式法则递归地向前计算梯度,一直到输入端。
在整个反向传播过程中,每个门单元应将回传的梯度乘以它对其输入的局部梯度,从而得到整个网络的输出对该门单元的每个输入值的梯度
例如上图,加法门收到输入[-2,5],计算输出3,则对于两个输入的局部梯度是+1,网络的其余部分计算出最终值 为-12,反向传播时,算到加法门时,知道加法门的输出梯度是-4,
继续递归并对梯度使用链式法则,加法门拿到梯度,然后把这个梯度分别乘到每个输入值的局部梯度,即得到了整个网络输出对每个输入值的梯度。
二、sigmoid函数
注意:在计算反向传播时,前向传播过程中得到的一些中间变量非常有用,在实际操作中,最好代码实现对于这些中间变量的缓存,对于不同分支的梯度,要使用+=而不是=来累积这些变量的梯度
【总结】
加法门:把输出梯度相等地分发给它所有的输入
取最大值门:对梯度作路由,将梯度转给其中一个输入,这个输入是在前向传播中值最大的那个输入。
乘法门:它的局部梯度就是输入值,但是是相互交换之后的。
三、小结
分段计算在反向传播中很重要!应该将函数分成不同的模块,这样计算局部梯度相对容易,然后基于链式法则将其“链”起来
在矩阵运算中,要注意分析维度,通过维度推导出来公式,也可以先写一个小规模的例子,在纸上推演梯度,然后对其一般化。
给一个每层只有一个神经元的4-layer简化模型来说明反向传播:
其中,C表示代价函数,aj = σ(zj)(注意,a4 =
z4),zj = wjaj-1 +
bj,我们称 zj是神经元的带权输入。现在我们要来研究一下第一个隐藏神经元的梯度∂C/∂b1,这里我们直接给出表达式(具体证明,请移步这里):
相关文章推荐
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- 深度学习反向传播
- 离散优化代替反向传播:Pedro Domingos提出深度学习新方向
- 【深度学习技术】python 反向传播求梯度
- 【深度学习】梯度下降和反向传播
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- 深度学习---反向传播的具体案例
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- 深度学习入门课程学习笔记06 反向传播
- 深度学习笔记(3)——CNN中一些特殊环节的反向传播
- 深度学习入门课程学习笔记06 反向传播
- 深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
- 神经网络与深度学习学习笔记:正向传播与反向传播(未完)
- 深度学习笔记---反向传播
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- UFLDL深度学习笔记 (一)反向传播与稀疏自编码
- 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
- 深度学习(一):神经网络和反向传播
- 深度学习要另起炉灶,彻底抛弃反向传播