Transformer结构中获得相对位置信息的探究

传送一下
知乎

“原来你还关注了这个专栏”
“这个博主还能敲键盘呀”

没错,时隔半年,终于终于要更新了 🙊
(主要是我太咸鱼了

这次主要讨论一下如何增强 Transformer 结构对获取相对位置信息的能力(即 Relative Position Embedding in Transformer Architecture)。

Background

事实上,Transformer 是一种建立在 RNN 之上的结构,其主要目的是在提升并行能力的基础上保留获取长程依赖的能力。
MultiHeadAtt 获取多种 token 与 token 之间的关联度,FFN 通过一个超高纬的空间来保存 memory。

通过各种 Mask(Regressive 之类的) Transformer 可以做到不泄露信息情况下的并行。
在实际实验中,速度可能会比 LSTM 还快。

为了补救,Transformer 在输入的 Word Embedding 之上,直接叠加了位置编码(可以是 trainable 的,但实验结果显示 train 不 train 效果差不多,在 Vanilla Transformer 中位置编码是 fixed 的)。

但事实上这种 Position Encoder 或者叫做 Position Embedding 在 word embedding 上直接叠加能带来的只有位置的绝对信息

image

(a) 与位置无关,(b),(c) 只有绝对位置信息, 而(d)项实际上也不含有相对位置信息。

回顾 PE 的定义,由一组 sin,cos 组成,为了构造一个 d 维的位置编码(与 word embed 相同维度,分母的次方逐渐增大)

image

于是可证PE^T_{t+k}PE_t只与相对距离 t 有关。

image

但实际上在PE^T_{t+k}PE_t之间还有两个线性 W 系数的乘积(可等效于一个线性系数)。

由随机初始化 W 之后的 d 项与相对距离 k 之间的关系图可知,W 项的扰动使得原有的 Attention 失去了相对位置之间的信息。

这就使得 Transformer 结构在一些特别依赖句内 token 间相对位置关系的任务效果提升没有那么大。

本文就这个问题,介绍四篇工作。

  1. NAACL 2018. Self-Attention with Relative Position Representations.
  2. ACL 2019. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context.
  3. -. TENER: Adapting Transformer Encoder for Named Entity Recognition.
  4. ICLR 2020. Encoding word order in complex embeddings.

改变 Attention 计算项

既然是在 Attention bias 计算中丢失了相对位置信息,一个很 Naive 的想法就是在 Attention bias 计算时加回去。

Self-Attention with Relative Position Representations.

18 年的 NAACL(那就是 17 年底的工作),文章是一篇短文,Peter Shaw, Jakob Uszkoreit, Ashish Vaswani 看名字是发 Transformer 的那批人(想来其他人也不能在那么短时间有那么深的思考 🤔).

他们分别在 QK 乘积计算 Attention bias 的时候和 SoftMax 之后在 Value 后面两处地方加上了一个相对编码(两处参数不共享)。

image

为了降低复杂度,在不同 head 之间共享了参数。

实验显示,在 WMT14 英德数据集上 base model BLEU 提升了 0.3, big model 提升了 1.3。
Ablation 实验中,改变最大位置距离 k,显示 k 从 0-4 增大的过程 performance 有明显的提升,之后再增大 k 提升不明显。
Attention bias 中的相对项提高更多的 performance, 而 SoftMax 之后再 Value 上加的那个相对项提升的性能略少。

image

Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context.

Transformer-XL 的工作现在可以称之上开创性的了。

除却递归更新 blank 的过程,relative position embedding 也是论文的一大亮点.

可能作者在思考的过程中更多是在 recurrent 是 PE 重叠造成的偏移角度出发。

但实际上 relative 的改动对于模型获得句内细粒度层次的信息也是很有帮助的。

image

与 NAACL18 那篇不同的地方,Transformer-XL 舍弃了在 SoftMax 之后再叠加 Rij。

另外把 Attention Bias 中,另外两项因为引入 PE 产生的表征绝对位置信息的两项替换成不包含位置信息的一维向量(这里专门为前面 recurrent 模式设计的,感觉如果不搭配 Transformer-XL 使用的话这个改动并不一定是最合适的)。

除此之外,为了避免相对引入的巨大计算量,利用类似 AES 中的 shift 操作可以把复杂度降到线性。

image

通过 Ablation 实验可以看出相对于 NAACL18 的改进能显著提升效果。

image

另外通过 RECL 实验也能看出 relative PE 对模型的长程能力有所帮助。
RECL 是一个逼近实验,通过测量上下文长度为 c + △,相对长度为 c 时最小 loss 的变化率。

当变化率低于一个阈值的时候就说明大于长度 c 的信息对模型 performance 提升帮助不大。

image

TENER: Adapting Transformer Encoder for Named Entity Recognition

这篇是复旦邱老师实验室的工作。

在 Relative PE 计算上的 InSight 不大,硬要说的话可能是减少了 Key 前面的线性项。

实验是在中文 NER 上做的一些测试,可能看出提升的不是特别明显,尤其是在 MSRA 上还是钰颖姐和 guoxin 的那篇效果好。

image

(感觉 NER topic 中 Relative PE 还是有些工作可以继续做下去的

Encoding word order in complex embeddings

除了上面一系列从 Attention bias 出发的角度,还有 dalao 从 PE 与 WE 结合方式角度出发做的工作。

从抽象层次看,前面的方法都是在补救因为(WE+PE)乘积项造成的丢失相对位置信息。

如果 WE 和 PE 的结合方式不是加性呢。

今年 ICLR 的有一篇工作就是从这个角度出发,将 WE 于 PE 组合分解成独立的连续函数。

这样在之后的 Attention Bias 计算时也不会丢失 Position 相对信息。

为了达成这个目的,就需要找到一种变换,使得对于任意位置 pos,都有g(pos+n) = \text{Transform}_n(g(pos)), 为了降低难度把标准降低成找到一种线性变换 Transform。

而我们的 Embed 除了上面的性质之外应该还是有界的。

这篇文章证明在满足上述条件下,Transform 的唯一解是复数域中的g(pos)=z_{2} z_{1}^{pos}, 且 z1 的幅值小于 1。

(这个证明也是有、简单,reviewer 的说法就是有、优美

根据欧拉公式,可以进一步对上述式子进行化简
g(\text { pos })=z_{2} z_{1}^{\text {pos }}=r_{2} e^{i \theta_{2}}\left(r_{1} e^{i \theta_{1}}\right)^{\text {pos }}=r_{2} r_{1}^{\text {pos }} e^{i\left(\theta_{2}+\theta_{1} \text { pos }\right)}

为了偷懒,把 r1 设成 1, 而e^{ix}的幅值等于 1,就恒满足 r1 的限定。

于是,进一步化简为 g(\mathrm{pos})=r e^{i(\omega \mathrm{pos}+\theta)}

这就是标标准准的虚单位圆的形式,r 为半径,\theta为初始幅角,\frac{\omega}{2\pi} 为频率,逆时针旋转。

这个式子又可以化成f(j, \text { pos })=g_{w e}(j) \odot g_{p e}(j, \text { pos }) WE 与 PE 的多项式乘积,其中两者所占系数取决于学习到的系数。

于是这相当于一个自适应的调节 WE 和 PE 占比的模式。

实际上我们只需要去学习幅值 r, 频率 w,初始幅角\theta (会造成参数量略微增大)

可以看出 Vanilla Transformer 中的 PE 是上式的一种特殊形式。

为了适应 Embedding 拓展到复数域,RNN,LSTM, Transformer 的计算也应该要拓展到复数域.

image

实验部分做了 Text Classification, MT, LM 三个 task。

Text Classification 选了 4 个 sentiment analysis 数据集,一个主观客观分类,一个问题分类,共六个 benchmark。

Baseline 设置 1. without PE; 2. random PE and train; 3. 三角 PE; 4. r 由 pretrain 初始化,w 随机初始化(-\pi, \pi); 5. r 由 pretrain 初始化,w train;

image

可以看出 performance 中三角 PE 与 Train PE 几乎没什么区别,所以 Vanilla Transformer 使用 Fix 的 PE 也是有一定道理的。

Complex order 对模型有一定提升,但不是特别多。

image

然后为了降低参数量,尝试了几种参数共享的组合。
(参数量的增大主要是因为 Transformer 结构扩充到复数域,参数量增大了一倍。但参数增大与 prefermance 关联度不大,共享 W 之后性能几乎不变。

然后在 WMT16 英德和 text8 上测了在 MT 和 LM 上的性能,这两部分性能提升还是很明显的。尤其是 LM 在同等参数量下的对比试验。

image

(这篇的作者之前也发了几篇关于复数域上 NLP 的应用,之前模型的名字也很有意思 什么 CNM的 很真实

总的来说 自己的试验结果也显示 RPE 对 Transformer 或者说 Self-Attention 的性能还是很有影响的,还是可以 follow 一些工作的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容