在之前的文章中我介绍了多层感知机反向传播的数学推导,主要是用数学公式来进行表示的,在全连接神经网络中,它们并不复杂,即使是纯数学公式也比较好理解。而卷积神经网络相对比较复杂,在本篇文章中我们将从直观感受和数学公式两方面来介绍CNN反向传播算法的推导。
南柯一梦宁沉沦:神经网络中反向传播算法数学推导zhuanlan.zhihu.com首先我给大家介绍一下我分析delta误差反向传播过程的简单方法,如果神经网络l+1层某个结点的delta误差要传到l层,我们就去找前向传播时l+1层的这个结点和第l层的哪些结点有关系,权重是多少,那么反向传播时,delta误差就会乘上相同的权重传播回来。
假设第l层有一个结点a,l+1层有一个结点b。两个结点间的连接权重为w。如果前向传播时,结点a对结点b的影响是
卷积神经网络前向传播过程简要介绍
在理解卷积神经网络的反向传播之前,我们需要对卷积、池化以及卷积神经网络前向传播过程作一个简要的回顾。
卷积运算介绍
在卷积神经网络中,所谓的卷积运算,其实并不是严格的数学意义上的卷积。深度学习中的卷积实际上是信号处理和图像处理中的互相关运算,它们二者之间有细微的差别。深度学习中的卷积(严格来说是互相关)是卷积核在原始图像上遍历,对应元素相乘再求和,得到的新图像在尺寸上会有减小。可以通过下图直观的去理解。假设输入图像的有m行,n列,卷积核的尺寸为filter_size×filter_size,输出图像的尺寸即为(m-filter_size+1)×(n-filter_size+1)
在全连接神经网络,图像数据以及特征是以列向量的形式进行存储。而在卷积神经网络中,数据的格式主要是以张量(可以理解为多维数组)的形式存储。图片的格式为一个三维张量,行×列×通道数。卷积核的格式为一个四维张量,卷积核数×行×列×通道数。
卷积操作是每次取出卷积核中的一个,一个卷积核的格式为三维,为行×列×通道数。对应通道序号的图片与卷积核经过二维卷积操作后(即上图所示操作),得到该通道对应的卷积结果,将所有通道的结果相加,得到输出图像的一个通道。每个卷积核对应输出图像的一个通道,即输出图像的通道数等于卷积核的个数。
这里概念有一点绕,但是卷积神经网络中所谓张量的卷积,本质上是进行了一共卷积核数×通道数次二维卷积</