Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification
2019-10-01 11:29:54
Paper: https://arxiv.org/pdf/1909.04176.pdf
1. Background and Motivation:
多標簽分類問題的目標是同時進行多個 label 的識別,且這些 label 是有一定關聯的;而傳統的 多類別分類問題,僅僅是一個樣本包含一個 label。現有的方法,從統計模型到神經網絡的方法,都是共享標准的交叉熵損失函數進行訓練的。在訓練之后,這些模型嘗試用單個預測策略來對所有的 label 進行最終的預測。實際上,這些方法都是基於如下的假設:no dependency among the labels。然而,如圖1 所示,這種假設在實際情況下是很難滿足的,但是 multi-label classification 的 label 依賴關系的問題卻很少受到關注。
由於受到標簽依賴關系的影響,這些 label 的預測難度是大不相同的。
首先,高層的 label 更加容易進行分類,如:organization,person 等;但是更加低層的 label,如 news,broadcast 等,則更加困難。
其次,對於 label 之間沒有顯示關系的,可能仍然存在着一些隱層的關系,這在 NLP 領域中,是相當常見的。
基於上述觀察,作者考慮學習不同的訓練策略 和 預測策略來進行多標簽的識別。
對於所有 label 的訓練和預測策略,可以看做是一系列的超參數。然而,想要指定顯示和隱式的標簽依賴,也是不顯示的。為了解決上述問題,本文提出一種 meta-learning 的框架來建模這些 label dependency,然后自動的學習訓練和測試策略。具體來說,作者引入一種聯合 meta-learning 和 multi-label classification 的學習框架。作者用一種基於 GRU 的 meta-learner 在訓練階段來捕獲 label dependencies 和 學習這些參數。
本文的貢獻可以總結為如下幾點:
1). 首次在多標簽分類問題上,提出聯合的 “learning to learn” 和 “learning to predict” 。
2). 本文方法可以對每一個 label 學習一個 weight 和 decision policy,並且可以用於訓練和測試階段。
3). 本文方法是一種 model-agnostic,可以結合到多種模型中,並且取得了比 baseline 方法要好很多的效果。
2. The Proposed Method:
2.1 Classifier Model:
對於一個 N 類的多標簽分類問題來說,我們將訓練策略表示為 w,測試策略表示為 p,其中 wi 和 pi 是第 i 類的訓練權重和預測閾值。wt 和 pt 表示時刻 t 的權重向量和閾值向量。然后,本文的學習目標就變成了:learn a high-quality w and p for a certain classifier C. 為了更新分類器 C 的參數,作者在每個時刻采樣一個 batch Bt。然后設置一個加權的交叉熵目標函數來更新 C,定義如下:
其中,$y_i^*$ 表示 第 i 個樣本的真值,$y_i^{(j)}$ 是輸出向量 yi 的第 j 個 值。
2.2 Meta-Learner:
作者這里認為 meta-learning 是一種 reinforcement learning 技術。而每一個時刻,meta-learner 觀測到當前的狀態 st,然后產生一個訓練策略 wt 和 測試策略 pt,基於這些策略,分類器 C 的參數可以進行更新。在訓練后,meta-learner 接收到一個獎勵 rt。而本文 meta-learner 的目標就是選擇兩個策略,使得將來的獎勵最大化:
2.2.1 State Representation:
在本文中,作者將 meta-learner 建模為 RNN 結構,實際上用的是 GRU。狀態表達 st 直接定義為 GRU 在每一個時刻 t 的隱層狀態 ht。然后,st 是根據如下的公式進行計算的:
其中,GRU 在 時刻 t 的輸入是預測策略和訓練策略的組合。
2.2.2 Policy Generation:
在每一個時間步驟,meta-learner 可以產生兩個策略,即:訓練策略 wt 和 預測策略 pt。這兩個策略均被表達為 N-dimensional 的向量格式。為了將訓練策略 wt 結合到交叉熵的目標函數中,並且保持 classifier 的訓練梯度在同一個數量級,wt 需要滿足加和為 1 的約束。然后,在每一個時刻 t,訓練策略可以按照如下的方法得到:
對於測試策略,其定義為:
在上述兩個公式中,除了 st 是狀態外,其他的參數都是可學習的參數。
2.2.3 Reward Function:
獎勵按照如下的公式進行計算:
其中,$y_i$ 是第 i 個樣本的輸出概率,$y_i^*$ 是對應的真值向量。作者這里也給了一個例子,來說明獎勵的計算過程:
2.3 Training and Testing: