Keras 3 API 文档 / KerasCV / 损失函数 / 二值惩罚减少焦点交叉熵

二值惩罚减少焦点交叉熵

[来源]

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_logitsy_pred 是否应为 logits 张量,默认为 False
  • positive_threshold:大于此值的任何值都被视为正标签,默认为 0.99。
  • positive_weight:正样本的单个标量权重,默认为 1.0。
  • negative_weight:负样本的单个标量权重,默认为 1.0。

输入:y_true:[batch_size, ...] 浮点型张量 y_pred:[batch_size, ...] 与 y_true 形状相同的浮点型张量。

参考文献