本博客主要参考:http://study.163.com/course/courseLearn.htm?courseId=1003223001#/learn/video?lessonId=1004143071&courseId=1003223001
数据增强:
1. Horizontal flips,如下图所示:
2,Random crops/scales
从[256,480]随机选取一个数,作为缩放后图像最短边的尺寸,然后从缩放后的图像中裁剪224*224的图像。因为训练数据是图像中的一部分,所以在测试的时候也需要从图像中裁剪图像。如下图:
3.color jitter
可以采用基于PCA的数据增强方法,如下:
4.其他方法
迁移学习:
在实际中,我们常常用已经训练好的模型来初始化当前模型,然后再对当前模型进行微调。但是,我们还需要考虑当前数据与预训练模型所用数据是否相似,以及当前训练数据的数据量,根据这些设计具体的方法。
1)当两次的数据比较相似,而且当前数据量比较小的情况下,我们可以从预训练的模型提取特征,然后训练线性分类器。
2)当两次的数据比较相似,而且当前数据量比较大的情况下,我们可以微调模型中的少许层。
3)当两次的数据不太相似,而且当前数据量比较小的情况下,我们可以从预训练的模型的不同层中提取特征,然后训练线性分类器。
4)当两次的数据不太相似,而且当前数据量比较大的情况下,我们可以微调模型中的较多层。
CNN中的大卷积和小卷积:
采用小的卷积核,能够减少参数量和运算量,并且能够得到更强的非线性。
卷积层的快速计算:
1)可以将卷积操作转换为矩阵乘法,采用im2col方法,如下图:
2)可以采用傅里叶变换,它确实可以提升速度,但只针对大的过滤器,如下图: