我正在将 Fine Tuning 与 caffenet 一起使用,效果非常好,但后来我在关于 Fine Tuning 的 Keras 博客文章中读到了这个(他们使用经过训练的 VGG16 模型):
“为了进行微调,所有层都应该从经过适当训练的权重开始:例如,您不应该在预训练的卷积基础之上随机初始化全连接网络。这是因为由触发的大梯度更新“随机初始化的权重会破坏卷积基中的学习权重。在我们的例子中,这就是为什么我们首先训练顶级分类器,然后才开始微调卷积权重。”
因此,作为微调中的一个单独步骤,他们将最后一层的输出保存在全连接层之前(“瓶颈特征”),然后他们在这些特征上训练一个“小型全连接模型”,然后才将新的在整个网络之上训练全连接层并训练“最后一个卷积块”。
这总是进行微调的正确方法吗?
谢谢