迁移学习包含两种:微调和特征提取器。
微调:对整个网络进行训练,更新所有参数
特征提取器:只对最后的输出层训练,其他层的权重保持不变
当然,二者的共性就是需要加载训练好的权重,比如在ImageNet上训练过的vgg,resnet等等。
那么,不管是微调还是特征提取器,大致都要遵从四个步骤。
- 初始化预训练的模型,即将预训练的权重加载进来
- 将最后的输出层维度改为我们期望的维度,从ImageNet预训练好的输出维度为1000,要根据需求进行更改
- 定义需要优化的参数,这里是微调和特征提取器的不同之处
- 进行训练