**
卷积网络结构
**
一,卷积神经网络的核心思想
1,卷积神经网络可以看成是对视觉神经系统机制的简单模仿
2,由卷积层, 池化层, 全连接层构成, 通过多个卷积、 池化层提取图像在各个尺度上的特征
3,每个卷积层包含多个卷积核, 用这些卷积核从左向右、 从上往下依次扫描整个图像, 得到称为特征图(featuremap) 的输出数据
3,网络前面的卷积层捕捉图像局部、 细节信息, 有小的感受野, 即输出图像的每个像素只对应输入图像很小的一个范围; 后面的卷积层感受野逐层加大, 用于捕获图像更复杂, 更抽象的信息,
4,经过多个卷积层的运算, 最后得到图像在各个不同尺度的抽象表示
二,卷积运算
1,在数字图像处理领域, 卷积是一种常见的运算
2,可用于图像去噪, 增强, 边缘检测等问题, 还可以用于提取图像的特征
3,用一个称为卷积核的矩阵自上而下、 自左向右在图像上滑动, 将卷积核矩阵的各个元素与它在图像上覆盖的对应位置的元素相乘, 然后求和, 得到输出值
三,卷积层的原理
1,在图像处理中, 卷积核矩阵的数值是根据经验人工设计的
可以通过机器学习的手段来自动生成这些卷积核, 从而描述各种不同类型的特征
卷积神经网络就是通过自动学习的手段来得到各种有用的卷积核
2,感受野的概念
卷积核在一次卷积操作时对原图像的作用范围称为感受野, 不同的卷积层有不同的感受野。 网络前面的卷积层感受野小, 用于提取图像细节的信息; 后面的卷积层感受野更大, 用于提取更大范围的、 高层的抽象信息
3,多通道卷积
卷积层每个卷积核的通道数必须和输入特征图像的通道数相同
本层输出图像的通道数等于本层的卷积核数
四,池化层的原理
1,特征图像的维数很高, 维数高不仅计算耗时, 而且容易导致过拟合
2,引入了下采样技术, 也称为池化(pooling) 操作
3,对图像的某一个区域用一个值代替, 如最大值或平均值。 如果采用最大值, 叫做max池化; 如果采用均值,叫做均值池化
4,除了降低图像尺寸之外, 池化带来的另外一个好处是一定程度的平移、 旋转不变性, 因为输出值由图像的一片区域计算得到, 对于小幅度的平移和旋转不敏感
5,池化层没有参数
五,全连接层
1,和全连接神经网络的全连接层相同,2,第一个全连接层从最后一个卷积层或池化层接收输入数据
六,卷积神经网络图示
标准的卷积神经网络由卷积层, 池化层, 全连接层构成
网络的前半部分为卷积层和池化层, 二者交替进行
网络的后半部分为全连接层
也有其他变种, 如全卷积网络; 或者几个卷积层之后接一个池化层
**
反向传播
**
一,卷积层的反向传播
二,池化层的反向传播
池化层没有要通过学习得到的参数, 只需传播误差项
三,全连接层的反向传播
全连接层的反向传播和普通神经网络是相同的
四,总结,完整的反向传播算法
**
梯度下降法
**
神经网络的训练有单样本模式和批量模式两种方案
卷积神经网络的训练样本数一般很大, 大多采用随机梯度下降法(stochastic gradient descent, 简称SGD)
随机梯度下降法每次参与梯度下降迭代的只有一部分样本, 这称为mini-batch随机梯度下降
batch大小的确定:计算性能, 一般为2的n次方
参数的初始化:一般初始化为随机值,大多采用均匀分布, 正态分布的随机数生成, 然后用神经元的数量做归一化
学习率的设定:固定学习率。动态调整学习率-人工定义的规则
**
梯度下降法的改进
**
改进的目标: 收敛的更快, 收敛的更好(如抵抗局部极小值, 鞍点问题)
改进点: 自适应学习率, 每一维有自己的学习率, 积累之前的信息
一,动量项梯度下降法
二,AdaGrad算法
三,RMSProp算法
四,AdaDelta算法
五,Adam算法
六,梯度下降法的改进
迁移学习与fine tune
机器视觉中有一些特征具有共性, 它们对各种物体的识别具有普遍性, 如边缘、 角点、 纹理特征
卷积网络学习得到的特征可能会具有通用性
能不能将一个数据集上训练的网络用于另外一个任务?
直接用不是一种好的选择, 另外一种思路是把这个网络的参数作为训练的初始值, 在新的任务上继续训练,
这种做法称为fine-tune, 即网络微调
大量的实验结果和应用结果证明, 这种微调是有效的
说明卷积神经网络在一定程度上具有迁移学习的能力, 卷积层学习到的特征具有通用性