dice係數 交叉熵 二分類語義分割損失函式

2021-10-12 15:22:54 字數 1100 閱讀 5147

這裡針對二類影象語義分割任務,常用損失函式有:

[1] - softmax 交叉熵損失函式(softmax loss,softmax with cross entroy loss)

[2] - dice loss(dice coefficient loss)

[3] - 二值交叉熵損失函式(bce loss,binary cross entroy loss).

其中,dice loss 和 bce loss 僅支援二分類場景.

對於二類影象語義分割任務,經常出現類別分布不均衡的問題,比如:工業產品的瑕疵檢測、道路提取及病變區域提取等.

1. dice loss

dice loss 有助於解決二分類語義分割中類別不均衡問題.

dice loss 的定義如:

diceloss = 1- \frac

其中,y 表示 groundtruth,p表示**結果. $| \cdot |$ 表示矩陣元素之和. $y \cap p$ 表示 y 和 p 的共有元素數,實際通過求兩者的逐畫素乘積之和進行計算. 例如:

其中,1 表示前景,0 表示背景.(gt中要求前景畫素值為1,背景畫素值為0).

2. dice loss 與類別不均衡

類別不均衡問題上,dice loss效果為什麼比softmax 交叉熵 loss 更好?

首先,softmax 交叉熵 loss 的定義為:

l = -\sum_^c y_c log(f(p_c))

其中,f(p_k) = \frac}}}

其中,y 表示 groundtruth, p 表示網路輸出.

影象分割任務中,softmax 交叉熵loss 是對每乙個畫素點進行類別**,然後平均所有的畫素點. 其本質上仍是對的每個畫素進行平等的學習,這就導致如果影象上的多種類別存在不平衡時,模型的訓練會由最主流的類別所主導. 網路更偏向於對主流類別的學習,而降低了對非主流類別的特徵提取能力.

而,dice loss 通過**和gt的交集除以它們的總體畫素進行計算,將乙個類別的所有畫素作為乙個整體進行考量,而且計算交集在總體中的比例,所以不會受大量主流畫素的影響,能夠提取更好的效果.

實際中,dice loss 往往與 bce loss 結合使用,以提公升模型訓練的穩定性.

二分類問題的交叉熵函式和多分類問題的交叉熵函式

在二分類問題中,損失函式為交叉熵損失函式。對於樣本 x,y 來講,x為樣本 y為對應的標籤。在二分類問題中,其取值的集合可能為,我們假設某個樣本的真實標籤為yt,該樣本的yt 1的概率為yp,則該樣本的損失函式為 如果對於整個資料集上的模型而言 其損失函式就是所有樣本的點的損失函式的平均值。在多分類...

二分類 多分類

怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...

二分類問題

模型 帶有relu啟用的dense層堆疊 對於二分類問題,網路的最後一層應該是只有乙個單元並使用sigmoid啟用的dense層,網路的輸出應該是0 1的標量,表示概率值 對於二分類問題的sigmoid標量輸出,應該使用binary crossentroy 二元交叉熵 損失函式 實驗 1 嘗試增加或...