EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型

2022 年 1 月 10 日 PaperWeekly

 


©作者 | 常馨

学校 | 北京邮电大学硕士生

研究方向 | NLP、信息检索




Abstract


基于自动编码器的语言模型在 Dense Retrieval(DR)中受到越来越多的关注,因为其训练编码器输出高质量的 embedding,从而可以用于对输入文本进行重构。然而,在本文作者发现,低重构损失的自动编码器语言模型可能会利用语言模式走捷径,强大的解码器自身可能学习到一定的语言范式,因此解码效果越好,并不一定意味着生成的表示越好。

为解决该问题,本文提出了一种生成高质量文本表示的预训练语言模型 SEED-Encoder(Strong tExt Encoder by training with weak Decoder),用于大规模密集向量检索的场景。使用一个弱解码器对自动编码器进行预训练,通过限制解码器的容量和注意力灵活性,来促进编码器产生更好的文本表示。最终作者在 web 搜索、新闻推荐、开放域问答场景中进行实验,表明本文的预训练模型显著提高了密集检索模型的有效性和少样本学习能力。



论文标题:

Less is More: Pre-train a Strong Text Encoder for Dense Retrieval Using a Weak Decoder

论文链接:

https://arxiv.org/abs/2102.09206

代码链接:

https://github.com/microsoft/SEED-Encoder/



Introduction


在搜索、推荐、问答等场景的第一阶段,Dense Retrieval 模型常采用双塔结构,编码器首先将用户端(查询、浏览历史、问题)和语料库端(文档或文章)分别编码为 embedding,然后采用简单的相似度计算(如点积或余弦相似度)进行检索。但以往的研究表明,常用的预训练模型(如 BERT)在 DR 场景中,对文本编码并不是很有效,尤其是当文本序列多于 128 个词时。

在一些模式中,使用自动编码器能够得到高质量的数据表示。通过将编码器与解码器进行配对,训练解码器只从编码器的编码结果中进行数据重构,从而在数据编码上添加信息瓶颈,来获得更好的表示。最近,有研究将自动编码器引入预训练中。Optimus:在 BERT 编码器上叠加一个 GPT-2 解码器,通过一个条件语言建模任务训练自动编码器,学习到的编码器 Optimus 为 GLUE 和语言生成任务提供了更好的文本编码,但却不能为 DR 提供更好的编码。

这一现象启发我们去研究,为什么语言建模中自动编码器的设置在 DR 上存在不足。作者发现,在自回归解码器中,模型不仅将 CLS 编码结果作为输入,还将之前的 token 作为输入。通过数学分析发现,解码器可以其对以前 token 的访问,绕过对编码器的依赖,特别是当输入序列很长而解码器又很强时(如 GPT-2)。因此,自动编码器虽有着低重构损失值但却不一定能够提供更好的文本序列编码。

因此,作者提出一种简单的解决方案:提出一种新的自动编码器预训练策略,通过限制参数容量和注意力可见范围,将 BERT-style 的编码器与弱解码器配对。本文提出了一种预训练语言模型 SEED-Encoder,利用编码器生成文本表示,解码器基于该文本表示重构原始文本,其在自动编码器中产生一个信息瓶颈,从而迫使编码器提供更好的文本表示。



Related work


预训练语言模型:


掩码语言建模 MLM 任务是有效的能够有效学习到文本表示的方法。后来的研究中又设计了诸多 sequence 级别的任务用于预训练。本文的研究接近于 Optimus,其训练了一个编码器和一个解码器用于语言理解和生成。

文本编码器的稠密检索:

DR 系统通常使用 Siamese/Dual 编码器结构。最早在研究如何在 Siamese 结构中使用 BERT 时,发现使用 CLS 向量并没有预期效果好。最近的研究发现,在稠密文本检索中应用预训练模型并不简单。DPR 中使用 BM25 寻找负样本来对 DR 任务进行预训练模型的微调。ANCE 中对 DR 模型进行了全局噪声构造估计,利用 DR 模型寻找全局负样本。



Method


4.1 前言

标准的预训练语言模型如 BERT,预训练的神经网络是一个多层双向 Transformer 编码器,从词汇表 V 中取一系列的 tokens ,然后得到其上下文表示向量


