用“模型想象出來的target”來訓練可以提高分類的效果

LearnFromPapers系列——用“模型想象出來的target”來訓練可以提高分類的效果

<center>作者:郭必揚</center>
<center>時間:2020年最后一天</center>

前言:今天是2020年最后一天,這篇文章也是我的SimpleAI公眾號2020年的最后一篇推文,感謝大家一直以來的陪伴和支持,希望SimpleAI曾帶給各位可愛的讀者們一點點的收獲吧~這么特殊的一天,我也來介紹一篇特殊的論文,那就是今年我和組里幾位老師合作的一篇AAAI論文:“Label Confusion Learning to Enhance Text Classification Models”。這篇文章的主要思想是通過構造一個“標簽混淆模型”來實時地“想象”一個比one-hot更好的標簽分布,從而使得各種深度學習模型(LSTM、CNN、BERT)在分類問題上都能得到更好的效果。個人感覺,還是有、意思的。

  • 論文標題:Label Confusion Learning to Enhance Text Classification Models
  • 會議/期刊:AAAI-21
  • 團隊:上海財經大學 信息管理與工程學院 AI Lab

一、主要貢獻

本文的主要貢獻有這么幾點:

  • 構造了一個插件--"Label Confusion Model(LCM)",可以在模型訓練的時候實時計算樣本和標簽間的關系,從而生成一個標簽分布,作為訓練的target,實驗證明,這個新的target比one-hot標簽更好;
  • 這個插件不需要任何外部的知識,也僅僅在訓練的時候才需要,不會增加模型預測時的時間,不改變原模型的結構。所以LCM的應用范圍很廣;
  • 實驗發現LCM還具有出色的抗噪性和抗干擾能力,對于有錯標的數據集,或者標簽間相似度很高的數據集,有更好的表現。

二、問題背景、相關工作

1. 用one-hot來訓練不夠好

本文主要是從文本分類的角度出發的,但文本分類和圖像分類實際上在訓練模式上是類似的,基本都遵循這樣的一個流程:

step 1. 一個深度網絡(DNN,諸如LSTM、CNN、BERT等)來得到向量表示
step 2. 一個softmax分類器來輸出預測的標簽概率分布p
step 3. 使用Cross-entropy來計算真實標簽(one-hot表示)與p之間的損失,從而優化

這里使用cross-entropy loss(簡稱CE-loss)基本上成了大家訓練模型的默認方法,但它實際上存在一些問題。下面我舉個例子:

比如有一個六個類別的分類任務,CE-loss是如何計算當前某個預測概率p相對于y的損失呢:


可以看出,根據CE-loss的公式,只有y中為1的那一維度參與了loss的計算,其他的都忽略了。這樣就會造成一些后果

  • 真實標簽跟其他標簽之間的關系被忽略了,很多有用的知識無法學到;比如:“鳥”和“飛機”本來也比較像,因此如果模型預測覺得二者更接近,那么應該給予更小的loss
  • 傾向于讓模型更加“武斷”,成為一個“非黑即白”的模型,導致泛化性能差;
  • 面對易混淆的分類任務、有噪音(誤打標)的數據集時,更容易受影響

總之,這都是由one-hot的不合理表示造成的,因為one-hot只是對真實情況的一種簡化。

2. 一些可能的解決辦法

LDL
既然one-hot不合理,那我們就使用更合理的標簽分布來訓練嘛。比如下圖所示:


如果我們能獲取真實的標簽分布來訓練,那該多好啊。

這種使用標簽的分布來學習模型的方法,稱為LDL(Label Distribution Learning),東南大學耿新團隊專門研究這個方面,大家可以去了解一下。

但是,真實的標簽分布,往往很難獲取,甚至不可獲取,只能模擬。比如找很多人來投票,或者通過觀察進行統計。比如在耿新他們最初的LDL論文中,提出了很多生物數據集,是通過實驗觀察來得到的標簽分布。然而,大多數的現有的數據集,尤其是文本、圖像分類,幾乎都是one-hot的,所以LDL并無法直接使用。

Label Enhancement
Label Enhancement,機標簽增強技術,則是一類從通過樣本特征空間來生成標簽分布的方法,我在前面的論文解讀中有介紹,這些方法都很有趣。

然而,使用這些方法來訓練模型,都比較麻煩,因為我們需要通過“兩步走”來訓練,第一步使用LE的方法來構造標簽分布,第二步再使用標簽分布來訓練。

Loss Correction
面對one-hot可能帶來的容易過擬合的問題,有研究提出了Label Smoothing方法:

label smoothing就是把原來的one-hot表示,在每一維上都添加了一個隨機噪音。這是一種簡單粗暴,但又十分有效的方法,目前已經使用在很多的圖像分類模型中了。

這種方法,一定程度上,可以緩解模型過于武斷的問題,也有一定的抗噪能力。但是單純地添加隨機噪音,也無法反映標簽之間的關系,因此對模型的提升有限,甚至有欠擬合的風險。

