0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从BERT得到最强句子Embedding的打开方式

深度学习自然语言处理 来源:夕小瑶的卖萌屋 作者:夕小瑶的卖萌屋 2020-12-31 10:10 次阅读

你有尝试从 BERT 提取编码后的 sentence embedding 吗?很多小伙伴的第一反应是:不就是直接取顶层的[CLS] token的embedding作为句子表示嘛,难道还有其他套路不成?

nono,你知道这样得到的句子表示捕捉到的语义信息其实很弱吗?今天向大家介绍一篇来自于 CMU 和字节跳动合作,发表在 EMNLP2020 的 paper, 详尽地分析了从预训练模型得到 sentence embedding 的常规方式的缺陷和最佳打开方式,是一篇非常实用、轻松帮助大家用BERT刷分的文章。论文质量蛮高,分析和发现很有趣,通读之后感觉收获多多。

自2018年BERT惊艳众人之后,基于预训练模型对下游任务进行微调已成为炼丹的标配。然而近两年的研究却发现,没有经过微调,直接由BERT得到的句子表示在语义文本相似性方面明显薄弱,甚至会弱于GloVe得到的表示。此篇论文中首先从理论上探索了masked language model 跟语义相似性任务上的联系,并通过实验分析了BERT的句子表示,最后提出了BERT-Flow来解决上述问题。

为什么BERT的句子Embeddings表现弱?

由于Reimers等人之前已实验证明 context embeddings 取平均要优于[CLS] token的embedding。因而在文章中,作者都以最后几层文本嵌入向量的平均值来作为BERT句子的表示向量。

语义相似性与BERT预训练的联系

为了探究上述问题,作者首先将语言模型(LM)与掩盖语言模型(MLM) 统一为: 给定context(c)预测得到 token(x) 的概率分布,即

这里 是context的embedding, 表示 的word embedding。进一步,由于将 embedding 正则化到单位超球面时,两个向量的点积等价于它们的cosine 相似度,我们便可以将BERT句子表示的相似度简化为文本表示的相似度,即 。

另外,考虑到在训练中,当 c 与 w 同时出现时,它们对应的向量表示也会更接近。换句话说,context-context 的相似度可以通过 context-words 之间的相似度推出或加强。

各向异性嵌入空间

Jun Gao, Lingxiao Wang 等人在近几年的ICLR paper中有提到语言模型中最大似然目标的训练会产生各向异性的词向量空间,即向量各个方向分布并不均匀,并且在向量空间中占据了一个狭窄的圆锥体,如下图所示~

这种情况同样也存在于预训练好的基于Transformer的模型中,比如BERT,GPT-2。而在这篇paper中,作者通过实验得到以下两个发现:

词频率影响词向量空间的分布:文中通过度量BERT词向量表示与原点 l_2 距离的均值得到以下的图表。我们可以看到高频的词更接近原点。由于word embedding在训练过程中起到连接文本embedding的作用,我们所需的句子表示向量可能会相应地被单词频率信息误导,且其保留的语义信息可能会被破坏。

2c10abf8-4a92-11eb-8b86-12bb97331649.png

低频词分布偏向稀疏:文中度量了词向量空间中与K近邻单词的 l_2 距离的均值。我们可以看到高频词分布更集中,而低频词分布则偏向稀疏。然而稀疏性的分布会导致表示空间中存在很多“洞”,这些洞会破坏向量空间的“凸性”。考虑到BERT句子向量的产生保留了凸性,因而直接使用其句子embeddings会存在问题。

Flow-based 生成模型

那么,如何无监督情况下充分利用BERT表示中的语义信息?为了解决上述存在的问题,作者提出了一种将BERT embedding空间映射到一个标准高斯隐空间的方法(如下图所示),并称之为“BERT-flow”。而选择 Gaussian 空间的动机也是因为其自身的特点:

标准高斯分布满足各向同性

高斯分布区域没有“洞”,即不存在破坏“凸性”的情况

上图中 表示隐空间, 表示观测到的空间,f: 是可逆的变换。根据概率密度函数中变量替换的定理,我们可以得到观测变量的概率密度函数如下:

