Constructores Públicos
Métodos públicos
estático <T extiende TNumber > Operando <T> | sigmoidCrossEntropyWithLogits ( alcance del alcance, etiquetas del operando <T>, logits del operando <T>) Calcula la entropía cruzada sigmoidea dados logits . |
Métodos heredados
Constructores Públicos
público SigmoidCrossEntropyWithLogits ()
Métodos públicos
Operando estático público <T> sigmoidCrossEntropyWithLogits ( alcance del alcance, etiquetas del operando <T>, logits del operando <T>)
Calcula la entropía cruzada sigmoidea dados logits
.
Mide el error de probabilidad en tareas de clasificación discretas en las que cada clase es independiente y no mutuamente excluyente. Por ejemplo, se podría realizar una clasificación de etiquetas múltiples en la que una imagen pueda contener un elefante y un perro al mismo tiempo.
Para abreviar, sea x = logits
, z = labels
. La pérdida logística en pseudocódigo es
z * -log(sigmoid(x)) + (1 - z) * -log(1 - sigmoid(x)) = z * -log(1 / (1 + exp(-x))) + (1 - z) * -log(exp(-x) / (1 + exp(-x))) = z * log(1 + exp(-x)) + (1 - z) * (-log(exp(-x)) + log(1 + exp(-x))) = z * log(1 + exp(-x)) + (1 - z) * (x + log(1 + exp(-x)) = (1 - z) * x + log(1 + exp(-x)) = x - x * z + log(1 + exp(-x))
Para x < 0
, para evitar el desbordamiento en exp(-x)
, reformulamos lo anterior
x - x * z + log(1 + exp(-x)) = log(exp(x)) - x * z + log(1 + exp(-x)) = - x * z + log(1 + exp(x))
Por lo tanto, para garantizar la estabilidad y evitar el desbordamiento, la implementación utiliza esta formulación equivalente
max(x, 0) - x * z + log(1 + exp(-abs(x)))
los logits y labels
deben tener el mismo tipo y forma.
Parámetros
alcance | El alcance de TensorFlow |
---|---|
etiquetas | las etiquetas |
logits | los logits de tipo float32 o float64 |
Devoluciones
- las pérdidas logísticas por componentes.
Lanza
Excepción de argumento ilegal | si los logits y las etiquetas no tienen la misma forma |
---|