天天看点

自然语言处理多任务学习目标 文章原标题《Multi-Task Learning Objectives for Natural Language Processing》

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

自然语言处理多任务学习目标 文章原标题《Multi-Task Learning Objectives for Natural Language Processing》

多任务学习是和单任务学习相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,而多任务学习是一种联合学习,多个任务并行学习,结果相互影响。简单来说,就是同时求解多个问题。例如我们经常探讨的“千人千面”这种个性化问题,就是一种典型的多任务学习问题,它可以同时学习多个用户的兴趣偏好。

多任务学习(MTL)主要是由两个部分组成:a)用于任务学习的架构、b)训练相关的辅助任务。而且这两个方面仍有很大的改进空间。此外,多任务学习有可能成为从有限数据中训练更强大的模型的关键技术:训练得到的模型可以执行更广泛的NLP任务。

在实现这一目标的过程中,我们首先需要更多地了解任务之间的关系,我们可以从中学到什么,以及如何最有效地结合它们以获得我们想要的结果。MTL现有的大多数理论主要集中在同类任务上,即分类问题或回归问题变化的任务,如分类个人MNIST数字。然而,这些问题的解决方案并不适用于自然语言处理(NLP)和计算机视觉,这些我们最常解决的异构问题。

最近有一些实验研究了不同NLP任务之间的多任务学习是否有效?但是我们仍然不了解哪些研究是有用的。为此,作为灵感,我将概述以下不同NLP多任务学习方法。我将重点关注多任务学习的第二个组成部分,而不是讨论一个模型如何进行具体的训练,因为大多数模型只在不同层面上适用。

这篇文章有两个主要部分:第一部分,我将讨论可以使用MTL辅助目标的人工任务。在第二部分,我将重点介绍常见的NLP任务,并讨论哪些NLP任务可以帮助更好的解决常见的NLP任务。

<b>1.</b><b>人工辅助目标(</b><b>Artificial auxiliary objectives</b><b>)</b>

多任务学习是为了给你的模型添加一个合适的偏差(bias)。它实质上是一种特征工程:不是对特征进行工程设计,而是对优化的辅助任务进行工程设计。与特征工程设计类似,也需要相关领域专业知识,具体如下:

<b>2.</b><b>共同训练现有的</b><b>NLP</b><b>任务</b>

<b>2.4</b><b>基础语言(</b><b>Language</b>

<b>结论</b>

我希望这篇博客能够为你提供一些新的洞察力,以了解哪些策略用于选择NLP中多任务学习的辅助任务和目标。正如我所提到的,多任务的学习可以定义非常宽泛,所以这篇文章只是宽泛的概述。如果你想要知道关于相关策略的更详细的解释,我建议你去阅读相关论文。

作者:Sebastian Ruder,自然语言处理的博士生。译者:乌拉乌拉,审阅:袁虎

继续阅读