谷歌提出新分類損失函數(shù):將噪聲對(duì)訓(xùn)練結(jié)果影響降到最低
解決了機(jī)器學(xué)習(xí)算法受噪聲困擾的一大問題。
曉查 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
訓(xùn)練數(shù)據(jù)集里的標(biāo)簽通常不會(huì)都是正確的,比如圖像分類,如果有人錯(cuò)誤地把貓標(biāo)記成狗,將會(huì)對(duì)訓(xùn)練結(jié)果造成不良的影響。
如何在不改變訓(xùn)練樣本的情況下,盡可能降低這類噪聲數(shù)據(jù)對(duì)機(jī)器學(xué)習(xí)模型的影響呢?
最近,谷歌提出了一個(gè)新的損失函數(shù),解決了機(jī)器學(xué)習(xí)算法受噪聲困擾的一大問題。
邏輯損失函數(shù)的問題
機(jī)器學(xué)習(xí)模型處理帶噪聲訓(xùn)練數(shù)據(jù)的能力,在很大程度上取決于訓(xùn)練過程中使用的損失函數(shù)。
通常我們用來訓(xùn)練圖像分類的是邏輯損失函數(shù)(Logistic loss),但是它存在兩大缺點(diǎn),導(dǎo)致在處理帶噪聲的數(shù)據(jù)時(shí)存在以下不足:
1、遠(yuǎn)離的異常值會(huì)支配總體的損失
邏輯損失函數(shù)對(duì)異常值非常敏感。這是因?yàn)閾p失函數(shù)的沒有上界,而錯(cuò)誤的標(biāo)記數(shù)據(jù)往往遠(yuǎn)離決策邊界。
這就導(dǎo)致異常大的錯(cuò)誤數(shù)值會(huì)拉伸決策邊界,對(duì)訓(xùn)練的結(jié)果造成不良影響,并且可能會(huì)犧牲其他的正確樣本。
2、錯(cuò)誤的標(biāo)簽的影響會(huì)擴(kuò)展到分類的邊界上
神經(jīng)網(wǎng)絡(luò)的輸出是一個(gè)矢量激活值,一般對(duì)于分類問題,我們使用的是softmax,將激活值表示為分別屬于每個(gè)分類的概率。
由于邏輯損失的這種傳遞函數(shù)的尾部以指數(shù)方式快速衰減,因此訓(xùn)練過程將傾向于使邊界更接近于錯(cuò)誤標(biāo)記的示例,以保證不屬于該分類的函數(shù)值更接近于0。
如此一來,即使標(biāo)簽噪聲水平較低,網(wǎng)絡(luò)的泛化性能也會(huì)立即惡化。
△ 二元分類的可視化結(jié)果,噪聲會(huì)導(dǎo)致決策邊界外擴(kuò),造成分類錯(cuò)誤
雙參數(shù)可調(diào)的損失函數(shù)
谷歌通過引入兩個(gè)可調(diào)參數(shù)的雙穩(wěn)態(tài)邏輯損失函數(shù)(Bi-Tempered Logistic Loss)來解決上述兩個(gè)問題。這兩個(gè)參數(shù)分別是“溫度”(temperature)t1和尾部重量(tail-heaviness)t2。尾部重量其實(shí)就是指傳遞函數(shù)尾部下降的速率。
當(dāng)t1和t2都等于1的時(shí)候,這個(gè)雙穩(wěn)態(tài)函數(shù)就退化為普通的邏輯損失函數(shù)。
溫度參數(shù)t1是一個(gè)介于0到1之間的參數(shù),它的數(shù)值越小,對(duì)邏輯損失函數(shù)界限的約束就越厲害。
尾部重量t2定義為一個(gè)大于等于1的參數(shù),其數(shù)值越大,尾部就越“厚”,相比指數(shù)函數(shù)來說衰減也就越慢。
△ 溫度(左)和尾部重量(右)對(duì)損失函數(shù)結(jié)果的影響
你也可以通過谷歌的在線Demo觀察損失函數(shù)隨t1和t2兩個(gè)參數(shù)的變化情況。
對(duì)噪聲數(shù)據(jù)集的效果
為了證明不同溫度t1的影響,谷歌在合成數(shù)據(jù)集上訓(xùn)練一個(gè)雙層神經(jīng)網(wǎng)絡(luò)的二元分類問題。藍(lán)點(diǎn)和紅點(diǎn)表示數(shù)據(jù)實(shí)際分屬的類別,兩個(gè)不同顏色的區(qū)域表示神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果,白色為決策邊界。
谷歌使用標(biāo)準(zhǔn)的邏輯損失函數(shù)和不同溫度參數(shù)的損失函數(shù),對(duì)比了在這四種條件下的實(shí)驗(yàn)結(jié)果:無噪聲數(shù)據(jù)集、小邊距噪聲數(shù)據(jù)集、大邊距噪聲數(shù)據(jù)集和隨機(jī)噪聲的數(shù)據(jù)集。
在無噪聲情況下,兩種損失都能產(chǎn)生良好的決策邊界,從而成功地將這兩種類別分開。
小邊距噪聲,即噪聲數(shù)據(jù)接近于決策邊界??梢钥闯?,由于softmax尾部快速衰減的原因,邏輯損失會(huì)將邊界拉伸到更接近噪聲點(diǎn),以補(bǔ)償它們的低概率。而雙穩(wěn)態(tài)損失函數(shù)有較重的尾部,保持邊界遠(yuǎn)離噪聲樣本。
大邊距噪聲,即噪聲數(shù)據(jù)遠(yuǎn)離決策邊界。由于雙穩(wěn)態(tài)損失函數(shù)的有界性,可以防止這些遠(yuǎn)離邊界的噪聲點(diǎn)將決策邊界拉開。
最后一個(gè)實(shí)驗(yàn)是隨機(jī)噪聲,噪聲點(diǎn)隨機(jī)分布在矢量空間中。邏輯損失受到噪聲樣本的高度干擾,無法收斂到一個(gè)良好的決策邊界。而雙穩(wěn)態(tài)損失可以收斂到與無噪聲情況幾乎相同的結(jié)果上。
傳送門
在線Demo:
https://google.github.io/bi-tempered-loss/
博客地址:
https://ai.googleblog.com/2019/08/bi-tempered-logistic-loss-for-training.html
論文鏈接:
https://arxiv.org/abs/1906.03361