Pytorch使用手册—计算机视觉领域的量化迁移学习教程(专题六十三)
提示
为了充分利用本教程,我们建议使用此 Colab 版本。这样您可以在下面展示的信息中进行实验。
本教程基于原始的 PyTorch 迁移学习教程,由 Sasank Chilamkurthy 编写。
迁移学习是指利用预训练模型在不同数据集上进行应用的技术。迁移学习主要有两种使用方式:
-
将卷积神经网络作为固定特征提取器:在这种方法中,你会“冻结”网络中除最后几层(通常是全连接层,也称为“头部”)外的所有参数权重。这些最后的层会被用随机权重初始化并替换,只有这些层会进行训练。
-
微调卷积神经网络:与随机初始化不同,模型是通过预训练网络初始化的,然后训练过程会像平常一样进行,但使用不同的数据集。通常网络中的头部(或其一部分)也会被替换,以适应不同的输出数。在这种方法中,通常会将学习率设置为较小的值,这是因为网络已经经过训练,只需要进行少量的调整以“微调”到新的数据集。
你也可以将上述两种方法结合起来:首先你可以冻结特征提取器并训练头部。之后,你可以解冻特征提取器(或其一部分),将学习率设置为较小的值,然后继续训练。