迁移学习是先利用在一个任务或数据集上训练过的模型,再将它适配到新任务。团队可以复用预训练得到的表示,而不必从随机权重开始学习所有特征。目标数据较少时,这种做法可能有帮助;实际收益仍取决于源任务与目标任务的关系,没有适用于所有项目的标注数据节省倍率。

两种常见方法。 特征提取先冻结预训练骨干网络,只用目标数据训练新任务的输出层。微调则在建立可用的输出层后,再解冻部分预训练层共同训练。TensorFlow 的图像教程展示了这个顺序,并提醒:一开始就让随机初始化的输出层与整个骨干网络一起大幅更新,可能破坏有用的预训练特征。PyTorch 也用小型图像数据集演示两种方法。语言模型微调同样从预训练权重出发,但具体网络与训练细节不同。

如何验证收益。 先定义目标任务与独立的测试集,再用相同的数据划分比较简单基线、冻结特征和谨慎微调。除了任务质量,还要记录训练成本、推理成本和错误类型。如果目标数据与预训练数据差异很大,更要检查迁移的特征是否反而有害。教程数据集上的结果不能当作医疗影像、工厂摄像头或法律文书项目的效果承诺。

什么时候会失败。 负迁移是指源任务学到的知识降低了目标任务表现。领域差异、标签定义不合适或预处理不一致都可能导致问题;小样本也可能过拟合,激进微调还可能遗忘原有能力。保留验证集,并与基线比较,不能只看训练准确率。

能节省多少标注数据? 没有通用的十倍或百倍答案。需要多少数据取决于源模型、任务相似度、目标质量门槛和评估方法。最好在自己的目标数据上画学习曲线,再判断是否值得采用。

来源:TensorFlow 教程、PyTorch 教程、Hugging Face 微调指南、负迁移研究综述。

相关阅读
参考来源

浏览工具目录 →