Focal Loss
- 원본 링크 : https://keras.io/api/keras_cv/losses/focal_loss/
- 최종 확인 : 2024-11-25
FocalLoss
class
keras_cv.losses.FocalLoss(
alpha=0.25, gamma=2, from_logits=False, label_smoothing=0, **kwargs
)
Implements Focal loss
Focal loss is a modified cross-entropy designed to perform better with class imbalance. For this reason, it’s commonly used with object detectors.
Arguments
- alpha: a float value between 0 and 1 representing a weighting factor used to deal with class imbalance. Positive classes and negative classes have alpha and (1 - alpha) as their weighting factors respectively. Defaults to 0.25.
- gamma: a positive float value representing the tunable focusing parameter, defaults to 2.
- from_logits: Whether
y_pred
is expected to be a logits tensor. By default,y_pred
is assumed to encode a probability distribution. Default toFalse
. - label_smoothing: Float in
[0, 1]
. If higher than 0 then smooth the labels by squeezing them towards0.5
, i.e., using1. - 0.5 * label_smoothing
for the target class and0.5 * label_smoothing
for the non-target class.
References
Example
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)
Usage with the compile()
API:
model.compile(optimizer='adam', loss=keras_cv.losses.FocalLoss())