Публичные конструкторы
Публичные методы
| статический <T расширяет TNumber > Операнд <T> | sigmoidCrossEntropyWithLogits (область действия , метки операндов <T>, логиты операндов <T>) Вычисляет сигмовидную перекрестную энтропию по заданным logits . |
Унаследованные методы
Публичные конструкторы
общественный SigmoidCrossEntropyWithLogits ()
Публичные методы
public static Operand <T> sigmoidCrossEntropyWithLogits ( область области действия, метки операнда <T>, логиты операнда <T>)
Вычисляет сигмовидную перекрестную энтропию по заданным logits .
Измеряет вероятностную ошибку в задачах дискретной классификации, в которых каждый класс независим и не является взаимоисключающим. Например, можно выполнить классификацию по нескольким меткам, при которой изображение может одновременно содержать и слона, и собаку.
Для краткости пусть x = logits , z = labels . Логистические потери в псевдокоде равны
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))
Для x < 0 , чтобы избежать переполнения в exp(-x) , мы переформулируем приведенное выше
x - x * z + log(1 + exp(-x)) = log(exp(x)) - x * z + log(1 + exp(-x)) = - x * z + log(1 + exp(x))
Следовательно, чтобы обеспечить стабильность и избежать переполнения, реализация использует эту эквивалентную формулировку.
max(x, 0) - x * z + log(1 + exp(-abs(x)))
логиты и labels должны иметь одинаковый тип и форму.
Параметры
| объем | Область видимости TensorFlow |
|---|---|
| этикетки | этикетки |
| логиты | логиты типа float32 или float64 |
Возврат
- покомпонентные логистические потери.
Броски
| IllegalArgumentException | если логиты и метки не имеют одинаковой формы |
|---|