深度学习中的迁移学习与分布式训练策略
迁移学习中的特征提取与微调
在实现迁移学习时,有两种修改原始模型权重的方法:特征提取和微调。
特征提取是指冻结瓶颈层之前所有层的权重,并在自己的数据和标签上训练后续层。而微调则是更新预训练模型层的权重,可以选择更新预训练模型中每层的权重,也可以只更新瓶颈层之前的几层。通常,使用微调训练迁移学习模型比特征提取花费的时间更长。
在微调时,通常会冻结模型初始层的权重,因为这些层经过训练可以识别基本特征,这些特征在许多类型的图像中通常是通用的。例如,要微调 MobileNet 模型,可以只对模型中的一部分层设置 trainable=False ,而不是让每一层都不可训练。以下是在第 100 层之后进行微调的代码示例:
base_model = tf.keras.applications.MobileNetV2(input_shape=(160,160,3),
include_top=False,
weights='imagenet')
for layer in base_model.layers[:100]:
layer.trainable = False
确定要冻结多少层的一种推荐方法是渐进式微调。具体操作步骤如下:
1. 保持较低的学习率(通常为 0.001)和相对较少的训练迭代次数。
2
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



