【精读AI论文】VGG深度学习图像分类算法

ImageNet图像分类竞赛历年Tops 错误率


VGG16和VGG19

- D是VGG16,E是VGG19
- 每一个模型都分为5个bolck,所有的卷积层全部使用3*3大小的卷积核,随着模型的变深,每一个模型的channel(或者说卷积核)的个数都翻倍
- VGG16
VGG16和VGG19 P2 - 00:42
- A-LRN(通过对比发现添加LRN并没有什么用)VGG16和VGG19 P2 - 02:39

- 红色表示max pooling,最大池化下采样层,下采样层并不包含参数,所以并不包含在16或者19中
- 白色表示卷积层
- 像素层面的长宽越来越小,语义层面的通道数越来越深(长宽越来越小,通道数越来越多)
- VGG16和VGG19本质上并没有什么区别,只是VGG19比VGG16在后面三个block中各多了一个卷积层
VGG16

- 最常用的迁移学习的骨干模型
- 输入时224*224*3的RGB彩色图像
- 第一个block输出的feature map是224*224*64,有64个卷积核,每一个卷积核生成一个channel,每一个channel还是224*224
- 下采样后长宽减半,然后继续用128个卷积核进行卷积,得到128个channel
- 以此类推
- 第五个block输出的feature map是7*7*512,经过下采样将它展平成为一个长向量,再经过3个全连接层(第一二层有4096个神经元,第三层有1000个神经元)
- 经过最后一个全连接层输出1000个类别的logic分数,这1000个分数经过softmax处理,得到1000个类别的后验概率
- 长宽信息逐渐减小,通道信息逐渐增加(将像素空间的信息转化成语义信息)

- 有图有误,最后一个全连接层神经元的个数应该是1000
所有卷积层输出的feature map的尺寸

- 2、2、3、3、3



- 红色表示VGG中每一层所占用的内存
- 蓝色表示每一层所对应的参数数量
- 前两层卷积占用了绝大部分内存
- 第一层全连接层占用了绝大部分参数
- 总共的内存消耗大约是96MB(只是前向传播)
为什么VGG全部使用3*3的卷积?
3 x 3卷积的作用 P3 - 00:01

- 带权重的卷积核在原图上进行滑动,它所覆盖到的区域叫做感受野
- 感受野上的像素和对应的卷积核上对应的权重相乘并求和,最终得到feature map


- 5*5的输入通过一个3*3的卷积核(步长为1)得到一个3*3的feature map,再通过一个3*3的卷积核(不用进行滑动)进行卷积,最后得到一个值,这个值反映的是原来的5*5的输入的信息,即2个3*3的卷积可以代替1个5*5的卷积
- 这样做的好处,经过两层之后模型深度变深了,非线性次数变多了,学习能力会变得更好,表示空间会变得更大而且参数的数量减少了

- 3个3*3的卷积核进行堆叠可以等价于1个7*7的卷积核
- 所以VGG中全部使用3*3的卷积
- 3*3本身也有一个好处:他是最小的能够包含左右、上下和中心点的最基本的单元


- 这种结构在inception中也用到了:用两个3*3的卷积核来代替一个5*5的卷积核
- 一个3*3卷积也可以分解为一个3*1卷积和一个3*1卷积,相当于不对称卷积,这样也能够减少参数数量
VGG网络特点
VGG模型特点 P4 - 00:03
特点鲜明
- 它的准确率并不是最优秀的(经典神经网络结构,深度并不是很深),准确率处于中游水平

- 臃肿:计算量和参数量都特别大
- 上图中横轴代表计算量(一次正向推断/前向传播运算的计算量),纵轴表示Top1准确率,圆圈的大小表示模型的参数数量

- 上图中横轴代表计算量(一次正向推断/前向传播运算的计算量),左图纵轴表示Top1准确率,右图纵轴表示Top1准确率,圆圈的大小表示模型的参数数量

- 上图中a图表示单位参数能为准确率做出多少贡献,可以看出VGG的效率是非常差的
- b图是a图的散点图
图像增强使用的是随机的水平翻转和随机的颜色变化

- 预测的时候把全连接层转化成为了卷积层,这样全卷积网络就能输入任意大小的图像

- 上图比较了训练尺寸是不是固定对模型性能的影响
- 纵轴表示错误率,越低表示性能越好
- 从图中可以看出图像尺寸越大
迁移学习与可解释性分析

- 以VGG作为迁移学习的基模型非常简单,只需要将最后一层全连接层换成自己类别个数的神经元就可以了
- 可以在新的类别的数据集上冻结之前的模型,仅训练最后改的那层全连接层就可以实现迁移学习的目的了

- VGG是一个经典的的串行的卷积神经网络,没有引入跨层连接等fancy的trick,所以最后提取出来的feature map是包含图像的位置信息的(最后提取的feature map与原图中的区域是相对应的)