选自blog.aylien
作者:Sebastian Ruder
机器之心编译
参与:李诗萌、路
大神 Sebastian Ruder 参加了今年的 ACL 会议,并就感兴趣的主题对会议情况进行了总结。
理解表征
探索模型
很高兴看到很多论文都在从方法上研究现有模型以及它们捕获的内容,而不是一直在引入更新的模型。进行这样的研究最常用的办法是自动创建一个侧重于泛化行为的某个特定方面的数据集,并用该数据集对不同训练模型进行评估:
例如,Conneau 等人在十个用于捕获特定语言特征(如预测句子长度、恢复单词内容以及 bigram shift 敏感度等)的数据集上评估了不同的句子嵌入方法。他们发现不同的编码器架构可以使嵌入具有不同特征,bag-of-embeddings 可以很好地捕获句子级的属性。
《What you can cram into a single vector: Probing sentence embeddings for linguistic properties》
Conneau, A., Kruszewski, G., Lample, G., Barrault, L., & Baroni, M. (2018)
http://arxiv.org/abs/1805.01070
Zhu 等人通过观察某些语义或句法方面不同的句子产生的三元组的相似度变化来评估句子嵌入。他们发现,SkipThought 和 InferSent 可以区分同义词和否定,但 InferSent 可以更好地识别语义等价、处理量词。
《Exploring Semantic Properties of Sentence Embeddings》
Zhu, X., Li, T., & De Melo, G. (2018)
http://aclweb.org/anthology/P18-2100
Pezzelle 等人主要研究的是量词。他们用不同的 CNN 和 LSTM 模型在单句语境和多句语境中预测量词。他们发现,在单句语境中,模型的表现要比人类更出色,但人类在多句语境中略胜一筹。
《Some of Them Can be Guessed! Exploring the Effect of Linguistic Context in Predicting Quantifiers》
Pezzelle, S., Steinert-Threlkeld, S., Bernardi, R., & Szymanik, J. (2018)
http://arxiv.org/abs/1806.00354
Kuncoro 等人对 LSTM 建模主谓一致的能力进行评估。他们发现在容量足够的情况下,LSTM 可以建模主谓一致,但像 RNN 语法这样对句法更加敏感的模型在这方面做得更好。
《LSTMs Can Learn Syntax-Sensitive Dependencies Well, But Modeling Structure Makes Them Better》
Kuncoro, A., Dyer, C., Hale, J., Yogatama, D., Clark, S., & Blunsom, P. (2018)
http://aclweb.org/anthology/P18-1132
Blevins 等人评估了在不同任务上进行预训练的模型是否可以捕获句法的层级概念。具体来讲,他们训练模型来预测了 POS 标签和不同深度的解析树的组成标签。他们发现所有模型都编码了大量的句法,尤其是语言模型还学习了一些句法。
《Deep RNNs Encode Soft Hierarchical Syntax》
Blevins, T., Levy, O., & Zettlemoyer, L. (2018)
http://arxiv.org/abs/1805.04218
Lau 等人还得到了一个关于语言模型泛化能力的有趣结果。他们发现用十四行诗语料库训练出来的语言模型可以学到人类水平的英诗格律。
《Deep-speare: A Joint Neural Model of Poetic Language, Meter and Rhyme》
Lau, J. H., Cohn, T., Baldwin, T., Brooke, J., & Hammond, A. (2018)
http://arxiv.org/abs/1807.03491
但是语言模型也存在局限性。Spithourakis 和 Riedel 观察到语言模型无法对数字建模,他们还提出了一些可以改善这些模型的策略。
《Numeracy for Language Models: Evaluating and Improving their Ability to Predict Numbers》
Spithourakis, G. P., & Riedel, S. (2018)
https://arxiv.org/abs/1805.08154
Liu 等人在 Repl4NLP workshop 上展示了,与用非语言数据训练的模型相比,用自然语言数据训练的 LSTM 可以从更长的序列中检索分词(token)。
《 LSTMs Exploit Linguistic Attributes of Data》
Liu, N. F., Levy, O., Schwartz, R., Tan, C., & Smith, N. A. (2018)
http://arxiv.org/abs/1805.11653
要特别指出的是,我认为更好地了解 LSTM 和语言模型的未来将越来越重要,因为它们似乎才是 NLP 前进过程的重要驱动力,正如我们关于语言模型微调的 ACL 论文(http://arxiv.org/abs/1801.06146)和相关方法中论证的那样。
了解当前最佳的模型
虽然上述研究试图了解特定模型类别的泛化能力的某个特定方面,但还有几篇文章聚焦在更好地理解用于特定任务的当前最佳模型:
Glockner 等人关注的是自然语言推理任务。他们创建了一个数据集,该数据集中的句子与训练数据中的句子最多只有一个单词不同,这是为了探究模型是否可以进行简单的词汇推断。他们发现当前最佳的模型无法获得许多简单的推断。
《Breaking NLI Systems with Sentences that Require Simple Lexical Inferences》
Glockner, M., Shwartz, V., & Goldberg, Y. (2018)
http://arxiv.org/abs/1805.02266
Mudrkarta 等人跨模态分析了当前最佳的 QA 模型,发现这些模型常常会忽略关键的提问词。然后他们扰乱问题以制造可以大大降低模型准确率的对抗样本。
《Did the Model Understand the Question?》
Mudrakarta, P. K., Taly, A., Brain, G., Sundararajan, M., & Google, K. D. (2018)
https://arxiv.org/pdf/1805.05492.pdf
我发现许多论文探索了模型的不同方面。我希望这些用于探索的数据集的出现可以成为每个 NLP 研究人员工具包中的标准工具,这样在未来我们不仅可以看到更多这样的论文,而且这样的分析也可能成为除误差分析和 ablation analysis 以外标准模型评估的一部分。
分析归纳偏置
另一种更好地了解模型的方式是分析其归纳偏置。NLP 神经架构的语言结构相关性 workshop(RELNLP workshop)试着探讨将语言结构融入模型的有用程度。Chris Dyer 在该 workshop 上的发言的重点之一是:对 NLP 而言,RNN 是否具备有用的归纳偏置。尤其要指出的是,他认为有几条明显的证据可以证明 RNN 更偏向于顺序近因(sequential recency),即:
1. 随着时间的推移,梯度逐渐减弱。LSTM 或 GRU 可能有助于此,但它们也会遗忘。
2. 人们使用像机器翻译中反转输入序列这样的训练机制。
3. 人们使用类似注意力机制的增强功能,以及时恢复直接的连接。
4. 针对主谓一致建模,误差率会随着吸引子的增加而增加。
根据乔姆斯基的观点,顺序近因并非学习人类语言的正确偏置。因此 RNN 似乎并没有以正确的偏置对语言建模,这在实践中可能会导致统计效率低下还有泛化能力弱这样的问题。循环神经网络语法是一类通过将句子压缩成其成分来顺序生成树和序列的模型,而不是对句法(而非顺序)近因有偏好。
但是,要确定模型是否具备有用的归纳偏置很难。为了识别主谓一致,Chris 假设 LSTM 语言模型学习了一种非结构性的「第一名词」启发式方法,它依赖于将动词与句子中的第一个名词相匹配。一般而言,困惑度(和其他评价指标)与句法/结构能力相关,但在区分使用更简单的启发式方法的模型与结构敏感模型时困惑度则不是特别敏感。
使用深度学习理解语言
Mark Johnson 在 workshop 上提出,虽然深度学习彻底改变了 NLP,但它的主要优势在于成本低:用端到端模型代替复杂的组件流程,以更快、更廉价地实现目标准确率。深度学习并未改变我们对语言的理解。其主要贡献在于证明神经网络(计算模型)可以执行某些 NLP 任务,这表明这些任务不是智能的指标。虽然 DL 方法可以很好地匹配和执行感知任务,但它们在处理依赖有意识的反思和思考的任务时仍然很困难。
融入语言结构
Jason Eisner 在演讲中质疑语言结构和类别是否真的存在,或者说是不是「科学家只要将数据分成堆」就可以让没有语言的方法在 MT 任务上取得很好的效果。他发现即使是「任意定义」的类别,比如音素/b/和音素/p/之间的差异,也会被强加意义。但神经模型是非常好的海绵,它可以吸收任何未明确建模的东西。
他对四种在模型中引入语言信息的常用方法进行了介绍:a)通过基于流水线的方法,将语言类别作为特征引入;b)通过数据增强,用语言类别对数据进行扩充;c)通过多任务学习引入语言信息;d)通过结构化建模,例如使用基于转换的解析器、循环神经网络语法,甚至是像 BIO 标记法这样依赖彼此的类。
Emily Bender 在 workshop 上质疑了完全无语言的学习:即便你已经有一个巨大的语料库,但你对这种语言一无所知,在没有任何先验知识的情况下,例如功能词是什么,你就无法学会句子的结构或意思。她还明确指出许多 ML 论文将其方法描述得和婴儿学习的过程很像,但却没引用任何实际的发展心理学或语言习得方面的文献。实际上婴儿学习的场景、情感环境等都包含很多信号和意义。
理解 LSTM 的「故障模式」
更好地理解表征也是 NLP 表征学习探讨会的主题。Yoav Goldberg 在演讲中详细介绍了他的小组为更好地理解 RNN 的表征所做出的努力。他讨论了近期的研究:从 RNN 中提取有限状态自动机,以更好地了解模型学习了什么。他还提醒听众,就算已经在一个任务上训练过 LSTM 表征了,它们也不是只针对特定任务的。它们通常预测的是像人口统计数据这样的非预期方面。即便当模型已经用领域对抗损失进行过训练,产生了对某个方面保持不变的表征,该表征仍会预测之前所述的属性。因此,从编码语言数据中完全删除不需要的信息也是一个挑战,即便看似完美的 LSTM 模型也可能具有潜在的故障模式。
关于 LSTM 故障模式的话题,今年获得 ACL 终身成就奖的 Mark Steedman 对此发表过观点:「LSTM 在实践中是有效的,但是从理论上讲它们也是有效的吗?」
在更具挑战性的设置中进行评估
对抗样本
与更好地了解当前最优模型的限制密切相关的主题是提出改进这些模型的方法。与上文提及的对抗样本相似,有几篇论文试着使模型对对抗样本具备更强的稳健性:
Cheng 等人提出使 NMT 模型中的编码器和解码器在对抗输入扰动时更加鲁棒的方法。
《Towards Robust Neural Machine Translation》
Cheng, Y., Tu, Z., Meng, F., Zhai, J., & Liu, Y. (2018)
https://arxiv.org/abs/1805.06130
Ebrahimi 等人提出白盒对抗样本,通过交换几个 token 来欺骗字符级的神经分类器。
《HotFlip: White-Box Adversarial Examples for Text Classification》
Ebrahimi, J., Rao, A., Lowd, D., & Dou, D. (2018)
http://arxiv.org/abs/1712.06751
Ribeiro 等人使用语义保留扰动(semantic-preserving perturbation)来改善之前的方法,这些扰动会使模型预测值发生变化,他们将此泛化至在许多情况下会诱发对抗的规则。
《Semantically Equivalent Adversarial Rules for Debugging NLP Models》
Ribeiro, M. T., Singh, S., & Guestrin, C. (2018)
https://homes.cs.washington.edu/~marcotcr/acl18.pdf
Bose 等人用对抗学得的采样器(adversarially learned sampler)将对抗样本与噪声对比估计结合在一起。采样器找出更难的负例,这样模型就可以学习更好的表征。
《Adversarial Contrastive Estimation》
Bose, A., Ling, H., & Cao, Y. (2018)
https://arxiv.org/abs/1805.03642
学习鲁棒和公平的表征
Tim Baldwin 在 RepL4NLP workshop 上讨论了使模型对域位移(domain shift)具备更强稳健性的不同方法。就单源域而言,他讨论了一种基于不同类型的句法和语义噪声在语言上扰乱训练实例的方法。在多源域环境中,他提出可以在源域上训练对抗模型的方法。最后,他讨论了一种允许模型学习鲁棒性和保护隐私的文本表征的方法。
Margaret Mitchell 专注于公平且可以保护隐私的表征。她特别强调了有关世界的描述性认识和规范性认识之间的区别。ML 模型学习了可以反映训练数据的描述性认识的表征。该数据代表「人们谈论的世界」。相反,公平性研究试图创建可以反映对世界的规范性认识的表征。
改进评估方法
除了让模型变得更加鲁棒,还有几篇论文试图改进模型的评估方法:
Finegan-Dollak 等人明确了现有 text-to-SQL 系统的评估方法的局限性,并提出了改进方法。他们认为现有的训练集-测试集分割和变量匿名化(anonymization of variables)实践存在缺陷,于是他们提出了七个数据集的标准和改进版本来弥补这些缺陷。
《Improving Text-to-SQL Evaluation Methodology》
Finegan-Dollak, C., Kummerfeld, J. K., Zhang, L., Ramanathan, K., Sadasivam, S., Zhang, R., & Radev, D. (2018)
http://arxiv.org/abs/1806.09029
Dror 等人则聚焦于一种司空见惯、但效果不好的做法:统计显著性检验(statistical significance testing)。他们调查了 ACL 和 TACL 2017 中的近期实证论文后发现,统计显著性检验常被忽略或误用,于是他们提出了一种用于 NLP 任务统计显著性检验的简单协议。
《The Hitchhiker's Guide to Testing Statistical Significance in Natural Language Processing》
Dror, R., Baumer, G., Shlomov, S., & Reichart, R. (2018)
https://ie.technion.ac.il/~roiri/papers/ACL-2018-sig-cr.pdf
Chaganty 等人调查了如 BLEU 和 ROUGE 这样的自动指标的偏差,发现即使是无偏估计也只能稍微减少误差。这强调了改进自动指标的相关性和减少人类标注的方差的必要性。
《The price of debiasing automatic metrics in natural language evaluation》
Chaganty, A. T., Mussman, S., & Liang, P. (2018)
http://arxiv.org/abs/1807.02202
强基线
另一种改善模型评估的方式是将新模型和更强的基线进行对比,以确定新模型所作出的改进确实显著。这次会议也有一些论文是在这个方向进行研究:
Shen 等人系统地对基于词嵌入的带有池化的简单方法和 LSTM 和 CNN 这样的复杂模型进行了对比。他们发现对大多数数据集而言,基于词嵌入的方法表现出了竞争性,甚至可以说这些方法的表现更胜一筹。
《Baseline Needs More Love: On Simple Word-Embedding-Based Models and Associated Pooling Mechanisms》
Shen, D., Wang, G., Wang, W., Min, M. R., Su, Q., Zhang, Y., … Carin, L. (2018)
https://arxiv.org/abs/1805.09843
Ethayarajh 在 RepL4NLP workshop 上提出一种针对句子嵌入模型的强基线。
《Unsupervised Random Walk Sentence Embeddings: A Strong but Simple Baseline》
Ethayarajh, K. (2018)
http://www.aclweb.org/anthology/W18-3012
同样,Ruder 和 Plank 发现像 tri-training 这样的经典 bootstrapping 算法为半监督学习提供了强大的基线,其结果甚至要比当前最佳的方法还要好。
《Strong Baselines for Neural Semi-supervised Learning under Domain Shift》
Ruder, S., & Plank, B. (2018)
https://arxiv.org/abs/1804.09530
我们在上文中强调了在更具挑战性的环境中进行评估的重要性,比如在超出分布范围的数据上进行训练,或针对不同任务。而如果我们只关注一个任务或领域内数据,研究结果大不相同。我们需要在不利条件下测试模型,以更好地了解模型的鲁棒性以及它们在实际情况中的泛化性能。
创建更难的数据集
为了在这样的设置下进行评估,我们就需要创建更具挑战性的数据集了。Yejin Choi 在 RepL4NLP 的小组讨论中指出,社区对于 SQuAD 或 bAbI 这样过于简单且近乎被解决了的任务上投入了过多的注意力。Yoav Goldberg 甚至认为「SQuAD 就像 MNIST 之于 NLP 一样」。我们应该将注意力集中在更难的任务以及开发更多难度更高的数据集上。社区不应该长时间处理数据集,因为近期数据集的处理速度已经很快了;创建更具挑战性的新数据集更为重要。这次会议上提出了两个阅读理解数据集,试图超越 SQuAD:
QAngaroo 专注于需要通过多个推理步骤收集多条信息的阅读理解。
NarrativeQA 则要求通过阅读整本书或电影剧本来回答故事的相关问题,从而理解其潜在含义。
Richard Socher 还在机器阅读问答 workshop 上发表演讲,他强调在多个任务中训练和评估模型的重要性。他特别指出 NLP 需要不同类型的推断,例如逻辑推断、语言推断、情感推断等,单一任务无法满足这样的要求。
在多种低资源语言上进行评估
另一个方面是要在多种语言上评估模型。Emily Bender 调查了 50 篇 NAACL 2018 论文,发现有 42 篇都评估了一种未命名的神秘语言(即英语)。她强调,给你处理的语言命名很重要,因为不同的语言的语言结构不同;不提及所处理的语言就是在混淆事实。
如果我们的方法旨在处理跨语言数据,那么我们就应该在低资源语言这样更具挑战性的设置上对其进行额外的评估。例如,下面的两篇论文都指出,如果目标语言与爱沙尼亚语或芬兰语都不同的话,则现有的无监督双语字典方法都会失败:
Søgaard 等人进一步探讨了现有方法的局限性,并强调当嵌入是在不同领域或用不同算法训练时这些方法都会失败。他们最终提出一个度量标准来量化这些方法的潜力。
《On the Limitations of Unsupervised Bilingual Dictionary Induction》
Søgaard, A., Ruder, S., & Vulić, I. (2018)
https://arxiv.org/abs/1805.03620
Artetxe 等人提出一种新的无监督自训练方法,该方法采用了更好的初始化来引导优化过程,这种方法对于不同的语言对而言尤其强大。
《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》
Artetxe, M., Labaka, G., & Agirre, E. (2018)
https://arxiv.org/abs/1805.06297
还有其他几篇论文也在低资源语言上评估了他们的方法:
Riley 等人提出用正交特征归纳双语词典。尽管这主要对相关语言有帮助,但它们也可以对如英语-芬兰语这样的不相似语言对进行评估。
《Orthographic Features for Bilingual Lexicon Induction》
Riley, P., & Gildea, D. (2018)
https://www.cs.rochester.edu/u/gildea/pubs/riley-gildea-acl18.pdf
Ren 等人提出利用另一种丰富的语言来翻译资源匮乏的语言。他们发现其模型显著提升了稀有语言的翻译质量。
《Triangular Architecture for Rare Language Translation》
Ren, S., Chen, W., Liu, S., Li, M., Zhou, M., & Ma, S. (2018)
http://arxiv.org/abs/1805.04813
Currey 和 Heafield 提出一种调整 Gumbel tree-LSTM 用于 NMT 的无监督 tree-to-sequence 模型。结果证明他们的模型对低资源语言而言尤其有用。
《Unsupervised Source Hierarchies for Low-Resource Neural Machine Translation》
Currey, A., & Heafield, K. (2018)
http://www.aclweb.org/anthology/W18-2902
NLP 进展
会议的另一个主题是该领域取得了显著进展。ACL 主席 Marti Hearst 在其演讲中谈到了这一点。她过去常以 Stanley Kubrick 的 HAL 9000(见下图)为例来展示模型能做以及不能做的事。近些年,由于模型已经学会执行识别和生成人类演讲或唇读这样几十年前无法完成的任务,因此这已经成为了一种不太有用的练习。虽然我们离像辩论这样需要深度理解语言和推理的任务还很遥远,但是 NLP 取得的进展还是显而易见的。
Hal 9000(图源:https://commons.wikimedia.org/w/index.php?curid=11651154)
Marti 还引用了 NLP 和 IR 先驱 Karen Spärck Jones 的话:研究不是在绕圈,而是在攀爬螺旋式楼梯,这些楼梯未必是相连的,但是它们去往同一个方向。她还表达了一个引起很多人共鸣的观点:二十世纪八九十年代,可供阅读的论文不多,因此紧跟最新科研成果相对来说比较容易。现在为了使这一过程变得简单,近期我建立了新的文档以收集针对不同 NLP 任务的最新成果(http://nlpprogress.com/)。
随着社区的不断发展,她鼓励人们参与到 ACL 中,还宣布会为奉献最多的会员颁发 ACL 杰出服务奖。继 1982 年的 EACL 和 2000 年的 NAACL 之后,ACL 2018 还成立了第三分会 AACL(ACL 亚太分会)。
会议期间的商务会谈重点讨论了该如何应对社区发展所带来的挑战:提交论文数量不断增加,需要更多的论文评审。我们期望明年这些问题能够有所改善。
强化学习
早在 2016 年,强化学习(RL)就在寻找在 NLP 中的立足点,以及应用在越来越多的任务中。尽管监督学习看似适用于大多数任务,但对某些有一定时间依赖性的任务来说(例如在训练和建模对话期间选择数据),RL 的动态本质使其成为最有用的方式。RL 的另一个重要应用是直接优化像 ROUGE 或 BLEU 这样的度量指标,而不是优化像交叉熵这样的替代损失(surrogate loss)。这方面的成功应用是摘要和机器翻译。
在奖励太复杂而无法指定的环境中,逆向强化学习就很有价值了。这方面的应用有视觉叙事。强化学习特别适用于 NLP 中的序贯决策问题,如玩一些基于文本的游戏、浏览网页以及完成任务。这个用于 NLP 的深度强化学习教程(https://www.cs.ucsb.edu/~william/papers/ACL2018DRL4NLP.pdf)则提供了这方面的全面概述。
教程
还有其它很棒的教程:
变分推断和深度生成模型教程:https://github.com/philschulz/VITutorial
语义解析方面的教程:https://github.com/allenai/acl2018-semantic-parsing-tutorial
「你想知道的关于语义和语用的 100 件事」:http://faculty.washington.edu/ebender/100things-sem_prag.html
教程的完整列表:https://acl2018.org/tutorials/
原文链接:http://blog.aylien.com/acl-2018-highlights-understanding-representations-and-evaluation-in-more-challenging-settings/
本文为机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com