- Transformer-XL是為了解決Transformer 對于Long-term 依賴問題而提出來了,那么Transformer對于Long-term dependency 的支持不好嗎腋逆?
其實上面問題和“有了Transformer 之后還需要RNN嗎咐蚯?” 問題一樣瘩例,要回答這個問題需要明確RNN 和Transformer的特點惋戏,Transformer天生就比RNN 快炮捧,并且Self-Attention 相當(dāng)于是對有依賴的Tokens 建立短路驰徊,所有梯度更新自然要比RNN 快笤闯,但是Transformer獲得高性能同時犧牲了RNN的Long-Term Dependency 功能,RNN 天生就具備將歷史Token 作為當(dāng)前Token的特征輸入棍厂。所以Transformer 對于長文本來說是有硬傷的颗味。故RNN 和Transformer 的取舍還要要依據(jù)具體任務(wù)而定。
- Al-Rfou 提出了基于Transformer 的長文本解決方案有問題問題嗎牺弹?
有問題浦马,否則就沒有Transformer-XL了,具體問題如下:
- 將長文本分成長度相同的若干段张漂,每個段獨立訓(xùn)練晶默,段和段之間沒有信息交互,當(dāng)前段看不到之前段的信息航攒,造成Segment fragmentation 問題磺陡,并且段之間分開訓(xùn)練影響效果。
- 預(yù)測階段根據(jù)段的長度,每次只移動一個Token位置币他,也就是說下一段和當(dāng)前段的重合部分都需要重新計算坞靶,假設(shè)句子長度為L,段長為t蝴悉,則計算次數(shù)為L(L-1),其中L(L-1)-(L/t)都是重復(fù)計算彰阴,效率低下。
- Transformer-XL提出有哪些創(chuàng)新點拍冠?
因為RNN 具有l(wèi)ong-term能力尿这,Transformer 對段內(nèi)特征提取性能好,且計算速度快倦微,所以Transformer-XL 主要是將RNN 和 Transformer 結(jié)合,并提出了Relative Position Encoding正压。它的Rnn Mechanism 和 Relative Position Encoding的結(jié)合不僅解決了Long-term dependency 問題而且還解決了segment fragmentation 問題欣福。
- 什么是Segment-leve Recurrence?
Segment-leval 相對于vanilla Transformer 而言焦履,輸入發(fā)生了變化拓劝,Al-Rfou 提出的Segment Transformer 是將長句分成fixed-length 的segment,訓(xùn)練時各segment 之間沒有信息交互嘉裤,Transformer輸入是原始Word Embedding + Position Encoder郑临,Transformer-XL 為了解決信息交互問題,提出了Segment-Level Recurrence屑宠,每個Segment 計算完成之后厢洞,就將各層各Token的輸出緩存,以備后續(xù)Segment使用典奉。假設(shè)當(dāng)前Segment躺翻,第一層輸出為 (l0,l1,l2,l3),則下一個Segment 的輸出除了vanilla 輸入 還有前一層的輸出結(jié)果卫玖,t0的輸入包括(l1,l2,3)公你,具體參看論文。
- Segment-leve Recurrence帶來了什么好處假瞬?
- 訓(xùn)練時將pre-Segment 的信息傳遞到了after-Seggment陕靠,提高信息使用效率,對性能肯定有提升
- 提高Token的依賴長度脱茉,vanilla Trans 中Token 依賴長度就是Segment 長度剪芥,而Segment-Level Recurrence 的依賴長度隨著層數(shù)提高程指數(shù)增長,大大提高long-term 感知范圍
- 在預(yù)測階段琴许,可以以Segment 為單位處理輸入粗俱,因為pre-Segment 的結(jié)果都在緩存中,after-Segment可以直接使用,不需要重新計算寸认,將計算復(fù)雜度從L*(L-1)降低到L/t
- 什么是 Relateive Position Encoding?
RNN + Transformer 之后就需要解決一個段內(nèi)Position Encoder 問題签财,因為如果使用Vanilla Transformer 的PE,則任意兩個段相同位置的PE是相同的偏塞,這顯然是不正確的因為他們在句子中的絕對位置并不一樣唱蒸,對最終結(jié)果的權(quán)重也不同,所以Transformer-XL提出了Relative Position Encoding灸叼,其主要是將原來的Transformer 的Position Encoding 替換成了相對位置Encoder神汹;如果將Transformer Attention公式展開,就會發(fā)現(xiàn)一共4個部分古今,可以分別從上下文角度和位置角度看待屁魏,Trans-XL 是將展開的PE替換成了相對Encoder,將Key捉腥,拆成兩部分分別對應(yīng)Content Key 和Position Key氓拼,此外還有兩個待訓(xùn)練的向量,表示在計算 Attention score時 Content抵碟,和Position的權(quán)重桃漾。
以上只是個人拙見,有錯誤處還請各位指出拟逮。撬统。。