深度学习用于计算机视觉
卷积运算
- 密集连接层和卷积层的根本区别在于Dense层从输入特征空间学习到的是全局模式,conv学习到的是局部模式,所以Convnet的两个特质:
- Convnet学习到的模式具有translation invariant,即学习到某个局部模式之后,可以在任何地方识别该模式,因此可以更高效的利用数据,更少的样本即可以习得泛化能力的表示
- Convnet可以学到模式的空间层次结构(spatial hierarchies of patterns), 即第一层学习较小的局部模式,第二层学习第一层特征组成的更大的模式,以此类推。
- 卷积的工作原理
在3D输入特征图上滑动给定尺寸的窗口,在每个可能的位置停止并提取周围的3D图块,其形状为(window_height, window_width, input_depth)。然后每个3D图块与学到的同一个权重矩阵(卷积核,Convolution kernel)做张量积,转换为形状为1D的向量(output_depth)。然后对所有这些向量进行空间重组,转换为3D输出特征图(height, width, output_depth)。输出特征图中的每个空间位置都对应输入特征图中的相同位置。
- 卷积的两个关键的参数
-从输入中提取的图块尺寸,即给定尺寸,通常为3x3或5x5
-输出特征图的深度:卷积所计算的过滤器的数量 - 特别的,图像识别中,输入的3D张量形状为(height, width, depth),其中深度轴对于RGB来讲为3,对于黑白来讲为1。卷积运算从输入特征图提取图块,进行相同的变换,生成输出特征图,该输出特征图同样是3D张量,不同的是深度可以是任意数值,因为其表示的不再是颜色而是代表过滤器(filter),即对数据数据的某一方面的编码
- 输出的高度和宽度和输入会有不同,原因如下:
- 边界效应
- 步幅:即窗口滑动的距离
最大池化运算
- 对特征图进行下采样
- 减少需要处理的特征图的个数
- 通过让连续的卷积层的观察窗口越来越大,从而引入空间过滤器的层级结构
深度学习应用于小型数据集的策略
- 从头开始训练小的模型
- 使用预训练的网络做特征提取
- 对预训练的网络进行微调
网友评论