Потеря NaN происходит с пользовательской функцией потерь, даже если градиент установлен на 0 - PullRequest
0 голосов
/ 16 сентября 2018

Я пытался реализовать пользовательскую функцию потерь для оценщика TF, но TensorFlow возвращает потери NaN. Это происходит даже при установке низкой скорости обучения (1e-10) или 0. Если принудительно установить градиент на 0, нейронная сеть работает, что подразумевает проблему с градиентами. Я уже проверил набор данных на наличие значений NaN, выбросов и т. Д. Кроме того, я попытался удалить любые функции, которые могут потенциально помешать автоматическому дифференцированию, но безрезультатно (например, map_fn). Что еще может быть причиной этих проблем?

  • Функция потерь не взвешивает все предсказания нейронной сети одинаково; некоторые прогнозы учитываются несколько раз при генерировании убытка
  • Для функции потери также требуются функции, не запускаемые через нейронную сеть

Сообщение об ошибке:

tensorflow.python.training.basic_session_run_hooks.NanLossDuringTrainingError: NaN loss during training.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...