前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SOTA来啦!BERT又又又又又又魔改了!DeBERTa登顶GLUE~

SOTA来啦!BERT又又又又又又魔改了!DeBERTa登顶GLUE~

作者头像
godweiyang
发布2021-02-24 16:31:10
6040
发布2021-02-24 16:31:10
举报
文章被收录于专栏:算法码上来算法码上来

DeBERTa刷新了GLUE的榜首,本文解读一下DeBERTa在BERT上有哪些改造

DeBERTa对BERT的改造主要在三点

  • 分散注意力机制
    • 为了更充分利用相对位置信息,输入的input embedding不再加入pos embedding, 而是input在经过transformer编码后,在encoder段与“decoder”端 通过相对位置计算分散注意力
  • 增强解码器(有点迷)
    • 为了解决预训练和微调时,因为任务的不同而预训练和微调阶段的gap,加入了一个增强decoder端,这个decoder并非transformer的decoder端(需要decoder端有输入那种),只是直观上起到了一个decoder作用
    • 解码器前接入了绝对位置embedding,避免只有相对位置而丢失了绝对位置embedding
    • 其实本质就是在原始BERT的倒数第二层transformer中间层插入了一个分散注意力计算
  • 训练trick
    • 训练时加入了一些数据扰动
    • mask策略中不替换词,变为替换成词的pos embedding

分散注意力机制

motivation

BERT加入位置信息的方法是在输入embedding中加入postion embedding, pos embedding与char embedding和segment embedding混在一起,这种早期就合并了位置信息在计算self-attention时,表达能力受限,维护信息非常被弱化了

BERT embedding

本文的motivation就是将pos信息拆分出来,单独编码后去content 和自己求attention,增加计算 “位置-内容” 和 “内容-位置” 注意力的分散Disentangled Attention

Disentangled Attention计算方法

分散注意力机制首先在input中分离相对位置embedding,在原始char embedding+segment embedding经过编码成

{H_i}

后,与相对位置

P_{i|j}

计算attention,

A_{i,j}=\{H_i,P_{i|j}\} \times \{H_j,P_{j|i}\}^T
=H_iH_j^T+H_iP^T_{j|i}+P_{i|j}H_j^T+P_{i|j}P^T_{j|i}

H_i

是内容编码,

P_{i|j}

i

相对

j

的位置编码, attention的计算中,融合了位置-位置,内容-内容,位置-内容,内容-位置

相对位置的计算

限制了相对距离,相距大于一个阈值时距离就无效了,此时距离设定为一个常数,距离在有效范围内时,用参数用

k

控制

增强型解码器

强行叫做解码器

用 EMD( enhanced mask decoder) 来代替原 BERT 的 SoftMax 层预测遮盖的 Token。因为我们在精调时一般会在 BERT 的输出后接一个特定任务的 Decoder,但是在预训练时却并没有这个 Decoder;所以本文在预训练时用一个两层的 Transformer decoder 和一个 SoftMax 作为 Decoder。其实就是给后层的Transformer encoder换了个名字,千万别以为是用到了Transformer 的 Decoder端

绝对位置embedding

在decoder前有一个骚操作是在这里加入了一层绝对位置embedding来弥补一下只有相对位置的损失,比如“超市旁新开了一个商场”,当mask的词是“超市”,“商场”,时,只有相对位置时没法区分这两个词的信息,因此decoder中加入一层

一些训练tricks

  • 将BERT的训练策略中,mask有10%的情况是不做任何替换,这种情况attention偏向自己会非常明显,DeBeta将不做替换改成了换位该位置词绝对位置的pos embedding, 实验中明显能看到这种情况下的attention对自身依赖减弱
  • 在训练下游任务时,给训练集做了一点扰动来增强模型的鲁棒性

效果

DeBERTa large目前是GLUE的榜首,在大部分任务上整体效果相比还是有一丢丢提升

附上原文与源码,顺便吐槽一下原文的图画的太烂了

原文:

https://arxiv.org/abs/2006.03654

源码:

https://github.com/microsoft/DeBERTa/tree/master/DeBERTa/deberta

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法码上来 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分散注意力机制
  • 增强型解码器
  • 一些训练tricks
  • 效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档