RoFormer: Enhanced Transformer with Rotary Position Embedding
[TOC]
前言
談?wù)勎恢镁幋a
在“attention is all you need”這篇文章中卸奉,對(duì)于位置編碼方式基本是一筆帶過而已祈餐,沒有詳細(xì)地解釋為什么在self-attention當(dāng)中要加入位置編碼和文章中的編碼方式的好處希柿。
論文中的編碼方式如上式所述蜓堕,其中別是位置
的編碼向量的第
個(gè)分量,
是向量的維度阵漏。
對(duì)于“它是怎么想出來的”鞠值、“非得要這個(gè)形式不可嗎”等原理性問題引几,還沒有比較好的答案芭毙。
泰勒展開
對(duì)于self-attention這種模型來說逃魄,他是==對(duì)稱的==荤西。假設(shè)模型為,什么是對(duì)稱模型呢,即對(duì)于任意第m、n個(gè)輸入
來說勉躺,
這就是所謂的對(duì)稱性,也就是transformer無法識(shí)別位置信息的原因——==對(duì)稱性==觅丰,簡(jiǎn)單來說饵溅,就是函數(shù)天然滿足恒等式。
現(xiàn)在要做的就是要打破這種對(duì)稱性妇萄,將位置信息考慮進(jìn)去蜕企,比如說在每個(gè)位置都加上不同的偏置向量:
只要每個(gè)位置的編碼向量都不一樣,那么這種對(duì)稱性就會(huì)被打破冠句,可以用來代替
來處理有序的輸入(它融合了每個(gè)token的位置信息)轻掩。
目前,僅考慮m懦底、n這兩個(gè)位置的位置編碼唇牧,將其視為擾動(dòng)項(xiàng),并泰勒展開(二階):
根據(jù)泰勒展開式可以看到基茵,第一項(xiàng)與位置信息無關(guān)奋构,從第二項(xiàng)到第五項(xiàng)都依賴于單一位置信息(==絕對(duì)位置信息==),第六項(xiàng)同時(shí)包含了m拱层、n這兩個(gè)位置的信息弥臼,是二者的交互項(xiàng),希望它能夠表示一定的==相對(duì)位置信息==根灯。
相對(duì)位置
根據(jù)公式(3)可以看到径缅,展開式最后一位為兩個(gè)位置的==交互項(xiàng)==,隱含了兩個(gè)位置的相對(duì)位置信息烙肺,記為纳猪,那么為什么它可以表示相對(duì)位置信息呢?
假設(shè)單位矩陣桃笙,這個(gè)時(shí)候
為==兩個(gè)編碼的內(nèi)積==氏堤,我們希望該項(xiàng)表示的是兩個(gè)位置的相對(duì)位置信息,即==存在某個(gè)函數(shù)
==使得
Abstract
在transformer架構(gòu)中搏明,位置編碼為序列不同位置元素的依賴建模提供了監(jiān)督信息鼠锈。本文在transformer-base語言模型中審查了各種各樣的位置編碼方法,并提出了一個(gè)新的命名為Rotary Position Embedding(RoPE)的編碼方法星著。該方法使用旋轉(zhuǎn)矩陣編碼了絕對(duì)位置信息并且在self-attention公式當(dāng)中自然地包含了相對(duì)位置依賴购笆。
RoPE帶有一些有價(jià)值的特征,比如能夠靈活地?cái)U(kuò)展到任意長(zhǎng)度序列虚循、隨著相對(duì)距離的增加同欠,token之間的依賴會(huì)逐漸衰減样傍,利用相對(duì)位置信息裝備線性self-attention的能力。
因此铺遂,本文的實(shí)驗(yàn)表明帶有旋轉(zhuǎn)位置矩陣的被提升的transformer(簡(jiǎn)稱RoFormer)在各種各樣的語言模型任務(wù)上實(shí)現(xiàn)了更好的性能表現(xiàn)衫哥。
介紹
序列的詞序在自然語言中扮演著重要的角色,RNNs通過沿著時(shí)間步循環(huán)計(jì)算隱藏狀態(tài)編碼詞序信息襟锐,CNNs典型地并沒有考慮到詞序信息炕檩,但是最近的研究顯現(xiàn)出使用通用的padding操作可以隱性地學(xué)習(xí)到位置信息。
在近些年捌斧,transformer-base模型的有效性被證明在各種各樣的NLP任務(wù)中的有效性笛质,提供了比RNNs更好的并行化能力,并且模型能夠比CNNs更好地處理長(zhǎng)token之間的關(guān)系捞蚂。
以為在transformer中沒有用到任何的RNN和CNN妇押,并且self-attention結(jié)構(gòu)被證明不帶有位置信息,許多不同的方法被提出在模型中插入位置信息姓迅。
部分工作專注于絕對(duì)位置編碼敲霍,這些位置編碼由被訓(xùn)練的或者預(yù)先定義的函數(shù)生成,他們被加到上下文表示當(dāng)中丁存。
另一部分工作專注于相對(duì)位置編碼肩杈,其將相對(duì)位置信息插入到attention公式當(dāng)中。
在本文的工作中
- 首先在self-attention結(jié)構(gòu)中建立一個(gè)位置編碼問題的正式描述解寝,并且在回溯了以前的工作扩然。
- 隨后,提出旋轉(zhuǎn)位置編碼(RoPE)聋伦,并且了解它的特性
- 最后夫偶,報(bào)告實(shí)驗(yàn)結(jié)果
本文==貢獻(xiàn)==:
- 審查以前的在相對(duì)位置編碼上的工作,發(fā)現(xiàn)大部分工作都是以添加位置信息到上下文表示的分解為基礎(chǔ)觉增。本文提出通過將上下文表示與一個(gè)具有清晰理論解釋的旋轉(zhuǎn)矩陣==相乘==編碼==相對(duì)位置信息==兵拢。
- 學(xué)習(xí)RoPE的特性,==并且發(fā)現(xiàn)隨著相對(duì)距離的增加逾礁,它逐漸衰減==说铃,這正是自然語言編碼所期望的。本文認(rèn)為以前的相對(duì)位置編碼方法與線性self-attention機(jī)制是不兼容的嘹履,但是本文的PoPE是適應(yīng)這種機(jī)制的腻扇。
- 證明了RoFormer在各種任務(wù)上實(shí)現(xiàn)了與其他優(yōu)秀模型相當(dāng)?shù)摹⒏鼉?yōu)秀的性能效果植捎。更重要的是衙解,發(fā)現(xiàn)在中文和英文的語言模型預(yù)訓(xùn)練過程中實(shí)現(xiàn)了更有效的收斂阳柔。