CLS 作为一种特殊的 token 被添加在开始的位置,其上下文表示 通常被用来表示整个序列。

Transformer 参数 通常通过掩码语言建模 MLM 进行预训练得到,我们将损失记为

Optimus 在模型预训练中引入了自动编码器设置,在 CLS token 的表示向量 上添加了重构损失得到新的表示:


解码器使用另一个深度 Transformer 模型 GPT-2,其收到 后对输入进行自动重构,其中的解码器损失为:


4.2 使用一个强解码器的影响

Optimus 模型是在 MS MARCO 上的 BERT 加了一个 GPT-2,作者将其与 BERT 对比,使用 MRR 和 Recall 作为评价指标。结果见图1(a)。可以看出  Optimus 在密集检索任务上的性能比 BERT 差,该结果与 Optimus 在其他语言任务上的性能形成鲜明对比,如 GLUE 基准测试。

GLUE 与 MS MARCO 的差别在于数据的序列长度,大多数 GLUE 任务中序列长度较短,例如在 SST-2 中平均为 14 个 token,而 MS MARCO 平均段落长度超过了 450 个 token。


近来有研究表明,长句子很难通过来自预训练模型的单一嵌入向量来表示,为此,作者随机选择了不同长度的序列对,计算 Optimus 的 CLS 向量的余弦相似度。结果见图1(b)。可以看出,Optimus 的长序列表示是非常相似的,该模型对长文本序列产生了杂乱的表示。因此在 MS MARCO 上就 DR 进行微调时,其不能将查询的相似文档与不相似文档分开。需要进一步的微调来重新调整编码。

4.3 理论分析

接下来用数学方法分析使用强解码器时,编码器可能并不会学习到好的序列表示。

方程 2 中可以发现, 的结果不仅取决于 CLS 编码向量 ,还与之前的 tokens 相关。因此,重构损失函数的降低可能不是更大信息量的 带来的,比如在长文本序列中,当 t 很大时,如果解码器很强大,模型可能直接从 x<t 中预测得到当前时刻的信息。CLS 向量的质量就不能得到保证了。

然后调查了重构损失、 和语言序列间在数学形式上的关系。首先,根据以下理论 Fact,将损失函数 的期望分解成两部分:KL 散度和条件熵

Fact:给定随机变量(Y,Z)上的两个分布 P(Y,Z) 和 Q(Y,Z)


X 是序列空间 中的一个随机变量,序列空间中的每个序列 x 是从数据分布 中采样的, 是 t 时刻 X 的截尾, 是解码器生成的序列分布。简单起见,假设所有的序列长度都是 n。重建损失函数可以改写为:


描述了两个分布间的差异,条件熵 反映了语言模式的强度。接下来作者证明了即便使用随机的 ,这两部分也可以实现较低的损失值

第一项KL散度描述了解码器生成的序列分布 与真实分布 的一致性。当解码器有足够容量时(eg.一个深层的 Transformer),即使 是无意义的,模型依然可以很好地逼近于真实分布,从而减小 KL 项。理论上,具有任意宽度和深度的 Transformers 可以近似任何序列级函数,并且能够使用 中很少的信息,达到低 K-L 损失。

第二项 描述了语言模式的强度: 间的联系越大,第二项的值就会越小。在自然语言中,t 越大,语言相关性越大,前面的 tokens 提供的信息就越多。这也就造成解码器足够强大可以捕获语言模式,使得对于编码器的要求降低了。

4.4 SEED-Encoder

为了得到更强的编码器,我们需要弱化解码器:限制解码器的容量和可用的上下文信息,这样解码器就不得不依靠编码器 CLS 向量中的信息来重构信息序列。于是作者引入了模型 SEED-Encoder:


通过修改方程 2 来弱化解码器:

  • 使用更少层数的浅层 Transformer

  • 限制其对之前上下文的访问,即限制模型只能注意到前 k 个 tokens


弱解码器的重构损失函数:


这样,加强了编码器和解码器间的信息瓶颈,迫使解码器依赖于编码器的 CLS 表示,推动编码器学习到更有信息的表示。

SEED-Encoder 的损失函数结合了编码器的 MLM 损失和解码器的重构损失


