国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自我注意力機(jī)制中基于相對位置的句子表示方法

2020-05-09 03:02:40徐若易李金龍
關(guān)鍵詞:屏蔽注意力向量

徐若易,李金龍

(中國科學(xué)技術(shù)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)

1 引 言

句子表示方法是自然語言處理(NLP)任務(wù)的基礎(chǔ)之一,一般是用一個向量來表示句子.對于不同的任務(wù),有兩種常用的結(jié)構(gòu):卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN).RNN通過時序結(jié)構(gòu)捕獲長句特征[1],以最后一個隱含狀態(tài)向量或所有隱含狀態(tài)向量的組合(串聯(lián)、加和、均值或最大值)來表示句子,而CNN通過n元詞組捕獲短語特征[2],以詞語向量的組合來表示句子.近年來,注意力機(jī)制作為額外信息被用于生成句子表示,如機(jī)器翻譯[3],閱讀理解[4,5]和情感分析[6]等.與RNN和CNN相比,注意力機(jī)制有三點(diǎn)優(yōu)勢:①在捕捉句子特征方面,更加靈活,不限于RNN的時序結(jié)構(gòu),也不止于CNN的短語結(jié)構(gòu);②在模型的可解釋性方面,對重點(diǎn)詞以及詞組有更高的權(quán)值,更直觀;③在模型訓(xùn)練方面,注意力機(jī)制計算的并行度遠(yuǎn)高于RNN,不亞于CNN.

注意力機(jī)制使用額外信息來獲得句子表示,這里的額外信息通常指需要查詢的信息,例如閱讀理解任務(wù)中的原文本信息,然而注意力機(jī)制不適合只有單個句子作為輸入的任務(wù),例如情感分析任務(wù).為了解決這一問題,Lin等人提出自我注意力機(jī)制[7],它能夠從單個輸入句子中提取多個不同的向量表示作為額外信息,此方法還能減輕上游RNN的長期記憶負(fù)擔(dān).Vaswani等人率先提出不使用RNN、CNN結(jié)構(gòu)而僅僅使用注意力機(jī)制來獲得句子表示的方法[8],在他們的模型中,自我注意力機(jī)制也被廣泛使用.

但是,Vaswani等人也在他們的研究中發(fā)現(xiàn)自我注意力機(jī)制缺少詞語間相對位置信息的問題,因此他們在模型中加入了對已考慮的詞匯信息屏蔽的措施,來避免順序信息的丟失.在句子的局部信息方面,Im等人提出基于距離的自我注意力網(wǎng)絡(luò)[9](Distance-based Self-Attention Network,DbSAN),用詞語之間的距離信息對自我注意力值加懲罰,考慮了詞語間相對距離的信息.另外,Shen等人提出強(qiáng)化自我注意力網(wǎng)絡(luò)[10](Reinforced Self-Attention Network,ReSAN),結(jié)合強(qiáng)化學(xué)習(xí)手段,尋找關(guān)聯(lián)較大的詞對,考慮了詞語間的相對位置信息.

本文提出了基于相對位置自我注意力網(wǎng)絡(luò)(Relative Positional Self-Attention Network,RPSAN)來得到句子表示,不僅考慮了句子的順序信息,也考慮了句子的局部信息.這符合我們的閱讀過程,既會考慮句子中局部詞語所表達(dá)的意思,也會考慮上下文關(guān)聯(lián)起來的意思.總的來說,我們的RPSAN有以下創(chuàng)新點(diǎn):

①針對句子的局部信息,提出了遠(yuǎn)距離屏蔽矩陣,通過將距離較遠(yuǎn)的自我注意力值置為零,能夠生成不考慮較遠(yuǎn)詞的句子表示;

②為了獲得包含更多信息的句子表示,并且避免訓(xùn)練權(quán)值過多,我們設(shè)計了融合機(jī)制,將不同的句子表示整合為一個;

③我們在SST數(shù)據(jù)集和四個公開的文本分類數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),與其他方法對比的結(jié)果證明了我們方法的有效性.

