Focal Loss(焦点损失)

[源代码]

FocalLoss

keras_cv.losses.FocalLoss(
    alpha=0.25, gamma=2, from_logits=False, label_smoothing=0, **kwargs
)

实现 Focal Loss

Focal Loss 是一种改进的交叉熵损失函数,旨在更好地处理类别不平衡问题。因此,它通常与目标检测器一起使用。

参数

  • alpha:0 到 1 之间的浮点数,表示用于处理类别不平衡的加权因子。正类和负类的加权因子分别为 alpha 和 (1 - alpha)。默认为 0.25。
  • gamma:一个正浮点数,表示可调的聚焦参数,默认为 2。
  • from_logitsy_pred 是否应为 logits 张量。默认情况下,假设 y_pred 编码概率分布。默认为 False
  • label_smoothing[0, 1] 中的浮点数。如果大于 0,则通过将标签挤压到 0.5 来平滑标签,即,对于目标类使用 1. - 0.5 * label_smoothing,对于非目标类使用 0.5 * label_smoothing

参考文献

示例

y_true = np.random.uniform(size=[10], low=0, high=4)
y_pred = np.random.uniform(size=[10], low=0, high=4)
loss = FocalLoss()
loss(y_true, y_pred)

compile() API 一起使用

model.compile(optimizer='adam', loss=keras_cv.losses.FocalLoss())