1 CNN原理
卷积神经网络主要应用在图像识别领域中,是指非某类网络的集合,其中包含了多种不同类型的结构。 不同网络结构,其性能一般也会有所不同。 通过对CNN几种典型架构的研究,我们可以发现这些网络创造者们极富创意,其中许多架构十分精巧,他们获得了重新引入当今主流几种典型架构的机会。 下面就从卷积神经网络原理开始。
所有CNN的最终目的就是将一幅照片变成一个特征向量,而特征向量等于这幅照片的DNA。 与上面的VGG网络类似,经过若干层卷积、池化和全连接等步骤,使图片维度减少,并最终转化为一维向量。 该向量包含图片的属性,当然该属性并不属于肉眼图片属性,它是为神经网络属性。
之所以以VGG为例是因为其网络结构十分简单明了、颇能让人了解。简述如下:
其输入为224×224张三通道照片,经两层卷积后照片维度没有变化,通道数提升至64个。 后面那一层红色就是最大池化,max pooling将图片维度转换为112×112。 接着是继续重复第一步和第二步。 成为1维向量后通过全连接(fully connected)+ReLU启动、softmax加工后成为含有1000个数的特征向量。
2 CNN的培训方式
2.1 卷积神经网络前向传播流程研究
前向传播时,对输入图形数据进行多层卷积层卷积并池化,给出特征向量并导入全连接层得到分类识别结果。 输出结果符合我们期望值时
2.2 卷积操作在前向传播过程
以一小型权重矩阵来涵盖输入数据、相应位置加权相乘、它们之和为结果中的像素点,该权重从输入数据中滑过,构成新矩阵:
该权重矩阵被命名为卷积核(convolution kernel),它所覆盖的位置被命名为感受野(receptive field),参数共享,滑动后像素的个数被命名为步长(stride):。
基于卷积核的边缘或中心点为起点/终点确定卷积的补齐(padding)模式。 上图采用valid模式(该模式下新增矩阵维度有可能减少),same模式以0来弥补影像边缘(该模式下影像维度没有减少):。
若输入通道不止一条,则卷积核为三阶。 各渠道成果累加如下:
2.3 池化操作在前向传播过程
池化又称降采样,种类:down_sampling。
最大池化(max pooling):取感受野中最大的输出;平均池化(average pooling,average):取感受野中最大的输出,其它的例如L2池化。
一选择框,对应于输入数据某范围内(矩阵)之全部数值,求出一新值作为结果之像素点;池化亦有步长、补齐等概念,但应用较少,一般选择框都是以互不重叠之方式从padding=0之输入数据中滑动产生一新特征图:。
2.4 在前向传播方面实现全连接
在特征图进入卷积层与下采样层进行特征提取后,把提取到的特征传输到全连接层上,经过全连接层后,对其进行归类,得到分类模型并得出最终结果。
3 卷积神经网络反向传播流程研究
在卷积神经网络的输出结果不满足我们期望值的情况下执行反向传播过程。 找出结果和期望值之间的错误,并逐层返回错误,统计各层错误并更新权值。
4 卷积神经网络权值更新研究
卷积层误差更新过程如下:以误差矩阵作为卷积核,对输入特征图进行卷积,得到权值偏差矩阵再和原卷积核权值累加得到更新卷积核。
文章出处登录后可见!