2022-02-18

RoFormer: Enhanced Transformer with Rotary Position Embedding

[TOC]

前言

談?wù)勎恢镁幋a

在“attention is all you need”這篇文章中卸奉,對(duì)于位置編碼方式基本是一筆帶過而已祈餐,沒有詳細(xì)地解釋為什么在self-attention當(dāng)中要加入位置編碼和文章中的編碼方式的好處希柿。

論文中的編碼方式如上式所述蜓堕,其中\large \mathcal{P}_{k, 2i}別是位置\large K的編碼向量的第\large i個(gè)分量,\large d是向量的維度阵漏。

對(duì)于“它是怎么想出來的”鞠值、“非得要這個(gè)形式不可嗎”等原理性問題引几,還沒有比較好的答案芭毙。

泰勒展開

對(duì)于self-attention這種模型來說逃魄,他是==對(duì)稱的==荤西。假設(shè)模型為f(.),什么是對(duì)稱模型呢,即對(duì)于任意第m、n個(gè)輸入x_m邪锌、x_n來說勉躺,
\Large f(..., x_m, ..., x_n)=f(...,x_n, ...,x_m)\tag{1}
這就是所謂的對(duì)稱性,也就是transformer無法識(shí)別位置信息的原因——==對(duì)稱性==觅丰,簡(jiǎn)單來說饵溅,就是函數(shù)天然滿足恒等式\large f(m, n)=f(n, m)

現(xiàn)在要做的就是要打破這種對(duì)稱性妇萄,將位置信息考慮進(jìn)去蜕企,比如說在每個(gè)位置都加上不同的偏置向量:
\Large\hat{f}(..., x_m, ...,x_n)=f(...,x_m+p_m, ...,x_n+p_n) \tag{2}
只要每個(gè)位置的編碼向量都不一樣,那么這種對(duì)稱性就會(huì)被打破冠句,可以用\hat{f}來代替f來處理有序的輸入(它融合了每個(gè)token的位置信息)轻掩。

目前,僅考慮m懦底、n這兩個(gè)位置的位置編碼唇牧,將其視為擾動(dòng)項(xiàng),并泰勒展開(二階):
\Large \hat{f} \approx f +\mathcal{p_m}^T{\partial f \over \partial x_m}+\mathcal{p_n}^T{\partial f \over \partial x_n}+{1 \over2}\mathcal{p_m}^T{\partial^2 f \over \partial x_m^2}\mathcal{p_m}\\ \Large+{1 \over 2}\mathcal{p_n}^T{\partial^2 f \over \partial x_n^2}\mathcal{p_n}+\underbrace{\mathcal{p_m^T}{\partial^2 f \over \partial x_nx_m}\mathcal{p_n}}_{\mathcal{p_m^T}\mathcal{H}\mathcal{p_n}} \tag{3}

根據(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ì)位置信息烙肺,記為\large\mathcal{p_m^T}\mathcal{H}\mathcal{p_n}纳猪,那么為什么它可以表示相對(duì)位置信息呢?
假設(shè)\large \mathcal{H}=\mathcal{I}單位矩陣桃笙,這個(gè)時(shí)候\large\mathcal{p_m^T}\mathcal{H}\mathcal{p_n}=\mathcal{p_m^T}\mathcal{p_n}=<\mathcal{p_m}, \mathcal{p_n}>為==兩個(gè)編碼的內(nèi)積==氏堤,我們希望該項(xiàng)表示的是兩個(gè)位置的相對(duì)位置信息,即==存在某個(gè)函數(shù)\large \mathcal{g}==使得
\Large <p_m, p_n> \ =\ g(m-n)

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)被證明不帶有位置信息,許多不同的方法被提出在模型中插入位置信息姓迅。

  1. 部分工作專注于絕對(duì)位置編碼敲霍,這些位置編碼由被訓(xùn)練的或者預(yù)先定義的函數(shù)生成,他們被加到上下文表示當(dāng)中丁存。

  2. 另一部分工作專注于相對(duì)位置編碼肩杈,其將相對(duì)位置信息插入到attention公式當(dāng)中。

在本文的工作

  1. 首先在self-attention結(jié)構(gòu)中建立一個(gè)位置編碼問題的正式描述解寝,并且在回溯了以前的工作扩然。
  2. 隨后,提出旋轉(zhuǎn)位置編碼(RoPE)聋伦,并且了解它的特性
  3. 最后夫偶,報(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)了更有效的收斂阳柔。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焰枢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌济锄,老刑警劉巖暑椰,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異荐绝,居然都是意外死亡一汽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門低滩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來召夹,“玉大人,你說我怎么就攤上這事恕沫〖嘣鳎” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵婶溯,是天一觀的道長(zhǎng)鲸阔。 經(jīng)常有香客問我,道長(zhǎng)迄委,這世上最難降的妖魔是什么褐筛? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮叙身,結(jié)果婚禮上渔扎,老公的妹妹穿的比我還像新娘。我一直安慰自己信轿,他們只是感情好赞警,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虏两,像睡著了一般愧旦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上定罢,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天笤虫,我揣著相機(jī)與錄音,去河邊找鬼祖凫。 笑死琼蚯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惠况。 我是一名探鬼主播遭庶,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼稠屠!你這毒婦竟也來了峦睡?” 一聲冷哼從身側(cè)響起翎苫,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榨了,沒想到半個(gè)月后煎谍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡龙屉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年呐粘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片转捕。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡作岖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出五芝,到底是詐尸還是另有隱情鳍咱,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布与柑,位于F島的核電站谤辜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏价捧。R本人自食惡果不足惜丑念,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望结蟋。 院中可真熱鬧脯倚,春花似錦、人聲如沸嵌屎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宝惰。三九已至植榕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尼夺,已是汗流浹背尊残。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淤堵,地道東北人寝衫。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拐邪,于是被迫代替她去往敵國和親慰毅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容