ACL 2017

論文《Deep Pyramid Convolutional Neural Networks for Text Categorization》學習筆記參考資料:夕小瑤:從DPCNN出發,撩一下深層word-level文本分類模型

Abstract

該論文提出了一種低複雜度的詞級深層CNN用於文本分類,該模型可以對文本中的長期依賴有效建模。

1 Introduction

近些年,可以利用詞序信息的神經網路在文本分類任務中顯示出了其有效性。

雖然CNN和RNN都可以利用詞序信息,但是CNN因為其簡潔與可並行而更受歡迎,尤其是訓練集比較大的時候。

同字元級CNN相比,詞級CNN的層數要更淺。儘管字元級CNN的優點是不需要處理大量不同的單詞,但是詞級的CNN往往是更有效的。這證實了「單詞」的知識能產生更好的表示。

因此,作者想要探索一種深層詞級CNN的結構用於文本分類。作者將提出的模型稱為深層金字塔形的CNN,因為該模型每層的計算量呈指數下降。

在將離散的文本信息轉換為連續表示之後,DPCNN簡單地堆疊卷積模塊和負採樣層(可能就是指max-pooling層)。整個模型的計算量被限制在小於兩倍convolution blocks的範圍。同時,金字塔的結構也使模型能夠發現文本中的長程依賴關係。

2 Word-level deep pyramid CNN(DPCNN) for text categorization

DPCNN總體的結構是這樣的:

第一層採用text region embedding,其實就是對一個ngram文本塊進行卷積,得到的feature maps作為該文本塊的embedding。

然後是convolution blocks的堆疊,就是兩個卷積層與shortcut的組合。convolution blocks中間夾pooling層,採用max-pooling,設置步長為2以進行負採樣。

最後一個pooling層將每個文檔的數據整合成一個向量。

2.1 Network architecture

feature maps數目固定的負採樣:由size 3 stride 2 的max-pooling實現。該pooling層跟在convolution blocks後面。帶來兩點好處:限制了計算量,同時使模型捕獲了序列的長程依賴。

預激活的shortcut connections:採用了一致映射的shortcut connections,即z+f(z)的形式。其中f(z)是被短路的卷積層,計算的時候採用預激活。

W和b都是可訓練的參數,x是text region embedding,採用sigmoid激活。shortcut connections使深層模型更好訓練;通過實驗發現,預激活的效果要比後激活好。

不需要進行維度對齊:所有的shortcut都採用簡單的一致映射,不需要進行複雜的維度對齊,因為shortcut沒有跳過負採樣層。

2.2 Text region embedding

basic region embedding

在region embedding層,模型為文本的每個單詞的k-word區域計算Wx+b。激活被推遲到下一層的預激活。

假設字典大小是v,有下面3種k-word區域的文本表示方法:(1)kv維的one-hot向量;(2)v維的bow向量;(3)n-gram的bow向量,當n=1時同(2)。

region embedding層相當於卷積層,在本文中是對齊的卷積層,輸出的向量維度與輸入的序列長度相同,只是沒有激活函數。

enhancing region embedding with unsupervised embeddings

可能就是在基礎region embedding上加了預訓練的詞向量。

3 Experiment

3.1 Experimental setup

講了很多細節的參數。

text region embedding的輸入尺寸採用{1,3,5},輸出維度是250。

3.2 Result

作者使用了15層的DPCNN,即7個convolution blocks和1個text region embedding。

4 Conclusion

詞級的DPCNN,計算量小,且可捕捉長程依賴。

不過在訓練集較小的情況下,相比單層CNN似乎沒有太多的優勢。

真正的效果如何,還要做實驗。


推薦閱讀:
相關文章