2 基于相對位置的自我注意力句子表示方法

2.1 詞向量表示方法

GloVe[11](Global Vectors)是一種用于獲得詞的向量表示的無監(jiān)督學(xué)習(xí)算法.GloVe對整個語料庫的詞對共現(xiàn)頻度進(jìn)行統(tǒng)計,并設(shè)計代價函數(shù)訓(xùn)練,所得到的詞向量表示能以向量的接近程度(例如余弦相似度)來衡量詞的相似度.進(jìn)一步,直接用詞向量拼接而成的句子表示,我們稱之為句子的詞向量表示.

本文中所有模型均基于GloVe方法得到的詞向量.

2.2 注意力機(jī)制

注意力機(jī)制通過計算句子和額外信息的相互關(guān)系,得到句子中每一個詞的權(quán)重,最后加權(quán)得到句子表示.

具體情況下,對于一句話的詞向量表示v=[v1,v2,…,vn]和額外信息向量q∈dq,其中n表示句子有n個詞,vi∈dv是第i個詞向量表示,dq和dv分別表示額外信息向量和詞向量的維度.注意力機(jī)制通過兼容函數(shù)f(vi,q)來計算vi和q之間的關(guān)聯(lián)分?jǐn)?shù),兼容函數(shù)如公式(1)所示:

f(vi,q)=wTσ(W(1)vi+W(2)q)

(1)

其中W(1)∈dh×dv、W(2)∈dh×dq和w∈dh是待訓(xùn)練的權(quán)值,T表示轉(zhuǎn)置,σ(·)是激活函數(shù),這里激活函數(shù)作用于矩陣,矩陣中每一個元素都經(jīng)過激活函數(shù)作用后得到矩陣輸出,且有f(vi,q)∈.

由兼容函數(shù)f(vi,q),我們能得到每個詞的權(quán)重p(z|v,q),如公式(2)所示:

(2)

p(z|v,q)表示在額外信息q下,第z個詞的權(quán)重.最終,在額外信息q下的句子表示s如公式(3)所示:

(3)

這里有s∈dv.

2.3 自我注意力機(jī)制

自我注意力機(jī)制是注意力機(jī)制的一個變體,其實(shí)是注意力機(jī)制的多次使用.具體來說,對于句子的詞向量表示v=[v1,v2,…,vn],我們將每個詞向量vj,j∈{1,2,…,n}作為公式(3)中的額外信息向量q,利用注意力機(jī)制,會得到句子表示sj=Attention(v,vj),j∈{1,2,…,n},我們將n個注意力機(jī)制產(chǎn)生的句子向量表示sj拼接到一起,最終自我注意力機(jī)制得到的句子表示就是S=[s1,s2,…,sn].形式化的,自我注意力機(jī)制如公式(4)所示:

(4)

2.4 屏蔽矩陣

屏蔽矩陣一般用在自我注意力機(jī)制上,通過給兼容函數(shù)f(vi,vj)增加Mij,使p(z=i|v,vj)改變.帶屏蔽矩陣的自我注意力(Masked Self-Attention,MSA)機(jī)制結(jié)構(gòu)如圖1所示,圖中fi,j表示f(vi,vj),計算方式如公式(5)所示:

S=MSA(M,v)

(5)

如果Mij=0,那么由公式(2),p(z=i|v,vj)=0,屏蔽了特定位置的自我注意力值,就得到了在特定屏蔽矩陣M下的句子表示S.

圖1 MSA結(jié)構(gòu)圖Fig.1 Masked self-attention

由于屏蔽矩陣能讓我們考慮特定詞對之間的關(guān)系,詞之間的相對位置信息就能很明確的在模型中體現(xiàn).我們給出兩類屏蔽矩陣的設(shè)計:①基于局部信息的屏蔽矩陣;②基于順序信息的屏蔽矩陣.

2.4.1 基于局部信息的屏蔽矩陣

我們提出遠(yuǎn)距離屏蔽(Distant Mask,Dt)矩陣MDt(c),這里c是超參,如公式(6)所示:

