?

基于自注意力與動態路由的文本建模方法

2019-06-07 15:08沈煒域
軟件導刊 2019年1期
關鍵詞:注意力機制

沈煒域

摘 要:有別于RNN和CNN,動態路由與注意力機制為捕捉文本序列的長程和局部依賴關系提供了新思路。為更好地進行文本編碼,盡可能多地保留文本特征、增加特征多樣性,基于動態路由與注意力機制的思想,整合膠囊網絡和自注意力網絡的語言信息特征抽取能力,構建一種深度網絡模型CapSA,并通過3種不同領域的文本分類實驗驗證模型效果。實驗結果顯示,相較于幾種基于RNN或CNN的模型,基于CapSA模型的文本分類模型取得了更高的F1值,表明該模型具有更好的文本建模能力。

關鍵詞:膠囊網絡;動態路由;注意力機制;文本建模

DOI:10. 11907/rjdk. 182730

中圖分類號:TP301文獻標識碼:A文章編號:1672-7800(2019)001-0056-05

Abstract: Compared with RNN and CNN, dynamic routing and attention mechanism provide some new ways to capture the long-term and local dependencies. Based on the ideas of dynamic routing and self-attention, this paper proposed CapSA(Capsule-Self-Attention), a deep neural network, to better model text sequences, retain features as many as possible and increase the diversity of features. This paper verified the effectiveness of the proposed model by text classification experiments in different fields. The results show that the text classification model based on CapSA gained higher F1-score than several strong models based on RNN and CNN, indicating that CapSA has better text modeling performance.

0 引言

在將文本轉化為向量表示的過程中需對文章或句子建模,這是許多自然語言處理的重要步驟。好的文本建模不僅需提取足夠充分且最有類別代表性的文本特征,還應能編碼上下文的依賴關系。傳統自然語言處理中的文本建模方式如n-gram,需占用大量內存空間。而近來神經網絡模型被廣泛應用于文本表示學習。這些方法基本上以詞嵌入表示作為輸入,利用RNN[1]或CNN[2]產生上下文有關的文本表示,最后通過一定的操作,如池化等,將變長文本轉化為定長向量。從2017年開始,許多工作使用自注意力機制[3-4]學習文本表示。自注意力機制可以不考慮詞之間的距離、直接計算依賴關系,與RNN、CNN等配合使用,學習一個句子的內部結構。自注意力網絡甚至可脫離CNN和RNN,單獨作為一個網絡層,出色地解決NLP領域的任務。

為在文本建模過程中保留更多文本的局部依賴關系、特征等變性及詞之間、特征與詞之間的相對信息,本文借鑒動態路由[5]與注意力機制的思想,構建一種深度網絡模型CapSA對文本進行建模。該網絡主要包括多尺寸多層卷積的膠囊網絡與自注意力網絡,兩部分網絡同時對文本序列進行編碼。為驗證模型有效性,本文在文本分類任務中使用該模型進行文本建模,并在3種數據集上對比該網絡模型和多種基于CNN或RNN模型的分類效果。

1 相關研究

1.1 表示學習

表示學習是人工智能和自然語言處理中十分重要的任務。主流文本表示學習方法可分為4種類型:①詞袋模型。該模型不考慮文本詞序,比較成功的應用有深度平均網絡[6]、自編碼器[7],如Mikolov等提出的fastText[8]可在10min內完成10億級詞匯量的文本分類任務;② 序列表示模型。該模型通過CNN[9-10]或RNN捕捉詞序特征,但沒有利用文本結構特征。LeCun等提出一種29層的極深卷積神經網絡[11]以捕捉更長程的信息;③結構表示模型。該模型使用預先獲得的語法樹構建文本結構表示,如典型的樹結構LSTM[12-13];④注意力模型。該模型基于注意力機制計算詞或句子的注意力得分[14-15],以獲得文本表示。

1.2 動態路由與膠囊網絡

以動態路由[5]代替池化的膠囊網絡能夠適應低層特征的狀態參數變化,其建模思想是以向量形式將特征狀態封裝成“膠囊”,將其輸出向量的模長作為特征存在的概率,將向量方向作為實例參數。所以,當抽取的特征在實例參數上發生變化時,存在概率仍然保持不變、達到特征等變性。在膠囊網絡中,子膠囊要對父膠囊的實例參數進行預測。當多個預測相近時,對應的高層膠囊被激活。同時,作為一種耦合效應,當一些子膠囊同意存在一個高層實體時,對應于該實體的父膠囊會向低級別膠囊發送反饋,如果確實存在高層實體,同意該實體存在的子膠囊對該高層實體預測將增大。如此循環若干次后,某一個高層實體存在的概率將明顯高于其它高層實體。