當然還有一些其他的Loss Correction方法,可以參考我前面的一個介紹。

三、我們的思想&模型設計

我們最終的目標,是能夠使用更加合理的標簽分布來代替one-hot分布訓練模型,最好這個過程能夠和模型的訓練同步進行。

首先我們思考,一個合理的標簽分布,應該有什么樣的性質。

① 很自然地,標簽分布應該可以反映標簽之間的相似性。
比方下面這個例子:


② 標簽間的相似性是相對的,要根據具體的樣本內容來看。
比方下面這個例子,同樣的標簽,對于不同的句子,標簽之間的相似度也是不一樣的:


③ 構造得到的標簽分布,在01化之后應該跟原one-hot表示相同。
啥意思呢,就是我們不能構造出了一個標簽分布,最大值對應的標簽跟原本的one-hot標簽還不一致,我們最終的標簽分布,還是要以one-hot為標桿來構造。

根據上面的思考,我們這樣來設計模型:

使用一個Label Encoder來學習各個label的表示,與input sample的向量表示計算相似度,從而得到一個反映標簽之間的混淆/相似程度的分布。最后,使用該混淆分布來調整原來的one-hot分布,從而得到一個更好的標簽分布。

設計出來的模型結構如圖:


這個結構分兩部分,左邊是一個Basic Predictor,就是各種我們常用的分類模型。右邊的則是LCM的模型。注意LCM是一個插件,所以左側可以更換成任何深度學習模型。

Basic Predictor的過程可以用如下公式表達:
\begin{aligned} v^{(i)} &=f^{I}(x)=f^{I}\left(\left[x_{1}, x_{2}, \ldots, x_{n}\right]\right) \\ &=\left[v_{1}^{(i)}, v_{2}^{(i)}, \ldots, v_{n}^{(i)}\right] \\ y^{(p)} &=\operatorname{softmax}\left(v^{(i)}\right) \end{aligned}
其中v^i就是輸入的文本的通過Input Decoder得到的表示。y^p則是predicted label distribution(PLD)。

LCM的過程可以表達為:
\begin{aligned} V^{(l)} &=f^{L}(l)=f^{L}\left(\left[l_{1}, l_{2}, \ldots, l_{C}\right]\right) \\ &=\left[v_{1}^{(l)}, v_{2}^{(l)}, \ldots, v_{C}^{(l)}\right] \\ y^{(c)} &=\operatorname{softmax}\left(v^{(i)^{\top}} V^{(l)} W+b\right) \\ y^{(s)} &=\operatorname{softmax}\left(\alpha y^{(t)}+y^{(c)}\right) \end{aligned}
其中V^l代表label通過Label Encoder得到的標簽表示矩陣,y^c是標簽和輸入文本的相似度得到的標簽混淆分布,y^t是真實的one-hot表示,二者通過一個超參數結合再歸一化,得到最終的y^s,即模擬標簽分布,simulated label distribution(SLD)。

最后,我們使用KL散度來計算loss:
\begin{aligned} \text {loss} &=K L \text {-divergence}\left(y^{(s)}, y^{(p)}\right) \\ &=\sum_{c}^{C} y_{c}^{(s)} \log \left(\frac{y_{c}^{(s)}}{y_{c}^{(p)}}\right) \end{aligned}

總體來說還是比較簡單的,很好復現,其實也存在更優的模型結構,我們還在探究。

四、實驗&結果分析

1. Benchmark數據集上的測試

我們使用了2個中文數據集和3個英文數據集,在LSTM、CNN、BERT三種模型架構上進行測試,實驗表明LCM可以在絕大多數情況下,提升主流模型的分類效果。


下面這個圖展示了不同水平的α超參數對模型的影響:



從圖中可以看出,不管α水平如何,LCM加成的模型,都可以顯著提高收斂速度,最終的準確率也更高。針對不同的數據集特征,我們可以使用不同的α(比如數據集混淆程度大,可以使用較小的α),另外,論文中我們還介紹了在使用較小α的時候,可以使用early-stop策略來防止過擬合。

而下面這個圖則展示了LCM確實可以學習到label之間的一些相似性關系,而且是從完全隨機的初始狀態開始學到的:


2. 難以區分的數據集(標簽易混淆)

我們構造了幾個“簡單的”和“困難的”數據集,通過實驗標簽,LCM更適合那些容易混淆的數據集:


3. 有噪音的數據集

我們還測試了在不同噪音水平下的數據集上的效果,并跟Label Smoothing方法做了對比,發現是顯著好于LS方法的。


下面這個圖展示了另外一組更細致的實驗結果:


4. 在圖像分類上也有效果

最后,我們在圖像任務上也簡單測試了一下,發現也有效果:


總結:

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,818評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,185評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,656評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,647評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,446評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,951評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,041評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,189評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,718評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,800評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,419評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,420評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,755評論 2 371

推薦閱讀更多精彩內容