全连接
首先我们回顾下LeNet网络结构:
如图1中红色方框所示,在经过多次卷积——池化——卷积——池化操作后,接着是两次全连接操作。全连接层是传统的多层感知器,在输出层中使用Softmax激活功能(也可以使用其他分类器,例如SVM)。术语“全连接”表示上一层中的每个神经元都连接到下一层中的每个神经元。卷积和池化层的输出代表输入图像的高级特征。全连接层的目的是使用这些特征根据训练数据集将输入图像分类为各种类别。例如,图1展示的是图像分类任务具有四个可能的输出(狗,猫,船,鸟)。
除了分类之外,添加全连接层通常也是学习这些功能的非线性组合的一种廉价的方法。来自卷积层和池化层的大多数特征可能对分类任务很有用,但是这些特征的组合甚至可能更好。Softmax作为全连接层的输出层中的激活函数可以确保全连接层的输出概率之和为1。(Softmax 函数输入一个任意大于 0 值的向量,会把它们转换为零一之间的数值,其和为一)
网络训练
卷积网络的总体训练过程可以总结如下:
步骤1:我们使用随机值初始化所有过滤器和参数/权重
步骤2:网络将训练图像作为输入,进行正向传播步骤(卷积,ReLU和池化操作以及完全连接层中的正向传播),并找到每个类别的输出概率。
步骤3:计算输出层的总误差,总误差= ∑½(目标概率–输出概率)²
步骤4:使用反向传播来计算相对于网络中所有权重的误差梯度,并使用梯度下降来更新所有滤波器值/权重和参数值,以最大程度地减少输出误差。
步骤5:对训练集中的所有图像重复步骤2-4。
如图2所示,卷积网络中可以重复多次使用“卷积—池化”操作一般而言,我们进行的卷积步骤越多,我们的网络将能够学会识别的功能就越复杂。 例如,在图像分类中,CNN可以学会从第一层中的原始像素检测边缘,然后使用边缘来检测第二层中的简单形状,然后使用这些形状来组成高级特征,例如图3所示的在更高层的面部形状。
最后给大家推荐一个网站,该网站将卷积神经网络完成“0~9数字识别”功能的过程,进行了可视化,帮助大家更好地理解卷积神经网络的中间细节。