Transformer 為什么能顛覆AI?一文讀懂"Attention Is All You Need" 精華
2017年,一篇名為《Attention Is All You Need》的論文橫空出世,直接廢掉了統(tǒng)治NLP十年的RNN和LSTM。
圖片
當時,幾乎所有自然語言處理(NLP)模型都在用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)或長短期記憶網(wǎng)絡(luò)(LSTM),但它們有個致命缺陷——訓練慢、難并行、長距離依賴捕捉差。
而這篇論文提出的Transformer,僅用純注意力機制(Self-Attention),就在機器翻譯任務(wù)上吊打所有模型,訓練速度還快了10倍!
今天,我們就來拆解這篇深度學習史上最重要的論文之一,看看它是如何徹底改變AI領(lǐng)域的。
?? 論文地址:https://arxiv.org/pdf/1706.03762
一、為什么需要Transformer?
在 Transformer 出現(xiàn)之前,自然語言處理領(lǐng)域主要依賴于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)來處理文本數(shù)據(jù)。
然而,這些傳統(tǒng)模型在處理復雜的自然語言任務(wù)時,逐漸暴露出了一些難以克服的局限性。
1.RNN的困境
RNN 是一種處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),它通過在時間步上循環(huán)傳遞信息來處理序列中的每個元素。
圖片
這種結(jié)構(gòu)使得 RNN 能夠捕捉序列中的時間依賴關(guān)系,在語言建模和機器翻譯等任務(wù)中取得了一定的成果。
然而,RNN 在處理長文本時存在嚴重的梯度消失或梯度爆炸問題。
由于 RNN 的循環(huán)結(jié)構(gòu),信息在傳遞過程中會不斷衰減或累積,導致模型難以捕捉長距離的依賴關(guān)系。
圖片
例如,在翻譯一個長句子時,句子開頭和結(jié)尾的信息很難有效關(guān)聯(lián)起來,這就限制了 RNN 在處理復雜語言結(jié)構(gòu)時的性能。
此外,RNN 的訓練速度也相對較慢,因為它需要按順序逐個處理序列中的元素,無法并行計算。
2.CNN的不足
CNN 在圖像處理領(lǐng)域取得了巨大的成功,其強大的特征提取能力也吸引了自然語言處理領(lǐng)域的研究者。
圖片
CNN 通過卷積操作在文本序列上提取局部特征,能夠捕捉到文本中的局部語義信息。
然而,CNN 在處理自然語言時也存在一些不足。
首先,CNN 的感受野相對固定,對于一些復雜的語言結(jié)構(gòu)和長距離依賴關(guān)系捕捉能力有限。
圖片
其次,CNN 無法像 RNN 那樣靈活地處理不同長度的序列,需要對文本進行填充或截斷等預處理操作,這可能會影響模型的性能。
?? 這時候,谷歌大腦團隊提出:既然RNN和CNN都有缺陷,不如徹底拋棄它們,只用Attention!
二、Transformer的三大突破
Transformer 的成功主要歸功于其三大核心創(chuàng)新:自注意力機制、多頭注意力機制和位置編碼。
圖片
這些創(chuàng)新不僅解決了傳統(tǒng)模型的局限性,還為自然語言處理任務(wù)帶來了前所未有的性能提升。
1.自注意力機制
自注意力機制(Self - Attention)是 Transformer 的核心思想之一。它能夠讓模型在處理序列中的每個元素時,同時關(guān)注到序列中的其他所有元素。
想象你在讀一句話時,大腦會自動聚焦關(guān)鍵詞——比如‘貓追老鼠’,你會更關(guān)注‘貓’和‘老鼠’的關(guān)系。自注意力機制做的正是這件事!
圖片
具體來說,自注意力機制通過計算每個元素與其他元素之間的相關(guān)性權(quán)重,模型可以動態(tài)地確定哪些元素對當前元素的表示更重要。
例如,在翻譯句子時,當模型處理到句子中的某個動詞時,它可以通過自注意力機制同時考慮與這個動詞相關(guān)的主語、賓語等其他元素,從而更準確地理解句子的語義。
自注意力機制的優(yōu)勢在于其能夠捕捉長距離依賴關(guān)系。 由于它不受序列長度的限制,模型可以有效地捕捉到序列中任意兩個元素之間的關(guān)系,無論它們相隔多遠。
此外,自注意力機制還可以并行計算,與 RNN 不同,它能夠同時處理序列中的所有元素,大大提高了模型的訓練速度。 這種并行計算的能力使得 Transformer 在處理大規(guī)模數(shù)據(jù)時具有顯著的優(yōu)勢。
圖片
2.多頭注意力機制
多頭注意力機制(Multi - Head Attention)是 Transformer 的另一個重要創(chuàng)新。 它通過將輸入數(shù)據(jù)分成多個不同的“頭”,每個頭學習序列中不同部分的信息。
單一注意力可能只關(guān)注一種關(guān)系(如主語-動詞),但實際語言復雜得多。Transformer用‘多頭’機制,同時關(guān)注多種關(guān)系!
圖片
這些頭可以關(guān)注到不同的語義特征、語法結(jié)構(gòu)等,最后將這些頭的學習結(jié)果合并起來,得到更全面的表示。
例如,一個頭可能專注于捕捉句子中的主謂賓結(jié)構(gòu),而另一個頭可能關(guān)注形容詞和名詞之間的修飾關(guān)系。
通過這種方式,多頭注意力機制能夠讓模型從多個角度理解序列,從而捕捉到更豐富、更復雜的模式。
多頭注意力機制提高了模型的表達能力和泛化能力。 由于模型能夠同時學習到序列中多種不同的關(guān)系和特征,它能夠更準確地表示文本的語義。
在面對新的、未見過的數(shù)據(jù)時,模型也能夠更好地進行處理和預測。
這種多角度的學習方式使得 Transformer 在各種自然語言處理任務(wù)中都表現(xiàn)出色,無論是文本分類、情感分析還是機器翻譯。
3.位置編碼
雖然自注意力機制能夠捕捉序列中元素之間的關(guān)系,但它本身并不考慮元素的位置信息。 然而,在自然語言中,元素的位置順序是非常重要的。
既然Transformer沒有RNN的順序結(jié)構(gòu),如何知道‘貓追老鼠’和‘老鼠追貓’的區(qū)別?答案:位置編碼!
例如,“狗咬人”和“人咬狗”語義截然不同。
為了解決這個問題,Transformer 引入了位置編碼。
位置編碼(Positional Encoding)是一種向量,它能夠表示元素在序列中的位置信息,并且與輸入數(shù)據(jù)相加后一起輸入到模型中。
圖片
位置編碼的引入使得 Transformer 能夠同時考慮元素之間的關(guān)系和位置順序。
這樣,模型在處理序列時,既能夠利用自注意力機制捕捉元素之間的關(guān)系,又能夠考慮元素的位置順序,從而更準確地理解序列的語義。
位置編碼的設(shè)計巧妙地彌補了自注意力機制的不足,使得 Transformer 能夠更好地處理自然語言數(shù)據(jù)。
三、如何碾壓傳統(tǒng)模型?
Transformer 的創(chuàng)新不僅使其在理論上具有優(yōu)勢,更在實際應(yīng)用中展現(xiàn)出了強大的性能。
它在多個自然語言處理任務(wù)中都取得了顯著的成果,碾壓了傳統(tǒng)的 RNN 和 CNN 模型。
1.性能提升
在機器翻譯任務(wù)中,Transformer 模型的性能遠超傳統(tǒng)的 RNN 和 CNN 模型。
如下圖,在 WMT(Workshop on Machine Translation)翻譯任務(wù)中,Transformer 模型取得了顯著的 BLEU 分數(shù)提升。
圖片
注:BLEU 分數(shù)是一種衡量翻譯質(zhì)量的指標,分數(shù)越高表示翻譯質(zhì)量越好。
除了翻譯任務(wù),Transformer 在文本分類、問答系統(tǒng)等其他自然語言處理任務(wù)中也展現(xiàn)出了強大的性能。
2.效率提升
由于 Transformer 模型可以并行處理序列中的元素,相比 RNN 模型,其訓練速度得到了極大的提升。
Transformer 模型能夠更好地利用現(xiàn)代的 GPU 等硬件資源進行并行計算。
硬件資源的高效利用進一步提高了模型的訓練效率,使得大規(guī)模的模型訓練成為可能。
3.后續(xù)研究
Transformer 架構(gòu)為后續(xù)的預訓練模型(如 BERT、GPT 等)奠定了基礎(chǔ)。
這些預訓練模型在自然語言處理領(lǐng)域取得了巨大的成功,推動了整個領(lǐng)域的發(fā)展。
圖片
Transformer 的成功激發(fā)了研究人員對自注意力機制、模型架構(gòu)等多方面的深入研究。
例如,研究人員不斷探索如何改進自注意力機制,提高模型的性能和效率。
同時,也出現(xiàn)了許多基于 Transformer 的變體模型,用于解決不同的自然語言處理問題。
結(jié) 語
《Attention Is All You Need》論文的出現(xiàn),標志著自然語言處理領(lǐng)域進入了一個新的時代。
Transformer 模型通過其創(chuàng)新的自注意力機制、多頭注意力機制和位置編碼,解決了傳統(tǒng)模型的局限性,為自然語言處理任務(wù)帶來了前所未有的性能提升。
本文轉(zhuǎn)載自????Fairy Girl????,作者:Fairy Girl

















