NLP 研究灵感库

目录

当你开始进入新的研究领域时,很难找到有价值的选题,也很难知道哪些问题是有趣的。如今,机器学习研究进展如此之快,就更难找到新的选题了。

写这篇文章是为初级研究人员或希望从事研究工作的人员提供灵感和研究方向。文章中收集了我认为有趣的研究课题,主要关注 NLP 和迁移学习。当然,这些课题可能并不是所有人都感兴趣。如果你对强化学习感兴趣,OpenAI 提供了一系列有趣的以强化学习为中心的研究课题。如果你想与他人合作或对更广泛的课题感兴趣,不妨看看人工智能开放网络。

大多数选题还没有被研究过;在很多情况下,概况描述都是非常模糊和主观的,许多方向都充满着可能性。另外,这些课题并不是唾手可得的,要给出解决方案的话需要付出很大的努力。我很高兴可以提供这方面的反馈,但是没有时间提供更多的细节指导,除非你有一个可行的概念证明。我将对文章中列出的研究方向和进展定期更新。请注意,文章中收集的内容并不是试图回顾大量的文献,只是为了初步了解这些课题。因此,这些引用并不全面。

我希望收集的这些内容能激发你的兴趣,并为你自己的研究内容提供灵感。

NLP 中任务无关的数据增强

数据增强是通过增加现有训练实例的变化来扩展训练数据集,比如通过各种变换(它可以反应真实世界遇到得的情形)。在计算机视觉(CV)中,常用的增强技术有镜像、随机裁剪和剪切等。数据增强技术在计算机视觉中超级有用。例如,它已经在 AlexNet(Krizhevsky 等,2012)[ 1 ]中被广泛应用于对抗过度拟合,同时也应用于各种先进的模型中。另外,数据增强具有非常直观的意义,它增加了数据的多样性,并增强了模型的泛化能力。

然而,在 NLP 中,数据增强技术并没有被广泛使用,在我看来,有两个原因:

NLP 中的数据是离散的。这阻碍了我们直接对输入数据进行简单的转换。目前在 CV 中推荐的大部分增强方法都是集中在这些转换,例如,域随机化 (Tobin 等,2017) [2]。

微小的扰动可能改变其含义。删除一个否定可能会改变一个句子的观点,而在段落中修改一个词可能会在无意中改变关于那一段问题的答案。在 CV 中不会有这样的问题,单独改变一个像素并不会改变一副图像是只狗还是猫,有时甚至插入不同的图像是很有用的。(Zhang 等,2017) [3]。

我所知道的现有方法要么是基于规则的 (Li 等,2017) [5],要么是基于任务的。例如,解析 (Wang and Eisner, 2016) [6],或者 zero-pronoun 方法 (Liu 等,2017) [7]。Xie 等 (2017) [39] 用来自不同版本的样本做单词替换,用于语言建模和机器翻译。最近的研究重点是通过替换单词或字符来创建反例 (Samanta and Mehta, 2017; Ebrahimi 等,2017) [8, 9],连接 (Jia and Liang,2017) [11],或增加反例干扰 (Yasunaga 等,2017) [10]。创建反例也同样被 Li 等人 (2017) [16] 使用,他们训练了一个系统来产生与人类对话语言难以区分的序列。

回译(Back-translation)(Sennrich 等,2015;Sennrich 等,2016) [12, 13] 是机器翻译(MT)经常使用的数据增强方法,这使我们能够引入单语训练数据。例如,当训练英语 →→ 法语系统时,使用法语→→ 英语系统,将单语法语文本翻译成英语;然后,合成的并行数据可以用于训练。回译也可以用于释义(Mallinson 等,2017)[14]。释义已被用于问题回答中的数据增强,但我还不知道其是否被应用于其他任务。

另一种与释义相近的方法是在连续空间使用变分自动编码器生成句子。(Bowman 等,2016; Guu 等,2017)[17, 19]。如过像 Hu 等人 [18] 所表述的那样,那么我们也离风格迁移不远了。

下面这些有趣的方向很值得研究:

评估研究:评估一系列现有的数据增强方法,以及那些没有被广泛应用的技术,例如在包括文本分类和序列标签等各种任务的解释和样式转移。确定哪些类型的数据增强在多任务间都是稳定的,哪些是用于特定于任务的。这些可以封装成软件库的形式,方便将来使用 ( 可以考虑 NLP 中的 CleverHans )。

风格迁移的数据增强: 研究是否可以使用风格迁移来修改训练样本的各种属性,以获得更稳定的学习。

学习数据增强: 与 Dong 等人(2017)相似,我们可以学习为一个特定的任务进行解释或为其生成转换。

学习数据增强的单词嵌入空间: 一个典型的单词嵌入空间将同义词和反义词结合在一起,在这个空间中,使用最近的邻居进行替换是最不可行的。受到最近研究的启发 (Mrkšić等,2017) [21],我们可以将单词嵌入空间进行专门研究,以更加适合于数据增强。

反例数据增强:与最近的可解释性方面的研究相关(Ribeiro et al., 2016)[22],我们可以改变一个例子中最突出的词,即模型所依赖用于进行预测的那些单词。然而,这仍然需要一个保留语义的替换方法。

NLP 的少量学习

零次学习(Zero-shot)、一次学习(one-shot)和少量学习(few-shot)是最近 IMO 最有意思的研究方向之一。根据 Vinyals 等人 (2016) [4] 的见解,少量学习模型应该进行明确的训练以执行少量学习任务,我们已经看到最近有很多进展(Ravi and Larochelle,2017;Snell 等 2017)[23, 24]。

