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