其中,编码器和解码器一起训练,预训练后,解码器被丢弃,编码器用于下游任务。



实验


预训练中,所有模型都是在 BERT-base 的设置下,从头开始预训练,在 English Wikipedia 和 BookCORPUS 上进行。编码器架构与 BERT-base 相同,使用一个三层 Transformer 作为解码器,注意力限制在前两个 token 上(k=2),其他与编码器保持一致。

微调 Siamese/Dual 编码器:在 Siamese 架构中对 DR 任务进行 SEED-Encoder 的微调与其他预训练模型相同。使用三元组损失完成带标签的句子对匹配任务的微调:


5.1 Experiments on Web Search

数据集: MS MARCO。在该基准上的两个任务:段落排序&文档排序。本文作者关注第一阶段的检索步骤,并且还展示了在重排设置下的结果。

训练策略: 预训练编码器使用 ANCE 负采样策略进行微调,使用 ANCE 进行文档检索,其中只使用长文档的前 512 个 token。还使用了 BM25 Neg 策略进行负采样,该策略使用 BM25 检索到的前 100 个结果作为负样本,其在 MS MARCO 上的表现类似于 DPR。

Baselines:

BERT-Base

ELECTRA:GLUE 基准上最有效的预训练编码器之一

ERNIE2.0:使用各种 token 级和句子级的任务,包括 IR 相关性任务。

对于 passage ranking:经典的稀疏检索 baseline 包括标准 BM25,优化查询扩展的 Best TREC Sparse Retrieva和 Best DeepCT,都是来自于 TREC DL2019 的官方评估。这三种方法代表了标准稀疏检索、最经典的稀疏检索方法,以及最新的利用 BERT 改进稀疏检索的方法。

对于 document ranking:

BM25

Enriched Traditional IR Baseline:使用预定义的 IR 特征(包括 BM25)来对文档进行排序

BM25+doc2query-T5 expansion:使用 Doc2query 模型,使用与文档内容相关的预测查询进行文档扩展。使用 sequence-to-sequence 模型以文档 terms 为输入来预测查询。

DE-hybrid 和 ME-hybrid 都结合使用 BERT 中的稠密特征和手工制作的稀疏特征。

DE-hybrid:将文档和查询的 CLS 表示作为稠密特征,计算点积相似度。该相似度得分与稀疏检索得分相结合,作为最终的排名得分。

ME-hybrid:在多个上下文 embedding 中使用最大池作为稠密特征。

Results:



SEED-Encoder 在所有的基准中优于现有的所有 baseline。通过简单地将微调开始的 checkpoint 从 BERT 切换到 SEED-Encoder,不改变任何架构或微调策略,性能就得到了显著提升。

在 MARCO passage retrieval 中,从 BERT 切换到 ELECTRA 或 ERNIE2.0 并不能够提高检索精度,这说明为其他场景优化的预训练模型不一定更适合稠密检索。

在 MARCO document retrieval 中,ANCE(FirstP)每篇文档只使用第一个段落中的一个向量,而 ANCE(MaxP)从其前四个段落中为每个文档使用四个向量,这些向量通常就覆盖了整个文档的主体。但是以 SEED-Encoder 为起点,ANCE(FirstP)比最先进的 ANCE(MaxP)with RoBERTa 的性能还要高出 6%,同时每个文档使用了更少的 embedding。这也证实了在语料库规模超过数十亿的真实搜索系统中,减少每个文档所需的 embedding 是很重要的。

5.2 Experiments on News Recommendation

使用最新发布的 MIcrosoft News DatasetMIND)基准。其任务是根据用户之前在 MSN 新闻上的点击对一组候选新闻进行排名。用户的点击作为正样本。使用公开 MIND 验证集和其官方评估指标:AUC, MRR, NDCG@5 和 NDCG@10。

遵循 MIND 的官方设置,使用标准的密集检索模型对预先给出的候选新闻文章重新排序。使用 SEED-Encoder 对用户历史和候选文章进行编码,并将它们与点产品进行匹配。

Baselines:

Transformer

Transformer-XL:使用相对位置编码,集成了依赖内容的位置得分和自注意层的全局位置得分

