

漫谈注意力机制(六):Transformer与位置信息
source link: https://allenwind.github.io/blog/9582/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

NLP、深度学习、机器学习、Python、Go
漫谈注意力机制(六):Transformer与位置信息
Transformer中引入相对位置编码~
Google的论文Attention Is All You Need中看到一条挺“吓人”的公式,
Attention(Q,K,V)=softmax(QK⊤√dk)VAttention(Q,K,V)=softmax(QK⊤dk)V通过对输入的向量序列X=[x1,…,xn]X=[x1,…,xn]进行线性变换获得,即,
Q=WqXK=WkXV=WvXQ=WqXK=WkXV=WvX由于Q,K,VQ,K,V都是来自向量序列XX,因此称这种注意力机制为Self Attention。
展开来看,其实对于位置ii,Self Attention模型的输出为,
eij=(xiWQ)(xjWK)T√dzαij=softmax(eij)zi=n∑j=1αij(xjWV)eij=(xiWQ)(xjWK)Tdzαij=softmax(eij)zi=∑j=1nαij(xjWV)这里softmax是对jj维度进行归一化。其位置信息叠加到xixi向量内,因此eijeij可以改写为,
eij=[(xi+pi)WQ][(xj+pj)WK]T√dzeij=[(xi+pi)WQ][(xj+pj)WK]Tdz于是eijeij的位置信息有二元结构(i,j)(i,j)决定,称为绝对位置编码。绝对位置编码有个致命的问题:对于超过一定长度的本文无法建模。
为解决这个问题,Google在论文Self-Attention with Relative Position Representations对Attention模型做修改,称为Relation-aware Self-Attention,它做如下修改,
eij=xiWQ(xjWK+aKij)T√dzαij=softmax(eij)zi=n∑j=1αij(xjWV+aVij)eij=xiWQ(xjWK+aijK)Tdzαij=softmax(eij)zi=∑j=1nαij(xjWV+aijV)以便引入相对位置编码,让位置信息只依赖|i−j||i−j|,解决长文位置编码问题。引入这两个向量aKijaijK和aVijaijV(红色数学符号)是为了让Attention模型获得相对位置感知。此时还没有体会到位置的相对性,关键就是解决aKijaijK和aVijaijV的取值问题,论文的做法是提供PV,PKPV,PK两个矩阵,用于位置的取值检索,有
aKij=PK[r],r=clip(i−j,pmin,pmax)aVij=PV[r],r=clip(i−j,pmin,pmax)aijK=PK[r],r=clip(i−j,pmin,pmax)aijV=PV[r],r=clip(i−j,pmin,pmax)这里PK[r]PK[r]指矩阵PKPK的第rr行,由于r=clip(i−j,pmin,pmax)r=clip(i−j,pmin,pmax),因此只要PKPK矩阵的大小有限即可表达任意长度|i−j||i−j|的相对位置。同理,对于矩阵PVPV。
本文比较简短,介绍Google的Transformer如何引入相对位置编码。
转载请包括本文地址:https://allenwind.github.io/blog/9582
更多文章请参考:https://allenwind.github.io/blog/archives/
Recommend
-
57
本文以QA形式对自然语言处理中注意力机制(Attention)进行总结,并对Transformer进行深入解析。 目录 一、Attention机制剖...
-
8
将位置信息嵌入通道注意力!NUS 提出新机制,显著提升卷积特征表达|CVPR2021 4周前...
-
6
漫谈注意力机制(七):Transformer模型之BERT、BERT-wwm、RoBERTa、ALBERT简述本文介绍BERT、RoBERTa、ALBERT、GPT的若干版本等等。 预训练模型可以分为三类: 基于特征的策略的模型,如 ELMo 是双向但浅层无法学习更复杂的语义...
-
5
Mr.Feng BlogNLP、深度学习、机器学习、Python、Go漫谈注意力机制(三):全局注意力与局部注意力Attention中的全局注意力与局部注意力。 global Attent...
-
8
漫谈注意力机制(五):自注意力与TransformerAttention Is All You Need关键点解读以及关于SelfAttention的一些理解和扩展~ 自 Neural Machine Translation by Jointly Learning to Align and Tra...
-
6
注意力机制也能退化?退化后的结果是什么?AttentionPooling?! 理解查询向量我们都知道注意力机制是对聚焦式注意力的建模,需要聚焦的内容由查询向量qq描绘, Attention(X,q)=n∑i=1p(z=i|X,q)xiAttention(X,q)=∑i=1np(z=i|X,q)xi...
-
5
硬性注意力机制与软性注意力机制,以及它们之间有什么联系? 注意力机制的三个步骤首先我们来回顾注意力机制的三个步骤。 假设有一向量序列 X=[x1,…,xn]∈Rn×dX=[x1,…,xn]∈Rn×d,如一句子通过 Embedding 后的输出,其维度为(times...
-
9
计划写一个系列,讲讲、漫谈Attention,本篇为第一篇,先讲讲人类的注意力和注意力机制基础,包括入门内容。 过去文章漫谈序列编码:MLP、CNN、RNN梳理了Attention前的序列编码方式及其优缺点,包...
-
5
KG-Embedding前沿:引入节点位置特征的注意力神经网络表示模型GFA-NN剖析与总结 ...
-
9
自注意力和位置编码 2022年10月1...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK