一、概述
一个卷积神经网络(CNN)是由一个或多个卷积层(通常伴随着降采样一步)构成,并加上一个或多个和在标准的多层神经网络一样的全连接层。CNN的结构是设计用于利用输入图像的2D结构(或其他2D输入例如语音信号)。这是由局部连接、权值共享以及一些引起平移不变特征的池化操作来实现的。CNN的另一个优点在于它们更容易训练而且比拥有相同数目的隐藏单元的全连接网络而言,参数更少。在这篇文章中,我们会讨论CNN的结构和计算模型参数梯度用于基于梯度的优化方法的反向传播算法。在此之前分别阅读卷积和池化的教程了解它们具体的操作细节。
二、结构
一个CNN由多个卷积和降采样层构成,加上可选的全连接层。卷积层的输入是一个m*m*r的图像,其中m是图像的高和宽,r是图像通道数目,例如RGB图像r=3。卷积层有k个n*n*q的滤波器(或核),其中n比图像的维数小,q可以和图像的通道数r相同或更小,并且每个核的q可以不同。滤波器的大小决定了局部连接的结构,它们各自与图像作卷积产生k个大小为m-n+1的特征映射。接着每个特征图进行降采样,主要采用在p×p连续区域平均或最大化池化,其中p的取值,小图像(例如MNIST)用2,大一点的输入通常不会超过5。在降采样层的前或后,通常有额外的偏执和sigmoid的非线性应用到每个特