TextCNN論文解讀


引言

本文是對《Convolutional Neural Networks for Sentence Classification》的原理解讀,簡稱TextCNN。

作者提出了一種基於CNN的新的文本分類模型。該模型結構簡單,支持靜態詞向量和可微調詞向量。作者做了一系列實驗驗證了該方法的優勢,在各種文本分類模型上取得state-of-the-art的結果。

模型結構


如上圖所示。

  1. 輸入長度為n的序列,序列中每個詞向量維度為k。模型輸入維度為(n, k)
  2. 在詞向量階段,作者也使用了不同的處理方法。嘗試了以下三種詞向量獲取方式:
  • 使用預訓練好的詞向量,在模型訓練階段詞向量可進行fine-tuning。
  • 使用預訓練好的詞向量,在模型訓練階段詞向量凍結,不進行fine-tuning。
  • 使用兩個詞向量獲取通道,一個是凍結的,一個可fine-tuning的。

實驗結果顯示,使用預訓練好的詞向量,在模型訓練階段詞向量進行fine-tuning的方式通常能取得最優結果,個別情況下雙通道方式能取得最有結果。
3. 輸入經過尺寸為(h, k)的卷積核,這里跟圖像卷積不同是,這里卷積核的第二維的大小跟詞向量的維度大小相同,就是此處的卷積核在掃描特征的時候只沿着序列的方向進行掃描,生成(n-h+1,)的一維向量。
直觀上理解,相當於使用卷積核提取窗口大小為h的n-gram特征。
4. 多個卷積核生成多個(n-h+1,)的n-gram特征。
5. 卷積后面跟着GlobalAvgMaxpooling,這樣無論是多長的序列進來,輸出都是等長的。
6. 使用了多個不同尺寸的卷積核,相當於提取了不同窗口大小的n-gram特征。

正則

  1. 在倒數第二層使用了l2正則
  2. 在隱藏層使用了 Dropout

優缺點

  1. 通過CNN的方式捕捉n-gram特征,本質上是詞袋模型。計算速度快,預性能也不錯。
  2. 可解釋行不強


免責聲明!

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



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