赞
踩
[DeBERTa: Decoding-enhanced BERT with Disentangled Attention](https://arxiv.org/abs/2006.03654)
code:https://github.com/microsoft/DeBERTa
他这论文改过一次,和ICLR2021的不一样
Disentangled Attention(分散注意力)
Enhanced Mask Decoder
Virtual Adversarial Training
对于序列中的位置i,我们使用两个向量来表示它 { H i } 和 { P i ∣ j } \{H_i\}和\{P_{i|j}\} {Hi}和{Pi∣j}分别表示内容表示和对于j的相对位置表示。
则i,j之间的attention score:
A i , j = { H i , P i ∣ j } × { H j , P j ∣ i } T = H i H j T + H i P j ∣ i T + P i ∣ j H j T + P i ∣ j P j ∣ i T ( 2 ) A_{i,j}=\{H_i,P_{i|j}\}\times\{H_j,P_{j|i}\}^T\\ =H_iH_j^T+H_iP_{j|i}^T+P_{i|j}H_j^T+P_{i|j}P_{j|i}^T\qquad (2) Ai,j={Hi,Pi∣j}×{Hj,Pj∣i}T=HiHjT+HiPj∣iT+Pi∣jHjT+Pi∣jPj∣iT(2)
即,注意力权重由<内容,内容>,<内容,位置>,<位置,内容>,<位置,位置>组合成
因为这里用的是相对位置embedding,所以<位置,位置>的作用不大,将其在(2)式中移除
以单头为例
标准的self-attention如下
定义k为最大相对距离, σ ( i , j ) ∈ [ 0 , 2 k ) \sigma(i,j)\in [0,2k) σ(i,j)∈[0,2k)为token i到token j的相对距离,文章默认k=512
σ
(
i
,
j
)
=
{
0
i
−
j
≤
−
k
2
k
−
1
i
−
j
≥
k
i
−
j
+
k
o
t
h
e
r
s
\sigma(i,j)= \left\{
即全部编码到[0,2k-1],自己为k
所以,具有相对位置偏差的disentangled self-attention
Q c = H W q , c , K c = H W k , c , V c = H W v , c , Q r = P W q , r , K r = P W k , r A ~ i , j = Q i c K j c ⊤ ⏟ ( a ) content-to-content + Q i c K δ ( i , j ) r ⊤ ⏟ ( b ) content-to-position + K j c Q δ ( j , i ) r ⊤ ⏟ ( c ) position-to-content H o = softmax ( A ~ 3 d ) V c P ∈ R 2 k × d : 表 示 所 有 层 之 间 共 享 的 相 对 位 置 e m b e d d i n g Q r , K r : 相 对 位 置 向 量 映 射 后 的 矩 阵 K j c : K c 的 第 j 行 K δ ( i , j ) r : K r 的 第 δ ( i , j ) 行 Q_{c}=H W_{q, c}, K_{c}=H W_{k, c}, V_{c}=H W_{v, c}, Q_{r}=P W_{q, r}, K_{r}=P W_{k, r}\\ \tilde{A}_{i, j}= \underbrace{Q_{i}^{c} K_{j}^{c \top}}_{(\mathrm{a}) \text { content-to-content }} + \underbrace{Q_{i}^{c} K_{\delta(i, j)}^{r{\top}}}_{(\mathrm{b}) \text { content-to-position }} + \underbrace{K_{j}^{c} Q_{\delta(j, i)}^{r{\top}}}_{(\mathrm{c}) \text { position-to-content }}\\ \boldsymbol{H}_{o}=\operatorname{softmax}\left(\frac{\tilde{\boldsymbol{A}}}{\sqrt{3 d}}\right) \boldsymbol{V}_{c}\\ P\in R^{2k\times d}:表示所有层之间共享的相对位置embedding\\ Q_r,K_r:相对位置向量映射后的矩阵\\ K_{j}^{c}:K_c的第j行\\ K_{\delta(i, j)}^{r}:K_r的第{\delta(i, j)}行 Qc=HWq,c,Kc=HWk,c,Vc=HWv,c,Qr=PWq,r,Kr=PWk,rA~i,j=(a) content-to-content QicKjc⊤+(b) content-to-position QicKδ(i,j)r⊤+(c) position-to-content KjcQδ(j,i)r⊤Ho=softmax(3d A~)VcP∈R2k×d:表示所有层之间共享的相对位置embeddingQr,Kr:相对位置向量映射后的矩阵Kjc:Kc的第j行Kδ(i,j)r:Kr的第δ(i,j)行
另外,EMD可以使其他有用的信息(类似绝对距离那样)在预训练的时候加入。
-这就是他新发明的虚拟对抗训练方式,但说的非常简略
在fine-tunning时,使用layer normalization
除了NLU任务,DeBERTa还能用在NLG任务上,类似UNILM模型(Unified Language Model Pre-training for Natural Language Understanding and Generation),可以参见UNILM
RoBERTa
DeBERTa
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。