1.3 注意力機制

作為一種高效的可并行化序列編碼方式,注意力機制與深度神經網絡結合被廣泛應用于自然語言處理的多個任務中,并取得了良好的性能效果。如Bengio 等[16]使用該機制提升機器翻譯對齊效果和翻譯準確性。李航等[17]在對話生成中利用該機制生成更有意義的回復。隨著注意力機制的深入研究,各種注意力被提出。自注意力是一種特殊的注意力機制,在該機制下,序列中的每一個單元和該序列中的其它單元進行注意力計算,其特點在于無視詞間距離而直接計算其依賴關系,能夠學習一個句子的內部結構,且對于增加計算的并行性也有直接幫助作用。Google提出的多頭注意力[18]通過多次計算捕獲不同子空間的相關信息。張成奇等[19]提出同時使用兩種注意力機制對句子進行建模,在自然語言推理、語義關系分析等任務中也取得了較好效果。

2 CapSA網絡模型

一方面,多層多尺寸的卷積提升模型對輸入樣本的特征提取能力,且動態路由機制確保在特征圖轉換成文本表示時保持特征等變性;另一方面,自注意力機制能夠在文本建模過程中引入詞或短語在文本中的重要程度及詞—詞間、詞—特征間的相互關系。因此,本文基于動態路由與自注意力機制的思想,結合深度卷積膠囊網絡和雙序自注意力網絡,構建一種深度神經網絡文本表示模型CapSA。

2.1 深度卷積膠囊網絡

為更好地抽取特征,本文使用多個不同尺寸的卷積核提取文本的N-gram特征,如圖1所示。

該模型在第一層卷積層使用K1種不同尺寸的卷積核,每種大小各N1個卷積核,每個卷積核的尺寸為 ([F[0]i,]d) ,[F[0]i]是一個卷積核一次能覆蓋的詞個數。第二層卷積操作與第一層卷積層基本一致,使用高度為[F[1]i]的多個卷積核對第一層卷積層的輸出[A[1]]進行卷積操作,將輸出各尺寸的卷積核抽取的特征拼接為一個(L2,K2)的特征映射[A[2]]。

兩個卷積層之后是第一層膠囊層,用于將標量輸出轉換成向量輸出。為得到固定維度的膠囊,使Dc個不同尺寸的卷積核配合Dc種填充方案在[A[2]]上進行卷積操作,獲得相同維度的特征映射。如圖1所示,[F2i]表示其中一種尺寸的卷積核高度,每種尺寸的卷積核有K3個,通過卷積后得到L3×K3個Dc維向量,每個向量表征對應特征的顯著程度。緊接著對每個向量使用壓縮函數進行非線性變換,壓縮函數將模長限制在0~1之間。將每個向量表示為[sj],非線性變換后向量方向保持不變。

初級膠囊層之后是類別膠囊層、該層設置與類別個數相同的膠囊數C。以路由迭代的方式從初級膠囊層獲得輸入。模型中的路由迭代過程在初級膠囊層和類別膠囊層之間進行,使用初級膠囊激活值計算類別膠囊激活值。首先通過一個矩陣變換獲得初級膠囊對類別膠囊實例參數預測。對于每一個類別膠囊j, 第一步計算由低層特征預測出高層特征實例參數[uj|i](預測向量),即[uj|i=u[L]iWij] ,其中[u[L]i]表示樣本中的一個激活值(低層特征),變換矩陣[Wij]([W∈?C×Dc×Dp])是待訓練的參數,兩者進行矩陣乘法;第二步計算j 的輸出向量[sj],其由所有初級膠囊對類別膠囊j預測向量加權求和得到,即[sj=ic(r)ijuj|i],其中標量[cij]是每個子膠囊輸出到各個父膠囊的權重系數,其由路由迭代過程決定;第三步計算膠囊j的激活值[vj]。使用壓縮函數對j 的輸出向量進行壓縮。類別膠囊的激活值將對初級膠囊進行反饋。初級膠囊i對類別膠囊j的預測向量與膠囊j的激活向量相似程度越高,預測向量[uj|i]的權重越大。本文采用點積衡量其相似程度。假設共迭代T輪路由算法,整個路由迭代算法為:

其中,為保證低層膠囊對高層實體存在的概率預測之和為1,使用Routing SoftMax作歸一化,其計算公式為:

2.2 自注意力網絡