TENER:与 Transformer-XL 相似,使用方向已知的正弦相对位置 embedding

DA-Transformer:没有使用正弦位置 embedding,而是直接根据影射的相对距离来缩放注意力权值

Results:


SEED-Encoder 优于最先进的 DA-Transformer。表明了一种更好的利用无监督数据的自学习策略可以和特定任务的架构更改一样有效,而且还避免了所有的工程工作。

5.3 Experiments on Open QA

该任务通常采用两阶段框架:首先使用上下文检索器选择一组可能包含问题答案的段落;然后使用 machine reader 彻底检查检索到的段落并识别正确答案。本文重点关注第一阶段,即稠密检索。使用 Natural Question query set 和在 DPR 中使用的 Wikipedia passages。

模型使用了与 DPR 一致的微调策略,其使用了一个双编码器结构,以 mini-batch 进行负样本采样。同时作者还使用 ANCE 的微调策略,动态采集负样本。

结果:



SEED-Encoder 优于其他所有 baseline。作者没有改变任何结构,也没有微调策略,只是简单地将 BERT 的 checkpoint 切换到 SEED-Encoder,但是在大规模基准测试上带来了显著的提高。

5.4 Discussion and Analysis

为简单起见,所有实验都在 MS MARCO 文档检索任务上进行

(1)作者尝试使用不同层数和注意力大小的各种解码器设置。


具有强解码器的 SEED-Encoder 表现比使用弱解码器的 SEED-Encoder 更差。检索精度与 SEED-Encoder 的解码器的容量有着强相关性。因此,与多任务学习不同,在 SEED-Encoder 中,解码器迫使编码器在其序列 embedding 中捕获更多的信息,即:弱解码器能够生成强编码器。


为进一步探索编码器的 CLS 与解码器间的关系,作者绘制了解码器最后一层的 token 表示与编码器的 CLS 向量间的余弦相似度。可以看出:限制注意力大小的影响是显著的,在 full attention 下,解码器在一开始严重依赖编码器的 CLS 向量,但当有足够上下文信息后,很快就降低依赖;在 restricted attention 下,对上下文访问受限,解码器被迫在所有的 token 位置处都要更多地关注编码器的 CLS 向量。

这证实:当解码器较弱时,其会更多地依赖于编码器的 CLS 向量,从而推动编码器学习到更多信息。图4(a)的结果还表明:当使用强编码器时,CLS embedding 对句子中前面几个单词进行编码,可能会忽略其他单词,这也可能是在密集检索中 Optimus 比 BERT 表现要差的原因(图1(a)所示)。

(2)文档表示质量:

为研究 SEED-Encoder 是否可以提高表示多样性,作者收集了随机采样的句子对,计算由 SEED-Encoder 生成的 CLS 向量的余弦相似度。


可以看出,SEED-Encoder 生成的 CLS 向量更加多样化。当句子长度达到 512 时,CLS 的平均余弦相似度也仅为 0.48。这表明,SEED-Encoder 在预训练时能够更好地区分句子。

(3)少样本学习性能:

注意到,多样化的表示并不代表其具有高质量。因此,作者对 SEED-Encoder 进行了少样本学习实验。作者在微调阶段记录了验证集的表现,并且检查了模型需要多少次训练迭代和多少样本才能达到合理的良好性能。


从 SEED-Encoder 开始进行微调,Siamese 和 ANCE 在一开始就实现了更高的检索精度,并在整个微调过程中保持其优势。

与 BERT 相比,SEED-Encoder 在训练标签较少的情况下总能达到更高的精度。当只使用 10% 的训练标签时,SEEDEncoder 仍然比使用所有训练标签的 BERT 有竞争力。表明 SEED-Encoder 学习到的表示比 BERT 还要更好,微调成本的减少有助于使预训练模型的优点更佳普遍,尤其是在计算资源或特定任务监督受到限制的应用中。

(4)Case Study:



BERT 犯的错误与图4(a)中的观察结果一致,编码器的表示与文本序列开头的 tokens 更相关,而这也与查询高度相关。但是只有当模型捕获到全文的信息时,才能找到正确的文档。



Conclusion


