本文详细讲解dnn和cnn的反向传播流程。其实无论是dnn还是cnn、pool层,最重要的是,我们要弄清楚反向传播的四个公式,弄清楚他们,我们就明白整个网络是如何运作和优化的,4个核心公式分别是:
1、输出层的误差方程 -这个是基础
2、误差传递方程
3、可训练参数权重w的变化率(梯度)
4、可训练参数偏置b的变化率(说到底其实网络就是在算误差,然后优化w和b,使得最后误差最小)
同时理解各种层的前向推理过程,那么整个网络的流动和机制就相当清晰了。
1、全连接层的推理与反向传播
首先,我们需要了解全连接层的dnn的网络的推理和传播过程,接着这个基础,再进一步的分析cnn的流程。
1、dnn的前向推理(主要是用来定义各个参数)
前向传播过程(激活输出值):
其中为每一层激活的输入,则上式变为。
2、dnn的反向推理过程
反向推理过程其实就是权重w和偏置b的变化,通过两个参数的变化影响损失函数C,因此需要计算每一个参数的和 。此时引入误差的概念,表示第l层第j个单元的误差:
此时我们基于此推理出4个基本方程:
1、输出层的误差方程
写成矩阵形式:
2、误差传递方程:
从bp2可以看出,第l+1层的误差计算第l层的误差