迁移学习与图像分类

我们在上一节提到了迁移学习与计算机视觉

这一节为大家详细介绍其中的原理

7.2 计算机视觉遇上迁移学习

迁移学习(Transfer Learning) 顾名思义就是将训练好的模型(预训练模型)参数迁移到新的模型来优化新模型训练。因为大部分的数据和任务都是存在相关性的,所以我们可以通过迁移学习将预训练模型的参数(也可理解为预训练模型学到的知识)通过某种方式迁移到新模型,进而加快并优化模型的学习效率。其中,实现迁移学习有以下三种方式:

1) 直接迁移

冻结预训练模型的全部卷积层,删除预训练模型的全连接层,添加并训练自己定制的全连接层。

2) 提取特征向量

抽取预训练模型的卷积层对所有数据的特征向量,将特征向量灌入自己自己定制的全连接网络。

3) Fine-tune

冻结预训练模型的部分卷积层,甚至不冻结任何网络层,训练非冻结层和自己定制的全连接层。

接下来笔者将通过Karen Simonyan等人[10]提出的VGG-16模型和Saining Xie等人[11]提出的ResNeXt来介绍计算机视觉是如何站在迁移学习的肩膀上发扬光大的。

7.2.1 VGG

VGG是由牛津的Visual Geometry Group提出的预训练模型,所以VGG名字的由来就是取这三个单词的首字母。VGG16是采用的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和max pooling层(2x2),VGG的结构有两种,分别是16层结构(13个卷积层与3个全连接层)与19层结构(16个卷积层与3个全连接层),如表 7.1图 7.4所示。

图 7.4 VGG16结构图

https://blog.heuritech.com/2016/02/29/a-brief-report-of-the-heuritech-deep-learning-meetup-5

至于为什么采用3×3的卷积核,原因也很简单:对于给定的感受野,使用堆叠的小卷积核是优于采用大的卷积核,因为多层非线性层的堆叠能够增加网络深度,从而保证模型能够学习更复杂的模式,而且因为小卷积核的参数更少,所以整个网络的计算代价比较小。

7.2.2 VGG16与图像分类

图像分类是计算机视觉任务中最基础也是最为简单的任务。

在7.2.1节我们提到的3种实现迁移学习的手段,都可以用在图像分类任务,整体的思路就是拆掉VGG16的全连接层,定制自己的全连接层,以适应我们当前的任务。

举个例子,加入我们需要训练一个3分类模型,而VGG16可以识别1000类的物体。我们当然不需要识别这么多类别的模型,因为VGG16一半以上的参数都是来自全连接层,而拆掉全连接层对图像任务几乎没有影响。为此,我们可以拆掉VGG16的全连接层,而后再添加一个识别3分类的全连接层结构,这样就大大减少了我们模型的参数,而且我们的定制模型还可以借助VGG16卷积层学到的知识更好地完成图像分类任务。

参考文献

[10] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

[11] Xie S, Girshick R, Dollár P, et al. Aggregated residual transformations for deep neural networks[C]. Proceedings of the IEEE conference on computer vision and pattern recognition, 2017: 1492-1500.

下一期,我们将继续讲授

目标检测、语义分割与实例分割

敬请期待~

关注我的微信公众号~不定期更新相关专业知识~

内容 |阿力阿哩哩 

编辑 | 阿璃 

点个“在看”,作者高产似那啥~

发布了76 篇原创文章 · 获赞 5 · 访问量 6247

猜你喜欢

转载自blog.csdn.net/Chile_Wang/article/details/104013190
今日推荐