微调是指使用已经训练好的神经网络模型作为新一轮训练的起始数据,简单的理解就是在原先训练的模型上重新调整训练。
为什么要使用微调?
当数据样本的数量有很多的时候,更建议使用现有的模型进行调整训练,而不是重新开始训练。
微调策略
1、冻结层
冻结层的目的避免模型失去学习能力。用预先训练的权重初始化一个神经网络,并让所有的权重都随着新的训练进行调整。
比如说,冻结前几层数据并使用其他数据进行训练。冻结初始层数据是因为在初始阶段,模型正在学习基本特征。更改这一阶段的数据集,会让模型与原先模型产生变化。同理,还可以冻结除最后一阶段之外的所有数据集。
2、学习效率
当训练的数据集是一样的,我们就需要调整模型的学习效率,通常使用比平时小10倍的值。这样一来,模型将尝试以小步骤使自己适应新的数据集。使用这种方法,可以避免丢失模型已经学习的特征。
微调的缺点
应该满足相似性要求。如果不是这种情况,则没有理由进行微调。
微调选择的正确性,如果微调选择是错误的,我们最终会得到一个更低质量的模型。
如果无法更改给定数据集,那微调就不适用。