八、卷积神经网络2
1、LeNet网络简介
LeNet-5网络由LeCun在1998年提出,这是第一个广为传播的卷积网络,用于手写文字的识别,采用了标准的卷积层,池化层,全连接层结构,此后各种卷及网络的设计都借鉴了它的思想。
2、LeNet网络的结构
激活函数统计采用tanh;损失函数采用欧氏距离损失函数;求解算法采用梯度下降法;训练样本的类别标签采用向量编码形式。
多通道卷积的连接方式
3、AlexNet网络简介
由于计算能力和训练样本的限制,网络层数增加带来的梯度消失等问题的困扰,在提出后的20多年内卷积神经网络并没有得到广泛的关注与大规模的应用
直到2012年,Hinton等人设计出一个称为AlexNet的深层卷积神经网络,在图像分类任务上取得了成功
4、AlexNet网络的主要改进点
层数更深,参数更多,规模更大
训练样本多,采用了GPU加速
新的激活函数ReLU
一定程度上缓解梯度消失问题
dropout机制
在训练时随机的选择一部分神经进行正向传播和反向传播,另外一些神经元的参数值保持不变,以减轻过拟合
dropout机制使得每个神经元在训练时只使用了样本集中的部分样本,这相当于对样本集进行采样,即bagging的做法。最终得到的是多个神经网络的组合,但这不是一种严格的解释
5、VGG网络简介
由牛津大学视觉组提出,被广泛应用于视觉领域的各类任务
主要创新是采用了小尺寸卷积核
所有卷积层都使用3x3的卷积核,且卷积步长为1
为了保证卷积后的图像大小不变,对图像进行了填充,四周各填充1各像素
所有池化层都采用2x2的核,步长为2
除了最后一个全连接层之外,所有层都采用ReLU激活函数
用2个相连的3x3卷积核可以实现5x5的卷积核
用3各相连的3x3卷积核可以实现7x7的卷积核
小卷积核有更小的参数,能够加速网络的训练和计算,同时可以减轻过拟合问题
两个3x3的卷积核有18个参数(不考虑偏置项),而一个5x5卷积核有25个参数
除了参数减少,用多层小卷积核实现一个大卷积核的另外一个好处是多了几次激活函数,增加了非线性。
6、GoogLeNet网络
在AlexNet网络出现之后,针对图像类任务出现了大量改进的网络结构,其中的一种思路是增加网络的规模,包括深度和宽度
直接增加网络的规模将面临两个问题,首先,网络参数增加之后更容易出现过拟合,在训练样本有限的情况下这一问题更为明显;另一个问题是计算量的增加、存储开销
GoogLeNet由Goole提出,主要创新是Inception机制,它对图像进行多尺度处理
这种机制带来的一个好处是大幅度减少了模型的参数数量,其做法是将多个不通尺度的卷积核、池化进行整合,形成一个Inception模块
去掉了全连接层,节省空间,减少计算量
一个简单的Inception模块
从理论上看,Inception模块的目标是用尺寸更小的军阵来替代大尺寸的稀疏矩阵。即用一系列小的卷积核来替代大的卷积核,而保证二者有近似的性能
7、1x1卷积
用1x1卷积进行降维,不回改变图像的高度和宽度,只会概念通道数
8、反卷积
卷积运算可以用矩阵乘法来实现
卷积输入图像
卷积核
图像按行拼接形成列向量
卷积核进行展开形成矩阵C
卷积运算等价于如下的矩阵乘法
反向传播时的计算公式为
正向传播时,卷积层是用卷积矩阵C与图像向量x相乘;反向传播时,是用卷积矩阵的转置与传入的误差向量相乘,将误差项传播到前一层
反卷积也称为转置卷积,它的操作刚好和这个过程相反
正向传播时左乘矩阵CT,反向传播时左乘矩阵C
反卷积并不是卷积运算的逆运算
反卷积的应用
卷积网络可视化
全连接网络中的上采样
9、卷积层可视化
用反卷积进行卷积层可视化
将卷积网络学习到的特征图像左乘得到这些特征图像的卷积核的转置矩阵,将图像从特征图像空间转换到原始的像素空间,以发现是那些像素激活了特定的特征图像。
前面的层提取的特征比较简单,越往后的卷积层提取的特征越复杂
10、卷积神经网络的数字特征
万能逼近定理保证卷积神经网络可以你和闭区间任意一个连续函数
卷积层和池化层带有其自身的特性
11、根据卷积结果重构图像
卷积网络实现从图像到向量的映射
给定一张图像的输出向量,我们要对它进行反向表示寻找输入图像,它是如下最优化问题的解
损失函数直接采用欧式距离