自然語言處理的CNN模型中幾種常見的池化方法


自然語言處理的CNN模型中幾種常見的池化方法

本文是在[1]的基礎上進行的二次歸納。

0x00 池化(pooling)的作用

  首先,回顧一下NLP中基本的CNN模型的卷積和池化的大致原理[2]。filter(特征抽取器,卷積核,CV上稱之為濾波器)在一個窗口(text region)上可以抽取出一個特征值,filter在整個text上滑動,將抽取出一系列特征值組成一個特征向量。這就是卷積層抽取文本特征的過程。模型中的每一個filter都如此操作,形成了不同的特征向量。

  pooling層則對filters的抽取結果進行降維操作,獲得樣本的重要特征,為下一次的卷積增加感受野的大小,逐漸減小"分辨率", 為最后的全連接做准備。pooling層是CNN中用來減小尺寸,提高運算速度的,同樣能減小噪聲的影響,讓各特征更具有健壯性。降維操作方式的不同產生不同的池化方法。

  一般在pooling層之后連接全連接神經網絡,形成最后的分類結果。

  下面列舉幾種常見的pooling方法。

0x01 Max Pooling#

做法

  對於某個filter抽取到若干特征值,只取其中得分最大的那個值作為pooling層保留值,其它特征值全部拋棄,值最大代表只保留這些特征中最強的,而拋棄其它弱的此類特征。

優點

  1. 只保留區域內的最大值(特征),忽略其它值,降低噪聲的影響,提高模型健壯性;

  2. Max Pooling能減少模型參數數量,有利於減少模型過擬合問題。因為經過pooling操作后,在NLP任務中往往把一維的數組轉換為單一數值,這樣對於后續的卷積層或者全聯接隱層來說無疑單個filter的參數或者隱層神經元個數就減少了。

  3. Max Pooling可以把變長的輸入X整理成固定長度的輸入。因為CNN最后往往會接全聯接層,而其神經元個數是需要事先定好的,如果輸入是不定長的那么很難設計網絡結構。在NLP任務中,文本的長度往往是不確定的,而通過pooling 操作,每個filter固定取1個值,那么有多少個filter,pooling層就有多少個神經元(pooling層神經元個數等於filters個數),這樣就可以把全聯接層神經元個數固定住。

缺點

  1. Max-Pooling丟失特征項位置信息。在很多NLP的應用場合,特征的出現位置信息是很重要的,比如主語出現位置一般在句子頭,賓語一般出現在句子尾等等,這些位置信息其實有時候對於主題分類分類任務也許不是很重要([3]保留詞的順序特征提高了文本分類性能),但是對於情感分類任務可能很重要;

  2. Max-Pooling丟失特征頻次信息。有時候有些強特征會出現多次,比如我們常見的特征權重算法TF-IDF中的TF就是指某個特征在某一個文本中出現的次數。但是因為Max Pooling只保留一個最大值,所以即使某個特征出現多次,經過max-Pooling也只能看到一次。

0x02 K-Max Pooling

做法

  K-Max Pooling可以取每一個filter抽取的一些列特征值中得分在前K大的值,並保留他們的相對的先后順序。把所有filters的前k大的特征值拼接成一個特征向量。pooling層的神經元個數等於k倍的filter個數。就是說通過多保留一些特征信息供后續階段使用。

優點

  1. K-Max Pooling可以表達同一類特征出現多次的情形,即可以表達某類特征的強度;

  2. 因為這些Top-K特征值的相對順序得以保留,所以應該說其保留了部分位置信息。

缺點

  這種位置信息只是特征間的相對順序,而非絕對位置信息。

0x03 Chunk-Max Pooling

做法

  把某個filter抽取到的特征向量進行分段,切割成若干段后,在每個分段里面各自取得一個最大特征值,比如將某個filter的特征向量切成3個chunk,那么就在每個chunk里面取一個最大值,於是獲得3個特征值。

優點

  1. Chunk-Max Pooling可以保留了多個局部最大特征值的相對順序信息;

  2. 如果多次出現強特征,Chunk-Max Pooling可以捕獲特征強度。

缺點

  並沒有保留絕對位置信息,僅保留了比較粗粒度的模糊的位置信息。

0x04 REFERENCE#

[1] 張俊林. 自然語言處理中CNN模型幾種常見的Max Pooling操作[EB/OL]. http://blog.csdn.net/malefactor/article/details/51078135, 2016-04-07

[2] Kim, Y. (2014). Convolutional neural networks for sentence classification. Eprint Arxiv.

[3] Johnson, R., & Zhang, T. (2014). Effective use of word order for text categorization with convolutional neural networks. Eprint Arxiv.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM