Keras 3 API 文件 / KerasCV / 損失函數 / 二元懲罰降低焦點交叉熵

二元懲罰降低焦點交叉熵(Binary Penalty Reduced Focal CrossEntropy)

[來源]

BinaryPenaltyReducedFocalCrossEntropy 類別

keras_cv.losses.BinaryPenaltyReducedFocalCrossEntropy(
    alpha=2.0,
    beta=4.0,
    from_logits=False,
    positive_threshold=0.99,
    positive_weight=1.0,
    negative_weight=1.0,
    reduction="sum_over_batch_size",
    name="binary_penalty_reduced_focal_cross_entropy",
)

實作 CenterNet 修改後的焦點損失函數。

keras.losses.BinaryFocalCrossentropy 相比,此損失函數會針對值小於 positive_threshold 的負標籤進行折扣,負標籤的值越大,最終損失的折扣就越多。

使用者可以選擇將關鍵點的數量除以損失計算之外,或透過傳遞 sample_weight 作為 1.0/num_key_points。

參數

  • alpha:用於計算焦點因子的聚焦參數。預設值為 2.0。請注意,這相當於 keras.losses.BinaryFocalCrossentropy 中的 gamma 參數。
  • beta:浮點數參數,負標籤的懲罰指數,預設值為 4.0。
  • from_logits:是否預期 y_pred 是 logits 張量,預設值為 False
  • positive_threshold:任何大於此值的都被視為正標籤,預設值為 0.99。
  • positive_weight:正樣本的單一純量權重,預設值為 1.0。
  • negative_weight:負樣本的單一純量權重,預設值為 1.0。

輸入: y_true:[批次大小, ...] 浮點數張量 y_pred:[批次大小, ...] 與 y_true 形狀相同的浮點數張量。

參考資料