日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow分类的loss函数_Tensorflow入门教程(三十三)——图像分割损失函数FocalLoss...

發布時間:2024/10/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorflow分类的loss函数_Tensorflow入门教程(三十三)——图像分割损失函数FocalLoss... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常見的圖像分割損失函數有交叉熵,dice系數,FocalLoss等。今天我將分享圖像分割FocalLoss損失函數及Tensorflow版本的復現。

1、FocalLoss介紹

FocalLoss思想出自何凱明大神的論文《Focal Loss for Dense Object Detection》,主要是為了解決one-stage目標檢測中正負樣本比例嚴重失衡的問題。

FocalLoss是在交叉熵函數的基礎上進行的改進,改進的地方主要在兩個地方

(1)、改進第一點如下公式所示。

首先在原有交叉熵函數基礎上加了一個權重因子,其中gamma>0,使得更關注于困難的、錯分的樣本。比如:若 gamma = 2,對于正類樣本來說,如果預測結果為0.97,那么肯定是易分類的樣本,權重值為0.0009,損失函數值就會很小了;對于正類樣本來說,如果預測結果為0.3,那么肯定是難分類的樣本,權重值為0.49,其損失函數值相對就會很大;對于負類樣本來說,如果預測結果為0.8,那么肯定是難分類的樣本,權重值為0.64,其損失函數值相對就會很大;對于負類樣本來說,如果預測結果為0.1,那么肯定是易分類的樣本,權重值為0.01,其損失函數值就會很小。而對于預測概率為0.5時,損失函數值只減少了0.25倍,所以FocalLoss減少了簡單樣本的影響從而更加關注于難以區分的樣本。

(2)、改進第二點如下公式所示。

FocalLoss還引入了平衡因子alpha,用來平衡正負樣本本身的比例不均勻。alpha取值范圍0~1,當alpha>0.5時,可以相對增加y=1所占的比例,保證正負樣本的平衡。

(3)、雖然在何凱明的試驗中,?認為gamma為2是最優的,但是不代表這個參數適合其他樣本,在實際應用中還需要根據實際情況調整這兩個參數:alpha和gamma。

2、FocalLoss公式推導

在github上已經可以找到很多FocalLoss的實現,如下二分類的FocalLoss實現。實現其實不是很難,但是在實際訓練時會出現NAN的現象。

下面將簡單推導一下FocalLoss函數在二分類時的函數表達式。

FocalLoss函數可以表示如下公式所示:

假設網絡的最后輸出采用邏輯回歸函數sigmod,對于二分類問題(0和1),預測輸出可以表示為:

將上述公式帶入FocalLoss函數中,并進行推導。

3、FocalLoss代碼實現

按照上面導出的表達式FocalLoss的偽代碼可以表示為:

其中,

從這里可以看到1-y_pred項可能為0或1,這會導致log函數值出現NAN現象,所以好需要對y_pred項進行固定范圍值的截斷操作。最后在TensorFlow1.8下實現了該函數。

import?tensorflow?as?tfdef focal_loss(y_true, y_pred, alpha=0.25, gamma=2): epsilon = 1e-5 y_pred = tf.clip_by_value(y_pred, epsilon, 1 - epsilon) logits = tf.log(y_pred / (1 - y_pred)) weight_a = alpha * tf.pow((1 - y_pred), gamma) * y_true weight_b = (1 - alpha) * tf.pow(y_pred, gamma) * (1 - y_true) loss = tf.log1p(tf.exp(-logits)) * (weight_a + weight_b) + logits * weight_b????return?tf.reduce_mean(loss)

總結

以上是生活随笔為你收集整理的tensorflow分类的loss函数_Tensorflow入门教程(三十三)——图像分割损失函数FocalLoss...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。