原創(chuàng) | 一文讀懂Transformer
作者:陳之炎 本文約3500字,建議閱讀7分鐘
Transformer 是第一個完全依賴于自注意力機制來計算其輸入和輸出的表示的轉(zhuǎn)換模型。


,計算所有K向量和Q向量的點積,分別除以
,并應用一個Softmax函數(shù)來獲得這些值的權重。實際上在self-Attention中,
,為了方便將Attention的計算轉(zhuǎn)化為矩陣運算,論文中采用了點積的形式求相似度。常見的計算方法除了點積還有MLP網(wǎng)絡,但是點積能轉(zhuǎn)化為矩陣運算,計算速度更快。
的縮放因子外,帶縮放的點積注意力機制采用的是點積注意力函數(shù),加注意力函數(shù)使用具有單個隱含層的前饋網(wǎng)絡來計算兼容性函數(shù)。雖然這兩者在理論復雜度上相似,但點積注意力函數(shù)更快,更節(jié)省空間,因為它可以使用高度優(yōu)化的矩陣乘法碼來實現(xiàn)。而對于
較小的值,這兩種機制的性能相似,但在不加大更大
的值的情況下,加注意力函數(shù)優(yōu)于點積注意力函數(shù)。對于較大的
值,點積相應變大,將Softmax函數(shù)推到梯度極小的區(qū)域。為了抵消這種影響,我們通過
來縮放點積。在編碼器-解碼器注意力層,Q值來自上一個解碼器層,K值和V值來自編碼器的輸出,從而使得解碼器的每一個位置信息均和輸入序列的位置信息相關,這種架構(gòu)模仿了序列到序列模型編解碼器注意力機制。 編碼器中包括自注意力層,在自注意力層中,Q 值、K值和V值均來自編碼器上一層的輸出,編碼器中的位置信息參與到前一層的位置編碼中去。 同理,解碼器中的自注意力機制使得解碼器中的位置信息均參與到所有位置信息的解碼中去。


可以表示為
的線性函數(shù)。
從三個因素來考量采用自注意力機制:首先是每一層計算的復雜程度;其次,是可以并行計算的計算量,用對序列操作的最小數(shù)目表示;第三,是網(wǎng)絡中最長相關路徑的長度。在序列學習任務中,對長序列相關性的學習是關鍵性的難點問題,前向和后向信號路徑的長度往往是影響學習效率的關鍵因素,輸入和輸出序列之間的位置越短,前向和后向信號路徑則越短,更容易學習到長序列的依賴關系,通過對比網(wǎng)絡中輸入輸出序列位置的最長通路路徑,來回答為什么采用自注意力機制來搭建Transformer模型。
表 3-1 不同層序列操作的的最大路徑長度、每層的復雜性和最小操作數(shù)
操作將序列的位置信息關聯(lián)起來,而RNN則需要對序列進行
次操作。從計算的復雜程度來看,當序列長度n小于表示向量的維度d 時,在機器翻譯任務中性能能達到最優(yōu)。為了提高超長輸入序列的計算性能,限制自注意力中的鄰域r的大小,從而會使得最長相關路徑的長度變?yōu)?/span>
。
層卷積層堆疊,使得最長相關路徑的長度變長。通常,CNN的訓練成本比RNN的訓練成本要高。4.1訓練數(shù)據(jù)和批次大小
4.2 硬件配置
4.3 優(yōu)化器

4.4 正則化
= 0.1。4.5 訓練結(jié)果

的4層Transformer。此外,還在半監(jiān)督設置下訓練它,使用更大的高置信度和伯克利解析器語料庫,大約1700萬語句。對《華爾街日報》的設置使用了16K標記詞匯,對半監(jiān)督的設置使用了32K標記詞匯。作者簡介
陳之炎,北京交通大學通信與控制工程專業(yè)畢業(yè),獲得工學碩士學位,歷任長城計算機軟件與系統(tǒng)公司工程師,大唐微電子公司工程師。目前從事智能化翻譯教學系統(tǒng)的運營和維護,在人工智能深度學習和自然語言處理(NLP)方面積累有一定的經(jīng)驗。
編輯:于騰凱
校對:林亦霖
數(shù)據(jù)派研究部介紹
數(shù)據(jù)派研究部成立于2017年初,以興趣為核心劃分多個組別,各組既遵循研究部整體的知識分享和實踐項目規(guī)劃,又各具特色:
算法模型組:積極組隊參加kaggle等比賽,原創(chuàng)手把手教系列文章;
調(diào)研分析組:通過專訪等方式調(diào)研大數(shù)據(jù)的應用,探索數(shù)據(jù)產(chǎn)品之美;
系統(tǒng)平臺組:追蹤大數(shù)據(jù)&人工智能系統(tǒng)平臺技術前沿,對話專家;
自然語言處理組:重于實踐,積極參加比賽及策劃各類文本分析項目;
制造業(yè)大數(shù)據(jù)組:秉工業(yè)強國之夢,產(chǎn)學研政結(jié)合,挖掘數(shù)據(jù)價值;
數(shù)據(jù)可視化組:將信息與藝術融合,探索數(shù)據(jù)之美,學用可視化講故事;
網(wǎng)絡爬蟲組:爬取網(wǎng)絡信息,配合其他各組開發(fā)創(chuàng)意項目。
點擊文末“閱讀原文”,報名數(shù)據(jù)派研究部志愿者,總有一組適合你~
轉(zhuǎn)載須知
如需轉(zhuǎn)載,請在開篇顯著位置注明作者和出處(轉(zhuǎn)自:數(shù)據(jù)派THUID:DatapiTHU),并在文章結(jié)尾放置數(shù)據(jù)派醒目二維碼。有原創(chuàng)標識文章,請發(fā)送【文章名稱-待授權公眾號名稱及ID】至聯(lián)系郵箱,申請白名單授權并按要求編輯。
未經(jīng)許可的轉(zhuǎn)載以及改編者,我們將依法追究其法律責任。
點擊“閱讀原文”加入組織~

