NLP多任务学习案例分享:一种层次增长的神经网络结构

NLP多任务学习案例分享:一种层次增长的神经网络结构,第1张

由于神经网络强大的表达能力,在 NLP 领域研究者们开始研究基于神经网络的多任务学习。大多数方法通过网络参数共享来学习任务间的关联,提升各任务效果。

这篇文章介绍了一个联合的多任务(joint many-task)模型,通过逐步加深层数来解决复杂任务。

与传统的并行多任务学习不一样的地方在于,该文是根据任务的层次关系构建层次(POS->CHUNK->DEP->Related->Entailment)的模型进行学习。每个任务有自己的目标函数,最后取得了不错的效果。

在 NLP 领域,各个任务之间有着相互联系。研究者们通过多任务学习(MulTIple-Task Learning)来促进任务间互相联系,提高各个任务的性能。目前现存的主流多任务框架多使用同样深度的模型,通过参数共享的方式并行地进行多任务学习,如下图。

NLP多任务学习案例分享:一种层次增长的神经网络结构,?,第2张

而在 NLP 领域中,各个任务间经常是有层级关系的,例如从词法分析到句法分析到上层的实际应用任务(例如具体任务:词性分析 POS->语块分析 CHUNK->依存句法分析 DEP->文本语义相关 Relatedness->文本蕴涵 Entailment)。

现存的多数多任务学习模型忽视了 NLP 任务之间的语言学层次关系,针对这一问题,该论文提出了一种层次增长的神经网络模型,考虑了任务间的语言学层次关系。

 论文方法

该论文模型的整体框架图如下所示,相比传统的并行多任务学习模型,该模型框架是依据语言学层次关系,将不同任务栈式的叠加,越层次的任务具有更深的网络结构。当前层次的任务会使用下一层次的任务输出。

在词和句法层级,每个任务分别是使用一个双向的 LSTM 进行建模。语义层级,根据前面层级任务学习到的表示,使用 softmax 函数进行分类。在训练阶段,每个任务都有自己相应的目标函数,使用所有任务训练数据,按照模型从底至顶的层次顺序,依次联合训练。

NLP多任务学习案例分享:一种层次增长的神经网络结构,?,第3张

除此之外,在具体实现上,每层双向 LSTM 都用了词向量(Shortcut ConnecTIon)和前面任务的标签向量(Label Embedding)。在各个任务的目标函数里加入了级联正则化项(Successive RegularizaTIon)来使得模型不要忘记之前学习的信息。

论文实验 

各任务数据集:POS(WSJ),CHUNK(WSJ),DEP(WSJ),Relatedness(SICK),Entailment(SICK)。

多任务vs单任务(测试集上)

NLP多任务学习案例分享:一种层次增长的神经网络结构,?,第4张

论文给出了多任务和单任务的实验结果(由于一些任务数据集存在重叠,所以没有结果 n/a),还有具体使用全部任务和任意任务的结果。可以看到相比单任务,多任务学习在所有任务上效果都得到了提升。

和主流方法进行比较(测试集上)

NLP多任务学习案例分享:一种层次增长的神经网络结构,?,第5张

每个具体任务和目前主流方法(包含了并行的多任务学习方法)的比较,可以看到该论文每个任务的结果基本可以达到目前最优结果。

模型结构分析(在开发集上)

(1) shortcut 连接,输出标签向量和级联正则化项的效果

NLP多任务学习案例分享:一种层次增长的神经网络结构,?,第6张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2543577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存