淺談 Transformer-based 模型中的位置表示

重磅干貨,第一時間送達

作者:徐嘯 (哈工大SCIR直博生,導師車萬翔老師)

知乎專欄:自然語言處理學習之旅 (原文鏈接即可直接訪問)https://zhuanlan.zhihu.com/p/92017824

作者其它文章推薦:

T5: Text-to-Text Transfer Transformer 閱讀筆記

ELECTRA: 更具計算效率與參數效率的文本編碼器

干貨|NCRF++學習筆記

-----------------------------------------------------------

本文小結:本文主要對原始 Transformer[1]、RPR[2]以及 Transformer-XL[3] 中使用的位置表示方法,進行詳細介紹。從最初的絕對位置編碼,與單詞嵌入相加作為第一層的輸入,再到 RPR 提出直接在注意力分數的計算中引入相對位置信息,并學習相對距離的表示矩陣(長度固定),再到 Transformer-XL 中引入偏置信息,并重新使用 Transformer 中的編碼公式生成相對距離的表示矩陣,使長度可泛化。

需要注意的是,后兩文中均有一些矩陣計算上的優化,本文并未提及,還請感興趣的讀者自行閱讀相關內容。

感興趣的讀者可以關注一下我的專欄,會持續分享自己的學習筆記~

自然語言處理學習之旅zhuanlan.zhihu.com

如有疏漏之處,還望不吝賜教~

0. 位置信息

首先簡單談一下位置信息。一般將位置信息簡單分為絕對位置信息和相對位置信息,并且前者對句子語義的影響不大,更為重要的是后者。

以情感分析 sentiment analysis 為例:

I like this movie because it doesn"t have an overhead history. Positive

I don"tlike this movie because it has an overhead history. Negative

don’t 與like的相對位置不同,決定了這兩句話的情感取向是一正一負的,但在傳統詞袋(Bag-Of-Words BOW)模型中,這兩句話得到的句子表征卻是一致的,可見單詞的相對位置對語義有關鍵性影響。

再以命名實體識別 Named Entity Recognition 為例[4]:

一般而言,在 Inc. 之前的單詞為 ORG 而在 in 之后為 TIME 或 LOC ,但是同為 Louis Vuitton ,與 Inc. 相距較遠的為PER,指的是創立者(人)這一實體,而相距較近的為ORG,指的是組織(公司)這一實體。可見,單詞之間的相對位置在 NER 任務中是十分重要的。

需要注意的是,相對位置是具有方向性的(Inc. 與 in 的相對距離為 -1,1854 與 in 的相對距離為 1)

那么,如何對位置信息進行表示呢?

下文結合原始 Transformer,RPR,Transformer-XL 以及相關變體,試解釋位置信息的表示問題。

1. 原始 Transformer [1]

原始 Transformer 中使用 Positional Encoding 生成固定的位置表示。

因此,借助上述正余弦公式,我們可以為每個位置生成d_mode維的位置向量。為什么會選擇如上公式呢?作者表示:

We chose this function because we hypothesized it would allow the model to easily learn to attend by relative positions, since for any fixed offset k, PE_{pos+k} can be represented as a linear function of PE_{pos}.

已知三角函數公式如下:

作者希望借助上述絕對位置的編碼公式,讓模型能夠學習到相對位置信息。

雖然如此獲得的 position embeddings,兩者之間的點積能夠反應相對距離,但它缺乏方向性,并且這種特性(相對距離)會被原始 Transformer 的注意力機制破壞:[4]

基于公式 (1),位置t的位置嵌入可以表示為:

TENER 一文中對點積結果的可視化

TENER 一文中對包括映射矩陣后的點積結果的可視化

最后,Transformer 之前的《Convolutional Sequence to Sequence Learning》[5] 以及之后的 BERT[6] 都沒有選擇使用 Positional Encoding 的方式生成位置表示,而是采取了所謂的“learned and fixed”的可學習的 Position embedding ,也就是去訓練一個嵌入矩陣,大小為L_max*d,這里暫且按下不表。

2. 相對位置表示[2]

Relative Position Representations(以下簡稱為RPR) 一文中認為,RNN 通常依靠其循環機制,結合t時刻的輸入和前一時刻的隱層狀態 h(t-1)計算出ht,直接通過其順序結構沿時間維度捕獲相對和絕對位置。而非 RNN 模型不需要順序處理輸入,則需要顯式編碼才能引入位置信息。

另外,作者認為精確的相對位置信息在超出了一定距離之后是沒有必要的,并且截斷后會使得模型的泛化效果好,即可以更好的泛化到沒有在訓練階段出現過的序列長度上。

這里試舉一例幫助理解。當輸入句子長度為 12 且 k = 4 時, RPR 的嵌入矩陣為:

不過,論文在對機器翻譯任務進行消融實驗時發現,a_{i,j}^{V}可能并不是必要的,第3節中的 Transformer-XL 也略去了這一項。

3. Transformer-XL[3]