(6)

針對第j個詞,遠(yuǎn)距離屏蔽不考慮距離大于c的詞和第j個詞本身,即遠(yuǎn)距離屏蔽只考慮2c+1元詞組且不考慮中心詞匯.

2.4.2 基于順序信息的屏蔽矩陣

順序信息一般指句子的方向,包含前向和后向.所以,有前向屏蔽(Forward Mask,Fw)矩陣MFw(7)和后向屏蔽(Backward Mask,Bw)矩陣MBw(8).

(7)

(8)

前向屏蔽矩陣不考慮第j個詞及其之前的詞,而后向屏蔽矩陣不考慮第j個詞及其之后的詞.

2.5 融合機(jī)制

這里我們提出了一種新的融合機(jī)制(Fusion Mechanism),將不同的句子表示整合到一起,而且表示維度和原來的句子表示維度大小一樣,如公式(9)-公式(12)所示:

a=softmax(WTv+b)

(9)

W=[Wv;WFw;WDt;WBw]

(10)

b=[bv;bFw;bDt;bBw]

(11)

a=[av;aFw;aDt;aBw]

(12)

這里有v∈dv×n,Wv,WFw,WDt,WBw∈dv×dv,W∈4×dv×dv,bv,bFw,bDt,bBw∈dv,b∈4×dv.則WTv+b∈4×dv×n,softmax函數(shù)對維度為4的第一維作用,之后得到a∈4×dv×n,切分后有av,aFw,aDt,aBw∈dv×n,分別表示v,SFw,SDt(c),SBw∈dv×n的權(quán)重.并由公式(13)獲得最后整合后的句子表示

=av⊙v+aFw⊙SFw+aDt⊙SDt(c)+aBw⊙SBw

(13)

2.6 模型總結(jié)

我們的模型為基于相對位置的自我注意力網(wǎng)絡(luò)(Relative Positional Self-Attention Network,RPSAN),模型結(jié)構(gòu)如圖2所示.

圖2 RPSAN結(jié)構(gòu)圖Fig.2 Structure of the RPSAN

在我們的RPSAN中,給一個句子,首先我們通過GloVe詞向量得到句子的詞向量表示,然后我們通過公式(5)的MSA以及三種屏蔽矩陣(6)-(8)對句子的詞向量表示進(jìn)行編碼,得到三種不同的句子表示.對這三種句子表示,外加句子的詞向量表示共四種表示,應(yīng)用融合機(jī)制,得到新的句子表示.最后,我們將該句子表示,應(yīng)用到不同的下游模型,來解決不同的任務(wù),例如,在RPSAN中,我們在新的句子表示之后接注意力機(jī)制模塊和softmax分類模塊,來解決情感分析任務(wù)、文本分類任務(wù).

3 實(shí)驗(yàn)結(jié)果與分析

3.1 實(shí)驗(yàn)數(shù)據(jù)集

為驗(yàn)證RPSAN的有效性,我們在SST數(shù)據(jù)集和四個公開的文本分類數(shù)據(jù)集上驗(yàn)證該模型的性能.其中,SST目的是識別一句話的情感,文本檢索會議(Text REtrieval Conference,TREC)是一種問題類型的分類數(shù)據(jù)集,顧客評論(Customer Reviews,CR)包括對各種產(chǎn)品的評論,多視角問答(Multi-Perspective Question Answering,MPQA)檢測短語級別的意見,主觀性(SUBJectivity,SUBJ)涉及將句子分類為主觀還是客觀.實(shí)驗(yàn)數(shù)據(jù)集詳細(xì)信息如表1所示.表格中測試樣本中為數(shù)字表示原數(shù)據(jù)已經(jīng)劃分出測試集合,而CV則表示交叉驗(yàn)證(Cross Validation).

表1 實(shí)驗(yàn)數(shù)據(jù)集描述
Table 1 Details of datasets

數(shù)據(jù)集類別數(shù)量樣本總數(shù)平均句長測試樣本 SST511855182210 SUBJ21000023CV TREC6595210500 CR2377519CV MPQA2106063CV

