【《注意力算法理論基礎(chǔ)綜述》4000字】_第1頁
【《注意力算法理論基礎(chǔ)綜述》4000字】_第2頁
【《注意力算法理論基礎(chǔ)綜述》4000字】_第3頁
【《注意力算法理論基礎(chǔ)綜述》4000字】_第4頁
【《注意力算法理論基礎(chǔ)綜述》4000字】_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

注意力算法理論基礎(chǔ)綜述目錄TOC\o"1-3"\h\u11178注意力算法理論基礎(chǔ)綜述 1197491.1傳統(tǒng)的編碼器-解碼器模型 181861.1.1傳統(tǒng)的編碼器-解碼器模型結(jié)構(gòu) 1185881.1.1傳統(tǒng)編碼器-解碼器模型的問題 2221461.2注意力算法原理 250831.1.1注意力算法的目的 2274921.1.2注意力算法的結(jié)構(gòu) 3102381.1.3注意力權(quán)重的計(jì)算 448011.1.4注意力算法的其他表示形式 4292361.3注意力算法類別 5123761.3.1全局注意力算法 5280021.3.2硬性注意力算法 7261381.3.3局部注意力算法 71.1傳統(tǒng)的編碼器-解碼器模型1.1.1傳統(tǒng)的編碼器-解碼器模型結(jié)構(gòu)圖2-1編碼器-解碼器模型如圖2-1所示,傳統(tǒng)的編碼器-解碼器模型將輸入序列映射到一個(gè)可變長輸出序列,如圖7所示。編碼器將輸入序列為,編碼為固定長度的向量,并通過非線性變換輸出為一個(gè)固定長度的語義向量:在RNN模型中,。解碼器根據(jù)語義向量和位置前已經(jīng)生成的來預(yù)測并生成位置的輸出:其中和均為非線性轉(zhuǎn)化函數(shù)。1.1.1傳統(tǒng)編碼器-解碼器模型的問題傳統(tǒng)的編碼器-解碼器框架有兩個(gè)重大的問題有待解決:(1)傳統(tǒng)的編碼器必須將所有信息壓縮為一個(gè)固定長度的向量(稱其為語義向量),再將其傳遞給解碼器進(jìn)行解碼。這會(huì)導(dǎo)致在傳遞過程中部分信息的丟失,尤其在處理長序列任務(wù)時(shí),訓(xùn)練效果隨序列長度增加下降迅速。以RNN模型為例,編碼器必須將所有輸入信息壓縮成一個(gè)固定長度的向量,然后將其傳遞給解碼器。當(dāng)輸入序列過長時(shí),該模型會(huì)出現(xiàn)信息丟失的問題,以至于訓(xùn)練效果不佳。(2)傳統(tǒng)的編碼器-解碼器模型無法對(duì)輸入序列和輸出序列之間的對(duì)齊進(jìn)行建模,這是結(jié)構(gòu)化輸出任務(wù)(如翻譯或摘要)的一個(gè)重要方面。換句話說,在實(shí)際任務(wù)中,每個(gè)輸出序列會(huì)受到輸入序列的某些特定部分的影響更大。然而,解碼器缺乏在生成每個(gè)輸出序列時(shí)有選擇性地注意輸入序列的機(jī)制。1.2注意力算法原理注意力算法是由Bahdanau等人在《NeuralMachineTranslationbyJointlyLearningtoAlignandTranslate》中首次提出,本章以編碼器-解碼器模型下(編碼器、解碼器均選用遞歸神經(jīng)網(wǎng)絡(luò))的注意力算法為例對(duì)其原理進(jìn)行詳細(xì)介紹。如圖2-2所示,在傳統(tǒng)的RNN模型中,輸入序列為,其中是輸入序列的長度,并將其編碼為固定長度的向量。解碼器將單個(gè)固定長度向量作為其輸入,并逐個(gè)生成輸出序列,其中是輸出序列的長度,和分別表示位置的編碼器隱藏層狀態(tài)和位置解碼器的隱藏層狀態(tài)。圖2-2傳統(tǒng)的RNN模型1.1.1注意力算法的目的注意力算法通過允許解碼器訪問整個(gè)編碼的輸入序列來解決上述問題。注意力算法的目的是在計(jì)算解碼器隱藏層狀態(tài)和輸出序列時(shí),模型不再僅僅考慮編碼器所傳遞的一個(gè)固定長度的語義向量,而是對(duì)不同位置的解碼器隱藏層狀態(tài)和輸出序列引入不同的注意力分布得到不同的語義向量,以實(shí)現(xiàn)有選擇性地關(guān)注輸入序列的機(jī)制并且保留更多的輸入序列信息。1.1.2注意力算法的結(jié)構(gòu)注意力算法的結(jié)構(gòu)如圖2-3所示,該模型的注意力模塊會(huì)可以自動(dòng)捕獲編碼器隱藏狀態(tài)和解碼器隱藏狀態(tài)之間的相關(guān)性,并在此基礎(chǔ)上計(jì)算注意力權(quán)重。圖2-3注意力算法的結(jié)構(gòu)這些注意力權(quán)重用于構(gòu)建語義向量,并將該向量作為輸入傳遞給解碼器。在每個(gè)解碼位置,語義向量是編碼器所有隱藏狀態(tài)及其相應(yīng)注意力權(quán)重的加權(quán)平均,即:通過編碼器所有隱藏狀態(tài)及其相應(yīng)注意力權(quán)重進(jìn)行加權(quán)平均得到語義向量,這便是注意力算法的核心思想?;诖?,解碼器便能夠訪問整個(gè)輸入序列,也可以專注于輸入序列中的某些特定位置。這不僅可以提高模型處理任務(wù)的性能,還可以提高模型的輸出質(zhì)量。表2-1用數(shù)學(xué)公式分別表示了編碼器-解碼器體系框架下的傳統(tǒng)模型和加入注意力算法后的模型。其中,它們的區(qū)別主要在于語義向量的形成部分。在傳統(tǒng)模型中,語義向量僅通過編碼器的最后一個(gè)隱藏狀態(tài)獲得,但在加入注意力后,每個(gè)位置上的語義向量是編碼器的所有隱藏層狀態(tài)及其相應(yīng)注意力權(quán)重的加權(quán)平均。在表2-1中,表示非線性函數(shù),表示對(duì)齊函數(shù),表示注意力分布函數(shù)。表2-1加入注意力算法前后編碼器-解碼器模型比對(duì)未加入注意力加入注意力編碼器語義向量解碼器生成器1.1.3注意力權(quán)重的計(jì)算注意力權(quán)重的計(jì)算是通過在注意力算法中加入一個(gè)全連接層來實(shí)現(xiàn)的。該全連接層通過獲取編碼器隱藏狀態(tài)和解碼器隱藏狀態(tài)來學(xué)習(xí)特定的注意力權(quán)重。在全連接層獲取編碼器隱藏狀態(tài)和解碼器隱藏狀態(tài)后,利用對(duì)齊函數(shù)來計(jì)算編碼器隱藏狀態(tài)和解碼器隱藏狀態(tài)的相關(guān)程度,函數(shù)也被稱為對(duì)齊函數(shù)。然后將對(duì)齊函數(shù)值輸入至注意力分布函數(shù)中,該函數(shù)將對(duì)齊函數(shù)值進(jìn)行歸一化處理轉(zhuǎn)換為注意力權(quán)重,分布函數(shù)通常是softmax函數(shù)。同時(shí),我們可以發(fā)現(xiàn)構(gòu)成了模型的離散型注意力分布(或概率分布)。1.1.4注意力算法的其他表示形式注意力算法還有一種采用矩陣形式的通用表示方式,它可以看作是鍵值對(duì)通過查詢序列到注意力分布的映射,其中鍵序列是編碼器隱藏狀態(tài),值序列也是編碼器隱藏狀態(tài),查詢序列是解碼器隱藏狀態(tài)。注意力分布強(qiáng)調(diào)了在給定查詢序列時(shí),與任務(wù)最相關(guān)的鍵。除計(jì)算對(duì)象采用矩陣的形式外,其計(jì)算過程與1.2節(jié)中的的注意力算法無異:之后,該算法通過注意力權(quán)重及其相應(yīng)值序列進(jìn)行計(jì)算得到注意力函數(shù)值,即1.2節(jié)中所描述的語義序列:雖然Bahdanau等人提出的注意力算法中沒有區(qū)分鍵序列和值序列,即,但一些最新研究成果采用此形式表示相同輸入序列的不同表示形式。特別地,對(duì)于給定單個(gè)查詢向量,注意力函數(shù)的計(jì)算公式修改為(如圖2-4所示):圖2-4注意力函數(shù)的計(jì)算流程(給定給定單個(gè)查詢向量)1.3注意力算法類別本節(jié)將討論注意力的分類問題。我們將注意力算法按照計(jì)算注意力函數(shù)的輸入序列位置進(jìn)行分類,可分為以下三類,它們分別是:全局注意力(globalattention)算法、硬性注意力(hardattention)算法和局部注意力(localattention)算法。1.3.1全局注意力算法全局注意力算法需要依附于模型來進(jìn)行理解。在其核心思想上,全局注意力算法就是軟性注意力算法。此節(jié)我們重點(diǎn)關(guān)注的是注意力函數(shù)的計(jì)算。軟性注意力(softattention)算法是指在選擇信息的時(shí)候,先計(jì)算輸入序列的加權(quán)平均,再輸入到網(wǎng)絡(luò)中計(jì)算。現(xiàn)設(shè)輸入序列,其中單個(gè)輸入向量,并給定查詢向量。軟性注意力算法的計(jì)算可以分為兩步:一是計(jì)算注意力分布;二是根據(jù)注意力分布來計(jì)算輸入信息的加權(quán)平均。第一步:注意力分布的計(jì)算。下式計(jì)算在給定查詢向量和輸入序列的條件下,選擇第個(gè)輸入信息的概率:其中,為對(duì)齊函數(shù),用于計(jì)算輸入信息中第個(gè)向量與給定的查詢向量之間的相關(guān)程度。此外,采用softmax函數(shù)對(duì)進(jìn)行歸一化處理,使其映射至區(qū)間上。基于此,構(gòu)成了模型的離散型注意力分布(或概率分布)。表2-2為對(duì)齊函數(shù)的具體表達(dá)式,其中、和是可學(xué)習(xí)的模型參數(shù),是輸入向量的維度。表2-2對(duì)齊函數(shù)的表達(dá)式對(duì)齊函數(shù)名稱函數(shù)表達(dá)式加性對(duì)齊函數(shù)點(diǎn)積對(duì)齊函數(shù)縮放點(diǎn)積對(duì)齊函數(shù)雙線性對(duì)齊函數(shù)第二步:計(jì)算輸入序列的注意力函數(shù)值。采用軟性注意力算法,對(duì)輸入序列求加權(quán)平均,得到注意力函數(shù)值:對(duì)上述公式還有一個(gè)有趣的觀察角度。將其從概率的角度可理解為:注意力函數(shù)值是注意力分布的期望,即下圖展示了注意力函數(shù)值的求解過程:圖2-5軟性注意力算法的注意力函數(shù)值求解流程接下來我們將結(jié)合模型結(jié)構(gòu)詳細(xì)介紹全局注意力算法。全局注意力算法的核心思想體現(xiàn)在:計(jì)算語義向量時(shí)考慮編碼器的所有隱藏狀態(tài)(如圖2-6所示)。全局注意力機(jī)制中根據(jù)位置處的解碼器隱藏層狀態(tài)和每個(gè)編碼器隱藏層狀態(tài)計(jì)算注意力分布:其中,為對(duì)齊函數(shù),該函數(shù)具體表達(dá)式可參考表2-2。然后根據(jù)計(jì)算其加權(quán)平均值:即為全局語義向量。圖2-6全局注意力算法1.3.2硬性注意力算法硬性注意力(hardattention)算法是指選擇輸入序列某個(gè)特定位置上的信息?,F(xiàn)將輸入序列表示為,其中,給定查詢向量。硬性注意力的注意力函數(shù)值有以下兩種實(shí)現(xiàn)方式:(1)選取一個(gè)概率最大的輸入向量,即其中為概率最大的輸入序列的下標(biāo),即。(2)通過在注意力分布上隨機(jī)采樣的方式實(shí)現(xiàn)。硬性注意力算法的優(yōu)點(diǎn)為訓(xùn)練速度快,但是它的缺點(diǎn)也非常明顯。無論是基于最大采樣還是隨機(jī)采樣的方式來選擇信息,它都會(huì)使得損失函數(shù)與注意力分布之間的函數(shù)關(guān)系不可導(dǎo),無法使用反向傳播算法進(jìn)行訓(xùn)練。因此,硬性注意力算法通常需要使用強(qiáng)化學(xué)習(xí)來進(jìn)行訓(xùn)練。為了使用反向傳播算法,一般采用軟性注意力來代替硬性注意力。1.3.3局部注意力算法全局注意力算法的缺點(diǎn)是它必須訪問編碼器所有隱藏層狀態(tài)。這會(huì)導(dǎo)致當(dāng)它面對(duì)長序列問題(例如段落或文檔)時(shí),效率急劇下降。而硬性注意力算法無法使用反向傳播算法進(jìn)行訓(xùn)練,通常需要使用強(qiáng)化學(xué)習(xí)來訓(xùn)練。為了解決上述缺陷,本節(jié)介紹一種局部注意力算法,它只選擇性地訪問編碼器的部分隱藏層狀態(tài)。局部注意力算法的核心思想在于有選擇性地聚焦于一個(gè)小的信息窗口。這種方法的優(yōu)點(diǎn)是避免了全局注意力帶來的巨大的計(jì)算量,同時(shí)它又可以利用反向傳播算法進(jìn)行訓(xùn)練。如圖2-7所示,該機(jī)制首先為每個(gè)解碼器隱藏層狀態(tài)生成對(duì)齊位置,然后將窗口內(nèi)編碼器中的隱藏層狀態(tài)集進(jìn)行加權(quán)平均得到語義向量,其中是經(jīng)驗(yàn)值。與全局注意力算法不同,對(duì)于解碼器隱藏層狀態(tài),局部注意力算法的對(duì)齊向量是固定維度的,即。局部注意力算法的對(duì)齊位置有如下兩種計(jì)算方式下:單調(diào)對(duì)齊位置:簡單地將其設(shè)置為,假設(shè)編碼器序列和解碼器序列的注意力區(qū)域大致是單調(diào)排列的。再根據(jù)下述公式計(jì)算注意力分布:其中是屬于窗口中的編碼器隱藏層狀態(tài)。(2)預(yù)測對(duì)齊位置:該方式并非假設(shè)其單調(diào)排列,而是預(yù)測其對(duì)齊位置,并將其表示如下:其中,和是可學(xué)習(xí)的模型參數(shù),是輸入序列長度,故。為了加強(qiáng)對(duì)周圍點(diǎn)的關(guān)注,我們在傳統(tǒng)注意力分布函數(shù)后加入一個(gè)以為中心的截?cái)嗟母咚狗植?。換句話說,就是提高對(duì)窗口中靠近的編碼器隱藏層狀態(tài)的關(guān)注度,降低對(duì)窗口中遠(yuǎn)離的編碼器隱藏層狀態(tài)的關(guān)注度。注意力

溫馨提示

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

評(píng)論

0/150

提交評(píng)論