傳統注意力機制基于詞嵌入計算出每一個詞的重要性數值,因此無法有效區分同一個詞在不同語境下的不同語義。這部分網絡結構由雙序自注意力網絡和序列到詞注意力網絡組成。模型結構如圖2所示。

首先通過一個全連接層將詞嵌入[x=[x1,x2,?,xn]]轉換為隱狀態[h=[h1,h2,?,hn]],其中[x∈?d×L0],[h∈?dh×L0]。[Wh]和[b(h)]分別是可訓練權重與偏置,[σh]是激活函數;再計算[hi]和[hj]之間的相似度,有別于傳統的注意力機制,本文使用向量[f(hi,hj)]表征相似程度。

2.3 文本分類模型

為驗證CapSA的文本建模效果,本文基于CapSA網絡構建一個深度神經網絡文本分類模型。該模型將CapSA網絡的輸出向量送入全連接層進行分類,然后使用標準的SoftMax進行歸一化以用于多分類任務。在整個網絡的部分層間使用BatchNorm和隨機失活避免過擬合,提升模型泛化能力。整體模型結構如圖4所示。

3 實驗

3.1 實驗數據

模型在3種不同領域、不同文本長度的數據集上訓練與預測,其中包含情感傾向(Review Sentiment,共2個類別,文本平均長度約100個字符)[20]、作者識別(EUPT),共4個類別,文本平均長度約400個字符及標題分類(NLPCC Headlines)[21],共18個類別,文本平均長度約20個字符。

3.2 實現細節與基線模型

實驗在Ubuntu16.04、Pytorch0.4上開展。實驗中詞嵌入由Word2vec在中文維基百科迭代30輪得到,詞向量維度為300維。實驗使用Adam作為優化算法更新網絡權重。在深度卷積膠囊網絡部分中,將Dc設為8,Dp設為16,路由迭代輪數T∈{1,2,3,4,5},針對不同數據集調整具體的迭代輪數。在自注意力網絡中,將c設為5,使用ELU[22]作為激活函數,使用交叉熵作為損失函數。

3.3 實驗結果

實驗使用了5種基于CNN或RNN的模型和1種膠囊網絡模型,在3個數據集上對測試分類結果的宏平均F1值進行對比。實驗結果如表1所示。其中MultiCNN+maxpool是兩層多卷積結合最大池化模型,Multilayer Bi-LSTM是一個兩層雙向長短期記憶的循環神經網絡模型,Bi-LSTM+concate參照文獻[23]中RCNN模型,可將雙向LSTM隱藏狀態與詞向量拼接后送入一個全連接層中,CapsNet是參照文獻[5]實現的單層卷積膠囊網絡。

3.4 參數分析

3.4.1 路由迭代輪數

在實驗中發現,由于動態路由的迭代(routing iteration)過程,膠囊網絡相較于其它網絡計算時間更長。為探究路由過程迭代次數對模型性能的影響,實驗僅調整路由迭代輪數,在Headlines和Review Sentiment數據集上進行測試。 固定學習率10-4迭代5輪數據(epoch)后,記錄錄訓練時間(Time)、分類結果的F1值及正確率(Acc.)。實驗在單機單顯卡(nVidia GTX1080Ti)上進行。F1與正確率如表2所示,花費的訓練時間如表3所示。

表2與表3的統計結果表明,在限制數據迭代輪數的情況下,基于CapSA的文本分類模型在2輪路由迭代的情況下能得到較好的分類效果,而增加路由迭代輪數并沒有在有限的數據迭代輪數訓練后提升分類效果。因此推測更多的路由迭代輪數需更多的數據迭代輪數才可讓模型收斂到理想狀態,但這帶來了更大的計算代價。

3.4.2 壓縮函數

本文在深度卷積膠囊網絡模型上試驗了4種壓縮方案。4種壓縮方案在Headlines和Review Sentiment數據集上的訓練損失變化情況如圖5所示。

4 結語

本文探索了動態路由與自注意力機制在文本建模中的應用,提出CapSA深度網絡模型。該模型一方面利用動態路由保證樣本特征的等變性,另一方面通過自注意力網絡縮短遠距離依賴特征之間的距離,增加特征多樣性和模型魯棒性。CapSA深度網絡模型也可以應用于文本蘊涵、語義匹配等其它類型的自然語言處理任務中。本文通過多次實驗對比了動態路由迭代輪數及向量壓縮方案對模型效果的影響,發現模型收斂對動態路由迭代輪數十分敏感,使用合適的向量壓縮方案也會影響效果。下一步工作是增加模型中不同網絡間的耦合程度,嘗試該模型在閱讀理解、機器翻譯等序列到序列任務中的應用。

