【《注意力算法下的GRU模型分析案例》4100字】_第1頁
【《注意力算法下的GRU模型分析案例》4100字】_第2頁
【《注意力算法下的GRU模型分析案例》4100字】_第3頁
【《注意力算法下的GRU模型分析案例》4100字】_第4頁
【《注意力算法下的GRU模型分析案例》4100字】_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

注意力算法下的GRU模型分析案例1.1傳統(tǒng)的GRU模型門控循環(huán)單元(GatedRecurrentUnit,GRU)模型是一種特殊的編碼器-解碼器模型,GRU模型的提出是為了更好地捕捉時間序列中時間步距離較大的依賴關系,它通過可學習的“門”來控制信息的流動。下面介紹GRU模型的設計,它在傳統(tǒng)的RNN模型基礎上引入了重置門(Resetgate)和更新門(Updategate)的概念,從而修改了循環(huán)神經(jīng)網(wǎng)絡中隱藏層狀態(tài)的計算方式(如圖3-1所示)。注意,此處的隱藏層狀態(tài)包括了編碼器與解碼器的隱藏層狀態(tài)。圖3-1GRU結(jié)構(gòu)示意圖GRU模型中的重置門和更新門的輸入均為當前時刻的輸入向量與隱藏層狀態(tài),輸出由激活函數(shù)為函數(shù)的全連接層計算得到。對于時刻的輸入向量和上一時刻的隱藏層狀態(tài)。重置門和更新門計算如下:其中是函數(shù),函數(shù)可以元素的值變換到范圍內(nèi),因此重置門和更新門中每個元素的值域都是。是向量嵌入矩陣,、、、均是可訓練的權(quán)重矩陣,、是偏差向量。之后,門控循環(huán)單元將計算候選隱藏狀態(tài)來輔助稍后的隱藏層狀態(tài)計算。我們將當前時刻重置門的輸出與上一時間步隱藏層狀態(tài)做按元素乘法(符號為⊙)。如果重置門中元素值接近0,這表示丟棄上一時刻的隱藏狀態(tài);如果重置門中元素值接近1,那么表示保留上一時刻的隱藏狀態(tài)。然后,將按元素乘法的結(jié)果與當前時刻的輸入連結(jié),再通過含激活函數(shù)的全連接層計算出候選隱藏層狀態(tài),其所有元素的值域為[?1,1]。時刻的候選隱藏層狀態(tài)的計算為:其中、均是可訓練的權(quán)重矩陣,是偏差向量。從上面這個公式可以看出,重置門控制了上一時刻隱藏層狀態(tài)如何流入當前時間步的候選隱藏狀態(tài)。因此,重置門可以用來丟棄與預測無關的歷史信息。最后,時刻的隱藏層狀態(tài)的計算使用當前時間步的更新門來對上一時刻隱藏層狀態(tài)和當前時刻的候選隱藏層狀態(tài),計算公式如下:GRU模型除隱藏層計算方式與RNN模型不同外,其余均與RNN模型相同,故其完整結(jié)構(gòu)可參考第二章RNN模型內(nèi)容,不在此贅述。1.2注意力算法下GRU模型的構(gòu)建傳統(tǒng)的GRU模型需要將所有輸入信息壓縮為一個固定長度的向量,再將其傳給解碼器進行解碼,這會導致在傳遞過程中部分信息的丟失,尤其在處理長序列任務時,訓練效果隨序列長度增加下降迅速。此外,傳統(tǒng)的GRU模型無法對輸入序列和輸出序列之間的對齊進行建模。換句話說,在實際任務中,每個輸出序列會受到輸入序列的某些特定位置的影響更大,然而解碼器缺乏在生成每個輸出序列時有選擇性地注意輸入序列的機制。本節(jié)將傳統(tǒng)的GRU模型中加入注意力算法,以解決上述問題并進一步提高模型準確率、降低任務時間成本。注意力算法下的GRU模型模型的輸入序列表示如下:并輸出分類結(jié)果:注意力算法下的的GRU模型屬于編碼器-解碼器模型范疇,該模型結(jié)構(gòu)如圖2-2所示。圖2-2注意力算法下的GRU模型結(jié)構(gòu)下面對該模型的各板塊進行詳細說明。1.2.1GRU編碼器注意力算法下的GRU模型編碼器與傳統(tǒng)的GRU模型編碼器相同,故GRU編碼器的隱藏層狀態(tài)計算公式為:其中,是sigmoid函數(shù),通過這個函數(shù)可以將數(shù)據(jù)變換為范圍內(nèi)的數(shù)值,從而來充當門控信號。是向量嵌入矩陣,、、、、、均是可訓練的權(quán)重矩陣,、、是偏差向量。重置門控用于控制前一時刻的隱藏層狀態(tài)更新到當前候選隱藏層狀態(tài)的程度,更新門控用于控制前一時刻的隱藏層狀態(tài)更新到當前隱藏層狀態(tài)的程度。1.2.2對齊函數(shù)的選擇本小節(jié)是與傳統(tǒng)的GRU模型區(qū)別最大的部分,注意力算法下的GRU模型將單個語義向量變更為對應不同輸出向量的多個語義向量。在對齊函數(shù)的選擇上,我們使用雙線性對齊函數(shù):其中,是可學習的權(quán)重矩陣。故可通過對齊函數(shù)求得時刻的語義向量,其計算公式如下:其中,表示編碼器第個詞與解碼器第個詞的注意力權(quán)重,且它們的值之和為1。本模型采用了全局注意力機制,語義向量包含了整個輸入序列的信息。1.2.3GRU解碼器給定來自GRU編碼器的隱藏層狀態(tài),現(xiàn)計算GRU解碼器的隱藏層狀態(tài)如下:其中是向量嵌入矩陣,、、、、、、、、均是可學習的權(quán)重矩陣,、、是偏差向量。初始隱藏層狀態(tài)為,其計算公式為:其中也是可學習的權(quán)重矩陣。1.3模型實驗及其結(jié)果分析1.1.1數(shù)據(jù)集在過去的實驗中,含有注意力算法的模型實驗大多選取的數(shù)據(jù)集為針對自然語言處理的語料庫或者針對計算機視覺的圖像庫。本實驗則是新穎的采用了申請投保人的保險數(shù)據(jù)作為數(shù)據(jù)集。其中訓練集和測試集均包含59381組投保人信息,每組投保人信息包含132列子信息,其子信息具體含義及數(shù)目由表3-1表示。表3-1投保人子信息列表變量變量含義數(shù)量一組與所申請保險相關的標準化變量7申請人年齡1申請人身高1申請人體重1申請人身體質(zhì)量指數(shù)1一組與申請人的工作經(jīng)歷有關的變量6一組提供有關申請人信息的變量6一組與申請人的保險歷程有關變量9一組與申請人的家族史有關的變量5一組與申請人的病歷有關的變量41與申請人有關的與醫(yī)學關鍵字的相關/不相關的一組變量48申請人風險等級11.1.2模型參數(shù)設置由于1.2節(jié)中注意力下的GRU模型均使用符號進行表示,故本節(jié)將對每部分內(nèi)容的具體參數(shù)設定進行詳細說明,如表3-2所示。表3-2注意力下的GRU模型參數(shù)名稱、含義及其數(shù)值參數(shù)參數(shù)含義數(shù)值大小emb_dim數(shù)據(jù)嵌入層維度28hidden_dimGRU隱藏層輸出維度32n_layersGRU隱藏層數(shù)目2attention_dim注意力層輸入數(shù)據(jù)的維度32nlabels分類的總數(shù)目8lr模型學習率0.01batchsize每次訓練數(shù)據(jù)組數(shù)161.1.3損失函數(shù)計算模型中使用的損失函數(shù)是常用的交叉熵損失函數(shù):其中,表示每組樣本集的實際結(jié)果,表示模型預測結(jié)果,和表示兩個不同的獨立分布。交叉熵損失函數(shù)用判定實際的輸出與期望的輸出的接近程度,下面簡單介紹一下交叉熵損失函數(shù)的數(shù)學原理。設某一事件發(fā)生的概率為,其信息量表示為(其中是一個離散型隨機變量):而信息熵用來表示所有信息量的期望,即:如果對于同一隨機變量有兩個獨立的概率分布和,則我們可以使用相對熵來衡量這兩個概率分布之間的差異,即:前者為信息熵,后者即為交叉熵。交叉熵公式表示為:1.1.4風險等級預測準確率設定保險數(shù)據(jù)集的風險等級分為等級1-8,在樣本集中申請投保人數(shù)目與風險等級關系如圖3-3所示:圖3-3申請投保人數(shù)目與風險等級關系圖由上圖我們可以發(fā)現(xiàn),申請投保人處在風險等級為8的人數(shù)是最多的,總占比32.8%。其次是風險等級為6、7的人數(shù),而申請投保人處在風險等級為3、4的人數(shù)是最少的,僅占比1.7%。并且對數(shù)據(jù)進行觀察可知,相鄰的風險等級的投保人數(shù)據(jù)差異不大。圖3-4為隨機選取的某風險等級為7的投保人與某風險等級為8的投保人的各項數(shù)據(jù)對比。圖3-4風險等級7、8之間的各項數(shù)據(jù)對比故可將投保人分為低風險、中風險、高風險三類(如表3-3所示),例如將風險等級為4的申請投保人歸入中風險群體(設置文獻)。低風險、中風險、高風險三類在保險數(shù)據(jù)集中占比為18.8%、24.7%和56.5%。表3-3投保人風險等級分類投保人類別風險等級低風險1、2、3中風險4、5、6高風險7、8將模型預測的風險等級與測試集的實際風險等級進行對比,如果模型預測的風險等級與測試集的實際風險等級均屬于同一個類別,視為模型預測正確,反之則視為模型預測不正確。于是我們可以得到風險等級預測準確率的計算方法:.同理,我們也可以計算低風險、中風險、高風險測試集各自的模型準確率。1.1.5實驗結(jié)果分析將傳統(tǒng)的GRU模型進行訓練后,該模型對于測試集的風險等級評估準確率為97.9%。圖3-5為隨測試進程而變化的模型損失函數(shù)值以及風險等級評估準確率:圖3-5傳統(tǒng)的GRU模型損失函數(shù)值(上)和風險等級評估準確率(下)由此可知,傳統(tǒng)的GRU模型在最初時間段()時,模型的預測準確率快速上升至60%,模型的損失函數(shù)從0.13下降至0.05。在時間段內(nèi)(也就是模型訓練量達到6400至25600時),模型的預測準確率逐漸上升至96%,并且模型的損失函數(shù)也從原始的0.05下降至0.02。隨后,模型的預測準確率緩慢上升至97.9%,模型的損失函數(shù)也下降至量級。對于申請投保人的風險等級評估問題,我們在關注模型總體正確率的同時也非常關注各風險等級的分類正確率,各風險等級的分類正確率代表著該模型下對于不同群體的分類精度。故本實驗也分別求得了低風險、中風險、高風險的風險等級評估準確率,它們分別是98.1%,97.5%和98.0%(如圖3-7所示)。圖3-7:傳統(tǒng)的GRU模型的低、中、高風險等級評估準確率(從左至右)將注意力算法下的GRU模型進行訓練后,該模型對于測試集的風險等級評估準確率達到了98.8%,取得了較好的實驗效果。圖3-6為隨測試進程而變化的模型損失函數(shù)值以及風險等級評估準確率:圖3-6注意力算法下的GRU模型損失函數(shù)值(上)和風險等級評估準確率(下)由此可知,注意力算法下的GRU模型在最初時間段()時,模型的預測準確率從15%快速上升至95%,并且模型的損失函數(shù)也較大。但在時間段后(也就是模型訓練量達到10400后),模型的預測準確率緩慢上升至97.8%,并且模型的損失函數(shù)值也從原始的0.02緩慢下降至量級。對于申請投保人的風險等級評估問題,我們在關注模型總體正確率的同時也非常關注各風險等級的分類正確率,各風險等級的分類正確率代表著該模型下對于不同群體的分類精度。故本實驗也分別求得了低風險、中風險、高風險的風險等級評估準確率,它們分別是99.1%,98.5%和98.9%(如圖3-7所示)。圖3-7:注意力算法下的GRU模型的低、中、高風險等級評估準確率(從左至右)從總體的風險等級評估準確率上看,注意力算法下的GRU模型優(yōu)于傳統(tǒng)的GRU模型;從低風險、中風險、高風險的風險等級評估準確率上看,注意力算法下的GRU模型優(yōu)于傳統(tǒng)的GRU模型;從模型的訓練時間成本上看,注意力算法下的GRU模型仍優(yōu)于傳統(tǒng)的GRU模型。綜上可得,注意力算法下的GRU模型在傳統(tǒng)的GRU模型基礎上進一步提高了模型的準確率、降低了任務處理的時間成本。1.4小結(jié)本章首先介紹了傳統(tǒng)的GRU模型,傳統(tǒng)的GRU模型在RNN模型基礎上引入了重置門和更新門的概念,從而修改了循環(huán)神經(jīng)網(wǎng)絡中隱藏層狀態(tài)的計算方式。接著,本章提出了注意力算法下的GRU模型,在傳統(tǒng)的GRU模型的基礎上對語義向量和解碼器部分進行了優(yōu)化,以克服傳統(tǒng)的GRU模型在信息傳遞中

溫馨提示

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

評論

0/150

提交評論