3.2 實(shí)驗(yàn)設(shè)置

對于所有任務(wù),我們使用GloVe[11]方法預(yù)先訓(xùn)練的詞向量GloVe-6B-300D來初始化我們的RPSAN中的詞向量表示,詞向量大小為300.對于訓(xùn)練集中的不在預(yù)先訓(xùn)練詞向量中的詞匯,我們使用(-0.05,0.05)的均勻分布來隨機(jī)初始化這些詞.我們將自我注意力機(jī)制中的隱藏節(jié)點(diǎn)數(shù)設(shè)為1,而其他未指定的隱藏節(jié)點(diǎn)數(shù)都設(shè)置為300.我們模型中的所有待訓(xùn)練權(quán)值都由Xavier[12]方法初始化,并且所有待訓(xùn)練偏差都是零初始化.我們在模型的各層之間添加了Dropout[13],以概率0.7保留信息.沒有被指定的激活函數(shù)均設(shè)置為ELU[14].我們使用交叉熵?fù)p失和L2正則化懲罰之和作為最終的損失函數(shù),L2正則化衰減因子是10-6.至于學(xué)習(xí)方法,我們使用隨機(jī)梯度下降方法的改進(jìn)算法Adadelta[15]來最小化損失函數(shù).訓(xùn)練集一個批次大小為64,學(xué)習(xí)率為0.5.所有訓(xùn)練都使用TensorFlow-1.4.0,并在單個Nvidia GTX-1080Ti GPU卡上完成.

本文所有實(shí)驗(yàn)只要采用交叉驗(yàn)證,均采用1次10折交叉驗(yàn)證,未采用交叉驗(yàn)證的實(shí)驗(yàn),均采用5次取平均.如果是有測試集合的數(shù)據(jù)集,每500次訓(xùn)練后保存模型權(quán)值,并在驗(yàn)證集上得到模型準(zhǔn)確率表現(xiàn),然后取驗(yàn)證集上準(zhǔn)確率最高時的模型在測試集上得到結(jié)果,最終結(jié)果取5次的平均結(jié)果.如果是交叉驗(yàn)證,采取1次10折交叉驗(yàn)證,將數(shù)據(jù)集隨機(jī)等分為10份,每次用9份作為訓(xùn)練集,用1份作為驗(yàn)證集,每100次訓(xùn)練后得到模型在驗(yàn)證集上的表現(xiàn),取最好的準(zhǔn)確率結(jié)果,最終結(jié)果是10份輪換訓(xùn)練的平均結(jié)果.

3.3 情感分析

情感分析的目的是識別一句話的情感傾向.斯坦福情感分析數(shù)據(jù)集(SST)包括8544個訓(xùn)練樣本,1101個驗(yàn)證樣本和2210個測試樣本,每個句子都有0-10的情感打分.官方提出細(xì)粒度標(biāo)簽分割,以2分為一個階段,以打分從高到低分成了5種情感:非常積極,積極,中性,消極,非常消極.

3.3.1 參數(shù)調(diào)整

我們對模型中部分參數(shù)進(jìn)行了敏感度分析,包括①遠(yuǎn)距離屏蔽的距離大小c;②dropout的保留率dp;③L2正則化衰減因子wd.模型其他部分,例如詞向量初始化方法、隱藏節(jié)點(diǎn)數(shù)、學(xué)習(xí)率大小、權(quán)值初始化方法、激活函數(shù)方法、優(yōu)化器選擇方法、訓(xùn)練批次大小等均視為模型設(shè)置.

我們對提出的三種參數(shù)進(jìn)行了組合,以下列范圍進(jìn)行實(shí)驗(yàn):①c∈{1,2,…,9};②dp∈{0.5,0.6,0.7,0.8,0.9};③L2正則化衰減因子wd∈{10-8,10-7,10-6,10-5,10-4}.每次實(shí)驗(yàn)都訓(xùn)練足夠多的次數(shù),每個參數(shù)組合做5次實(shí)驗(yàn)取平均結(jié)果.模型整體性較優(yōu)時,參數(shù)的設(shè)置為:①遠(yuǎn)距離屏蔽的距離大小為3;②dropout的保留率為0.7;③L2正則化衰減因子為10-6.這里,我們給出在每個參數(shù)在另兩個參數(shù)固定的情況下的變化曲線,如圖3所示.