參考文獻:

[1] CHUNG J,GULCEHRE C,BENGIO Y,et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[J/OL]. ArXiv Preprint ArXiv:1412.3555. https://arxiv.org/abs/1412.3555.

[2] KIM, Y. Convolutional neural networks for sentence classification[C]. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, 2014: 1746-1751.

[3] LIN Z, FENG M, BENGIO Y, et al. A structured self-attentive sentence embedding[J/OL]. ArXiv Preprint ArXiv:1703.03130. https://arxiv.org/abs/1703.03130.

[4] YANG Z, YANG D, DYER C, et al. Hierarchical attention networks for document classification[C]. Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2016.

[5] SABOUR S, FROSST N, HINTON G E. Dynamic routing between capsules[C]. Advances in Neural Information Processing Systems, 2017:1-11.

[6] IYYER M, MANJUNATHA V, BOYD-GRABER J, et al. Deep unordered composition rivals syntactic methods for text classification[C]. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, 2015:1681-1691.

[7] LIU B, HUANG M, SUN J, et al. Incorporating domain and sentiment supervision in representation learning for domain adaptation[C]. Proceedings of the 24th International Conference on Artificial Intelligence, 2015:1277-1284.

[8] JOULIN A, GRAVE E, BOJANOWSKI P, et al. Bag of tricks for efficient text classification[C]. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics, 2017:1-5.

[9] BLUNSOM P, GREFENSTETTE E, KALCHBRENNER N. A convolutional neural network for modelling sentences[C]. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, 2014:1-11.

[10] LEI T, BARZILAY R, JAAKKOLA T. Molding CNNs for text: non-linear, non-consecutive convolutions[J]. Indiana University Mathematics Journal, 2015, 58(3): 1151-1186.

[11] CONNEAU A, SCHWENK H, BARRAULT L, et al. Very deep convolutional networks for text classification[C]. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics, 2017:1-10.

[12] ZHU X, SOBIHANI P, GUO H. Long short-term memory over recursive structures[C]. ICML'15 Proceedings of the 32nd International Conference on International Conference on Machine Learning, 2015:1604-1612.

[13] TAI K S, SOCHER R, MANNING C D. Improved semantic representations from tree-structured long short-term memory networks[C]. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics, 2015:1577-1586.

[14] YANG Z, YANG D, DYER C, et al. Hierarchical attention networks for document classification[C]. Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2016:1-11.

[15] ZHOU X, WAN X, XIAO J. Attention-based LSTM network for cross-lingual sentiment classification[C]. Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, 2016:1-23.

[16] BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[J/OL]. ArXiv Preprint ArXiv: 1409.0473. https://arxiv.org/abs/1409.0473.

[17] SHANG L, LU Z, LI H. Neural responding machine for short-text conversation[C]. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing, 2015.

[18] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]. Advances in Neural Information Processing Systems, 2017:1-15.

[19] SHEN T, ZHOU T, LONG G, et al. DiSAN: Directional self-attention network for RNN/CNN-free language understanding[C]. The 32nd AAAI Conference on Artificial Intelligence, 2018:1-10.

[20] JUN L I, SUN M. Experimental study on sentiment classification of chinese review using machine learning techniques[C]. 2007 IEEE international conference on natural language processing and knowledge engineering, 2007:393-400.

[21] QIU X, GONG J, HUANG X. Overview of the NLPCC 2017 shared task: Chinese news headline categorization [J/OL]. Computer Science:2018,10619. https://link.springer.com/chapter/10.1007/978- 3-319-73618-1_85.

[22] CLEVERT D A, UNTERTHINER T, HOCHREITER S. Fast and accurate deep network learning by exponential linear units(ELUs)[J]. ArXiv Preprint ArXiv:1511.07289. https://arxiv.org/abs/1511.07289.

[23] LAI, S, XU, et.al. Recurrent convolutional neural networks for text classification[C]. Proceedings of the 29th AAAI Conference on Artificial Intelligence, 2015:2267-2273.

(責任編輯:江 艷)

猜你喜歡
注意力機制
基于注意力機制的改進CLSM檢索式匹配問答方法
基于注意力機制的行人軌跡預測生成模型
基于序列到序列模型的文本到信息框生成的研究
基于深度學習的手分割算法研究
從餐館評論中提取方面術語
基于LSTM?Attention神經網絡的文本特征提取方法
InsunKBQA:一個基于知識庫的問答系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合