Al-Rfou et al. (2018) [8]成功在字符級語言建模中訓練了深度(64 層) Transformer 網絡,效果超越了 LSTM,但是其輸入為分離的、固定長度(幾百個字符)的片段,并且沒有跨片段的信息傳遞。由于固定的上下文長度,模型無法捕獲超出預定義的上下文長度的任何長期依賴。另外,固定長度的片段是通過選擇連續的字符塊而創建的,并未考慮句子邊界或任何其他語義邊界。因此,該模型缺乏必要的上下文信息來較好地預測最初的幾個符號,這會導致無效的優化和較差的性能。

作者將此問題稱為上下文碎片(context fragmentation)。如果給定無限的存儲和計算能力,一個簡單的解決方案就是使用無條件的 Transformer 解碼器來處理整個上下文序列,類似于前饋神經網絡。然而在實踐中由于資源有限,通常是不可行的。為了解決這一問題,作者提出了片段循環機制(segment-level recurrence) 和新的相對位置編碼(Relative Positional Encodings)方法。[9]

動態演示: vanilla model 的訓練過程

首先深入探究 Al-Rfou 等人的做法,下文將其稱為 vanilla model。如上圖 1.a 所示, vanilla model 將整個語料庫拆分為長度受限的片段,并且只在每個片段內訓練模型,忽略了來自先前片段的所有上下文信息。這使得訓練過程中,信息不會在 forward 或 backward 過程中跨片段流動,而且這使得最大依賴長度受到了片段長度的限制(這本是 Self-attention 的優勢)。其次,雖然可以通過 padding 來考慮句子邊界或任何其他語義邊界,但是在實踐中直接簡單分塊已成為提高效率的標準做法。這也就是作者說的上下文碎片問題。

動態演示: vanilla model 的評估過程

在評估過程中,vanilla model 也在每一步中消耗與訓練中相同長度片段,但僅在最后一個位置進行預測。然后,在下一步僅將片段向右移動一個位置,并且重新進行計算。如圖 1.b 所示,如此可確保每一步預測都能利用訓練期間暴露的最長可能上下文,并且還緩解了訓練中遇到的上下文碎片問題。但是,這種評估過程太過昂貴。

這里我們先來看 XL 中的片段循環機制。引入循環機制,在訓練過程中,前一片段中的隱藏狀態序列(每一層都)會被固定并緩存,以便在處理下一片段時使用其作為「擴展上下文」。如圖 2.a 所示,綠色部分表示當前片段使用的擴展上下文。對于每一層而言,輸入為前一片段以及當前片段的前一層的輸出,從而可以保證對長期依賴的建模能力并避免了上下文碎片問題。

動態演示: Transformer-XL 的訓練過程

動態演示: Transformer-XL 的評估過程

基于片段循環機制,不僅可以獲得更長的上下文從而解決上下文碎片問題,而且可以加快評估速度。在評估過程中,XL 可以重復使用先前片段中的表示,不需要像 vanilla model 那樣重新計算。最后,理論上講,可以在 GPU內存允許的范圍內緩存盡可能多的片段作為擴展的上下文,并將可能跨越了多個片段的舊隱藏狀態稱為 Memory,在論文的實驗中,M 在訓練時設置為片段長度,評估過程中則會增加。

在借助上述文字充分理解片段循環機制后,再來看為了在 Transformer 中實現這一機制而提出的 Relative Positional Encodings。

下面對改動進行一一解釋。

本文認為此時的公式中的每一項都尤其直觀含義:

參考

^abAttention Is All You Need https://arxiv.org/abs/1706.03762

^abSelf-Attention with Relative Position Representations https://arxiv.org/abs/1803.02155

^abTransformer-XL: Attentive Language Models Beyond a Fixed-Length Context https://arxiv.org/abs/1901.02860

^abcTENER: Adapting Transformer Encoder for Name Entity Recognition https://arxiv.org/abs/1911.04474

^Convolutional Sequence to Sequence Learning https://arxiv.org/abs/1705.03122

^BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/abs/1810.04805

^How self-attention with relative position representations works https://medium.com/@_init_/how-self-attention-with-relative-position-representations-works-28173b8c245a

^Character-Level Language Modeling with Deeper Self-Attention https://arxiv.org/abs/1808.04444

^Google AI Blog https://ai.googleblog.com/2019/01/transformer-xl-unleashing-potential-of.html

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

http://www.uswqb.club/style/images/nopic.gif
分享
評論
首頁
高速公路之王电子游艺
快乐10分公告 武汉赖子麻将官方网站 福利彩票双色球开奖 足彩大赢家比分直播 捕鱼王者战争 宝博棋牌娱乐 福州麻将教学视频 5分pk10计划 大众麻将游戏大厅 北京11选5走势图一定牛 免费平特三连肖 打海南麻将必胜绝技 体彩云南十一选五开奖 黑龙江省36选7开奖号码 nba比分博彩火箭 新疆体彩11选5