CB Loss:基於有效樣本的類別不平衡損失

語言: CN / TW / HK

點選上方“AI公園”,關注公眾號,選擇加“星標“或“置頂”

因公眾號更改了推送規則,記得讀完點“在看”~下次AI公園的新文章就能及時出現在您的訂閱列表中


作者:Sik-Ho Tsang

編譯:ronghuaiyang

導讀

使用每個類的有效樣本數量來重新為每個類的Loss分配權重,效果優於RetinaNet中的Focal Loss。

本文綜述了康奈爾大學、康奈爾科技、谷歌Brain和Alphabet公司的基於有效樣本數的類平衡損失(CB損失)。在本文中,設計了一種重新加權的方案,利用每個類的有效樣本數來重新平衡損失,稱為類別平衡損失。

1. 類別平衡問題

兩個類,分別來自長尾資料集的頭部和尾部(iNaturalist 2017 dataset)

假設有像上面那樣的不平衡的類。head:對於索引小的類,這些類有較多的樣本。Tail:對於大索引的類,這些類的樣本數量較少。黑色實線:直接在這些樣本上訓練的模型偏向於優勢類紅色虛線通過反向類頻率來重新加權損失可能會在具有高類不平衡的真實資料上產生較差的效能。藍虛線:設計了一個類平衡項,通過反向有效樣本數來重新加權損失。

2. 有效樣本數量

2.1. 定義

資料間資訊重疊,左:特徵空間S,中:1個樣本資料的單位體積,右:資料間資訊重疊

直覺上,資料越多越好。但是,由於資料之間存在資訊重疊,隨著樣本數量的增加,模型從資料中提取的邊際效益會減少

:給定一個類,將該類的特徵空間中所有可能資料的集合表示為S。假設S的體積為NN≥1。:S子集中的每個樣本的單位體積為1,可能與其他樣本重疊。Right:從S中隨機抽取每個子集,覆蓋整個S集合。取樣的資料越多,S的覆蓋率就越好。期望的取樣資料總量隨著樣本數量的增加而增加,以N為界。

因此,將有效樣本數定義為樣本的期望體積。

這個想法是通過使用一個類的更多資料點來捕捉邊際效益的遞減。由於現實世界資料之間的內在相似性,隨著樣本數量的增加,新新增的樣本極有可能是現有樣本的近重複。另外,cnn是用大量的資料增廣來訓練的,所有的增廣例項也被認為與原始例項相同。對於一個類,N可以看作是唯一原型的數量

2.2. 數學公式

新的取樣資料與以前的取樣資料重疊或不重疊

En表示樣本的有效數量(期望體積)。為了簡化問題,不考慮部分重疊的情況。也就是說,一個新取樣的資料點只能以兩種方式與之前的取樣資料互動:完全在之前的取樣資料集中,概率為p,或完全在原來的資料集之外,的概率為1- p

有效數字:En = (1−β^n)/(1−β),其中,β = (N− 1)/N,這個命題可以用數學歸納法證明。當E1 = 1時,不存在重疊,E1 =(1−β^1)/(1−β) = 1成立。假設已經有n−1個樣本,並且即將對第n個樣本進行取樣,現在先前取樣資料的期望體積為En −1,而新取樣的資料點與先前取樣點重疊的概率為 p = E(n−1)/N。因此,第n個例項取樣後的期望體積為:

此時:

我們有:

上述命題表明有效樣本數是n的指數函式。超引數β∈[0,1)控制En隨著n的增長有多快。

3. 類別平衡 Loss (CB Loss)

類別平衡(CB)loss可以寫成:

其中,ny是類別y的ground-truth的數量。β = 0對應沒有重新加權, β → 1對應於用反向頻率進行加權。

提出的有效樣本數的新概念使我們能夠使用一個超引數β來平滑地調整無重權和反向類頻率重權之間的類平衡項。

所提出的類平衡項是模型不可知的損失不可知的,因為它獨立於損失函式L和預測類概率p的選擇。

3.1. 類別平衡的 Softmax 交叉熵損失

給定一個標號為y的樣本,該樣本的softmax交叉熵(CE)損失記為:

假設類yny個訓練樣本,類平衡(CB)softmax交叉熵損失為:

3.2. 類別平衡的 Sigmoid 交叉熵損失

當對多類問題使用sigmoid函式時,網路的每個輸出都執行一個one-vs-all分類,以預測目標類在其他類中的概率。在這種情況下,Sigmoid不假定類之間的互斥性。由於每個類都被認為是獨立的,並且有自己的預測器,所以sigmoid將單標籤分類和多標籤預測統一起來。這是一個很好的屬性,因為現實世界的資料通常有多個語義標籤。sigmoid交叉熵(CE)損失可以寫成:

類平衡(CB) sigmoid交叉熵損失為:

3.3. 類別平衡 Focal Loss

Focal loss (FL)是在RetinaNet中提出的,可以減少分類很好的樣本的損失,聚焦於困難的樣本。

類別平衡的 (CB) Focal Loss為:

4. 實驗結果

4.1. 資料集

用於評估類平衡損失有效性的資料集

試驗了CIFAR-10和CIFAR-100的5個不平衡係數分別為10、20、50、100和200的長尾版本。iNaturalist 和ILSVRC是天然的類別不平衡資料集。

在人工建立的具有不同不平衡因子的長尾CIFAR-100資料集中,每類訓練樣本的個數

上面顯示了每個類具有不同不平衡因素的影象數量。

4.2. CIFAR 資料集

ResNet-32在長尾CIFAR-10和CIFAR-100測試集上用不同的損失函式訓練的分類錯誤率

loss型別的超引數搜尋空間為{softmax, sigmoid, focal}, [focal loss]的超引數搜尋空間為β∈{0.9,0.99,0.999,0.9999},γ∈{0.5,1.0,2.0}。在CIFAR-10上,最佳的β一致為0.9999。但在CIFAR-100上,不同不平衡因子的資料集往往有不同且較小的最優β。

有和沒有類平衡項時的分類錯誤率

CIFAR-10上,根據β = 0.9999重新加權後,有效樣本數與樣本數接近。這意味著CIFAR-10的最佳重權策略與逆類頻率重權類似。在CIFAR-100上,使用較大的β的效能較差,這表明用逆類頻率重新加權不是一個明智的選擇,需要一個更小的β,具有更平滑的跨類權重。例如,一個特定鳥類物種的獨特原型數量應該小於一個一般鳥類類的獨特原型數量。由於CIFAR-100中的類比CIFAR-10更細粒度,因此CIFAR-100的N比CIFAR-10小。

4.3. 大規模資料集

在所有資料集驗證集上,使用不同損失函式訓練的大規模資料集上的Top-1和Top-5分類錯誤率

使用了類平衡的Focal Loss,因為它具有更大的靈活性,並且發現β = 0.999和γ = 0.5在所有資料集上都獲得了合理的良好的效能。值得注意的是,使用了類別平衡的Focal Loss來代替Softmax交叉熵,ResNet-50能夠達到和ResNet-152相應的效能。

ILSVRC 2012(左)和iNaturalist 2018(右)的ResNet-50訓練曲線

以上數字顯示類平衡的Focal Loss損失經過60個epochs的訓練後,開始顯示其優勢。


END

英文原文:https://medium.com/nerd-for-tech/review-cb-loss-class-balanced-loss-based-on-effective-number-of-samples-image-classification-3056a1a1a001

請長按或掃描二維碼關注本公眾號


喜歡的話,請給我個在看吧


本文分享自微信公眾號 - AI公園(AI_Paradise)。
如有侵權,請聯絡 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。