《深度學(xué)習(xí)原理及應(yīng)用》課件 第11章Transformer模型_第1頁
《深度學(xué)習(xí)原理及應(yīng)用》課件 第11章Transformer模型_第2頁
《深度學(xué)習(xí)原理及應(yīng)用》課件 第11章Transformer模型_第3頁
《深度學(xué)習(xí)原理及應(yīng)用》課件 第11章Transformer模型_第4頁
《深度學(xué)習(xí)原理及應(yīng)用》課件 第11章Transformer模型_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第11章位置編碼Vaswani等人的Transformer架構(gòu)代表了Seq2Seq模型領(lǐng)域的一次革新。以其獨樹一幟的全注意力機制為核心,Transformer不僅展現(xiàn)了卓越的并行訓(xùn)練能力,更因其性能的顯著提升而迅速在自然語言處理(NLP)和最近的計算機視覺(CV)領(lǐng)域獲得了廣泛的應(yīng)用及認(rèn)可。隨著Transformer被整合進眾多主流深度學(xué)習(xí)框架,其易用性大大降低了研究人員進行實驗的門檻,使其快速普及。然而,這種普及的背后,可能伴隨著一個風(fēng)險:在方便的表面之下,研究者或許會忽視探索Transformer這一架構(gòu)更為深遠(yuǎn)和精妙的理論及機制。在上一章節(jié)中對主體架構(gòu)進行了詳解,因此本章節(jié)不去贅述Transformer的整體架構(gòu)這部分內(nèi)容。將聚焦于探討Transformer架構(gòu)中的一個核心元素位置編碼,這一部分是理解和運用Transformer模型不可或缺的關(guān)鍵知識點。位置編碼的重要性RNN的自然序列處理在所有語言中,單詞的位置和順序至關(guān)重要,它們不僅構(gòu)成了語法結(jié)構(gòu)的骨架,也直接影響到句子所傳達(dá)的意義。RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))以其天然的方式捕捉到了這一語言特性;它順序地處理輸入,與人類語言的自然流動保持一致,從而無須額外的位置編碼機制。Transformer的并行處理然而,Transformer架構(gòu)選擇了一條與RNN不同的路徑,它擯棄了遞歸的處理方式,轉(zhuǎn)而采用了多頭自注意力機制。這種設(shè)計策略極大地優(yōu)化了訓(xùn)練效率,允許模型并行地一次性處理整個序列,并且理論上能夠捕捉到更廣范圍的依賴關(guān)系。位置信息的缺失但這種設(shè)計同時也意味著模型在處理句子中的每個單詞時,缺乏對詞序和位置的直觀感知。雖然得到了并行處理的能力,卻犧牲了單詞在句子中位置的寶貴信息。因此,尋找一種能夠在保持模型并行計算優(yōu)勢的同時,又能讓模型捕捉到單詞位置信息的機制變得迫在眉睫。為了補償這種信息的缺失并賦予模型詞序感知能力,一個行之有效的解決方案是向模型中引入"位置編碼"。位置編碼旨在為每個單詞注入其在句子中的位置信息,這樣做不僅保留了單詞的順序感,也進一步增強了模型對語言結(jié)構(gòu)深層次認(rèn)知的能力。線性歸一化位置編碼基本原理采用將時間步分配,在[0,1]范圍內(nèi)給每個單詞賦予一個是數(shù)值。這種方法初步看來似乎是合理的,其中0標(biāo)志著句子的起始單詞,而1則指向句子的末尾。關(guān)鍵問題不過,這一方法暴露出了一個關(guān)鍵性的難題:在具體的數(shù)字范圍內(nèi)究竟包含了多少個單詞變得不明確。換言之,不同句子的時間步間隔缺乏一致性的解釋。實例分析設(shè)想在處理句子"我喜歡喝奶茶"的情況下,如果沿用0到1的范疇進行位置編碼,可能得到如下分配:0對應(yīng)"我",0.2對應(yīng)"喜",0.4對應(yīng)"歡",0.6對應(yīng)"喝",0.8對應(yīng)"奶",而1對應(yīng)"茶"。在這種情況下,0.4代表的是句子中的第三個字。不一致性問題然而,面對一個更長的句子,如"我喜歡吃東北豬肉燉粉條",應(yīng)用相同的編碼策略,則每個字符的位置編碼分別是:0對"我",0.1對"喜",0.2對"歡",0.3對"吃",0.4對"東",0.5對"北",0.6對"豬",0.7對"肉",0.8對"燉",0.9對"粉",1對"條"。在此例中,0.4所代表的位置信息是第五個字。由此可見,這一編碼方式的主要問題在于它無法保證在不同句子間維持時間步差值的一致性解釋。這種方法無法準(zhǔn)確反映不同句子中單詞位置的變化,從而在表示序列時缺乏必要的精確度和靈活性。即時間步會隨著編碼個數(shù)發(fā)生變化。整型值位置編碼簡單直觀的方法考慮到為每個時間步線性分配一個遞增的數(shù)字作為另一種嘗試,即固定時間步的長度。具體來說,就是將第一個單詞標(biāo)記為"1",第二個為"2",依此類推。明顯的局限性雖然這種方法簡潔直觀,但它面臨著幾個明顯的問題:數(shù)值可能會隨著句子長度的增加而變得非常大,且當(dāng)模型遇到比訓(xùn)練階段所見句子更長的實例時,可能會遭遇泛化問題,影響模型的適應(yīng)性。實例說明前文提到的時間步差值不一致指的是在不同句子中同一位置編碼可能代表不同的位置信息?,F(xiàn)在,如果采取固定差值為1的方案,雖看似為每個單詞提供了一致性的標(biāo)識,但實際上存在局限。訓(xùn)練限制假設(shè)在訓(xùn)練過程中,使用了最多200個不同的數(shù)字來表示位置,那么當(dāng)遇到一個包含超過200個單詞的句子模型將無法處理,這種方法事實上人為地限制了模型處理長句子的能力。因此,雖該編碼方式步長固定,簡化了位置的表示,但是其表現(xiàn)能力有限,實質(zhì)上它犧牲了模型的泛化和擴展能力。二進制位置編碼多維表示的優(yōu)勢在模型中位置信息的作用是施加在輸入嵌入(inputembedding)上的,與其使用單一的值來表示位置,不如使用采用維度與輸入嵌入相匹配的向量來表示位置,可能會是一種更實用的方案。這種方法使得位置信息的表達(dá)變得更為豐富多維,而不僅僅是簡單的標(biāo)量值。在尋求多維位置表示的過程中,二進制編碼作為計算機領(lǐng)域的基石,為一種有潛力的方案。比如說,如果模型的維度(dmodel)設(shè)置為3,那么可以利用下11-2所示的方式來構(gòu)造每個位置的向量編碼。二進制編碼的特點采用二進制編碼方式,得以通過固定長度的向量精妙地編碼較大范圍內(nèi)的數(shù)字,并確保了前文提及的步長一致性問題得到解決。在這種方法下,每個位置的數(shù)值均被界定在(0-1)之間,保證了編碼的有界性。然而,盡管二進制編碼提供了一種有效的方案來表示位置信息,其仍然存在問題,即由此產(chǎn)生的位置向量存在于一個離散的空間里,這意味著不同位置之間的躍遷在數(shù)值上是不連續(xù)的??梢灾庇^的看到是用二進制編碼的0-3的時候整個圖像位置中存在大量空隙位置是無法通過編碼實現(xiàn)的。而實際編碼期望的圖像是連續(xù)的對位置進行表達(dá)。簡而言之,理想的位置編碼方案應(yīng)能夠有效解決表達(dá)各種位置的問題,同時靈活地表示包括整數(shù)和浮點數(shù)在內(nèi)的豐富位置信息。若采用二進制編碼,雖能較好地處理整數(shù)位置信息如1,2,3,但當(dāng)面對浮點數(shù)位置信息,例如0.1,0.2時,二進制編碼的復(fù)雜度和冗余度便成為一個阻礙。而這也體現(xiàn)了離散數(shù)據(jù)在特定的取值范圍內(nèi)表現(xiàn)能力的有限。它僅能表示有限或可數(shù)的值,所以在表達(dá)數(shù)據(jù)時不如連續(xù)數(shù)據(jù)靈活。周期函數(shù)(sin)的位置編碼連續(xù)編碼的需求基于對二進制編碼的思考,期望得到連續(xù)的點位序列正弦函數(shù)的優(yōu)勢正弦函數(shù)既簡單又具有連續(xù)性,完美符合需求周期性特征通過調(diào)節(jié)波形參數(shù),實現(xiàn)周期的精確調(diào)整經(jīng)過上文中對多種編碼的討論,期望得到的編碼應(yīng)該滿足以下幾點特征:二進制編碼的多維度特性為處理不同長度的序列數(shù)據(jù)帶來了適應(yīng)性。具有確定性的步長。二進制編碼在[0,1]區(qū)間內(nèi)的有界性,這為模型提供了在計算過程中高效推理的能性,避免了對已排除編碼方案的重復(fù)計算。在此基礎(chǔ)上進一步思考,尋求的位置向量需要有界且連續(xù),正弦函數(shù)便是一個絕佳選擇,它在數(shù)學(xué)上既簡單又具有連續(xù)性,完美符合需求若將位置向量的每一個元素表示為正弦函數(shù)的值,便能夠創(chuàng)造出一個既連續(xù)又有界的位置編碼方式。二進制編碼的實現(xiàn)邏輯二進制權(quán)值對應(yīng)圖11-5揭示了二進制編碼的機制。各個元素位分別對應(yīng)于2^0,2^2,2^3等二進制權(quán)值。這一排列方式的優(yōu)點在于,它允許使用二進制位的不同組合來精確地映射一個十進制數(shù)列。周期性模式識別通過觀察,可以輕松識別出一個固定的模式:最低位(即第一個位置)的元素每增加20(即1)便完成一次循環(huán),而第二個位置的元素每增加21(即2)完成一次循環(huán),如此往復(fù)逐級上升。借助這一明確的規(guī)律,能夠無需單獨計算即可輕而易舉地推導(dǎo)出任何一個特定組合相對應(yīng)的十進制數(shù)值。十進制值推導(dǎo)借助這一明確的規(guī)律,能夠無需單獨計算即可輕而易舉地推導(dǎo)出任何一個特定組合相對應(yīng)的十進制數(shù)值。在尋求用連續(xù)且有界的函數(shù)來代替(0,1)區(qū)間內(nèi)的數(shù)值表示時,正弦函數(shù)的周期性特征提供了一個理想的解決方案。在設(shè)計該方案時,特別注意到二進制位置的周期性是規(guī)律性變化的,即序列中第一個元素?fù)碛凶疃痰闹芷?,而隨著位置的逐步升高,其周期呈現(xiàn)遞增趨勢。正弦函數(shù)(sin)正好擁有這樣一種獨特的性質(zhì),即通過調(diào)節(jié)其波形參數(shù),就能夠?qū)崿F(xiàn)周期的調(diào)整,使其能夠精確模擬二進制元素間的周期性變化。周期函數(shù)位置編碼實現(xiàn)利用正弦函數(shù)特性利用正弦函數(shù)的這一特性,可以為序列中的不同位置設(shè)定不同的周期,通過對正弦函數(shù)頻率的精確控制,精心構(gòu)造出一系列連續(xù)函數(shù),這些函數(shù)在本質(zhì)上與二進制計數(shù)的特性十分相似,只不過它們是在連續(xù)的數(shù)值域中表達(dá)。公式設(shè)計因此每一個向量的分量循環(huán)可通過控制正弦函數(shù)頻率,最終公式為下圖。其中,t表示目標(biāo)單詞在序列中的位置,i表示向量中的元素位置,用于調(diào)節(jié)頻率。位置向量生成通過將位置t和元素位置i結(jié)合,能夠為序列中的每一個位置t生成一個獨特的多維位置向量。在這種方案中,每個元素位置t使用不同頻率的正弦函數(shù)生成,頻率由1/2i控制。設(shè)計優(yōu)勢這種設(shè)計允許向量的不同元素以不同的頻率周期性變化,從而為模型提供了在處理序列時所需的豐富的位置信息。通過這種方式,模型能夠更精確地捕捉到序列中詞匯的相對和絕對位置關(guān)系,這對于提升模型對序列數(shù)據(jù)的處理能力至關(guān)重要。這樣的設(shè)計不但維持了二進制編碼的核心優(yōu)點,即位置的有序遞增和周期性變化,同時也使得位置信息的表示更為流暢和連續(xù),從而優(yōu)雅地橋接了離散和連續(xù)之間的差距。二維和三維正弦編碼可視化二維空間表示圖11-6展示了這種編碼方式在二維空間中的狀態(tài),即和上文二進制編碼一樣僅使用兩位進行編碼。直觀上,這種編碼方式正如所預(yù)期的那樣,在正負(fù)1的界限內(nèi)呈現(xiàn)平滑的振蕩,展示了其出色的連續(xù)性。三維空間表示圖11-7所示的三維空間展示了該編碼方法的獨特狀態(tài)。通過使用三維表示位置向量發(fā)現(xiàn)隨著維度提升至3,出現(xiàn)了一個有趣的現(xiàn)象:圖中點的顏色越深表示點位的重疊越多。這反映了隨著使用表達(dá)式sin?并且i增大,函數(shù)響應(yīng)的速度趨于緩慢的挑戰(zhàn)。這意味著,對較大的i值,即使相同的t值步長,也僅能引起函數(shù)值相對較小的變化。在三維空間中的視覺效果是,隨著i值的增大,相鄰點彼此的距離變得更短,導(dǎo)致這些點在視覺上顯得更為緊密,尤其是當(dāng)i達(dá)到很大的值時。進一步詳細(xì)說明,當(dāng)i值變得較大時,即使t發(fā)生變化,也對整體數(shù)值造成的影響變得不那么顯著。這種現(xiàn)象在對數(shù)據(jù)進行可視化時尤其值得關(guān)注,因為它可能掩蓋了數(shù)據(jù)中的關(guān)鍵特征。頻率調(diào)整的必要性具體示例以一個具體的例子來說,如果將Z軸的值設(shè)定為sin?,會發(fā)現(xiàn)在較大的t取值范圍內(nèi),數(shù)據(jù)點的變化相對較微小。如果i的值繼續(xù)增大,比如采用sin?或sin?這樣的表達(dá)式,這種變化的緩慢趨勢將變得更加明顯。隨著i值的增加,這種效應(yīng)會導(dǎo)致數(shù)據(jù)點在三維空間中趨于重合,從而使不同點之間的區(qū)分度大幅降低。公式修改因此將11-的分母部分修改為其中,d代表位置向量的總維度。通常與輸入的inputembedding的維度保持一致,以便于直接進行加法操作。修改優(yōu)勢這種修改使得能夠更靈活地調(diào)整每個位置編碼的頻率變化,確保即使在高維空間中,每個維度的變化也能保持足夠的敏感度。隨著維度的增加,這個加權(quán)因子幫助平衡了變化的速度,避免了在高i值時數(shù)值變化過于緩慢的問題,從而在整個位置向量中保持了足夠的差異性和細(xì)膩的動態(tài)變化范圍。這種方法不僅提高了編碼的精細(xì)度,也進一步增強了模型對位置信息的敏感度和表達(dá)能力。因此在設(shè)計和應(yīng)用位置編碼的時候,以保持?jǐn)?shù)據(jù)特征在可視化表示中的清晰性和辨別力。特別是在處理大規(guī)?;蚋呔S度數(shù)據(jù)時,保持對數(shù)據(jù)變化的敏感度是至關(guān)重要的,以確保模型能夠準(zhǔn)確地捕捉和利用這些信息。sin和cos交替位置編碼相對位置表示位置編碼不僅僅承載了描述單個位置的功能,還蘊含了表示相對位置的能力。這意味著,兩個位置之間的關(guān)系可以通過計算來精確捕捉,并且可以被量化和轉(zhuǎn)換。線性變換表示即使在數(shù)學(xué)上兩個位置可以表示為公式。PE_t+Δt=T_Δt*PE_t,PE_t是描述特定位置的向量,而T_Δt可以被視作一個執(zhí)行線性變換的矩陣,專門用于處理位置的變化。三角函數(shù)和角公式在上文中,位置編碼采用了正弦函數(shù),這種編碼形式是為了滿足周期性和連續(xù)性的需求而創(chuàng)造的。根據(jù)公式(11-3)的設(shè)想,通過應(yīng)用三角函數(shù)的和角公式,即可實現(xiàn)所需的編碼形式。正弦余弦組合將原本完全由正弦函數(shù)組成的位置向量換成了由正弦和余弦函數(shù)對組成的表示方式,每一對分別用正弦和余弦函數(shù)來表達(dá)它們,從而實現(xiàn)了對相對位置信息的精確捕獲。這種改進不僅擴展了位置編碼的表達(dá)能力,更為模型提供了在序列處理中理解和利用相對位置信息的強大能力。具體來說,將位置向量以正弦和余弦的函數(shù)對形式表示,增強了模型對序列中元素間相對變化敏感度,這對于提高序列數(shù)據(jù)處理任務(wù)的性能至關(guān)重要。Transformer的位置編碼數(shù)學(xué)定義在Transformer模型中的位置編碼,則采用了和上文相同的思想精準(zhǔn)捕捉序列中位置信息的窗口。設(shè)某一特定位置t,并賦予其一個獨特的位置編碼向量PEt,這個向量位于PE_t∈?d空間中,其中d=512表示該編碼向量的維度大小。1正弦編碼位置編碼可定義為下式行哦{sin(w_k,t),cos(w_k,t),ifi=2kifi=2k+1,其中w_k為:w_k=1/(10000^(2k/d))頻率遞減根據(jù)這個定義,頻率沿著向量維度遞減,從而在波長上形成了一個幾何級數(shù),范圍從2π到10000?2π。這意味著位置嵌入可以被視為一個向量,其各分量以不同的頻率振蕩,能夠有效地捕捉位置信息的周期性變化。向量表示為了更清晰地描述這一點,可以將位置嵌入PE_t表達(dá)為向量形式,隨著向量維度的增加,對應(yīng)的頻率wk呈現(xiàn)遞減趨勢,使得位置編碼在波長上形成了一個幾何級數(shù)。這種設(shè)計方式賦予了Transformer模型對序列中每個位置細(xì)微變化的敏感度,并使其能夠捕捉到位置信息的內(nèi)在動態(tài)變化。這在理解語言的結(jié)構(gòu)和語義方面至關(guān)重要,因為不同的位置信息對于語義理解和語言生成有著顯著的影響。Transformer位置編碼可視化可視化結(jié)果下圖展示了一個包含50個序列位置且位置編碼維度為128的位置編碼的可視化結(jié)果。通過這張圖,能夠直觀地觀察到位置編碼如何隨序列位置變化而變化。頻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論