本文作者提出一个用于稠密检索预训练模型的自训练框架 SEED-Encoder。作者在数学推导后,预训练了一个使用弱解码器的自动编码器,该解码器容量和注意力范围受限。

弱解码器帮助 SEED-Encoder 捕获更多的上下文信息并生成更好的文本表示。在网络搜索、新闻推荐和问答实验中,使用 SEED-Encoder 初始化的稠密检索模型与几个强 baseline 相比达到了最先进的准确性。未来可进一步探索更多的自主学习任务和稠密检索场景中序列匹配的网络架构。



创新点


解决了预训练语言模型中自动编码器在长文本 DR 任务上存在的缺陷问题,并且相比其他预训练模型,本文的预训练模型 SEED-Encoder 的性能还有着显著的提升。

构造弱编码器不仅可以促进编码器生成更强的文本表示,而且由于弱解码器参数量更少,不会在预训练过程中增加过多开销。同时在下游任务中只需要保留编码器,因此在下游任务上微调的开销与其他预训练语言模型一致,在下游任务微调时训练轮次也更少。


特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。



更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

登录查看更多
0

相关内容

基于预训练语言模型的文本生成
专知会员服务
27+阅读 · 2022年1月28日
专知会员服务
79+阅读 · 2021年10月15日
专知会员服务
16+阅读 · 2021年8月24日
专知会员服务
6+阅读 · 2021年8月7日
专知会员服务
41+阅读 · 2021年6月6日
【NAACL2021】信息解缠正则化持续学习的文本分类
专知会员服务
21+阅读 · 2021年4月11日
专知会员服务
34+阅读 · 2020年11月29日
【EMNLP2020】自然语言生成,Neural Language Generation
专知会员服务
38+阅读 · 2020年11月20日
赛尔原创@EMNLP 2021 | 基于稀疏子网络的领域迁移
哈工大SCIR
0+阅读 · 2022年4月1日
基于预训练语言模型的文本生成
专知
0+阅读 · 2022年1月28日
多模态中的Prompt范式:从CLIP、CoOp到CLIP-adapter
PaperWeekly
5+阅读 · 2021年11月3日
论文浅尝 | Multimodal Few-Shot Learning with Frozen Language Models
开放知识图谱
0+阅读 · 2021年9月23日
论文浅尝 | 利用冻结语言模型的多模态少样本学习
开放知识图谱
0+阅读 · 2021年8月28日
ACL2020 | 基于Knowledge Embedding的多跳知识图谱问答
AI科技评论
18+阅读 · 2020年6月29日
长文本表示学习概述
云栖社区
15+阅读 · 2019年5月9日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
99+阅读 · 2020年3月4日
VIP会员
相关VIP内容
基于预训练语言模型的文本生成
专知会员服务
27+阅读 · 2022年1月28日
专知会员服务
79+阅读 · 2021年10月15日
专知会员服务
16+阅读 · 2021年8月24日
专知会员服务
6+阅读 · 2021年8月7日
专知会员服务
41+阅读 · 2021年6月6日
【NAACL2021】信息解缠正则化持续学习的文本分类
专知会员服务
21+阅读 · 2021年4月11日
专知会员服务
34+阅读 · 2020年11月29日
【EMNLP2020】自然语言生成,Neural Language Generation
专知会员服务
38+阅读 · 2020年11月20日
相关资讯
赛尔原创@EMNLP 2021 | 基于稀疏子网络的领域迁移
哈工大SCIR
0+阅读 · 2022年4月1日
基于预训练语言模型的文本生成
专知
0+阅读 · 2022年1月28日
多模态中的Prompt范式:从CLIP、CoOp到CLIP-adapter
PaperWeekly
5+阅读 · 2021年11月3日
论文浅尝 | Multimodal Few-Shot Learning with Frozen Language Models
开放知识图谱
0+阅读 · 2021年9月23日
论文浅尝 | 利用冻结语言模型的多模态少样本学习
开放知识图谱
0+阅读 · 2021年8月28日
ACL2020 | 基于Knowledge Embedding的多跳知识图谱问答
AI科技评论
18+阅读 · 2020年6月29日
长文本表示学习概述
云栖社区
15+阅读 · 2019年5月9日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员