在一般的全联接神经网络中,我们通过反向传播算法计算参数的导数.BP 算法本质上可以认为是链式法则在矩阵求导上的运用.但 CNN 中的卷积操作则不再是全联接的形式,因此 CNN 的 BP 算法需要在原始的算法上稍作修改.这篇文章主要讲一下 BP 算法在卷积层和 pooling 层上的应用. 原始的 BP 算法 首先,用两个例子回顾一下原始的 BP 算法.(不熟悉 BP 可以参考How the backpropagation algorithm works,不介意的话可以看我的读书笔记) 最简单的例
在<神经网络的梯度推导与代码验证>之CNN的前向传播和反向梯度推导 中,我们学习了CNN的前向传播和反向梯度求导,但知识仍停留在纸面.本篇章将基于深度学习框架tensorflow验证我们所得结论的准确性,以便将抽象的数学符号和实际数据结合起来,将知识固化.更多相关内容请见<神经网络的梯度推导与代码验证>系列介绍. 需要用到的库有tensorflow和numpy,其中tensorflow其实版本>=2.0.0就行 import tensorflow as tf import n