<<Deep Semantic Role Labeling with Self-Attention>>閱讀筆記

地址:Deep Semantic Role Labeling with Self-Attention

來源:AAAI2018

Introductioin:

語義角色識別(SRL)任務是指在給定謂語動詞的情況下,從文本中識別其對應的謂元。在本文中,作者將self-attention應用到了該任務上,並將SRL作為一個序列標註問題,使用深度注意力網路進行標註,借鑒了<<Attention is all you need>>的內容,對相關內容細節感興趣的讀者可以仔細閱讀一下,或者參照專欄文章Attention is All You Need閱讀筆記。

Model:

作者採用了N層的深度模型,每一層包含一個非線性層和一個self-attention層,最高層作為softmax層的輸入。

Self-Attention:

自注意力不同於其他的注意力結構,僅需要序列本身就可計算其表示。在本文中,作者採用的是Multi-head attention結構。包括query vectors Q,keys K和values q,通過公式1得到其輸出。

d是隱層單元的數量

該結構首先將輸入通過不同的線性投影映射為queries,keys和values矩陣,然後將各個部分切分,通過不同的平行頭進行處理拼接。在<<Attention is all you need>>中說明這種維度切分處理的計算代價與只用一個頭進行整個維度上的計算是差不多的。

W_{i}^{Q} in R^{n * d / h} , W_{i}^{K} in R^{n * d / h} , W_{i}^{V} in R^{n * d / h}

與CNN、RNN相比,self-attention結構有著自身的優勢。其依賴路徑長度為1,而RNN為n;與CNN相比,沒有固定窗口大小的限制;採用weighted sum方式計算輸出向量,相比之下梯度傳播更易計算;與RNN相比高度並行。

Nonlinear Sub-Layers:

神經網路的成功主要歸功於其高度靈活的非線性變換,由於採用的注意力結構是求和操作產生輸出,因此表達能力是有局限的。為了增加註意力網路的表達能力,作者採用了非線性層來對attention的輸出進行變換,主要是以下三種方式。

Recurrent sub-layer:

作者採用的雙向的LSTM結構,並對每個token的輸出進行了求和操作。

Convolutional sub-layer:

採用Gated Linear Unit結構,包括兩個卷積核 W in R^{k*d*d}V in R^{k*d*d}

Feed-forward sub-layer:

Deep Topology:

作者採用殘差連接在追求更好結果的同時來簡化深度注意力模型的訓練,並在每層之後用一個歸一化穩定神經網路。

Position Encoding:

Experiments:

作者在CoNLL-2005和CoNLL-2012兩個公共數據集上進行了實驗。作者用隨機正交矩陣初始化所有sub-layers的權重,對於其他的參數,則採樣於服從均值為0、方差為 frac{1}{sqrt{d}} 的高斯分布,詞嵌入層有隨即初始化和選用預訓練詞向量兩種形式。

Analysis:

模型深度是端到端的SRL模型成功的關鍵,在Table 3中,作者分別嘗試了不同深度的模型,證明具有較高深度的模型具有更好的實驗結果。同時作者嘗試了具有不同隱層單元數量的模型,相比較之下,模型的廣度也能在一定程度上提升效果,但與此同時佔用的內存和計算代價也增加了。使用預訓練的詞向量、位置編碼都能很好的提升模型效果。

總結:

在常規的序列標註任務中,標籤之間是有依賴關係的,通常利用CRF進行全局優化,但是在本論文中僅依靠使用self-attention,作者在比較限制性解碼的有無,發現差別並不大,作者認為該深度注意力模型已經有足夠的能力去學習這種潛在的關係。對於潛在的標籤依賴,self-attention是否有足夠的能力去捕捉到這種關係,還是挺值得探索的。


推薦閱讀:

Deliberation Networks 閱讀筆記
NNLM最新論文調研-1-《Character-Aware Neural Language Models》
Bag of Word
學習筆記CB002:詞幹提取、詞性標註、中文切詞、文檔分類
一文看懂深度學習中的VQA(視覺問答)技術

TAG:自然語言處理 |