高 瑩,馬佳琳
(沈陽師范大學 軟件學院,遼寧 沈陽 110000)
早期,計算機處理自然語言等主觀任務,通常使用語料庫的方法,將所有詞匯轉變?yōu)閿祿龠M行處理,這種方法費時又費力。近年來,深度學習技術引起了自然語言處理領域學者的廣泛關注。2017年,谷歌提出基于自注意力機制的預訓練模型,解決了自然語言處理任務的瓶頸[1]。自注意力用于計算元素序列的分類分布,得到的概率可以反映每個元素的重要性,并作為生成上下文編碼的權重,即所有元素的加權平均和。自注意力機制降低了對外部信息的依賴,并且更擅長于捕捉內部信息關系。
自注意力有兩個分支,即軟注意力機制和硬注意力機制。在軟注意力機制計算中,通常會為瑣碎的元素分配少量權重,一旦這些瑣碎元素的數量達到一定數量級,注意力矩陣會把很大一部分權重分配給這些瑣碎元素,從而導致模型對重要信息的注意力減弱。而硬注意力機制從樣本中選擇元素的子集并且一次只關注一個元素,強制模型只關注重要元素而不考慮其他信息。傳統(tǒng)的自注意力機制只能將兩個詞的相關性設置為零,這極大削弱了詞間的沖突程度。因此,本文提出在注意力矩陣中應用負權重信息來幫助模型提取此類信息。
注意力機制首先被應用在處理視覺領域的問題中,接著人們又將注意力引入到自然語言處理中,如關系抽取、機器翻譯、情感分類等任務。XIAO等人[2]在2018年提出了注意力因子分解機AFM,在特征交叉層和輸出層之間加入注意力網絡,為每一個交叉特征提供權重。SONG等人[3]在2019年提出了AutoInt模型,該模型使用多頭自注意力機制來自動學習交互特征,通過堆疊多個注意力層以捕捉高階交互并增加注意力頭的數量以提高表達能力,從而提高CTR預測任務的準確性。VASWANI等人[4]提出多頭注意力機制模型代替了傳統(tǒng)的seq2seq模型,大大提高了模型的并行性。張青博等人[5]提出規(guī)范化矩陣分解模型,利用項目屬性關注度獲取用戶偏好以提高推薦精準度,但這種方法要求帶權重的注意力向量必須是連續(xù)的,分裂了長關系依賴。
假定一個輸入序列X=(x1,…,xn),其中xi表示第i個元素的嵌入向量。句子的標記分數由Softmax函數生成,如式(1)所示。

式中:Qi表示原始注意力向量,n表示句子的長度,S表示句子的最終嵌入。
然而,由于原始注意力向量是一維的,對句子不夠重視。因此,VASWANI等人[6]提出了一種自注意力機制,將源文件看成是鍵值對序列,用K表示鍵序列、V表示值序列和Q表示查詢序列,自注意力機制就可以被描述為鍵值對序列在該查詢上的映射,再使用Softmax函數對注意力矩陣得分做歸一化處理,如式(3)所示。

式中:dk是比例因子。
硬注意力克服了長序列軟注意力的弱點,強調只關注重要元素而忽視其他無關信息,同時解決一維向量存在的局限。使用變量ai表示注意力向量是否關注句子i中的位置,對于任何位置的句子注意力向量,只有一個位置為1,其余位置都等于0。這種一次只關注一個位置的技術構成了硬注意力機制的基礎,可以描述為:

由于傳統(tǒng)注意力機制產生的缺陷,本文使用稀疏注意力矩陣來提取句子的正負信息,從而更好地理解語言的內部結構,并提出一種混合自注意力機制模型。首先,利用詞間的距離信息和注意力的權重信息來構造注意力矩陣的稀疏性;其次,利用軟注意力機制提供的相對穩(wěn)定的環(huán)境來優(yōu)化模型的性能,從而幫助模型提取句子的雙向信息。
在計算硬注意力模型時,考慮到詞間的距離信息,使用αe-x函數來逐漸減少距離遠的詞之間的影響。其中α表示可訓練參數,x表示兩個詞間的距離。同時,還需要充分考慮注意力權重對模型的影響。因此,信息增強注意力矩陣計算可表示為:

式中:α+和β+為可訓練的參數,將α+初始化為0.2,β+初始化為0.8。隨著后續(xù)訓練,不斷調整參數值,以在距離因子和注意力之間得到更好的權重;H表示不考慮距離因素的情況下詞向量i和j之間的關聯(lián)值,H+計算重新訓練了一個查詢矩陣Q+以區(qū)分硬注意機制和軟注意機制。如式(6)所示:

為了得到稀疏注意力矩陣并消除瑣碎信息的影響,設置閾值μ來過濾掉權重過小的元素,從而達到提取模型重要信息的效果。該方法將小于閾值的位置設置為負無窮大,大于或等于閾值的位置不處理。最終經過歸一化指數函數處理后就會得到一個稀疏的權重矩陣。如式(7)、式(8)所示:

此信息增強矩陣A+把句子中不重要的信息設置為零,從而增加重要信息的權重。按照同樣的方法,訓練信息縮減矩陣A-,用于提取句子中的負信息。融合信息增強矩陣和信息縮減矩陣,形成最終的混合注意力矩陣A,如式(9)所示,通過構造注意力矩陣的負權重,讓注意力機制捕獲更多信息。最后將注意力矩陣A和值矩陣V相乘以獲得句子表示,如式(10)所示。

本文使用開源的IMDB數據集,有50 000條電影評論數據,包含訓練集、測試集和未標記數據的二進制分類數據集,如表1所示。

表1 IMDB數據集分類表
為了評估μ值對結果的影響,使用不同μ值(0.5/n、0.6/n、0.7/n、0.8/n、0.9/n和1/n),上限設置為1/n。實驗結果如圖1所示。

圖1 不同μ值的準確度曲線圖
圖1 表明模型在μ值為0.9/n時獲得最佳成績。模型的分數隨著μ的增加而增加,即正負信息的提取變得更加集中,但過度集中可能會導致重要信息被忽略。因此需選擇合適的μ值以提高模型的性能。
為了驗證模型的有效性,本文采用準確率(Accuracy)和F1值(F1-Measure)作為模型評估指標,在IMDB公開數據集上與傳統(tǒng)的常用模型進行對比實驗,具體如下:
(1)TextCNN,該模型采用三種大小的多通道卷積核,提取到了文本不同的N-grams特征;
(2)LSTM,長短期記憶網絡,使用一個神經網絡模型對文本編碼獲取語義信息;
(3)BiLSTM,該模型采用雙向長短期記憶網絡,從而提取到了文本的上下文信息;
(4)BGRU,該模型采用雙向在BiLSTM基礎上減少“門”的數量,使結構更加簡單;
(5)Self-Attention,此模型只包含自注意力機制。
經過對比實驗,以上模型與本文混合自注意力模型的實驗結果如表2所示。
通過表2的實驗數據可知,在IMDB數據集上,本文模型相比Self-Attention模型準確率和F1-值分別提高3.17%和1.5%,比其他模型表現更優(yōu)。

表2 模型實驗對比結果表
本文提出的混合的自注意力機制模型改進了現有的模型,該模型采用硬注意力機制來減輕軟注意力機制引入的瑣碎信息的高權重影響,并克服傳統(tǒng)自注意力模型無法提取負面信息的問題。該方法具有普遍性,可以擴展到其他自注意力機制的應用場景,例如翻譯任務等。未來的工作將優(yōu)化模型以提高其性能。