Hierarchical Multi-Label Classification Networks
何為HMC
常見的文本分類任務中類目之間通常是正交的,即不存在包含關系。而層次分類則是一類特殊的文本分類任務,即類目之間存在層次結構關系,一般可以表示為樹形或者無向圖。在這類任務中,一條樣本的標簽會同時包括層次結構中的父類和子類目。更復雜的情況下,一條樣本會同時包含層次結構中多條路徑,這類任務則稱為層次多標簽任務(HMC,Hierarchical Multi-Classification)。
HMC常用方法
Local
- Local方法通過學習不同層類目和文本之間的關系,並聚合不同層的預測結果來得到最終的預測結果。這類方法通常由多個分類模塊組成,例如自頂向下的層次分類,在每個非葉子節點都有一個局部分類器,在預測時根據父類目的預測結果來預測最終的子類目;基於Local的方法能夠利用更細粒度的層級信息,但往往需要構建多個分類模塊,同時也容易受到誤差傳播的影響。
- 局部方法的計算成本要高得多,因為它們依賴於級聯的分類器,但它們更適合從類層次結構的區域中提取信息,最終導致過度擬合
Global
- Global方法通常由一個分類模塊構成,直接利用層級結構信息來建模。例如利用層次結構來構造遞歸正則化損失項來對分類參數進行約束。基於Global方法更簡單,但往往無法在學習文本語義表示中利用到細粒度的層級信息,導致模型學習效果交叉,容易欠擬合。
- 全局方法通常比局部方法計算成本低,而且它們不會出現眾所周知的錯誤傳播問題,盡管它們不太可能從層次結構中捕獲局部信息,最終導致擬合不足。
HMCN
概述
- HMCN,實現了循環和非循環神經網絡體系結構。在這兩個版本中,它包含多個輸出,每個分層的多標簽分類網絡的一個輸出層加上一個用於整個網絡的全局輸出層。其原理是,每個局部損失函數加強了梯度的傳播,從而導致相應層次級別的類之間適當的局部信息編碼。同時,在全局輸出層中優化的損耗函數將跟蹤整個層次結構中的標簽依賴關系。此外,我們還引入了一個層次違例懲罰來鼓勵服從層次結構的預測。我們表明,HMCN輕松地將自己確立為解決HMC問題的最新技術。
- 分層多標簽分類網絡(HMCN),它是一種多輸出深度神經網絡,專門用於HMC問題的局部和全局優化。為此,HMCN從多個網絡輸出傳播梯度。它包含每個層次層的一個局部輸出,一個局部損耗函數用於從對應層次的類反向傳播梯度。全局輸出捕獲在整個網絡上轉發的累積關系,並從層次結構的所有類反向傳播梯度。
具體模型
-
HMCN-F
-
-
global
-
對應全部的信息傳輸
-
原始數據傳輸到第一層
-
input:x
-
信息傳輸:
-
output:A1G
-
-
從第 i 層到第 i+1 層
-
input:上一層的輸出與最初的輸入的拼接向量
-
信息傳輸:
-
output:AhG
-
-
最終輸出PG
-
其中PG的每一維都代表一個類目的概率
-
-
-
local
-
對應各個中間層的信息信息傳輸,通過局部的分類層得到每一層的隱層表示
-
層的映射到對應層
-
input:每一層的輸出
-
-
output:AhL
-
-
本層具體的local概率
- input:AhL
-
-
結合local與global的最終輸出
-
最終的預測輸出:
-
其中β為超參數,可以去調節整局部信息和全局信息的重要性,默認設為0.5,表示相同的重要性。
-
-
缺點
- HMCN-F的模型參數隨着層次結構增加而增加,當層次結構較深時,會導致模型參數量劇增
-
-
HMCN-R
-
-
思路
- 每次迭代的輸出表示一個層級的輸出,即Ah
-
global
- 一次迭代
-
input:x和上一個迭代的輸出
-
這里和LSTM原理類似,狀態向量Ch(Ch-1包含前一層的信息)由遺忘門和輸入門決定。
-
最終輸出由狀態向量Ch和輸出門共同決定
-
-
- 一次迭代
-
local
- 和HMCN-F類似
-
結合Local和global得到最終輸出,還是和HMCF類似。
-
Loss function
-
我們不能保證網絡能夠預測出一致的分層路徑。為了避免這個問題,我們建議用層次違背來懲罰預測,並執行一個后處理步驟來確保所有預測都遵守層次約束。
-
Global
- 計算二進制交叉熵
- 計算二進制交叉熵
-
Local
-
懲罰函數
-
最終loss