CNN for Visual Rcognition --- Stanford 2015 (二)

接着上一篇的内容:

四:Transfer Learning:

这里写图片描述

1.对于数据量少或者中等的情况,迁移学习很有用

2.基于ImageNet的实验,将ImageNet的所有类的各分一半为A,B:

(1).先训练A部分,然后将前n层的参数保存好;再重新初始化后n+层的参数,用B部分训练;再将前面保存好的参数,和后面训练B部分得到的参数结合,在B的验证集上进行验证:

这里写图片描述

(2).先训练A部分,训练完A后重新初始化n+层后面的参数,再在B上进行训练,最后在B的验证集上验证:

这里写图片描述

(3).先训练B部分,固定并保存前n层的参数;再重新初始化后n+层的参数,再次在B上进行训练;最后将前面保存好的前n层参数,与重新训练B的后n+层参数结合,在B的验证集上验证:

这里写图片描述

(4).先训练B部分,再重新初始化后n+层的参数;再次在B上重新训练;最后在B的验证集上验证:

这里写图片描述
3.总结一下上面的实验结果:
这里写图片描述

4.下面应该是李飞飞老师TED演讲内容的原理:

这里写图片描述

5.处理小数据集的一些建议:

这里写图片描述

五:Squeezing out the last few percent

1.使用小size的filter比使用大size的filter的效果要好得多,小size的filter能够增加non-linearities数,并且能减少需要训练的参数(试想一个7_7的patch,用一个7_7的filter卷积,和用三层的3*3的filter卷积,得到的结果都是一个scalar)—more non-linearities and deeper gives better results:

这里写图片描述

2.也可以试试在pool上下功夫:

这里写图片描述

3.Data Augmentation:

数据集不够的话,也可以试试用下面的几种方式扩大你的数据集:

####(1)Flip horizontally:可以通过旋转图片来扩大数据集,如果原图像是正方形的话则更好:
这里写图片描述

####(2)多尺度切割:多尺度切割不仅能增大数据集,还能提高实现效果,一幅图切割150次都很常见:
这里写图片描述

####(3)各种随机组合:
这里写图片描述

####(4)Color jittering:
这里写图片描述
接着上一讲的内容

六:Beyond Image Classification

###localization-overfeat :将CNN的最后的softmax层去掉,换做L2 loss,然后微调网络。预测部分,将原来的预测部分换做4-D的向量:
这里写图片描述

本文系作者原创,转载请先联系作者: 18254275587@163.com