[DeeplearningAI笔记]卷积神经网络2.9-2.10迁移学习与数据增强
4.2深度卷积网络
觉得有用的话,欢迎一起讨论相互学习~
2.9迁移学习
迁移学习的基础知识已经介绍过,本篇博文将介绍提高的部分。
提高迁移学习的速度
- 可以将迁移学习模型冻结的部分看做为一个函数,因为每次都要使用这个冻结模型的输出值来训练自己的网络层,这样从加载模型到预训练模型都会耗费一定的时间。
- 为此,可以将目标训练集通过冻结模型的输出保存到本地,作为新的训练数据集来训练自己的网络层,这样会更加快捷。
提高迁移学习的精度
- 如果自身的目标数据集与冻结模型所用的数据集差异较大或者自身的数据集越大,应该使用源模型的前几层作为冻结模型并且加大自身网络的规模。
- 极端的情况是只是用冻结模型的下载的权重作为自身模型的初始化权重用它们代替随机初始化
- NG认为机器视觉应该是深度学习领域中运用迁移学习最广泛的课题。
2.10数据增强(Data augmentation)
- 数据增强是一种常用的手段,来提高计算机视觉系统的表现。至少在计算机视觉方向,有更多的图像数据往往意味着更好的效果。
常用数据增强方法
垂直镜像对称Mirroring
随机裁剪Random Cropping
- 虽然随机裁剪不是一个完美的数据增强的方法,因为在随机裁剪有可能裁剪的保留的不完全是目标部分。但是实际操作中构成了数据集中真实图像的大部分。
旋转Rotation
局部扭曲Local warping
- 尽管在实践中可以结合使用各种方法,但是由于过程太复杂,所以实际使用的很少。
Color Shifting色彩转换
- 给原始图像中R,G,B三种通道中加上不同的失真值(偏置值)
- 例如如果同时给R和B通道中增加正偏置值,则整张图片会有偏紫的效果。
- 在实践中,对R,G,B三个通道的变化是基于特定概率分布的
- 这么做的原因是,可能识别的图片中阳光有一点偏黄,或者灯光照明对整张图片具有影响。
PCA主成分分析增强Principles Components Analysis
- 简单来说根据图中颜色的采样进行图像增强。
- 例如:一张原始图片中有较多的蓝色和红色成分,而绿色成分较少。则在图像增强时,对蓝色和红色的增加多一点而对绿色的增加相对少一些。使图像颜色总体保持不变。
数据增强的并行实现
- 通常会通过创建多个线程来对数据集中的图像数据进行读取,形成一个个数据流。并且在读取数据后可以使用随机的数据增强的方法对图片数据进行数据增强。而使用其他的线程实现模型的训练和预测。模型的载入/数据增强/数据集的训练过程可以并行实现。
数据增强超参数
- 数据增强也会涉及到许多超参数:例如随机裁剪的比率,颜色变化的分布,旋转的角度等等。这些都可以参考别人成果中的超参数选取,从别人的成果中汲取经验往往更有效率。当然,也可以根据自己的需要进行改造与再创新。