tf.keras.metrics.binary_focal_crossentropy
Вычисляет потерю бинарной фокальной перекрёстной энтропии.
tf.keras.metrics.binary_focal_crossentropy(
y_true, y_pred, gamma=2.0, from_logits=False, label_smoothing=0.0, axis=-1
)
Согласно Lin et al., 2018, это помогает применять фокальный множитель для уменьшения лёгких примеров и большего внимания на сложных примерах. По умолчанию тензор фокуса вычисляется следующим образом:
focal_factor = (1 - output)**gamma для класса 1 focal_factor = output**gamma для класса 0, где gamma — параметр фокусировки. Когда gamma = 0, эта функция эквивалентна функции потерь бинарной перекрёстной энтропии.
Использование в автономном режиме:
y_true = [[0, 1], [0, 0]] y_pred = [[0.6, 0.4], [0.4, 0.6]] loss = tf.keras.losses.binary_focal_crossentropy(y_true, y_pred, gamma=2) assert loss.shape == (2,) loss.numpy() array([0.330, 0.206], dtype=float32)
| Аргументы | |
|---|---|
y_true | Значения истинного результата, формы (batch_size, d0, .. dN). |
y_pred | Предсказанные значения, формы (batch_size, d0, .. dN). |
gamma | Параметр фокусировки, по умолчанию 2.0, как указано в ссылке. |
from_logits | Является ли y_pred ожидаемым тензором logits. По умолчанию предполагается, что y_pred кодирует распределение вероятностей. |
label_smoothing | Число с плавающей запятой в [0, 1]. Если больше 0, сглаживает метки, приближая их к 0.5, т.е., используя 1. - 0.5 * label_smoothing для целевого класса и 0.5 * label_smoothing для нецелевого класса. |
axis | Ось, по которой вычисляется среднее значение. По умолчанию -1. |
| Возвращаемое значение | |
|---|---|
Значение потери бинарной фокальной перекрёстной энтропии. форма = [batch_size, d0, .. dN-1]. |
© 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/versions/r2.9/api_docs/python/tf/keras/metrics/binary_focal_crossentropy