圖3 參數(shù)敏感度分析Fig.3 Analysis of parameter sensitivity

3.3.2 模型比較

我們選取了三大類共7種情感分析模型進(jìn)行比較:①RNN為基礎(chǔ)的Bi-LSTM[16]、Tree-LSTM[17];②CNN為基礎(chǔ)的CNN-non-static[2]、CNN-Tensor[18];③注意力機(jī)制為基礎(chǔ)的Multi-head[8]、DiSAN[19]、Bi-BloSAN[20].

由于和我們的RPSAN相近,這里我們對以注意力機(jī)制為基礎(chǔ)的模型進(jìn)行詳細(xì)的說明:1) Multi-head[8]:Vaswani等人提出的僅使用注意力機(jī)制來獲得句子表示的方法,該方法不使用任何CNN或者RNN的結(jié)構(gòu),而主要使用了他們新提出的多頭注意力(Multi-head Attention)模塊; 2) DiSAN[19]:Shen等人提出的定向自我注意力網(wǎng)絡(luò)(Directional Self-Attention Network,DiSAN),模型中的自我注意力機(jī)制用句子中每個詞作為額外信息,并用屏蔽矩陣的方式在自我注意力機(jī)制中僅考慮前和后兩個方向的句子信息; 3) Bi-BloSAN[20]:Shen等人提出的雙向塊狀自我注意力網(wǎng)絡(luò)(Bi-directional Block Self-Attention Network,Bi-BloSAN),以固定詞語個數(shù),生成短語表示,再以句子中所有短語表示,生成句子表示.

注意力機(jī)制為基礎(chǔ)的模型的分類正確率由原論文參數(shù)及代碼做5次實(shí)驗(yàn)取平均結(jié)果,括號內(nèi)是標(biāo)準(zhǔn)差,RNN、CNN為基礎(chǔ)的模型在SST上的分類正確率直接從論文中摘抄,沒有標(biāo)準(zhǔn)差.訓(xùn)練權(quán)值數(shù)量由代碼統(tǒng)計得到,單位為百萬(Million).結(jié)果如表2所示.

表2 各模型在SST上分類準(zhǔn)確率
Table 2 Test accuracy of various model on SST dataset

模 型訓(xùn)練權(quán)值數(shù)量( M)分類正確率( %)Bi-LSTM[16]-49.8Tree-LSTM[17]-51.0CNN-non-static[2]-48.0CNN-Tensor[18]-51.2Multi-head[8]1.548.2(0.6)DiSAN[19]1.851.0(0.7)Bi-BloSAN[20]2.250.6(0.5)RPSAN0.951.6(0.3)

從表2可以看出:①RPSAN的訓(xùn)練權(quán)值數(shù)量比其他以注意力機(jī)制為基礎(chǔ)的模型都要低,這是由于我們設(shè)定自我注意力機(jī)制中的隱藏節(jié)點(diǎn)均為1,而非其他模型中的300,所以兼容函數(shù)中的權(quán)值數(shù)量大大減少,訓(xùn)練成本也隨之減少;②RPSAN的分類正確率高于對比的各類模型,而且分類正確率的標(biāo)準(zhǔn)差低于其他以注意力機(jī)制為基礎(chǔ)的模型,結(jié)果更加穩(wěn)定.

3.4 文本分類

文本分類任務(wù)與情感分析任務(wù)略有不同,重點(diǎn)不在于情感的打分,而在于句子的類別,但視為分類問題上很相似.我們在四個數(shù)據(jù)集(SUBJ、TREC、CR、MPQA)上驗(yàn)證我們RPSAN得到的句子表示在分類任務(wù)上的性能.因數(shù)據(jù)集的選取問題,我們對比的模型略有不同,但對比重點(diǎn)都是注意力機(jī)制為基礎(chǔ)的模型.表3是我們的模型在4個數(shù)據(jù)集上的參數(shù)設(shè)置,表4是實(shí)驗(yàn)結(jié)果.

