从熵不变性看Attention的Scale操作
?PaperWeekly 原創 ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡
當前 Transformer 架構用的最多的注意力機制,全稱為“Scaled Dot-Product Attention”,其中“Scaled”是因為在 轉置相乘之后還要除以一個 在做 Softmax(下面均不失一般性地假設 ):
在《淺談Transformer的初始化、參數化與標準化》[1] 中,我們已經初步解釋了除以 的緣由。而在這篇文章中,筆者將從“熵不變性”的角度來理解這個縮放操作,并且得到一個新的縮放因子。在 MLM 的實驗顯示,新的縮放因子具有更好的長度外推性能。
熵不變性
我們將一般的 Scaled Dot-Product Attention 改寫成:
其中 是縮放因子,它跟 無關,但原則上可以跟長度 、維度 等參數有關,目前主流的就是 。
本文提出一個觀點:
為了使得模型結果能夠更好地泛化到未知長度,Attention 機制的設計應該使得 盡量具備熵不變性。
怎么理解這句話呢?首先,泛化到未知長度,指的是預測長度和訓練不一致時也能有不錯的效果,比如 訓練然后外推到 測試。我們知道,使用 RoPE 之類的相對位置編碼的模型,對長度具有比較好的外推性,但我們依然可以通過更好的設計來增強這種外推性,比如熵不變性就是其中之一。
具體來說, 可以視為 為條件、 為隨機變量的條件分布,它的熵為:
熵不變性是指, 應該對長度 不敏感。更具體一點,就是如果在已有的 token 基礎上,再補充幾個 token,那么新算出來各個 自然也會有所改變,但我們希望 不要有太大改變。
為什么希望熵不變呢?我們知道,熵是不確定性的度量(參考《“熵”不起:從熵、最大熵原理到最大熵模型(一)》[2]),換個角度想,我們可以將不確定性視為注意力的“聚焦程度”:如果熵為 0,那么注意力將聚焦到某一個 token 上,如果熵為 ,那么注意力均勻分布到所有 token 上。我們希望熵不變,是希望引入新的 token 后,已有的 token 依舊能同樣地聚焦到原來的 token 上,而不希望新 token 的引入過多地“分攤”了原有的注意力,導致求和結果顯著發生變化。
新的因子
根據熵不變性以及一些合理的假設,我們可以得到一個新的縮放因子,從而得到一種 Scaled Dot-Product Attention:
這里的 是一個跟 都無關的超參數,詳細推導過程我們下一節再介紹。為了稱呼上的方便,這里將式(1)描述的常規 Scaled Dot-Product Attention 稱為“Attention-O”(Original),而式(4)以及下面的式(5)描述的變體稱為“Attention-E”(Entropy Invariance)。
可能有讀者對引入了一個新參數感到不滿意,其實這個不難解決。我們知道當前主流的預訓練長度就是 512,所以我們假設主流的參數都是為 調試好的,所以當 的時候,上式應退化為普通的 Scaled Dot-Product Attention,即 ,推出 ,代入上式整理后得到:
這就去掉了超參數 ,下面的實驗也是用這個版本。
為了驗證該改動是否真如預期那樣能提高 Transformer 的外推效果,筆者分別用 Attention-O 和 Attention-E 分別訓練了一個 RoFormer small 版本,訓練任務為 MLM,訓練長度為 64,然后在不同長度的驗證集下比較 MLM 的準確率,結果如下:
從實驗結果可以看出,在與訓練長度一致 的情況下,Attention-O 和 Attention-E 的效果是很接近的,但是外推到更大的測試長度時,則明顯拉開了差距,比如 時 Attention-E 要比 Attention-O 高 10 個百分點以上的準確率,可真不是一星半點了。
推導過程
這一節我們介紹式(4)的推導過程。事實上,推導過程和假設都跟《最小熵原理(六):詞向量的維度應該怎么選擇?》中的幾乎是一樣的。
首先,我們代入 的表達式,就可以得到:
要注意,我們僅僅是要做一個半定量的估計,以確定適合的 來抵消部分長度的影響,讓熵完全不受長度影響是做不到的。所以,我們可以做一些假設,比如假設 是一個隨機變量,那么可以寫出:
將所有求和都用同樣的近似代替,我們得到:
留意到一般情況下 都是 Layer Norm 出來之后再接一個 Dense 層,而 Dense 層接近正交變換,所以我們近似地假設 都是模長為 的向量,所以 ;然后進一步假設 均勻地分布在半徑為 的球面上,那么對 的期望可以轉化為對 夾角的期望,即:
其中 服從的分布就是球面上任意兩個向量之間的夾角分布,我們在《n維空間下兩個隨機向量的夾角分布》討論過。接下來可以像《最小熵原理(六):詞向量的維度應該怎么選擇?》的“近似估計”一樣,用拉普拉斯近似得到:
因此,為了抵消長度 的影響,我們讓 ,從而得出 。當然,我們知道這只是估計,所以沒必要保留系數 0.24 了,倒不如直接引入超參數 ,使得:
這就是對應式(4)了。
相關結果
在閱讀 ACL 2022 的投稿論文時,發現上面有一篇《Overcoming a Theoretical Limitation of Self-Attention》[3],給出了相近的結果(論文4.3節的公式1):
不過,該論文并沒有太深刻的理論分析,只是構建了兩個特殊的 case 來測試 Attention 的性能,測試發現往縮放因子乘上 有助于泛化長度,所以就提出來了。
然而可以看出,如果按照默認約定 用自然對數的話,那么上式很明顯是不合理的,因為當 較大時,縮放因子過大,會導致嚴重的梯度消失。只不過該論文只是在機器翻譯上做實驗,測得都是 級別的序列,所以就沒有顯示出梯度消失問題。
文章總結
本文從熵不變性的角度重新推導了 Scaled Dot-Product Attention 中的 Scale 操作,得到了一個新的縮放因子。初步的試驗結果顯示,新的縮放因子不改變已有的訓練性能,并且對長度外推具有更好的結果。
參考文獻
[1] https://kexue.fm/archives/8620
[2] https://kexue.fm/archives/3534
[3] https://openreview.net/forum?id=qc9O2EtrMI-
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的从熵不变性看Attention的Scale操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老毛桃u盘工具怎么用 如何使用老毛桃U盘
- 下一篇: 一键pe怎么制作系统 “一键PE制作教程