日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Performer:用随机投影将Attention的复杂度线性化

發(fā)布時(shí)間:2024/10/8 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Performer:用随机投影将Attention的复杂度线性化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?PaperWeekly 原創(chuàng) ·?作者|蘇劍林

單位|追一科技

研究方向|NLP、神經(jīng)網(wǎng)絡(luò)

Attention 機(jī)制的 復(fù)雜度是一個(gè)老大難問題了,改變這一復(fù)雜度的思路主要有兩種:一是走稀疏化的思路,比如我們以往介紹過的 Sparse Attention 以及 Google 前幾個(gè)月搞出來的 Big Bird [1] ,等等;二是走線性化的思路,這部分工作我們之前總結(jié)在線性 Attention 的探索:Attention 必須有個(gè) Softmax 嗎?中,讀者可以翻看一下。

本文則介紹一項(xiàng)新的改進(jìn)工作 Performer,出自 Google 的文章 Rethinking Attention with Performers,它的目標(biāo)相當(dāng)霸氣:通過隨機(jī)投影,在不損失精度的情況下,將 Attention 的復(fù)雜度線性化。

論文標(biāo)題:

Rethinking Attention with Performers

論文鏈接:

https://arxiv.org/abs/2009.14794

說直接點(diǎn),就是理想情況下我們可以不用重新訓(xùn)練模型,輸出結(jié)果也不會有明顯變化,但是復(fù)雜度降到了 !看起來真的是“天上掉餡餅”般的改進(jìn)了,真的有這么美好嗎?

Attention

我們知道,Attention 的一般定義為:

對于標(biāo)準(zhǔn)的 Scaled-Dot Attention 來說,(有時(shí)候指數(shù)部分還會多個(gè)縮放因子,這里我們就不顯式寫出來了),將整個(gè)序列的運(yùn)算寫成矩陣形式就是:

我們主要關(guān)心 Self Attention 場景,所以一般有 。在上式中, 這一步相當(dāng)于要對 個(gè)向量對做內(nèi)積,得到 個(gè)實(shí)數(shù),因此不管時(shí)間還是空間復(fù)雜度都是 的。

而對于線性 Attention 來說,,其中 是值域非負(fù)的激活函數(shù)。這樣一來,Attention 的核心計(jì)算量(式(1)中的分子部分)就變成了:

上式左端的復(fù)雜度依然是 的,由于矩陣乘法滿足結(jié)合律,我們可以先算后面兩個(gè)矩陣的乘法,這樣復(fù)雜度就可以降為 了,詳細(xì)介紹還是請讀者翻看之前的文章線性 Attention 的探索:Attention 必須有個(gè) Softmax 嗎?,這里就不過多展開了。

Performer

現(xiàn)在我們就可以進(jìn)入到 Performer 的介紹了,開頭已經(jīng)說了,Performer 的出發(fā)點(diǎn)還是標(biāo)準(zhǔn)的 Attention,所以在它那里還是有 ,然后它希望將復(fù)雜度線性化,那就是需要找到新的 ,使得:

如果找到合理的從 到 的映射方案,便是該思路的最大難度了。

2.1 漂亮的隨機(jī)映射

Performer 的最大貢獻(xiàn)就在于,它找到了一個(gè)非常漂亮的映射方案:

我們先分析一下上式究竟說了什么。第一個(gè)等號意味著左右兩端是恒等的,那也就意味著,只要我們從標(biāo)準(zhǔn)正態(tài)分布 中采樣無窮無盡的 ,然后算出 的平均,結(jié)果就等于 ,寫成積分形式就是:

當(dāng)然實(shí)際情況下我們只能采樣有限的 m 個(gè),因此就得到了第二個(gè)約等號,它正好可以表示為兩個(gè) m 維向量的內(nèi)積的形式,這正是我們需要的 !

所以,借助這個(gè)近似,我們就可以將兩個(gè) d 維向量的內(nèi)積的指數(shù),轉(zhuǎn)化為了兩個(gè) m 維向量的內(nèi)積了,從而理論上來說,我們就可以將原來 head_size 為 d 的標(biāo)準(zhǔn) Attention,轉(zhuǎn)化為 head_size 為 m 的線性 Attention 了,這便是整篇論文的核心思路。

