【膠囊網絡-CapsNet】Investigating Capsule Networks with Dynamic Routing for Text Classification

Investigating Capsule Networks with Dynamic Routing for Text Classification

發表在EMNLP 2018

  1. CNN 在對空間信息進行建模時,需要對特徵檢測器進行復制,降低了模型的效率
  2. CNN 空間不敏感的方法不可避免地受限於豐富的文本結構(比如保存單詞的位置信息、語義信息、語法結構等),難以有效地進行編碼且缺乏文本表達能力

Capsule Network 由hinton提出,用神經元向量代替傳統神經網絡的單個神經元節點,以 Dynamic Routing 的方式去訓練這種全新的神經網絡,有效地改善了上述兩類方法的缺點。

本文是capsNet在文本分類上的應用,並針對文本分類任務提出了三個策略減少背景或者噪音膠囊對網絡的影響。

  1. Orphan Category:在膠囊網絡的最後一層,引入 Orphan 類別,它可以捕捉一些背景知識,比如停用詞。在視覺任務加入 Orphan 類別效果比較有限,因爲圖片的背景在訓練和測試集裏往往是多變的。然而,在文本任務,停用詞比較一致,比如謂詞和代詞等。
  2. Leaky-Softmax:除了在最後一層引入 Orphan 類別,中間的連續卷積層也需要引入去噪機制。對比 Orphan 類別,Leaky-Softmax 是一種輕量的去噪方法,它不需要額外的參數和計算量。
  3. 路由參數修正:傳統的路由參數,通常用均與分佈進行初始化,忽略了下層膠囊的概率。相反,我們把下層膠囊的概率當成路由參數的先驗,改進路由過程。

在 6 個 benchmarks 上進行了實驗,Capsule Network 在其中 4 箇中取得了最好結果。

同事,在多標籤遷移的任務上(fromsingle-label to multi-label text classification),Capsule Network 的性能遠遠地超過了 CNN 和 LSTM

Model

模型包含四層,

  1. N-gram convolutional layer
  2. primary capsule layer
  3. convolutional capsule layer
  4. fully connected capsule layer

N-gram convolutional layer

這是標準的卷積層,對於每一個卷積,窗口大小K1×vK_1\times v
mia=f(xi:i+K11Wa+b0) m^a_i = f(x_{i:i+K_1-1} \circ W^a + b_0)
其中,xRLV,xiRV,WaRK1v,maRLK1+1x \in R^{L*V}, x_i \in R^V, W^a \in R^{K_1*v}, m^a \in R^{L-K_1+1},V是詞向量維度。

卷積核通道數爲B,卷積層輸出:
M=[m1,m2,...mB]R(LK1+1)×B M = [m_1, m_2,... m_B] \in R^{(L-K_1+1) \times B}

primary capsule layer

第一層膠囊網絡。
pi=g(WbMi+b1)g(sj)=sj21+s2sjsj p_i = g(W^bM_i + b_1) \\ g(s_j) = \frac{||s_j||^2}{1+||s||^2} \frac{s_j}{||s_j||}
其中:WbRB×d,MiRB,i(1,LK1+1)W^b \in R^{B \times d}, M_i \in R^{B}, i \in (1, L-K_1+1),g是squash函數。

通道數設置爲C,即:
P=[p1,p2,...PC]R(LK1+1)×C×d P = [p_1, p_2, ...P_C] \in R^{(L-K_1+1) \times C \times d}
最終輸出爲(LK1+1)×C(L-K_1+1) \times C個維度爲d的膠囊。

Child-Parent Relationships

在膠囊網絡層之間就會存在Child-Parent關係,本文嘗試了兩種transformation。

  • 共享權重,對於每一個parent膠囊,共享權重Wjt1W^{t_1}_j
    • u^=Wjt1ui+bji\hat{u} = W_j^{t_1} u_i + b_{j|i},其中uiu_i是每個child-capsule。
    • 參數量:NddN*d*d
  • 非共享權重,對於每一個parent膠囊j,child膠囊i,有
    • u^=Wjit1ui+bji\hat{u} = W_{j|i}^{t_1} u_i + b_{j|i}
    • 參數量:HNddH*N*d*d,parent膠囊N個,child膠囊H個。

Dynamic Routing

通過動態路由算法學習獲得child膠囊對parent膠囊的權重,動態的加強或減弱權重,優於會丟失位置信息的max pooling算法。同事本文針對文本分類任務提出了三個策略優化CapsNet:

  1. Orphan Category:在膠囊網絡的最後一層,引入 Orphan 類別,它可以捕捉一些背景知識,比如停用詞。在視覺任務加入 Orphan 類別效果比較有限,因爲圖片的背景在訓練和測試集裏往往是多變的。然而,在文本任務,停用詞比較一致,比如謂詞和代詞等。

  2. Leaky-Softmax:除了在最後一層引入 Orphan 類別,中間的連續卷積層也需要引入去噪機制。對比 Orphan 類別,Leaky-Softmax 是一種輕量的去噪方法,它不需要額外的參數和計算量。

  3. 路由參數修正:傳統的路由參數,通常用均與分佈進行初始化,忽略了下層膠囊的概率。相反,我們把下層膠囊的概率當成路由參數的先驗,改進路由過程。

在這裏插入圖片描述

原始Dynamic Routing:

在這裏插入圖片描述

convolutional capsule layer

fully connected capsule layer

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