一、赛题背景
在NLP任务中,经常会出现Multi-Task Learning(多任务学习)这一问题。多任务学习是一种联合学习,多个任务并行学习,结果相互影响。在实际问题中,就是将多个学习任务融合到一个模型中完成。不同的任务会关注到不同的文本分析特征,将多任务联合起来有利于进行模型泛化,缓解深度学习模型容易过拟合的现象。
多任务学习的出发点是多种多样的:
(1)从生物学来看,我们将多任务学习视为对人类学习的一种模拟。为了学习一个新的任务,我们通常会使用学习相关任务中所获得的知识。例如,婴儿先学会识别脸,然后将这种知识用来识别其他物体。
(2)从教学法的角度来看,我们首先学习的任务是那些能够帮助我们掌握更复杂技术的技能。这一点对于学习武术和编程来讲都是非常正确的方法。具一个脱离大众认知的例子,电影Karate Kid中Miyagi先生教会学空手道的小孩磨光地板以及为汽车打蜡这些表明上没关系的任务。然而,结果表明正是这些无关紧要的任务使得他具备了学习空手道的相关的技能。
(3)从机器学习的角度来看,我们将多任务学习视为一种归约迁移(inductive transfer)。归约迁移(inductive transfer)通过引入归约偏置(inductive bias)来改进模型,使得模型更倾向于某些假设。举例来说,常见的一种归约偏置(Inductive bias)是L1正则化,它使得模型更偏向于那些稀疏的解。在多任务学习场景中,归约偏置(Inductive bias)是由辅助任务来提供的,这会导致模型更倾向于那些可以同时解释多个任务的解。接下来我们会看到这样做会使得模型的泛化性能更好。
深度学习中有两种多任务学习模式:参数硬共享机制与参数软共享机制。本文基础参数硬共享机制构建算法模型,并从软件工