初学者的迁移学习

愉快打扮:初学者的迁移学习指南

图像分类中的迁移学习实用指南

在本篇文章中,我们将探讨迁移学习的概念,并提供一个图像分类任务的示例。

什么是迁移学习?

迁移学习是深度学习中的一种技术,它使用在大规模数据集上训练过的预训练模型来解决只有有限标注数据的新任务。

迁移学习涉及使用预训练模型,该模型从源任务中学习了丰富且广义的特征表示,并在目标任务上进行微调。

例如,ImageNet是一个大型数据集(包含了1,400万张来自1000个类别的图像),通常用于训练大型卷积神经网络,如VGGNet或ResNet。

如果我们将这些网络在ImageNet上训练,它们将学习提取强大且信息丰富的特征。我们将这称为预训练,并且这些模型是在ImageNet上进行预训练的。请注意,它们被训练用于ImageNet上的图像分类任务,我们将其称为源任务。

要在一个我们称为目标任务的新任务上进行迁移学习,首先我们需要有我们的标注数据集,也称为目标数据集。与源数据集相比,目标数据集通常要小得多。我们这里的源数据集非常庞大(包含了1,400万张图像)。

然后,我们将这些预训练模型的最后一个分类层移除,并在末尾添加一个新的分类器层,然后在自己的目标数据集上对其进行训练。在训练过程中,我们冻结除最后一层外的所有层,因此只有很少的参数进行训练,从而使训练过程快速进行。完成!我们完成了迁移学习。

模型经历的第二次训练称为微调。如我们所见,在微调过程中,大部分预训练权重都被冻结,只有最后一层根据新数据集进行调整。

Image by the author

迁移学习的好处

迁移学习的主要优势在于它允许利用已经在预训练模型中开发的专业知识,从而避免从头开始训练大型模型。它还减轻了对大型……