Прежде всего здесь Я думаю, хорошее объяснение того, стоит ли вам беспокоиться о числовой стабильности или нет. Отметьте этот ответ, но, скорее всего, вам это не стоит беспокоиться.
Чтобы ответить на ваш вопрос. Почему это так? давайте взглянем на :
def sparse_categorical_crossentropy(target, output, from_logits=False, axis=-1):
""" ...
"""
...
# Note: tf.nn.sparse_softmax_cross_entropy_with_logits
# expects logits, Keras expects probabilities.
if not from_logits:
_epsilon = _to_tensor(epsilon(), output.dtype.base_dtype)
output = tf.clip_by_value(output, _epsilon, 1 - _epsilon)
output = tf.log(output)
...
Вы могли видеть, что если from_logits
равно False
, то значение output
обрезается до epsilon
и 1-epsilon
. Это означает, что если значение немного изменится за пределами этих границ, результат не отреагирует на это.
Однако, насколько мне известно, это довольно экзотическая ситуация, когда это действительно имеет значение.
03.03.2021