當前位置:編程學習大全網 - 源碼下載 - 位置編碼

位置編碼

/郭林科/TUPE

/s?id = 1605865371900016669。蜘蛛& ampfor=pc

圖像轉換器(2018)/sahajgarg/image _ Transformer

瓦斯瓦尼也是壹樣的作品。

第3.1節

在每個像素的表示上,我們添加了壹個維度坐標代碼。我們評估兩種不同的坐標表示:坐標的正弦和余弦函數,在不同的維度使用不同的頻率,它遵循瓦斯瓦尼的變換器;另壹種方法是嵌入壹個可學習的位置。因為我們想要表示兩個坐標,所以我們用它們來編碼行,用其他的來編碼列和顏色通道。(作者註意到他將圖像表示為,用於圖像生成任務。)

自我註意與相對位置表征

摘要:Vaswani等人(2017)推出的Transformer完全依靠註意機制,取得了機器翻譯的最新成果。與遞歸和卷積神經網絡相比,它不顯式地對結構中的相對或絕對位置信息進行建模。相反,它需要將絕對位置的表示添加到輸入中。在這項工作中,我們提出了另壹種方法,它擴展了自我註意機制,以有效地考慮相對位置的表示或序列元素之間的距離。在WMT 2014的英德文和英法文翻譯任務中,該方法分別比絕對位置表示法高1.3 BLEU和0.3 BLEU。值得註意的是,相對和絕對位置表征的結合並不會進壹步提高翻譯質量。我們描述了我們的方法的有效實現,並將其轉換為關系感知自我註意機制的特例,該機制可以擴展到任何意圖標簽的輸入。

1.介紹

從序列到序列模型的最新方法通常使用遞歸網絡、卷積網絡、註意機制或者遞歸網絡和註意機制的組合來構建網絡。這些方法以不同的方式包含序列中元素的位置信息。

遞歸網絡RNN通過其序列結構直接捕獲沿時間維度的相對和絕對位置。非遞歸模型不需要考慮元素的順序輸入,因此可能需要顯式編碼位置信息,以便能夠使用輸入的位置順序信息。

壹種常見的方法是將輸入元素的表示與其位置編碼相結合。位置代碼可以預先確定(Sukhbaatar等人,2015;Vaswani等人,2017),也可以通過學習獲得。卷積網絡自然地捕捉卷積核大小內的相對位置關系,然而,發現卷積網絡仍然受益於位置編碼(Gehring et al .,2017,卷積序列到序列學習)。

對於變換器來說,它既不包含遞歸結構,也不包含卷積運算,因此使用位置信息的顯示表示非常重要。否則,該模型對於序列順序是完全不變的。因此,基於註意的模型將使用位置編碼和基於距離的註意偏差權重。

本文提出了壹種有效的方法,將相對位置表示結合到轉換器的自註意機制中。我們的實驗表明,在兩種機器翻譯任務中,即完全用相對位置代替絕對位置編碼,翻譯質量都會有顯著提高。

我們的方法可以視為擴展轉換器中自註意機制的壹個特例,即考慮任意兩個輸入元素之間的任何相關性,這是我們在未來的研究計劃中探索有向標記圖建模的壹個方向。

2.背景

2.1轉換器

該轉換器采用編解碼結構,由編碼層和解碼層組成。編碼層由兩個子層組成:自我關註層,接著是位置前饋層。解碼層由三個子層組成:自我關註層,接著是編解碼關註層,然後是位置前饋層。它使用殘差連接來包圍每個子層,然後進行層歸壹化(2016)。解碼器在其註意力中使用掩蔽機制,以防止在訓練期間在下壹個輸出位置中使用未來位置信息。

在第壹層之前,基於具有變化頻率的正弦的位置編碼被添加到編碼器和解碼器的輸入元素。與可學習的位置表示不同,作者假設絕對位置編碼采用正弦編碼,有助於模型學習壹些相對位置關系,使模型在訓練時可以推廣到未知長度。在這壹點上,我們的相對位置表象也是為了這個目的。不同的是,它對整個序列長度的變化是不變的。

殘差拼接有助於將位置信息傳播到更高層。

2.2自我關註

使用來自註意子層的註意頭。子層的輸出是各個註意力頭輸出的拼接,然後連接到壹個參數化的線性映射層。

每個註意力頭的輸入是壹個元素序列,輸出是壹個相同長度的新序列,其中。

每個輸出元素都是輸入元素線性映射的加權和:

每個權重系數由softmax函數計算:

其中它是使用比較兩個輸入元素的兼容性函數來計算的:

兼容性函數選擇縮放的點積,因為它很快。輸入的線性變換增加了足夠的表達能力。

它是壹個參數矩陣。這些參數矩陣在每個層和每個註意力頭部中是唯壹的(即,不共享的)。

3我們提出的改進。

3.1關系感知自我關註

我們提出了自我註意的擴展版本,以考慮輸入元素之間的成對關系。在這個意義上,我們將輸入定義為壹個帶標簽的、有向的、完全連通的圖。

兩個輸入元素之間的邊用向量表示。為什麽要學習兩種不同的表征?式(3)和式(4)分別適合計算,不需要增加額外的線性變換。這些表情是不同的註意頭所共有的。我們成立了。

我們修改公式(1)以擴展子層輸出中的邊信息:

這種擴展對於壹些任務是重要的,也就是說,在這些任務中,由給定註意頭選擇的邊緣信息對於下遊編碼-解碼層是有用的。然而,正如4.3節所探討的,這對於機器翻譯任務可能不是必需的。

此外,我們修改公式(2)以在計算兼容性函數時考慮邊緣信息:

在公式(3)和(4)中,使用諸如加法的簡單計算方法來包括邊緣的表示,主要是因為它計算起來更快,如3.3節所述。

3.2相對位置的表示

對於線性序列,邊可以捕捉輸入元素之間相對位置差異的信息。我們考慮對最大相對位置之差的絕對值設置壹個上限,也就是做壹個剪貼剪輯。我們懷疑準確的相對位置信息。設置壹個上限也能使模型更好的泛化,這樣就可以在訓練時擴展到看不見的長度。因此,我們考慮使用的邊標簽有不同的值。

然而,我們學習相對位置表示和,其中。

3.3高效計算

正如Velickovic等人(2017)指出的,在考慮輸入元素之間的邊關系時,會有實際的空間復雜度問題。本研究的重點是將無標記圖作為註意力模型的輸入。

對於長度為和數量為的註意頭,我們通過表示每個註意頭之間的相對位置將空間復雜度從降低到。此外,相對位置表示可以在序列之間共享。因此,自我註意的整體空間復雜度從100增加到100 .由於設置的原因,相對增量取決於。

Transformer使用並行矩陣乘法,高效計算壹批中所有序列、頭和位置的自關註度(Vaswani et al .,2017)。當沒有相對位置表示時,每個都可以計算為並行和的矩陣乘法。每個矩陣乘法計算序列的註意報頭中的所有位置。對於任何序列和註意頭,這要求每個位置在計算與不同的其他位置的兼容性函數時使用相同的位置表示。

當我們使用相對位置時,不同的位置對有不同的表示。這使得不可能在單個矩陣乘法中計算所有的位置對。我們還希望避免在計算中廣播相對位置。這兩個問題都可以通過將等式(4)分成兩項來解決:

第壹項與公式(2)相同,可以用上述方式計算。對於包含相對位置信息的第二項,張量整形可用於計算兩個並行和的矩陣乘法。每個矩陣乘法計算特定位置所有批次和所有註意力頭的貢獻。進壹步整形可以增加這兩項。公式(3)的計算效率也可以以相同的方式優化。

我們的機器翻譯實驗表明,每秒的步長適度減少了7%,但我們可以在P100 GPU上保持與Vaswani等人(2017)相同的模型和批量。

實驗

我們使用張量2傳感器1庫來訓練和評估我們的模型。

我們在WMT 2014機器翻譯任務中評估了我們的模型,使用了WMT 2014英德數據集(包含約450萬個句子對)和WMT 2014英法數據集(包含約3600萬個句子對)。在所有實驗中,我們將標記劃分為32,768個單詞的詞匯(吳等,2016)。我們根據近似長度批量處理句子對,並將每批輸入和輸出標簽限制為每GPU 4096個。每個訓練批次包含大約25,000個源令牌和25,000個目標令牌。

我們用Adam優化器(Kingma和Ba,2014),b1=0:9,b2=0:98,E=10-9。我們使用和Vaswani等人(2017)壹樣的預熱和衰減學習率策略,* * *有4000個預熱步驟。在訓練期間,我們采用了la-bel平滑法,其值E ls=0:1(Szegedy等人,2016)。對於評估,我們使用波束搜索,波束大小為4,長度懲罰為0:6(吳等,2016)。

對於我們的基本模型,我們使用6個編碼器和解碼器層,dx=512,dz=64,8個註意頭,1024個前饋內部維度,P dropout=0:1。當使用相對位置編碼時,我們使用裁剪距離k=16,並且對每個層和頭部使用唯壹的邊緣表示。我們在不使用檢查點平均值的情況下,在8k40gpu上訓練了100000步。

對於我們的大模型,我們使用六個編碼器和解碼器層,dx=1024,dz=64,16個註意頭,4096個前饋內層大小,以及EN-DE = 0: 3的Pdropout和EN-FR = 0: 1的Pdropout。當使用相對位置編碼時,我們使用k=8,並且每壹層使用唯壹的邊緣表示。我們在8個P100 GPU上訓練了30萬步,每10分鐘保存最後20個檢查點。

4.2機器翻譯

我們將僅使用相對位置表示的模型與使用正弦位置編碼的基線變換器(Vaswani等人,2017)進行比較。我們生成了基線結果,以將相對位置表示的影響與底層庫和實驗室配置中的任何其他變化隔離開來。

對於英語轉德語,對於基本配置和大配置,我們的方法分別比基線提高了0.3和1.3 BLEU的性能。英轉法,基礎配置和大配置分別提升0.5和0.3 BLEU。在我們的實驗中,除了相對位置表示,正弦位置編碼沒有給我們帶來任何好處。結果見表1。

改變模式

我們做了許多實驗來修改這個模型。本節中的所有實驗都使用沒有任何絕對位置表示的基本模型配置。BLEU Score使用開發集new-stest2013計算WMT英語-德語任務的分數。

我們評估改變最大絕對相對位置差的剪切距離k的影響。值得註意的是,對於k & gt=2,BLEU評分好像變化不大。然而,當我們使用多個編碼器層時,精確的相對位置信息可能會傳播到剪切距離之外。結果如表2所示。

在ij.3節中,我們評估了兩種相對位置的影響。僅在確定元素之間的兼容性時包括相對位置表示可能就足夠了,但是需要進壹步的工作來確定這是否適用於其他任務。結果如表3所示。

本文提出了壹種擴展到自我註意的相對位置信息,可以用來合並序列,從而提高機器翻譯的性能。對於未來的工作,我們計劃擴展這種機制,以考慮變壓器的任意方向和標記的圖形輸入。我們還對結合了輸入表示和邊緣表示的非線性相容函數感興趣。對於這兩個擴展,壹個關鍵的考慮將是確定有效的實現。

  • 上一篇:2022最火的傳奇版本是哪個
  • 下一篇:關於知識競賽的問題?
  • copyright 2024編程學習大全網