一.为什么要用迁移学习
1.站在巨人的肩膀上:在已经上线的基础模型的效果可以接受的情况下(表明模型有效,可以分辨数据集基础特征),没有必要重复造轮子,每次都在新数据集上从零开始训练。
2.训练成本低:后期的训练成本非常低,用CPU都完全无压力;或使用GPU,可在保证效果的同时提升速度。
3.适用于在业务中不断收集数据后的训练:对于数据集涨幅不会特别大(异常bug图),且都为同类型图片特征相似。
二.几种方式
1.Transfer Learning:冻结预训练模型的全部卷积层,只训练自己定制的全连接层。
2.Extract Feature Vector:先计算出预训练模型的卷积层对所有训练和测试数据的特征向量,然后抛开预训练模型,只训练自己定制的简配版全连接网络。
3.Fine-tune:冻结预训练模型的部分卷积层(通常是靠近输入的多数卷积层),训练剩下的卷积层(通常是靠近输出的部分卷积层)和全连接层。