点击上方,选择星标或置顶,每天给你送干货!
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
![](https://i-blog.csdnimg.cn/blog_migrate/a8be4dda64e9258e0eed3b8800859c6a.png)
分散注意力机制
motivation
BERT加入位置信息的方法是在输入embedding中加入postion embedding, pos embedding与char embedding和segment embedding混在一起,这种早期就合并了位置信息在计算self-attention时,表达能力受限,维护信息非常被弱化了
![](https://i-blog.csdnimg.cn/blog_migrate/d55a0490ea931a272c58dde4c3a838cf.png)
本文的motivation就是将pos信息拆分出来,单独编码后去content 和自己求attention,增加计算 “位置-内容” 和 “内容-位置” 注意力的分散Disentangled Attention
Disentangled Attention计算方法
分散注意力机制首先在input中分离相对位置embedding,在原始char embedding+segment embedding经过编码成 后,与相对位置 计算attention,
即 是内容编码, 是 相对 的位置编码, attention的计算中,融合了位置-位置,内容-内容,位置-内容,内容-位置
相对位置的计算
限制了相对距离,相距大于一个阈值时距离就无效了,此时距离设定为一个常数,距离在有效范围内时,用参数用 控制
![](https://i-blog.csdnimg.cn/blog_migrate/e5c2bb0c5bc440145fccb85aabdd52b6.png)
增强型解码器
强行叫做解码器
用 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://i-blog.csdnimg.cn/blog_migrate/c95c28ee4b636a816e2733f9276af136.png)
附上原文与源码,顺便吐槽一下原文的图画的太烂了
原文:
https://arxiv.org/abs/2006.03654
源码:
https://github.com/microsoft/DeBERTa/tree/master/DeBERTa/deberta
作者:厂妹
三和厂妹:三和,一个城市边缘贫瘠人群的栖息地。厂妹,在社会劳动中寻找价值的初心青年。目前在平安科技AI研究院做算法,主要感兴趣方向包括对话系统,知识图谱,文本搜索,推荐系统。三和什么都没有,厂妹也无知,所以每一个任务都是全新的开始。
知乎ID:厂妹
说个正事哈
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
推荐两个专辑给大家:
专辑 | 李宏毅人类语言处理2020笔记
整理不易,还望给个在看!