大規模多標籤文本分類 - 重新設計神經網絡

Large-scale Multi-label Text Classification —Revisiting Neural Networks

2014 European Conference on Machine Learning and Knowledge Discovery in Databases

Jinseok NamJungi KimEneldo Loza MencíaIryna GurevychJohannes Fürnkranz

介紹

在這篇文章中,我們直接建立BP-MLL並展示一個簡單的單一隱藏層NN如何在大規模多標籤文本分類任務中實現最先進的性能。我們建議的關鍵修改是(i)通過用交叉熵代替BP-MLL的成對排名損失以及(ii)在深度學習領域(例如整流線性單元(ReLUs))中使用最近的發展來提高效率和更有效的訓練,DropoutAdaGrad

用於多標籤分類的神經網絡

在本節中,我們提出了一個基於神經網絡的多標籤分類框架,該框架由單個隱藏層組成,並與神經網絡的優化技術的最新發展一起運行,這使得模型能夠更快更好地收斂,我們的方法包括兩個模塊:產生標籤分數的神經網絡(第3.2-3.5節),以及使用閾值技術將標籤分數轉換爲二進制的標籤預測器。

Ranking Loss(PWE) vs. Cross Entropy(CE)

 ![Alt text](./1542434950388.png)

通過實驗從上方左圖可以看出,CE的損失函數相對PWE損失函數更陡峭,參數更新的就會越快。使用ReLU激活函數比tanh激活函數更陡峭,參數更新也會更快。

深度學習的最新技術

Rectified Linear Units(2010 ICML提出)

整流線性單元(ReLU)已被提出作爲隱藏層上的激活單元,並顯示出更好的泛化性能。ReLU禁用負激活(ReLU(x)= max(0,x)),以便在訓練期間要學習的參數數量減少。這種稀疏特性使得ReLUs在傳統性能方面優於傳統的激活單元,如sigmoid和tanh。

AdaGrad學習率調整(2011 ML提出)

和之前的固定的學習速率不同,AdaGrad是自適應學習速率方法,Adagrad 的算法會使用一個小批量隨機梯度 gt 按元素平方的累加變量 st。在時間步 0,adagrad 將 s0 中每個元素初始化爲 0。在時間步 t,首先將小批量隨機梯度 gt 按元素平方後累加到變量 st:
stst1+gtgt,\boldsymbol{s}_t \leftarrow \boldsymbol{s}_{t-1} + \boldsymbol{g}_t \odot \boldsymbol{g}_t,
其中 ⊙ 是按元素相乘。接着,我們將目標函數自變量中每個元素的學習率通過按元素運算重新調整一下:
xtxt1ηst+ϵgt,\boldsymbol{x}_t \leftarrow \boldsymbol{x}_{t-1} - \frac{\eta}{\sqrt{\boldsymbol{s}_t + \epsilon}} \odot \boldsymbol{g}_t,
其中 η 是學習率,ϵ 是爲了維持數值穩定性而添加的常數,例如 10−6。這裏開方、除法和乘法的運算都是按元素進行的。這些按元素運算使得目標函數自變量中每個元素都分別擁有自己的學習率。

通過Dropout訓練進行正則化(2012 arxiv提出)

原則上,隨着網絡中隱藏層和隱藏單元的數量增加,其表達能力也增加。如果給出一個大量的訓練樣例,那麼訓練更大的網絡將比使用更小的網絡獲得更好的性能。訓練這樣一個大型網絡時的問題是,由於需要學習大量參數,模型更容易陷入局部最小值。

Dropout 訓練是一種防止巨大參數空間過度擬合的技術。它的關鍵思想是通過隨機丟棄一些隱藏單元的激活來解耦激活相同輸出的隱藏單元。本質上,這對應於訓練具有較小隱藏層的網絡集合,並組合它們的預測。
然而,不需要明確地計算和組合所有可能的隱藏層的單獨預測,但是可以從整個網絡近似地重建集合的輸出。因此,Dropout 訓練具有與集合技術類似的正則化效果

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