kaiyun官方注册
您所在的位置: 首页> 电源技术> 业界动态> 观点 | 下一步研究目标:盘点NLP领域最具潜力的六大方向

观点 | 下一步研究目标:盘点NLP领域最具潜力的六大方向

2018-03-05

在开始你的研究之前,了解目标领域中最重要的研究方向是很重要的任务。本文中,德国海德堡大学的计算语言学在读博士 Sebastian Ruder 为我们介绍了NLP领域里最具潜力的几个研究方向。


目录


独立于任务的 NLP 数据增强

用于 NLP 的 few-shot learning

用于 NLP 的的迁移学习

多任务学习

跨语言学习

独立于任务的架构提升


当开始新领域的研究时,你会发现寻找引人注目的主题并学会问正确的问题是一件很难的事。这种情况在机器学习这种进展很快的领域里尤其突出——你很难找到突破点。


本文旨在向初级研究人员和试图进入研究领域的人提供启发和思路,其中汇集了我感兴趣的一系列研究课题:着重于自然语言处理(NLP)和迁移学习,所以本文不是面向所有读者的。如果你对增强学习感兴趣,OpenAI 提供了一系列有趣的增强学习研究主题(https://blog.openai.com/requests-for-research-2/)。如果你期待与他人合作,或对更广泛的主题感兴趣,请参阅 Artificial Intelligence Open Network(https://ai-on.org/)。


这些研究主题中的大多数目前还没有被人们透彻地思考过;在很多情况下,概括性的描述是非常模糊和主观的,未来研究方向也不甚明确。此外,大多数主题也并不包含低挂果实,因此需要我们非常努力才能得出结论。请注意:这一主题集并不是对于所有文献的综述,所以其覆盖范围可能不全。


希望本文能够激发你的兴趣,并为你自己的研究历程提供灵感。


独立于任务的 NLP 数据增强


数据增强旨在通过转换生产现有训练实例的变体而创建额外的训练数据,以反映现实世界中的实际情况。在计算机视觉中,一般的增强技术有镜像、随机裁剪、剪切等。数据增强在 CV 中超级有用,比如有助于 AlexNet 对抗过拟合,绝大多数当前最优模型也使用了它。此外,数据增强非常直观,因为它使得训练数据更加多元,从而提升模型泛化能力。


然而,NLP 中数据增强并未广泛使用。依我看,原因有两点:


1. NLP 中的数据是分离的。这可防止我们把简单的转换直接应用于输入数据。目前绝大多数的增强方法聚焦于这样的转换,比如领域随机化 (Tobin et al., 2017) [2]。


2. 小的扰动可改变语义。删除一个否定词可能会改变句意,修改段落中的一个词可能无意中改变了关于该段落问题的答案。其实在 CV 中情况并非如此:扰动一个像素并不会改变一个猫或狗的图像,并且甚至明显的变化比如不同图像的插值也是有用的(Zhang et al., 2017)[3]。


我关注的现有方法要么是基于规则的 (Li et al., 2017) [5],要么是解决特定任务的,比如解析 (Wang and Eisner, 2016) [6] 或零-代名词分辨率 (Liu et al., 2017) [7]。Xie et al. (2017) [39] 通过来自不同分布的样本替代单词以进行语言建模和机器翻译。最近聚焦于创建对抗样本的工作要么是通过替代单词或字符 (Samanta and Mehta, 2017; Ebrahimi et al., 2017) [8, 9],级联 (Jia and Liang, 2017) [11];要么是添加对抗扰动 (Yasunaga et al., 2017)。Li et al. (2017) [16] 同样使用了对抗设置,其训练系统生产与人类对话语句无差别的序列。


反向翻译(Back-translation)(Sennrich et al., 2015; Sennrich et al., 2016) [12, 13] 是机器翻译中的常见数据增强方法,有助于吸收单语训练数据。比如,当训练一个英转法系统时,单语法语文本通过法转英系统被翻译成英语;合成的平行数据接着被用于训练。反向翻译同样用于释义 (Mallinson et al., 2017) [14]。释义已被用于 QA (Dong et al., 2017) [15] 的数据增强,但并未发现有其他用处。


另一个方法与释义相近,即通过变分自编码器 (Bowman et al., 2016; Guu et al., 2017) [17, 19] 从连续空间中生成语句。如果按照 Hu et al., 2017 [18] 把表征解开,那么我们离风格迁移 (Shen et al., 2017) [20] 也就不远了。


以下几个研究方向很有趣,值得去跟:


1. 评估学习:评估一系列未广泛使用的现有数据增强方法及技巧,比如应用于一系列不同任务(包括文本分类和序列标注)的释义和风格迁移。确定何种类型的数据增强在所有任务和特定任务中是鲁棒的。这可被打装成软件库以使未来的基准更容易。


2. 带有风格迁移的数据增强:调查风格迁移是否可用于修改训练实例的不同属性以获得更鲁棒的学习。


3. 学习增强:类似于 Dong et al. (2017),我们可为一个特定任务学习释义或者生成转换。


4. 学习词嵌入空间以增强数据:典型的词嵌入空间同时聚类同义词和反义词。因此在空间中使用最近邻用于替换是不可行的。受最近工作 (Mrkšić et al., 2017) [21] 启发,我们可以具化词嵌入空间以使其更适用于数据增强。


5. 对抗性数据增强:与最近的可解释性工作相关 (Ribeiro et al., 2016) [22],我们可以改变实例中最重要的单词,即那些模型依赖以做出预测的单词。但是这依然需要保留语义的替换方法。


用于 NLP 的 Few-shot learning


Zero-shot、one-shot、few-shot learning 是最近最为有趣的研究方向之一。通过遵从 Vinyals et al. (2016) [4] 的核心思想,即 few-shot learning 模型应该明确地训练以执行 few-shot learning,我们已取得若干个最新进展 (Ravi and Larochelle, 2017; Snell et al., 2017) [23, 24]。学习若干个标注样本是最艰难的问题之一,以及区分当前机器学习模型生成与更广泛应用的系统的核心能力之一。据我所知,Zero-shot learning 只在学习未知单词的词嵌入的语境中被调查。无数据分类 (Song and Roth, 2014; Song et al., 2016) [25, 26] 是一个有趣的相关方向,它在联合空间中嵌入标签和文件,并需要带有良好描述的可解释性标签。


1. 标准化基准:为 NLP few-shot learning 创建标准化基准。Vinyals et al. (2016) 为 Penn Treebank 引入了 one-shot 语言建模任务。这一任务尽管很有用,但与 CV 基准上的广泛评估相比却相形见绌,并且据我所知没有多少使用。NLP 的 ew-shot learning 基准应该包含大量分类并提供标准化的再现性分割。良好的候选任务将是主题分类或细粒度实体识别。


2. 评估学习:创建这样一个基准之后,下一步是评估 CV 中的现有 few-shot learning 方法在执行 NLP 任务方面表现如何。


3. NLP 的全新方法:给定一个基准数据集和实证评估学习,接着我们可以开始开发执行 NLP few-shot learning 的全新方法。


用于 NLP 的迁移学习


迁移学习已经对计算机视觉(CV)产生了巨大的影响,并大大降低了解决特定 CV 问题的难度门槛。计算机视觉从业者现在不再需要为每个新任务耗费大量的工程,仅需使用少量示例对已在大型数据集上训练好的模型进行微调。


然而,在 NLP 领域里,我们目前仍然只能通过预训练嵌入来预训练模型的第一层。近期一些研究人员提出的方法(Peters et al., 2017, 2018)[31,32] 加入了预训练语言模型嵌入,但是它们仍然需要针对每个任务定制架构。在我看来,若想解锁迁移学习在 NLP 上的真正潜力,我们需要预训练整个模型,并在目标任务上仅需微调,类似于微调 ImageNet 模型。举例来说,在 NLP 上的语言建模可以类比为 CV 上的 ImageNet 分类(Howard and Ruder, 2018)[33]。


这里有一些潜在的研究方向:


1. 识别有用的预训练任务:预训练任务的选择非常重要,即使是对于相关任务进行微调,我们也可能近会收到有限的成功(Mou et al., 2016)[38]。其他任务,如近期关于学习通用句嵌入的研究(Conneau et al., 2017;Subramanian et al., 2018; Nie et al., 2017)[34,35,40] 可能是语言模型预训练的补充,或适用于其他目标任务。


2. 复杂架构的微调:模型应用于多目标时,预训练是最为有效的。然而,目前仍不清楚如何对更为复杂的模型进行预训练,如用于配对分类任务(Augenstein et al., 2018)或推理任务(如 Q&A 和阅读理解)的模型。


多任务学习


多任务学习(Multi-task learning,MTL)在 NLP 领域中已经变得越来越普遍了。有关多任务学习的概述,可参阅此处(http://ruder.io/multi-task/),有关 NTL 在 NLP 中的目标可参阅此处(http://ruder.io/multi-task-learning-nlp/)。对于我们来说,多任务学习还有很多未知等待我们去探寻。


MTL 的主要问题带来了一系列有趣的研究方向:


1. 确定有效的辅助任务:其中一个主要问题是哪些任务对于多任务学习是有用的。标签熵已被证明可以是 MTL 中成功的预测器(Alonso and Plank, 2017)[28],但这一方向并未结束。在最近的研究中(Augenstein et al., 2018)[27],我们发现又跟股东数据和更多细化标签的辅助任务更加有效。未来的 MTL 论文或许不仅会提出新的模型或辅助任务,也会试图开始求解为何很多辅助任务会比另一个紧密相关的任务更好。


2. 硬参数共享的替代方案:硬参数共享目前仍然是 MTL 的默认操作方式,但它对模型施加了很多约束,以便用相同的参数压缩与不同任务有关的知识,这往往会使学习变得困难。在 MTL 中,我们需要更加易于使用,且在多种任务上工作稳定的新方法(Misra et al., 2017; Ruder et al., 2017)[29,30],标签嵌入层(Augenstein et al., 2018)在这一方向上很有潜力。


3. 人工辅助任务:最好的辅助任务是针对主任务目标,且不需要任何附加数据的任务。在这里,我列出了潜在的人工辅助任务列表(http://ruder.io/multi-task-learning-nlp/)。当然,目前我们还不清楚哪些辅助任务可以在多种不同类型的任务上适用,或哪种基于特定任务的变体性能最好。


跨语言学习


构建能够跨语言的模型,将资源丰富语言中的知识迁移到资源贫乏的语言中,一直是 NLP 的重要研究方向之一。最近,学习跨语言表示,将多种不同语言投影到共享嵌入空间的方法有了很大进展。可参阅论文《A Survey of Cross-lingual Word Embedding Models》[36]。


跨语言表示通常根据内部基准测试,或外部下游任务(如文本分类)上的表现进行评估。虽然目前的最先进方法已经有了很多进步,但我们仍对于这些方法在某些任务或语言上的失败原因,以及如何在所有任务上减小这些失败的方法,如加入基于特定任务的约束(Mrkšić et al., 2017)仍未有足够的理解。


独立于任务的架构提升


目前,在各个特定任务上,业内最佳的成绩正在不断地被刷新,旧的架构正不断被淘汰。之前,我已经列出了在不同 NLP 任务上的最佳实践(http://ruder.io/deep-learning-nlp-best-practices/),但如果不对这些架构在不同任务上的性能进行比较,我们很难定义特定架构的能力,也无法得知它们在其他任务上的可用性。


最近涌现出了一个颇具潜力的模型 Transformer(Vaswani et al., 2017)[37]。虽然完整的模型可能不适用于每个任务,但多头注意(multi-head attention)或基于位置的编码(position-based encoding)可以作为模块构建模型,这样就可以适用于很多 NLP 任务了。


结论


希望这一研究方向汇集能够对你有所帮助。如果你有关于如何解决相关研究课题的思路,欢迎在本文下进行讨论。


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map