利用Dice Loss來解決NLP任務(wù)中樣本不平衡性問題

1 前言

今天分享一種利用Dice Loss來解決NLP任務(wù)中樣本不平衡性問題的方法犁柜,該思路來自2020年ACL會議一篇paperDice Loss for Data-imbalanced NLP Tasks堂淡。在NLP任務(wù)绢淀,我們最常見用的目標(biāo)函數(shù)就是交叉熵。在很多數(shù)據(jù)場景下覆履,存在樣本不平性的問題,使用交叉熵會有些缺陷栖雾,因?yàn)樗谟?jì)算過程中將每類別的權(quán)重視為一樣伟众,這樣模型在訓(xùn)練中就會偏向樣本多的那個(gè)類別。針對該問題账胧,也有在交叉熵上加一個(gè)權(quán)重系數(shù)先紫,但這種方法多數(shù)是出于人為定義或者根據(jù)訓(xùn)練樣本數(shù)量統(tǒng)計(jì)而來的泡孩,并不能目標(biāo)函數(shù)在訓(xùn)練中自動去調(diào)節(jié)偏向權(quán)重寺谤。

為解決上述問題,有人提出Focal Loss的方法眼俊,該方法最先出于圖像中目標(biāo)檢測的場景中疮胖,也可應(yīng)用NLP領(lǐng)域闷板,它在imbalanced data問題取得很不錯(cuò)的效果。有興趣的讀者可以閱讀Focal Loss 原理及實(shí)踐性昭。

在paper《Dice Loss for Data-imbalanced NLP Tasks》中县遣,作者提出使用Dice Loss去解決NLP中imbalanced data問題萧求。Dice Loss并不是作者首創(chuàng)的,而是很早從 S?rensen–Dice coefficient(Sorensen, 1948) or Tversky index (Tversky,1977) 演變而來的元旬。作者認(rèn)為,使用Dice Loss代替Cross Entropy箕速,可以降低樣本不平衡性的影響朋譬。此外徙赢,為了進(jìn)一步降低大量的負(fù)樣本的訓(xùn)練偏向影響,作者提出Self-adjusting Dice Loss窑业。下面介紹下Dice Loss原理及應(yīng)用效果枕屉。

2 Dice Loss

在介紹Dice Loss時(shí),用二分類任務(wù)來展示它的原理及各種變體西潘,也可以很容易推廣其他類型的任務(wù)哨颂。

對于一訓(xùn)練集合D=\{X, Y\}, x_i為其中一個(gè)樣本威恼,對應(yīng)的真實(shí)值為y_i=[y_{i0}, y_{i1}]p_i=[p_{i0}, p_{i1}]為兩個(gè)類別的預(yù)測概率腹备,其中y_{i0}, y_{i1} \in{0,1}, p_{i0},p_{i1} \in [0,1]馏谨,前者為取值為0或1附迷,后者取值范圍為[0,1]。

2.1 交叉熵
在上述定義的二分類任務(wù)上喊儡,其交叉熵定義為:
CE=- \frac{1}{N}\sum_{i=1}^{N}\sum_{j \in \{0,1\}} y_{ij}logp_{ij}
從公式上可以看出艾猜,每個(gè)x_i樣本對目標(biāo)函數(shù)權(quán)重是一樣的,這對于imbalanced data來說是不合適的淤毛,這就引出帶權(quán)重的交叉熵?fù)p失函數(shù)算柳。
Weighted \quad CE=- \frac{1}{N}\sum_{i=1}^{N}\lambda_i\sum_{j \in \{0,1\}} y_{ij}logp_{ij}
其中\lambda_i為對應(yīng)的樣本權(quán)重瞬项,但從實(shí)際情況來上,上述該目標(biāo)函數(shù)存在\lambda_i取值困難的問題猪杭,當(dāng)涉及的類別特別多時(shí)妥衣,不適當(dāng)?shù)娜≈刀紩o目標(biāo)函數(shù)帶來偏向的影響税手。

2.2 Dice Coefficient and Tversky Index
dice coefficient (DSC) 最開始是為了判斷兩個(gè)集合的相似度而定義的一個(gè)指標(biāo)。給定兩個(gè)集合A,B,則它們的dice coefficient可以定義為:
DSC(A,B)=\frac{2|A \cap B|}{|A|+|B|}
若把A看著是模型預(yù)測為正樣本的集合熙暴,B為真實(shí)的正樣本的集合慌盯,那么按照True Positive (TP), False Positive (FP), and False Negative (FN)來看DSC亚皂,則:
DSC=\frac{2TP}{2TP+FN+FP}=\frac{\frac{2TP}{TP+FN}\frac{TP}{TP+FP}}{\frac{TP}{TP+FN}\frac{TP}{TP+FP}}=\frac{2Pre*Rec}{Pre+Pec}=F1
可以看出,DSC與F1值的評價(jià)效果是一致的狞谱。難道我們一直常用的F1指標(biāo)具備解決樣本不平衡性問題跟衅,這點(diǎn)刷新了我的認(rèn)知播歼。帶這個(gè)問題,繼續(xù)往下介紹叭莫。

針對一個(gè)具體樣例x_i來說,其DSC可以表示為:
DSC(x_i)=\frac{2p_{i1}y_{i1}}{p_{i1}+y_{i1}}
上述公式存在一個(gè)缺陷拢肆,當(dāng)y_{i1}=0時(shí)善榛,對函數(shù)沒有影響呻畸,則會導(dǎo)致模型對這類樣本訓(xùn)練無效伤为。為解決該問題,可在分子與分母同時(shí)添加一個(gè)調(diào)節(jié)參數(shù):
DSC(x_i)=\frac{2p_{i1}y_{i1}+\gamma}{p_{i1}+y_{i1}+\gamma}
在這個(gè)基礎(chǔ)上叙甸,Milletari et al. (2016) 提出了一種變體位衩,具體做法將分母項(xiàng)進(jìn)行平方糖驴,目的是為了加快收斂速度。該變體可定義為DL:
DL(x_i)=\frac{2p_{i1}y_{i1}+\gamma}{p_{i1}^2+y_{i1}^2+\gamma}