进一步,作者通过最大化BERT句子表示的边缘似然函数来学习基于流的生成模型,即通过如下的公式来训练flow的参数

其中 表示数据集分布, 为神经网络。需要注意的是,在训练中,不需要任何人工标注!另外,BERT的参数保持不变,仅有流的参数进行优化更新。其次,在实验中,作者基于Glow (Dinh et al., 2015)的设计(多个可逆变换组合)进行改动,比如将仿射耦合(affine coupling)替换为了加法耦合(additive coupling)。

实验及结果

论文的实验部分在7个数据集上进行衡量语义文本相似性任务的效果。

实验步骤:

通过句子encoder得到每个句子的向量表示。

计算句子之间的cosine similarity 作为模型预测的相似度。

计算Spearman系数。

实验结果:

2f9febe4-4a92-11eb-8b86-12bb97331649.png

上图汇报了sentence embeddings的余弦相似度同多个数据集上真实标签之间的Spearman等级相关性得分(),其中flow-target 表示在完整的目标数据集(train+validation+test)上进行学习,flow-NLI 表示模型在NLI(natual language inference)任务的测试,绿色箭头表示相对于BERT的baseline,模型的效果有提升,红色反之。

我们可以注意到模型的改进对于效果的提升还是很显著滴!文章同样还在无监督问答任务证明模型的有效性,并将BERT-flow得到的语义相似度同词法相似度(通过编辑距离来衡量)进行对比,结果同样证明模型在引入流的可逆映射后减弱了语义相似性与词法相似性之间的联系!具体信息大家可查阅paper~

小结

总之,这篇paper探究了BERT句子表示对于语义相似性上潜在的问题,并提出了基于流的可逆映射来改进在对应任务上的表现。想多了解的童鞋可以看看原文,相信你们也会喜欢上这篇paper!

原文标题:还在用[CLS]?从BERT得到最强句子Embedding的打开方式!

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6631

    浏览量

    84375
  • 模型
    +关注

    关注

    1

    文章

    2701

    浏览量

    47658