2.2 推導(dǎo)過程討論

可能有些讀者會比較關(guān)心式(5)的來源,這里展開討論一下,當(dāng)然如果不關(guān)心的讀者可以直接跳過這一節(jié)。盡管直接通過計(jì)算積分可以驗(yàn)證式(5)是成立的,但對于任意定義的 ,是否可以找到類似的線性近似?

下面我們將會證明,類似的線性化方案可以通過一個(gè)一般化的流程找到,只不過得到的結(jié)果可能遠(yuǎn)遠(yuǎn)不如式(5)漂亮有效。

具體來說,對于任意的 ,我們可以改寫為:

然后我們可以對 做傅立葉變換:

至于為什么要先乘以 ,那是因?yàn)橹苯訉? 做傅立葉變換的結(jié)果可能不好看甚至不存在,乘一個(gè)函數(shù)之后可能就可以了,比如可以讓 ,只要 足夠大,就可以讓很多 都完成傅立葉變換了。

接著我們執(zhí)行逆變換,并代回原式,就得到:

如果我們能算出 并完成歸一化,那么它就可以成為一個(gè)可以從中采樣的分布,從中可以采樣出隨機(jī)向量 來,然后近似轉(zhuǎn)化為 組成的向量序列的內(nèi)積。

當(dāng)然,這里的運(yùn)算可能涉及到虛數(shù),而我們一般只是處理實(shí)數(shù),但這問題不大,我們可以用歐拉公式 展開,整個(gè)運(yùn)算過程只保留實(shí)部即可,形式不會有太大的變化。

理論上來說,整套流程可以走下來,不會有什么困難,但是相比式(5),存在的問題是:1)現(xiàn)在需要采樣兩組隨機(jī)變量 ,會擴(kuò)大估計(jì)的方差;2)最終保留實(shí)部后,得到的將會是 的組合形式,其結(jié)果無法保證非負(fù)性,需要額外的 clip 來處理。

而式(5)的特別之處在于, 可以改寫為:

所以只需要轉(zhuǎn)化為單個(gè)變量 的問題,而 的傅立葉變換正好是 ,所以做逆變換我們有:

到這里,如果直接取實(shí)部展開,得到的也是 的組合,這就是原論文說的 形式的投影方案。不過,有一個(gè)更加巧妙的性質(zhì)可以改變這一切!注意到上式是一個(gè)恒等式,所以我們可以左右兩邊都置換 ,結(jié)果是:

這便是式(5)。置換 使得上述左邊保持不變,并且右邊完全脫離虛數(shù)還保持了非負(fù)性,真的是集眾多巧合于一身,“只此一家,別無分號”的感覺~

2.3 正交化降低方差

除了提出式(5)來對標(biāo)準(zhǔn) Attention 進(jìn)行線性化外,原論文還做了進(jìn)一步的增強(qiáng)。在式(5), 是獨(dú)立重復(fù)地從 中采樣出來的,而原論文則指出,如果將各個(gè) 正交化,能有效地降低估算的方差,提高單次估算的平均精度。

注意,這里的正交化指的是保持 的模長不變,僅僅是對其方向進(jìn)行施密特正交化。這個(gè)操作首先提出在同樣是 Google 的論文 The Unreasonable Effectiveness of Structured Random Orthogonal Embeddings?[2] 中,而 Performer 在其論文附錄里邊,足足花了 6 頁紙來論證這個(gè)事情。這里照搬 6 頁證明顯然是不適合的,那對于我們來說,該怎么去理解這個(gè)策略比較好呢?

其實(shí),這個(gè)策略有效的最根本原因,是采樣分布 的各向同性,即其概率密度函數(shù) 只依賴于 的模長 ,所以它在方向上是均勻的。