此外辙谜,還衍生出Tversky index (TI)感昼,其原理跟DSC一致定嗓,但不同的是它更靈活去權(quán)衡False-Negatives and False Positives之間的影響。
TI(x_i)=\frac{p_{i1}y_{i1}+\gamma}{p_{i1}y_{i1}+\alpha p_{i1}y_{i0}+\beta p_{i0}y_{i1}+\gamma}

最后作者參考Focal Loss的原理奸绷,在DSC基礎(chǔ)上添加一個(gè)(1-p)的調(diào)節(jié)影響号醉,變?yōu)椋?br> DSC(x_i)=\frac{2(1-p_{i1})p_{i1}y_{i1}+\gamma}{(1-p_{i1})p_{i1}+y_{i1}+\gamma}

以上定義的指標(biāo)是越大越好,要轉(zhuǎn)成訓(xùn)練的目標(biāo)函數(shù)則需要變成負(fù)的铅碍,在這基礎(chǔ)上线椰,作者又進(jìn)行+1調(diào)節(jié)憨愉。則上面涉及的目標(biāo)函數(shù)匯總?cè)缦拢渲蠪L為Focal Loss:


3 實(shí)驗(yàn)效果

作者挑選了NLP領(lǐng)域四種任務(wù):part-of-speech tagging(POS), named entity recognition(NER), machine reading comprehension(MRC) and paraphrase identification(PI)径密,進(jìn)行試驗(yàn)對比享扔,看看Dice Loss作為損失函數(shù)的效果植袍。具體實(shí)驗(yàn)結(jié)果如下:


從實(shí)驗(yàn)結(jié)果來看氛魁,Dice Loss 兩種變體DL與DSC損失函數(shù)相對交叉熵厅篓,F(xiàn)ocal Loss都有明顯的提升秀存,其中DSC表現(xiàn)效果最好,最高有2%的提升贷笛。實(shí)驗(yàn)結(jié)果驗(yàn)證了Dice Loss在NLP任務(wù)上的優(yōu)勢应又。

結(jié)語

論文中驗(yàn)證了Dice Loss在NLP任務(wù)中樣本不平衡問題的有效性宙项,根據(jù)實(shí)驗(yàn)結(jié)果來看乏苦,具有很強(qiáng)的誘惑力。論文開源了代碼:https://github.com/ShannonAI/dice_loss_for_NLP尤筐。目前筆者正在測試對比中汇荐,實(shí)驗(yàn)結(jié)果后續(xù)可以分享出來。

在回到前面提到的問題:應(yīng)該這樣理解盆繁,Dice Loss原理是與F1值是一致的,說明Dice Loss直接由F1導(dǎo)向的油昂,所以訓(xùn)練的結(jié)果就偏向相對更為合理的F1評價(jià)指標(biāo)革娄。此外倾贰,論文題目是解決NLP任務(wù)中樣本不平衡問題,其實(shí)這個(gè)樣本不平衡問題存在界定問題拦惋,像NER任務(wù)中匆浙,對與預(yù)測的標(biāo)簽來說,就是樣本不平衡(大部分是O標(biāo)簽)厕妖。此外首尼,如二分類,一類2000個(gè)樣本言秸,一類1500個(gè)樣本软能,這類算不算樣本不平衡。所以举畸,我的問題是查排,Dice Loss僅適合樣本不平衡,最好是極度不平衡性問題俱恶?還是不論樣本是否平衡雹嗦,都能有效果。若真的適應(yīng)各種分布下的數(shù)據(jù)集合是,那是不是要替換主流的交叉熵了罪。這些問題,還是需要更多的實(shí)驗(yàn)來驗(yàn)證聪全。

更多文章可關(guān)注:自然語言處理算法與實(shí)踐

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泊藕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子难礼,更是在濱河造成了極大的恐慌娃圆,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛾茉,死亡現(xiàn)場離奇詭異讼呢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)谦炬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門悦屏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人键思,你說我怎么就攤上這事础爬。” “怎么了吼鳞?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵看蚜,是天一觀的道長。 經(jīng)常有香客問我赔桌,道長供炎,這世上最難降的妖魔是什么渴逻? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮音诫,結(jié)果婚禮上裸卫,老公的妹妹穿的比我還像新娘。我一直安慰自己纽竣,他們只是感情好墓贿,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜓氨,像睡著了一般聋袋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上穴吹,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天幽勒,我揣著相機(jī)與錄音,去河邊找鬼港令。 笑死啥容,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顷霹。 我是一名探鬼主播咪惠,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淋淀!你這毒婦竟也來了遥昧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤朵纷,失蹤者是張志新(化名)和其女友劉穎炭臭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袍辞,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞋仍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搅吁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片威创。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖似芝,靈堂內(nèi)的尸體忽然破棺而出那婉,到底是詐尸還是另有隱情板甘,我是刑警寧澤党瓮,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站盐类,受9級特大地震影響寞奸,放射性物質(zhì)發(fā)生泄漏呛谜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一枪萄、第九天 我趴在偏房一處隱蔽的房頂上張望隐岛。 院中可真熱鬧,春花似錦瓷翻、人聲如沸聚凹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妒牙。三九已至,卻和暖如春对妄,著一層夾襖步出監(jiān)牢的瞬間湘今,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工剪菱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摩瞎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓孝常,卻偏偏與公主長得像旗们,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子构灸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容