A Sensitivity Analysis of Convolutional Neural Networks for Sentence:論文解讀

針對文本分類問題,作者在這篇論文裏,詳細講解了如何對神經網絡進行調參。論文主要內容如下。

1.論文背景

CNN已經廣泛應用於文本分類任務中,但是訓練模型需要精通模型結構,以及如何進行調參,包括filer的大小,正則化參數等等。而且模型的性能對參數非常敏感。這篇論文主要研究的是,單層神經網絡調參。因爲對於很多問題,單層CNN已經足夠應對。作者最後給出了關於調參的實際建議。

2. Baseline模型

2.1 非NN模型:

首先比較了常用的非NN模型,包括線性kernel SVM模型,使用uni和bi-gram特徵。然後比較了word2Vec和GloVe詞向量,以及將二者組合,和RBF-kernel 的SVM模型。不同的模型比較結構如下圖所示。
在這裏插入圖片描述

2.1 NN模型:

作者首先給出了一個NN baseline模型,在此的基礎上進行調參。
在這裏插入圖片描述

3. 調參

3.1 詞向量的影響:

比較了兩種常用的詞向量:word2vec和GloVe。詞向量可以訓練爲動態(Non-static),否則爲靜態(static)。Non-static 均超過staic模型,所以在此只比較non-static模型。比較結果如下所示。
在這裏插入圖片描述

結論:Non-static word2vec-CNN表現最好.

3.2 filter大小的影響:

filter的大小起到非常大的作用,這是以前所沒想到的。
在這裏插入圖片描述
從實驗結果看出,filer size=7的時候表現最好,同時作者建議,對於更長的文本,可以嘗試更大的filter。
多個filter相組合可以得到比單層CNN更好的結果。
在這裏插入圖片描述

結論:首先找到單層最佳的filter大小,建議範圍1-10。最佳大小附近的幾個數值相互組合能提高性能。

3.3 feature map數量的影響:

對於不同的數據集,feature map的最優數量差別很大,此處僅給出作者的實驗結果,具體還有根據實際調參。作者實驗的範圍:10, 50, 100, 200, 400, 600, 1000,2000。

結論:根據實驗結果而定,建議範圍100-600。

3.4 激活函數的影響:

可供選擇的激活函數有,ReLU,tanh,Sigmoid,SoftPlus。平常只用ReLU,可以嘗試tanh。
在這裏插入圖片描述
結論:大部分情況下tanh,ReLU表現最好。

3.5 池化(pooling)的影響:

作者嘗試了多種方法,包括:k-max(選取最大的k個值),平均池化等等。

結論:1-max pooling表現最好

3.6 正則化(regularization)的影響:

首先比較了Dropout的影響,實驗範圍: 0.0-0.9。實驗發現Dropout帶來的效果很小,和常見的結論所違背,有可能是因爲只有一層神經網絡。深層網絡可能會帶來明顯的影響。
在這裏插入圖片描述
然後比較了L2範數的影響。此處嚴重超出認知,L2竟然可以設置這麼大。
在這裏插入圖片描述
結論:Dropout和L2能帶來巨大的影響。Dropout建議範圍:0-0.5。可嘗試較大的L2標準化。

4. 結論

4.2 結論彙總:

  • 輸入詞向量的選擇具有明顯的影響,word2vec或者Glove均比單純的onehot要好;
  • filter的大小影響巨大,應該調參;
  • feature maps的數量同樣有小的影響;
  • 1-max pooling要比其他池化策略都好;
  • 歸一化的影響很小。

4.1 調參步驟:

  1. 從baseline出發,使用non-static或者GloVe;
  2. 對filter size進行線性搜索直到找到最好的單個region size,過長文本可以嘗試比較大的filter。一旦確定filter size,嘗試多個filter並聯;
  3. 從100到600調整feature maps的數量,使用比較小的Dropout rate(0.0–0.5),以及較大的L2 標準化;
  4. 考慮使用不同的激活函數,大部分情況下ReLU和tanh效果最好,可以嘗試無激活函數;
  5. 使用1-max pooling;
  6. 當增加feature maps數量的時候,嘗試增加歸一化係數;

參考資料:

[1] A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章