而如果我們要降低估算的方差,那么就應(yīng)該要降低采樣的隨機(jī)性,使得采樣的結(jié)果更為均勻一些。而各個(gè)向量正交化,是方向上均勻的一種實(shí)現(xiàn)方式,換句話說,將各個(gè)? 正交化促進(jìn)了采樣結(jié)果的均勻化,從而降低估算的方差。此外,正交化操作一般只對 有效,如果 ,原論文的處理方式是每 d 個(gè)向量為一組分別進(jìn)行正交化。

我們可以聯(lián)想到,正交化操作只是讓采樣的方向更加均勻化,如果要做得更加徹底些,可以讓采樣的模長也均勻化。具體來說,將標(biāo)準(zhǔn)正態(tài)分布變換為 d 維球坐標(biāo) [3] 得到其概率微元為:

其中 代表在 d 維球面上的積分微元。上式就顯示出,標(biāo)準(zhǔn)正態(tài)分布在方向是均勻的,模長的概率密度函數(shù)正比于 ,我們定義它的累積概率函數(shù):

如果要采樣 m 個(gè)樣本,那么讓 ,從中解出 m 個(gè) 作為模長就行了。

性能與效果

理論的介紹就到這里了,其實(shí)已經(jīng)展開得都多了,一般來說只要對線性 Attention 有所了解的話,那么只要看到式(5),就能很快理解 Performer 的要點(diǎn)了,剩下的都是錦上添花的內(nèi)容,不影響全文的主線。接下來我們就主要看對 Performer 的評測。

3.1 原論文的評測

我們先來看看原論文的評測,其實(shí)它的評測還是很豐富的,但是有點(diǎn)亂,對于主要關(guān)心 NLP 的讀者來說可能還有點(diǎn)莫名其妙。

一開始是速度上的評測,這個(gè)不意外,反正就是序列長了之后 Performer 比標(biāo)準(zhǔn)的 Transformer 有明顯優(yōu)勢:

▲ Performer與標(biāo)準(zhǔn)Transformer的速度對比(實(shí)線:Performer,虛線:標(biāo)準(zhǔn)Transformer)

接著,是近似程度的比較,說明了采樣正交化的有效性,以及所提的式(5)相比舊的基于 函數(shù)的形式的精確性:

▲ 左圖:比較采樣向量正交化的有效性;有圖:比較Performer所用的近似與舊的基于三角函數(shù)的近似的精確性

那能不能達(dá)到我們一開始的預(yù)期目標(biāo)——不用重新訓(xùn)練已訓(xùn)練好的模型呢?很遺憾,不行,原論文做了兩個(gè)實(shí)驗(yàn),顯示 Performer 直接加載 Transformer 的權(quán)重不能恢復(fù)已有的結(jié)果,但經(jīng)過 finetune 后可以迅速恢復(fù)回復(fù)。至于為什么一開始沒有很好地回復(fù),論文沒有做展開分析。

▲ Performer加載已訓(xùn)練好的Transformer權(quán)重實(shí)驗(yàn)

最后,論文還做了蛋白質(zhì)序列和圖像的實(shí)驗(yàn),證明 Performer 對于長序列是很有效的,特別地,至少比 Reformer 有效,全文的實(shí)驗(yàn)差不多就是這樣,內(nèi)容很多,但有點(diǎn)找不到北的感覺。

3.2 其他論文的評測

也許是自己的同事都看不下去了,后來 Google 又出了兩篇論文 Efficient Transformers: A Survey?[4] 和 Long Range Arena: A Benchmark for Efficient Transformers [5]?,系統(tǒng)地評測和比較了已有的一些改進(jìn) Transformer 效率的方法,其中就包含了 Performer。

相比之下,這兩篇論文給出的結(jié)果就直觀多了,簡單幾個(gè)圖表,就把各個(gè)模型的位置給表達(dá)清楚了。

▲ 各種高效Transformer分門別類

▲?各類改進(jìn)版Transformer比較。其中decode那一欄指的是能否mask掉未來信息,用于做語言模型

▲?各個(gè)Transformer模型的“效果-速度-顯存”圖,縱軸是效果,橫軸是速度,圓圈的大小代表所需要的顯存。理論上來說,越靠近右上方的模型越好,圓圈越小的模型越好

更詳細(xì)的評測信息,大家自行去看這兩篇論文就好。

問題與思考

看起來 Performer 是挺不錯(cuò)的,那是不是說我們就可以用它來替代 Transformer 了?并不是,縱然 Performer 有諸多可取之處,但仍然存在一些無法解決的問題。

首先,為了更好地近似標(biāo)準(zhǔn) Transformer,Performer 的 m 必須取得比較大,至少是 m > d,一般是 d 的幾倍,這也就是說,Performer 的 head_size 要比標(biāo)準(zhǔn) Transformer 要明顯大。雖然理論上來說,不管 m 多大,只要它固定了,那么 Performer 關(guān)于序列長度的復(fù)雜度是線性的,但是 m 變大了,在序列長度比較短時(shí)計(jì)算量是明顯增加的。

換句話說,短序列用 Performer 性能應(yīng)該是下降的,根據(jù)筆者的估計(jì),只有序列長度在 5000 以上,Performer 才會有比較明顯的優(yōu)勢。

其次,目前看來 Performer(包括其他的線性 Attention)跟相對位置編碼是不兼容的,因?yàn)橄鄬ξ恢镁幋a是直接加在 Attention 矩陣?yán)镞叺?#xff0c;Performer 連 Attention 矩陣都沒有,自然是加不了的。此外,像 UniLM 這種特殊的 Seq2Seq 做法也做不到了,不過普通的單向語言模型還是可以做到的。

總之, 的 Attention 矩陣實(shí)際上也帶來了很大的靈活性,而線性 Attention 放棄了這個(gè) Attention 矩陣,也就放棄了這種靈活性了。

最后,也是筆者覺得最大的問題,就是 Performer 的思想是將標(biāo)準(zhǔn)的 Attention 線性化,所以為什么不干脆直接訓(xùn)練一個(gè)線性 Attention 模型,而是要想標(biāo)準(zhǔn) Attention 靠齊呢?

從前面的最后一張圖來看,Performer 并沒有比 Linear Transformer 有大的優(yōu)勢(而且筆者覺得最后一張圖的比較可能有問題,Performer 效果可能比 Linear Transformer 要好,但是速度怎么可能還超過了 Linear Transformer?Performer 也是轉(zhuǎn)化為 Linear Transformer 的,多了轉(zhuǎn)化這一步,速度怎能更快?),因此 Performer 的價(jià)值就要打上個(gè)問號了,畢竟線性 Attention 的實(shí)現(xiàn)容易得多,而且是通用于長序列/短序列,Performer 實(shí)現(xiàn)起來則麻煩得多,只適用于長序列。

全文的總結(jié)

本文主要介紹了 Google 的新模型 Performer,這是一個(gè)通過隨機(jī)投影將標(biāo)準(zhǔn) Attention 的復(fù)雜度線性化的工作,里邊有不少值得我們學(xué)習(xí)的地方,最后匯總了一下各個(gè)改進(jìn)版 Transformer 的評測結(jié)果,以及分享了筆者對 Performer 的思考。

參考文獻(xiàn)

[1] https://arxiv.org/abs/2007.14062

[2] https://arxiv.org/abs/1703.00864

[3] https://en.wikipedia.org/wiki/N-sphere

[4] https://arxiv.org/abs/2009.06732

[5] https://arxiv.org/abs/2011.04006

更多閱讀

#投 稿?通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。

總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個(gè),讓知識真正流動(dòng)起來。

?????來稿標(biāo)準(zhǔn):

? 稿件確系個(gè)人原創(chuàng)作品,來稿需注明作者個(gè)人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請?jiān)谕陡鍟r(shí)提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志

?????投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨(dú)在附件中發(fā)送?

? 請留下即時(shí)聯(lián)系方式(微信或手機(jī)),以便我們在編輯發(fā)布時(shí)和作者溝通

????

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結(jié)

以上是生活随笔為你收集整理的Performer:用随机投影将Attention的复杂度线性化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。