原文标题:还在用[CLS]?从BERT得到最强句子Embedding的打开方式!

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    亮风台AR解锁奇幻山海经,上古奇书的全新打开方式

    “把跨越时空、超越国度、富有永恒魅力、具有当代价值的文化精神弘扬起来,让收藏在博物馆里的文物、陈列在广阔大地上的遗产、书写在古籍里的文字都活起来”。日前,“探秘山海经·沉浸艺术展”苏州站在诚品生活苏州拉开帷幕,本次展览是“探秘山海经”系列全国巡展中又一具有代表性的沉浸式艺术展览形式,通过古籍原物、国风画作、立体雕塑、装置艺术、多媒体光影、AR体验、文创互动等
    的头像 发表于 12-16 08:01 1596次阅读
    亮风台AR解锁奇幻山海经,上古奇书的全新<b class='flag-5'>打开方式</b>

    EPLAN带你做项目,PLC高效设计与批量编辑方式

    对PLC进行编辑,首先应打开PLC的导航器来辅助进行高效设计,打开方式:视图→导航器→打开命令下拉找到PLC数据 (前提是需要打开项目的图纸页,否则视图选项卡不会显示)。
    的头像 发表于 11-17 16:34 586次阅读
    EPLAN带你做项目,PLC高效设计与批量编辑<b class='flag-5'>方式</b>

    FPGA新IP核学习的正确打开方式

    的情况时,总会遇到一些以前未曾接触过的新内容,这些新内容会让我们感到陌生和恐惧,不知道该如何下手。 那么今天以xilinx vivado 为例分享学习FPGA 新IP核的正确打开方式。 一、常规
    发表于 11-17 11:09

    PLC的高效设计与批量编辑的方式

    对PLC进行编辑,首先应打开PLC的导航器来辅助进行高效设计,打开方式:视图→导航器→打开命令下拉找到PLC数据 (前提是需要打开项目的图纸页,否则视图选项卡不会显示)。在PLC导航器
    发表于 11-07 15:22 222次阅读
    PLC的高效设计与批量编辑的<b class='flag-5'>方式</b>

    SIMCom在智慧果园里的正确打开方式,了解一下?

    随着大数据、人工智能、物联网等技术的发展,以前的人工维护、采摘和运输的方式逐渐淘汰,AI虫情监测、无人机、智能溯源防伪、智能包装、智慧防冻等方式成为智慧果园的新选择。芯讯通深耕物联网通信模组行业20
    的头像 发表于 11-02 19:30 495次阅读
    SIMCom在智慧果园里的正确<b class='flag-5'>打开方式</b>,了解一下?

    学习FPGA新IP核的正确打开方式

    FPGA开发过程中,利用各种IP核,可以快速完成功能开发,不需要花费大量时间重复造轮子。
    的头像 发表于 08-07 15:43 483次阅读
    学习FPGA新IP核的正确<b class='flag-5'>打开方式</b>

    python创建文件对象

    2.1. 创建文件对象 **open() 函数用于创建文件对象,基本语法格式如下:** open(文件名[,打开方式]) 注意: 如果只是文件名,代表在当前目录下的文件. 文件名可以录入全路径,比如
    的头像 发表于 06-21 17:19 1063次阅读
    python创建文件对象

    不同时代,父爱的打开方式

    今天是父亲节 不同年代的父亲 有着怎样的父爱? 一起来看 50年代到今天 不同时代的父亲如何诠释父爱 在中国联通 有这样一群人 他们在家是父亲 在外是千家万户的守护者 他们不忘初心、牢记使命 传承着红色通信基因 践行着“严实精细快”的工作作风 用双手织就了一张四通八达的通信网络 以实际行动为网络强国建设“添砖加瓦” PART. 01 今年4月的一个晚间,当太原联通网络部的雷超俊拖着疲惫的身体回到家时,正在房间写作业的儿子兴冲冲地跑出来
    的头像 发表于 06-18 10:15 242次阅读

    告别传统修复手段,冷凝器管板腐蚀保护的正解打开方式

    采用高分子复合材料现场修复技术即节省时间又可降低修复费用。高分子复合材料有着优异的粘着力和耐腐蚀性能,防止整个管板表面,尤其是焊缝部位进一步腐蚀渗漏
    的头像 发表于 06-05 16:29 598次阅读
    告别传统修复手段,冷凝器管板腐蚀保护的正解<b class='flag-5'>打开方式</b>

    PyTorch教程-16.7。自然语言推理:微调 BERT

    16.7。自然语言推理:微调 BERT¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab Colab
    的头像 发表于 06-05 15:44 989次阅读
    PyTorch教程-16.7。自然语言推理:微调 <b class='flag-5'>BERT</b>

    PyTorch教程-16.6. 针对序列级和令牌级应用程序微调 BERT

    16.6. 针对序列级和令牌级应用程序微调 BERT¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab
    的头像 发表于 06-05 15:44 263次阅读
    PyTorch教程-16.6. 针对序列级和令牌级应用程序微调 <b class='flag-5'>BERT</b>

    PyTorch教程-15.9。预训练 BERT 的数据集

    15.9。预训练 BERT 的数据集¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab Colab
    的头像 发表于 06-05 15:44 545次阅读

    PyTorch教程15.9之预训练BERT的数据集

    电子发烧友网站提供《PyTorch教程15.9之预训练BERT的数据集.pdf》资料免费下载
    发表于 06-05 11:06 0次下载
    PyTorch教程15.9之预训练<b class='flag-5'>BERT</b>的数据集

    PyTorch教程15.10之预训练BERT

    电子发烧友网站提供《PyTorch教程15.10之预训练BERT.pdf》资料免费下载
    发表于 06-05 10:53 0次下载
    PyTorch教程15.10之预训练<b class='flag-5'>BERT</b>

    Simulink官方电机控制示例汇总

    当前 matlab 版本为 2020a 打开方式打开 matlab 主界面打开 help 在 Category 分类下打开 Simscape Electrical 在 Applic
    发表于 05-05 15:04 0次下载
    Simulink官方电机控制示例汇总