为了与slanted triangular learning rates进行结果对比,本小节对warmup + linear decay策略进行了实验。在本实验中,warm up proportion为学习率上升在总步数中的比重,linear decay则在warmup结束的时刻开始,学习率在训练结束时下降至0。实验结果如下表所示,其中warm up proportion=0为baseline:
在本小节中,我们将进一步设置warmup + linear decay的超参数以更好地与STLR策略比较。从第二章的理论介绍中,我们可以看到STLR在原理上与warmup + linear decay十分相似,较为明显的区别在于STLR的最终速度为1/ratio,在本文中ratio一概为32。因此本小节进一步设置了linear decay最终速度为learning rate/32的实验组。STLR的超参数仅调整cut_fraction为0.1、0.2,其它超参与论文设置一致。实验结果如下表所示:
-**food101**(相似度小,规模大):该数据集标签包含Apple pie, Baby back ribs等101个食品,这些标签同样几乎没有出现在ImageNet中,因此它与预训练数据集的相似度也较小。同时该数据集训练集包含10万个样例,远远大于indoor67的1.5万个样例,因此我们将indoor67归类为规模小,food101归类为规模大。理论上,相似度小规模大的数据集可以较快更新,是模型充分拟合。
从实验结果可以看到该策略在相似度小规模小的数据集不适合采用warm up + linear decay策略,由于数据集相似度小,设置warm up + linear decay策略会导致模型严重欠拟合。而在相似度大规模小的数据集中抑制拟合能力能够提升模型的泛化能力,提升test得分。在规模大的数据集中,相似度小的数据集提升尤其明显;而相似度大的数据集也有略微提升。
上面的实验表明,设置合理的warm up proportion在Bias-Variance Tradeoff中找到平衡是有利于各类数据集中模型性能提升的。为此,我们进一步探索了更细致的warm up proportion设置。实验结果如下表所示:
从以上实验分析,food101、dogcat、dogcat 1/10设置更小的warm up proportion (<0.1)均在测试集上取得了更好的成绩,对于dogcat 1/10,它的训练集大小为1803,在总batch size=80的时候,总迭代步数为22,当设置wup=0.01时,实际上并没有warm up阶段,只有linear decay阶段。我们建议用户尝试设置较小的warm up proportion或者仅采用linear decay,观察模型的性能变化。
对于相似度小规模小的数据集,我们进一步探究它的warm up proportion设置,由于indoor67训练集大小为12502,在总batch size=80时,总的迭代步数为156,在warm up proportion=0.01时,warmup阶段实际只有1步,我们无法再缩小warm up proportion了,因此我们尝试设置更小的batch size。在此次实验中,我们设置batch size为16,并只使用单张卡,实验结果如下表所示:
| wup | 0 | 0.01 | 0.05 |
| ---- | ------ | ---------- | ---------- |
| dev | 0.6868 | **0.7448** | 0.7371 |
| test | 0.6751 | 0.7237 | **0.7316** |
在这里,wup=0的实验组为baseline,未采用linear decay,其结果与总batch size=80的结果相差不大。从这组实验我们发现在设置batch size=16,wup=0.05时,在相似度小规模小数据集中采用warm up + linear decay策略的效果终于超越了Baseline。对于小规模数据集,我们建议设置较小的batch size,再通过尝试设置较小的warm up proportion寻找Bias-Variance Tradeoff中的平衡点。
本文详细描述了使用ULMFiT策略微调PaddleHub预训练模型的来龙去脉。对于NLP任务,我们划分了大规模数据集与小规模数据集;对于CV任务,我们划分了相似度小规模小、相似度小规模大、相似度大规模大、相似度大规模小四类数据集。我们实验了warm up + linear decay, slanted triangular learning rate, Discriminative fine-tuning, Gradual unfreezing四种策略。
warm up + linear decay和slanted triangular learning rate在原理上和实验结果上都是相似的,用户可以任选其中一种策略并寻找它的Bias-Variance Tradeoff平衡点。我们建议采用Discriminative fine-tuning和Gradual unfreezing策略,它们均有良好的实验效果,在相似度大的数据集中可以设置较大的超参而在相似度小的数据集中应该设置较小的超参,采用该策略后,为了提升模型的拟合能力可以适当提高训练的轮数。欢迎您使用上述策略调试您的PaddleHub预训练模型,同时我们欢迎您使用[PaddleHub Auto Fine-tune](https://github.com/PaddlePaddle/PaddleHub/blob/develop/tutorial/autofinetune.md)自动搜索超参设置,如有任何疑问请在issues中向我们提出!
## 六、参考文献
1. Howard J, Ruder S. Universal language model fine-tuning for text classification[J]. arXiv preprint arXiv:1801.06146, 2018.MLA
2. website: [Transfer learning from pre-trained models](https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751)