反向传播这一小段看了好几遍才理解一部分。 原理并不复杂,吴恩达在视频教程里为了降低难度,简化反向传播的原理,没有过多讲偏导的概念,反而增加了理解的难度。
反向传播核心要点
- 反向传播是一种手段,用来求梯度用的,即求偏导,按照正规方程,对所有参数求偏导比较复杂,计算量偏大
- 预测结果与观察结果之差(
)就是下标为j的神经元的偏导,正好可以用来当梯度用,这里感觉应该是近似,这里看懂了就明白吴恩达视频里的盲区了。注意,按照链式法则求偏导,(
) 还得乘
,才得到z的偏导,得到z,就可以按权重反向求出上一层各个神经元参数的偏导了
最后一项的偏导 | 吴恩达里的反向传播 |
---|---|
最后一项的偏导 | 吴恩达里的反向传播 |
- 最后一项的偏差是由前面的层级,一层层往后传递的,每一层的各个激活单元向后传递有拟合权重,即
向量
- 注意吴恩达那个图里,向前每一层都是“乘以 权重
”,按照链式求导来理解。也可以感性的理解,权重大的,一个小的变化传递到下一层肯定也更大,像是“蝴蝶效应”,蝴蝶的翅膀越大效应越大,不知道这么记录以后自己还能看懂,确实抽象了点。
参考
量子位:你真的理解反向传播吗?面试必备 这篇文章了里,逻辑回归的偏导求错了,自己手推了下,可以参考下面这篇文章 Logistic函数求导
理解反向传播(Backpropagation) 英文论文原文