(含源码)「自然语言处理(NLP)」社区问答评估&&Bert模型优化

来源: AINLPer
微信公众号(每日更新...
编辑: ShuYini
校稿: ShuYini
时间: 2020-07-28

引言: 本文分享的内容主要包括社区问答质量评估(基于Bert模型微调)、Bert语言表示模型的优化、多Talkiing注意力头、ALBERT模型(减少参数提升训练速度)、序列到序列的去噪自编码器BART模型、迁移技术前景探索、通用语言表示模型DistilBERT等。

论文打包获取方式:关注AINLPer 微信公众号(每日更新...)回复:QA007

1、TILE: Predicting Subjective Features from Questions on QA Websites using BERT
Author: Issa Annamoradnejad • Mohammadamin Fazli • Jafar Habibi
Paper: https://arxiv.org/pdf/2002.10107
Code: https://github.com/Moradnejad/Predicting-Subjective-Features-on-QA-Websites
论文简述: 社区问答网站(StackOverflow、Quora等)希望用户遵循特定的规范来保持内容质量。这些社区问答网站主要是通过社区统计报告来评估内容的合规性,但是这样存在一些比较严重的问题,例如违规处理缓慢,浪费常用用户的时间流失,部分报告质量不高,对新用户反馈不积极等。基于以上背景,本文目标是为问答网站自动调节机制提供解决方案,因此本文提供一个模型来预测QA网站中问题的20个质量等级。我们使用了谷歌众包团队在2019年收集的数据,并针对我们的问题微调了预训练的BERT模型。通过均值平方误差(Mean-Squared-Error, MSE)评估,模型经过2个epoch的训练后达到了0.046的值。结果表明,通过简单的微调,我们可以在较短的时间和较少的数据量上获得准确的模型。

2、TILE: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Author: Jacob Devlin • Ming-Wei Chang • Kenton Lee • Kristina Toutanova
Paper: https://arxiv.org/pdf/1810.04805v2.pdf
Code: https://github.com/tensorflow/models/tree/master/official/nlp
论文简述: 本文引入了一种新的语言表示模型BERT,它是transformer的双向编码器表示。与最近的语言表示模型不同,BERT通过在所有层中联合调节左右上下文并从未标记的文本中预训练深层的双向表示。因此,只需增加一个输出层,就可以对预先训练的BERT模型进行微调,从而为各种任务创建最优模型,例如问答和语言推理,而无需对特定于任务的体系结构进行实质性修改。Bert概念简单,经验性很强。它在11个自然语言处理任务上都取得了优秀的结果。

3、TILE: Talking-Heads Attention
Author: Noam Shazeer • Zhenzhong Lan • Youlong Cheng • Nan Ding • Le Hou
Paper: https://arxiv.org/pdf/2003.02436v1.pdf
Code: https://github.com/tensorflow/models/tree/master/official/nlp/modeling/layers
论文简述: 本文引入了“talking头注意力”,它是一种关于多头注意力的变体,包括在softmax之前和之后的注意力头维度上的线性投影操作。同时只需插入少量的附加参数和适量的额外计算,在掩膜语言建模任务中,说话头的注意力会带来更好的效果,在将学习转移到语言理解和问答任务时,也会提高模型质量。
    多头注意中,不同的注意头执行不同的计算,然后在最后进行求和。本文称之为“talking头注意力”的新变换打破了这种分离。我们插入另外两个学习过的线性投影,P_lP_w,它们分别转换注意力对数和注意力权重,在注意力头之间移动信息。在整个计算过程中,不是只有一个“正面”维度h,我们现在有三个独立的正面维度:h_khh_v,它们在大小(“正面”的数量)上可以选择不同。“h_k”指的是键和查询的注意力头数量。h为对数和权重的注意头个数,h_v为各值的注意头个数。下面的代码显示了该算法。einsum操作的成本显示在注释中。

4、TILE: ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
Author: Zhenzhong Lan • Mingda Chen • Sebastian Goodman • Kevin Gimpel • Piyush Sharma • Radu Soricut
Paper: https://arxiv.org/pdf/1909.11942v6.pdf
Code: https://github.com/brightmart/albert_zh
论文简述: 在对自然语言表示进行预训练时增加模型大小通常会提高下游任务的性能。然而,在某种程度上,由于GPU/TPU内存的限制和更长的训练时间,进一步的模型增加会变得更加困难。为了解决这些问题,我们提出了两个参数减少的技术,以降低内存消耗和提高训练速度的BERT。全面的实验数据表明,我们提出的方法得到模型比原来的BERT更好。本文还使用了一个侧重于句子间连贯性建模的自监督损失模型,并表明它对多句子输入的下游任务具有一致的帮助。因此,与BERT large相比,本文的best模型在GLUE、RACE和\squad基准测试方面建立了最新的最新结果,同时参数更少。

5、TILE: ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators
Author: Anonymous
Paper: https://openreview.net/pdf?id=r1xMH1BtvB
Code: https://github.com/google-research/electra
论文简述: 虽然掩膜语言建模(MLM)的预训练方法,比如说BERT在下游的NLP任务上产生出色的结果,但它们需要大量的计算才能有效。这些方法一般是采用mask替换一些token来生成输入,然后训练一个模型来重建原始的token。作为替代方案,本文提出了一种更高效的样本预训练任务,该方法不是对输入做掩膜处理,而是用从一个小型生成器网络中采样的可行替代来替换一些输入token,从而破坏了输入token。然后,我们训练一个判别模型,它可以预测损坏输入中的每个标记是否被一个生成器样本替换。大量的实验表明,这种新的预训练任务比MLM更有效,因为模型学习的是所有的输入token,而不仅仅是被屏蔽掉的一小部分。因此,在相同的模型大小、数据和计算量的情况下,我们的方法所学习的上下文表示比用BERT和XLNet等方法学习的上下文表示的性能要好得多。

6、TILE: BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
Author: Mike Lewis • Yinhan Liu • Naman Goyal • Marjan Ghazvininejad • Abdelrahman Mohamed • Omer Levy • Ves Stoyanov • Luke Zettlemoyer Hedayatnia
Paper: https://arxiv.org/pdf/1910.13461v1.pdf
Code: https://github.com/awalther/scibart
论文简述: 本文介绍了BART,一种用于预训练序列到序列模型的去噪自动编码器。通过(1)使用降噪功能任意破坏文本,以及(2)学习模型以重建原始文本来训练BART。它使用基于Tranformer的标准神经机器翻译架构,尽管它很简单,但可以看作是推广了BERT(由于双向编码器),GPT(从左至右解码器)以及许多其他最近的预训练方案。我们评估了许多降噪方法,通过随机改装原始句子的顺序并使用新颖的填充方案(其中文本段被单个掩码标记替换)来找到最佳性能。 当对文本生成进行微调时,BART特别有效,并且对于理解任务也很有效。 它与RoBERTa的性能相匹配,并具有类似于GLUE和SQuAD的训练资源,在一系列抽象对话,问题回答和摘要任务方面获得了最新的成果。

7、TILE: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
Author: Colin Raffel • Noam Shazeer • Adam Roberts • Katherine Lee • Sharan Narang • Michael Matena • Yanqi Zhou • Wei Li • Peter J. Liu
Paper: https://arxiv.org/pdf/1910.10683v2.pdf
Code: https://github.com/google-research/text-to-text-transfer-transformer
论文简述: 迁移学习在自然语言处理(NLP)中是一种强大的技术,该模型首先要针对数据丰富的任务进行预训练,然后再针对下游任务进行微调。 迁移学习的有效性导致了步骤、方法、实践的多样性。 本文我们通过引入一个统一的框架来探索NLP的迁移学习技术的前景,该框架将每种语言问题都转换为文本到文本格式。 我们系统的研究比较了数十种语言理解任务中的预训练目标,体系结构,未标记的数据集,传输方法和其他因素。 通过将我们对规模数据探索中获得的认知与新的“语料库”相结合,我们可以在许多基准上获得最新的结果,这些基准涵盖摘要,问题回答,文本分类等等。 为了促进NLP迁移学习的未来工作,我们发布了数据集,预训练的模型和代码。

8、TILE: DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter
Author: Victor Sanh • Lysandre Debut • Julien Chaumond • Thomas Wolf
Paper: https://arxiv.org/pdf/1910.01108v4.pdf
Code: None
论文简述: 随着迁移学习在自然语言处理(NLP)中越来越普遍,在边缘和/或计算训练或推理预算受限的情况下操作这些大型模型仍然是具有挑战性。在这项工作中,我们提出了一种方法来预训练一种较小的通用语言表示模型,称为DistilBERT,然后可以对其进行微调,使其在更大范围的任务中表现良好。之前大多数的工作主要研究使用蒸馏来构建特定任务模型,但我们在预训练阶段就利用了知识蒸馏,实验结果表明它可以将一个BERT模型的规模减少40%,同时保留97%的语言理解能力,并提高60%的速度。

Attention

更多自然语言处理相关知识,还请关注AINLPer公众号,极品干货即刻送达。