知识蒸馏提升多任务学习收敛效果

51 阅读2分钟

知识蒸馏提升多任务学习收敛效果

多任务学习通常涉及联合优化一组任务的损失。一种简单的方法是直接最小化损失之和,但由于任务难度不同,任务的收敛速度会有所差异。这种简单训练方法通常效果不佳,因为模型可能最终对某些任务过拟合,而对其他任务欠拟合。

在NAACL 2022工业轨道发表的一篇论文中,提出了一种改进多任务学习收敛效果的方法。该方法不强制所有任务保持相同收敛速度,而是让任务按自身节奏收敛。当某个任务收敛时,就切换为知识蒸馏损失,在模型学习剩余任务的同时保持该任务的最佳性能。

异步收敛通过知识蒸馏

提出的方法工作流程如下:

  • 当模型在某个任务上收敛后,使用其最佳性能参数值在该任务的训练集上运行推理,记录预测结果
  • 在剩余训练步骤中,使用这些预测作为软标签来训练收敛任务,同时对未收敛任务继续使用真实标签
  • 重复此过程直到所有任务都收敛

实验设置与结果

在两个五任务设置中评估该方法,这些任务基于专有电子商务数据集。第一个设置中的任务相似度较高且都是分类任务,第二个设置中的任务在应用和任务类型上更加多样。

在两个设置中,联合训练和顺序训练都显著优于基线方法。最佳结果分别比表现最好的基线平均高出0.9%和1.5%。验证曲线显示,在联合和顺序设置中,没有任何任务表现出下降趋势,表明该方法确实能有效保持收敛任务的最佳性能。

训练设置

实验采用两种不同的训练设置:

  • 联合设置:同时训练所有任务,在不同任务收敛时切换为知识蒸馏损失
  • 顺序设置:从单个任务开始训练,在前一个任务收敛后逐个添加新任务,对收敛任务使用知识蒸馏损失,对新任务使用真实标签

该方法在多任务学习场景中展现出良好的效果和鲁棒性,为多任务学习提供了新的优化思路。