从少量标记过的样本中学习是一个困难的问题,也是将当前的 ML 模型与更普遍适用的系统分离开来的核心功能之一。据我所知,零次学习只在有未知单词嵌入的上下文学习中研究过。无数据分类(Song and Roth,2014;Song et al., 2016)[25, 26] 是一个有趣的研究方向,在一个联合空间中融合了标签和文档,但需要有良好表述的可解释性标签。

潜在的研究方向如下:

标准化基准:为 NLP 的少量学习创建标准化基准。Vinyals 等人(2016)为 Penn Treebank 引入了一次性语言建模任务。这个任务虽然很有用,但对 CV 基准测试的广泛评估却没有多大帮助,并且没有太多的使用 AFAIK。NLP 的少量学习基准应该包含大量的分类,并提供标准化的重复性分割。好的候选任务将是主题分类或细粒度的实体识别。

评估研究:创建这样一个基准后,下一步是评估现有的 CV 少量学习(few-shot learning)模型是否对 NLP 适用。

新的 NLP 方法:给定一个基准数据集和一个经验性评估研究,然后我们开始为 NLP 开发用于执行少量学习(few-shot learning)的新方法。

NLP 迁移学习

迁移学习对计算机视觉(CV)产生了巨大影响,并大大降低了人们想利用 CV 算法去解决实际问题的学习门槛。CV 从业者不再需要为每项新任务执行额外的特征工程,而仅仅只需要通过少量示例代码来对大型数据集上预先训练好的模型进行微调。

然而,在 NLP 中,到目前为止我们只通过预训练嵌入(embedding)的方式来预训练模型的第一层。最新的方法(Peters 等,2017,2018)[31, 32] 增加了预训练语言模型嵌入(language model embeddding),但这些方法任然需要针对每项任务来定制架构。在我看来,为了释放 NLP 迁移学习的真正潜力,我们需要预训练整个模型并在目标任务上对其进行微调,类似于微调的 ImageNet 模型。例如,语言建模是预训练和 NLP 将 ImageNet 分类归类到 CV 的一项重要任务(Howard 和 Ruder,2018)[33] 。

有如下本文中描述的潜在研究方向:

识别有用的预训练任务:选择训练任务是非常重要的,因为即使对相关任务的模型进行微调也许只能提供有限的成功(Mou 等,2016)[38] 。其他一些任务,如近期关于学习通用句子嵌入的研究(Conneau 等,2017;Subramanian 等,2018;Nie 等,2017)[34, 35,40] 可能是对语言模型预训练的补充或适合于其他目标任务。

微调复杂的体系结构:当模型可以应用于多目标任务时,预训练是最有用的。然而,对于如何预训练更复杂的体系结构,如用于配对分类任务(pairwise classification task)(Augenstein 等,2018)或推理任务(reasoning task),如 QA 或阅读理解,仍然不是很清楚。

多任务学习

多任务学习(MTL)在 NLP 中已经变得越来越常用。然而,我们始终还是不知道多任务学习是如何落地的。

MTL 的主要问题产生了许多有趣的研究方向:

确定有效的辅助任务:主要问题之一是哪些任务对多任务学习有用。标签熵已被成功证明为 MTL 的预测指标(Alonso 和 Plank,2017)[28] ,但这并不能说明什么。在最近的工作中(Augenstein 等,2018)[27] ,我们发现具有更多数据和更细粒度标签的辅助任务更有用。我们期望未来的 MTL 论文不仅能提出新的模型或辅助任务,而且还还试图去理解为什么某个辅助任务可能比另一个紧密相关的任务更好。

硬参数共享的替代方案:硬参数共享仍然是 MTL 的默认操作方式,但是该方法为了用相同的参数去压缩属于不同任务的相关知识,便对模型加上了很强的约束,结果是提升了学习难度。我们需要更好的和易于使用的 MTL 方法,这些方法可以在许多任务中可靠地运行。最近提出的,如十字绣装置(Misra 等,2017;Ruder 等,2017)[29, 30] 和标签嵌入层(Augenstein 等,2018)在这个方向上都是不错的方法。

人工辅助任务:最好的辅助任务是针对目标任务来定制的辅助任务,不需要任何其他数据。我在此列出了可能的人工辅助任务列表。然而,目前尚不清楚哪些工作能在多种不同的任务中可靠地工作,或者哪些变化或特定任务的修改是有用的。

多语言学习

创建跨语言表现良好并可将知识从资源丰富的语言迁移到资源贫乏的语言的模型是 IMO 最重要的研究方向之一。在学习将不同语言投影到共享嵌入空间的跨语言表示方面取得了很大进展。参考 Ruder 等。(2017)[36] 进行调查。

跨语言表示的评估通常是依据内在的相似性基准或外在的下游任务(如文本分类)。虽然最新的方法已经推进了这些参数的相关技术发展,但是我们并没有很好地理解这些方法失败的任务或语言,以及如何以与任务无关的方式去减少这些失败,例如,通过注入特定于任务的约束(Mrkšić 等,2017)。

独立任务的架构改进

架构体系不断推陈出新,这些新架构超越了当前最先进的技术并针对特定任务量身定制。我已经概述了适用于不同 NLP 任务的最佳实践,但是如果没有在不同任务中去比较这些架构,通常很难从专门的体系结构中获得一些有用的知识并且知道哪些组件在其他环境中也有用。

Transformer(Vaswani 等,2017)[37] 是一个特别有前途的新模型。虽然完整的模型可能不适合每个任务,但多头注意(multi-head attention)或基于位置(position-based)的编码等组件可以构建对许多 NLP 任务都很有用的模块。

总结

我希望您已经发现这个研究集方向很有用。如果您有关于如何解决相关研究主题的问题、想法或建议,请随时在下面发表评论。

参考

来源http://ruder.io/requests-for-research/

雷锋网雷锋网

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180608C0THBM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券