【深度学习笔记】手动推导反向传播公式BP
问题
现在才意识到,卷积神经网络在不同的层上的反向传播的计算公式不一样,之前一直按照全连接层的那种简单反向传播去理解了。
梯度下降的步骤
- 用随机值初始化权重和偏差
- 把输入传入网络,得到输出值
- 计算预测值和真实值之间的误差
- 反向传播求出每个神经元的梯度
- 根据梯度调整神经元的权值,以减少误差
- 重复迭代,直至得到网络权重的最佳值
全连接层反向传播
在数据表示上,将全连接神经网络的每一层神经元都表示为一个列向量。每一层的神经元,会将上一层神经元的输出作为输入,通过乘上权重矩阵以及加上列向量形式的偏置项。得到激活前的输出值,最后通过激活函数得到该层最终激活后的输出:
z l = W l ∗ a l − 1