tf.keras.losses.categorical_focal_crossentropy
Вычисляет потерю категориального фокального кросс-энтропии.
tf.keras.losses.categorical_focal_crossentropy(
y_true,
y_pred,
alpha=0.25,
gamma=2.0,
from_logits=False,
label_smoothing=0.0,
axis=-1
)
| Аргументы | |
|---|---|
y_true | Тензор истинного целевого значения в формате one-hot. |
y_pred | Тензор предсказанных целевых значений. |
alpha | Коэффициент весов, балансирующий все классы. По умолчанию значение 0.25, как указано в ссылке. Может быть списком чисел с плавающей точкой или скаляром. В случае многоклассовой задачи alpha может быть задан с помощью обратной частоты класса, используя compute_class_weight из sklearn.utils. |
gamma | Параметр фокусировки, по умолчанию 2.0, как указано в ссылке. Помогает плавно уменьшить важность простых примеров. Когда gamma = 0, никакого фокусного эффекта на категориальной кросс-энтропии нет. |
from_logits | Требуется ли y_pred тензор логарифмов. По умолчанию предполагается, что y_pred кодирует распределение вероятностей. |
label_smoothing | Число с плавающей точкой в диапазоне [0, 1]. Если > 0, сглаживает метки. Например, если 0.1, используйте 0.1 / num_classes для меток, не относящихся к целевому классу, и 0.9 + 0.1 / num_classes для меток целевого класса. |
axis | По умолчанию равно -1. Размерность, по которой вычисляется энтропия. |
| Возвращаемые значения | |
|---|---|
| Значение потери категориальной фокальной кросс-энтропии. |
Пример:
y_true = [[0, 1, 0], [0, 0, 1]] y_pred = [[0.05, 0.9, 0.05], [0.1, 0.85, 0.05]] loss = keras.losses.categorical_focal_crossentropy(y_true, y_pred) assert loss.shape == (2,) loss array([2.63401289e-04, 6.75912094e-01], dtype=float32)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/losses/categorical_focal_crossentropy