What makes ImageNet good for transfer learning?
总结
首先有几个名词需要再重申下:
**预训练:**使用使用监督学习,在ImageNet分类任务上初始化CNN参数的过程;
**fine-tune 微调:**将预训练的CNN权重继续在目标任务上进行训练的过程;
**transferr learning迁移学习:**将在基础任务上学习到的特征的基础上,在目标任务上,冻结底层的通用特征权重,学习高层的特征的过程。
论文总共有4个发现:
1、对于迁移学习来说,多少预训练的ImageNet的样本个数是足够的,ImageNet数据集中,1000个类别,每个类别使用500张图片进行预训练,然后在PASCAL-DET上做迁移学习,发现,性能mAP降低1.5,远小于ImageNet分类任务的性能的降低。
下图中PASCAL-DET、PASCAL-ACT、SUN-Classication都是迁移学习,在ImageNet分类任务(预训练任务)中,性能会随着训练数据量的增加而稳步提升;而在迁移任务中,性能随额外预训练数据增加而提升的速度则显著减缓。这表明,虽然向ImageNet类别中增加额外样本会提高ImageNet的性能,但对迁移任务性能的收益却逐渐递减。
2、对于迁移学习来说,多少预训练的ImageNet的类别个数是足够的,使用ImageNet数据集中127个类别,然后在PASCAL-DET上做迁移学习,性能mAP降低2.8,对于一些其他的迁移任务,使用更少的预训练类别,可以导致更好的性能;
增加训练类别的个数,迁移任务上的性能增加,比Imagenet 自己上的性能提升的慢多了。
下图中可以看到,超过127个类别的后,迁移学习的新能是微弱的递增,如果说,是因为,PASCAL 任务只有20个类别,因此在127个类别上预训练不会导致性能下降,但是SUN-CLS是397个类别,综合考虑这两个例子,虽然在大量的类别上进行预训练当然是很好的,但是但当预训练使用的不同类别超过127个时,收益就会递减。
进一步发现,PASCAL-ACT-CLS 在918个类别上预训练,SUN-CLS 在753个类别上预训练,都比在1000个类别上的预训练系能好。
3、对于迁移学习而言,细粒度识别对于学习良好特征的重要性如何,使用ImageNet类别子集进行预训练的特征,即使不需要进行细粒度区分,仍然表现出良好的迁移性能;
4、在粗粒度类别上能够生成能够在ImageNet进行细粒度识别的特征么?
更多推荐


所有评论(0)