研究生课程:高级人工智能-第4讲 图像数据的深度学习模型
《高级人工智能》课程笔记:第4讲 图像数据的深度学习模型
第4讲 图像数据的深度学习模型
卷积神经网络
计算机视觉需要应用大量的图像数据
卷积神经网络是一种特殊的深层神经网络模型
- 它的神经元间的连接是非全连接的
- 同一层中某些神经元之间的连接的权重是共享的(即相同的)。
20世纪60年代,Hubel和Wiesel研究猫脑皮层
- 用于局部敏感和方向选择的神经元,其独特的网络结构可以有效地降低反馈神经网络的复杂性
- 基于猫的初级视皮层(VI区)的研究:简单细胞和复杂细胞
- 两层神经网络模拟初级视皮层中的简单细胞和复杂细胞
- 每层的神经元被组织成二维平面
- “简单细胞”层提取其输入中的局部特征
- “复杂细胞”层组合“简单细胞”层中相应的子区域,使得整个网络对局部变换具有一定的不变性。
局部连接
局部感知野:图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱,减少了需要训练的权值数目
参数共享:图像的一部分的统计特性与其他部分是一样的。在输入的不同位置检测同一种特征具有平移不变性
一维、二维、三维卷积
其中三维卷积:假设输入数据的大小为a1×a2×a3,过滤器大小为f,即过滤器维度为f×f×f。三维卷积最终的输出为(a1−f+1)×(a2−f+1)×(a3−f+1)。
多卷积核:
- 每个卷积核都会将图像生成为另一幅图像。
- 两个卷积核就可以生成两幅图像,这两幅图像可以看做是一张图像的不同的通道。
边缘检测示例:卷积运算是输入图像与过滤器(也叫核)进行的运算,得到输出图像。卷积核与图像对应的位置相乘求和得到一个新值。
假定要识别图像中的特定曲线,也就是说,对这种曲线有很高的输出,对其他形状则输出很低,这也就像是神经元的激活。
Padding:边缘不填充
- 随着不断卷积,图像会变得越来越小,有时你可不想让它变小
- 最角落的点只被使用了一次,这意味着在下传的过程中丢掉了图像边缘位置的信息。
卷积步长:卷积中的步幅是另一个构建卷积神经网络的基本操作
输入与输出的尺寸关系:
单层卷积网络:每一个卷积核的输出对应一个实数b(偏差),然后在进行激活函数的非线性转换得到输出
Pooling池化:
通过卷积获得了特征之后,下一步利用这些特征去做分类。
- 使用卷积时是利用了图像的“静态”特征
- Pooling对不同位置的特征进行聚合统计
池化层中没有需要学习的参数,所以通常不把池化层当做独立的一层来看。
池化层是一般不会设置padding,即一般padding为0。
fitter为2,stride为2是最常见的参数设置,尺寸图像缩小为原来的一半。
卷积时用的尺寸计算公式同样适用于池化层。
CNN
CNN基本结构:卷积层和子采样层
卷积神经网络是一个多层的神经网络
- 每层由多个二维平面组成
- 每个平面由多个独立神经元组成
CNN训练过程
监督训练:Bp算法
向前传播
- 从样本集中取一个样本,将输入网络
- 计算相应的实际输出
反向传播
- 计算实际输出与相应的理想输出的差
- 按极小化误差的方法反向传播调整权矩阵
- 代价函数
- 最小化平方误差(MSE),最小化相对熵(Relative Entropy)
- 反向传播主要考虑三个方面:
- 输出层,代价函数的确定及求导
- Pooling,数据的下采样及残差的上采样
- 卷积层,数据的卷积运算及残差的反卷积运算
卷积网络的核心思想:将局部感受野、权值共享以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移、尺度、形变不变性。
层间联系和空域信息的紧密关系,使其适于图像处理和理解:图像和网络的拓扑结构能很好的吻合
避免了显式的特征抽取,而隐式地从训练数据中进行学习:特征提取和模式分类同时进行,并同时在训练中产生;权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。
CNN的改进:
Rectified linear function:加速收敛和稀疏化
dropout:将隐层节点以一定概率清0
局部对比归一
非线性变换、池化
残差网络(Residual Networks(ResNets))
- 因为残差网络很容易学习恒等式函数,所以随着网络加深,至少不会让网络变差。
- 学习结果对网络权重的波动变化更敏感
图像数据应用
- 目标定位
- 特征点检测
- 目标检测
- 人脸识别