表3 各個數(shù)據(jù)集上參數(shù)設(shè)置
Table 3 Parameter settings on various datasets

參數(shù)數(shù)據(jù)集SUBJTRECCRMPQAc4231dp0.80.70.70.6wd10-610-610-710-4

從表4可以看出,在注意力機(jī)制為基礎(chǔ)的模型范疇內(nèi),我們的模型在MPQA數(shù)據(jù)集上能達(dá)到最好的分類正確率,而在SUBJ、TREC和CR數(shù)據(jù)集上分別超過最好的分類正確率0.1%、0.2%和0.6%.

4 結(jié)論與展望

在本文中,我們在自我注意力機(jī)制下提出了遠(yuǎn)距離屏蔽,針對句子中相對位置較近的詞關(guān)系獲得句子表示.此外,結(jié)合前向屏蔽和后向屏蔽,我們提出了融合機(jī)制來整個不同的句子表示.我們的RPSAN比DiSAN,Bi-BloSAN等目前最好的基于自我關(guān)注機(jī)制的模型在SST數(shù)據(jù)集上的訓(xùn)練成本更低,預(yù)測正確率更高,而且RPSAN在另外四個開放文本分類數(shù)據(jù)集上有著不低于其他模型的分類正確率.在未來的工作中,我們將嘗試尋找一種結(jié)構(gòu)能夠自適應(yīng)調(diào)整窗口大小的值,以適應(yīng)數(shù)據(jù)集中不同長度的句子和不同語境下的詞,并且我們將在更多任務(wù)中驗(yàn)證RPSAN的性能.

表4 文本分類任務(wù)分類正確率
Table 4 Test accuracies on sentence classification tasks

模 型SUBJTRECCRMPQACBOW[21]91.387.379.986.4Skip-thought[22]93.692.281.387.5DCNN[23]93.0---AdaSent[24]92.2(1.2)91.1(1.0)83.6(1.6)90.4(0.7)Multi-head[8]94.0(0.8)93.4(0.4)82.6(1.9)89.8(1.2)DiSAN[19]94.2(0.6)94.2(0.1)84.8(2.0)90.1(0.4)Bi-BloSAN[20]94.5(0.5)94.8(0.2)84.8(0.9)90.4(0.8)RPSAN94.6(0.7)95.0(0.2)85.4(1.4)90.4(0.8)

猜你喜歡
屏蔽注意力向量
把生活調(diào)成“屏蔽模式”
好日子(2022年3期)2022-06-01 06:22:10
向量的分解
讓注意力“飛”回來
聚焦“向量與三角”創(chuàng)新題
朋友圈被屏蔽,十二星座怎么看
滿足CLASS A++屏蔽性能的MINI RG59集束電纜的研發(fā)
電線電纜(2017年5期)2017-10-18 00:52:04
“揚(yáng)眼”APP:讓注意力“變現(xiàn)”
傳媒評論(2017年3期)2017-06-13 09:18:10
幾乎最佳屏蔽二進(jìn)序列偶構(gòu)造方法
A Beautiful Way Of Looking At Things
向量垂直在解析幾何中的應(yīng)用
龙海市| 天镇县| 怀集县| 怀化市| 菏泽市| 拜泉县| 双辽市| 红原县| 邯郸市| 荥阳市| 剑河县| 饶阳县| 平原县| 罗城| 孟州市| 卢氏县| 石门县| 舞阳县| 镇平县| 万盛区| 盐池县| 苗栗市| 静宁县| 白玉县| 万山特区| 凤凰县| 泽州县| 墨脱县| 无为县| 治多县| 资兴市| 宿松县| 商南县| 乌海市| 乡城县| 舟曲县| 清河县| 盘锦市| 顺义区| 车险| 育儿|