例如对于图像分类任务,有自己的数据集,打算利用 resnet 来实现,有2种实现方式,
- 第一种:利用在 ImageNet 上已经预训练过的预训练权重来进行 fine-tuning。
- 第二种:不使用在 ImageNet 上已经预训练过的预训练权重,而是利用自己的数据集来从头开始训练resnet。
那么这两种情况,第一种方式属于使用迁移学习,第二种不属于迁移学习
-
利用在 ImageNet 上已经预训练过的预训练权重来进行 fine-tuning:这种方式属于迁移学习。你利用在大规模数据集(ImageNet)上预训练好的模型权重,然后在你的特定任务(你自己的数据集)上进行微调。这种方法通常可以加快训练速度,并且因为模型已经学习到了很多通用特征,可能会提高性能。
-
不使用在 ImageNet 上已经预训练过的预训练权重,而是利用自己的数据集从头开始训练 resnet:这种方式不属于迁移学习。这是一种从头开始(scratch)训练模型的方法,所有的权重都是随机初始化的,然后在你的数据集上进行训练。这种方法通常需要更多的计算资源和时间,而且对数据量的要求也更高。
总结:第一种方式是迁移学习,第二种方式不是迁移学习。