Что означает, что потери в Керасе различаются на порядки в разных моделях?

Для контекста я обучил два отдельных автокодера в Keras: один со стандартной функцией потерь MSE, а другой - с настраиваемой функцией потерь MSE. При оценке обеих моделей на заданном этапе обучения они имеют очень похожую производительность, но очень разные потери.

Мой показатель производительности - средний процент ошибки. Обе модели воссоздают исходное изображение со средней ошибкой порядка 3%. Однако, когда эти модели были сохранены, стандартная модель Keras MSE имела потери менее 1,0, в то время как модель с настраиваемой функцией стоимости MSE имела потери порядка 30.

Если они работают на таком стабильном уровне, почему потери так сильно различаются?


person WVJoe    schedule 24.04.2020    source источник


Ответы (1)


Потери - это просто скаляр, который говорит моделированию поезда, в каком направлении следует регулировать веса. Если умножить убыток на скаляр, результат будет почти таким же. Я не говорю, что абсолютное значение не имеет значения, это важно. Но это не главное. Вероятно, разница в вашем случае происходит из-за того, что Keras MSE выполняет некоторые нормализации, которые вы не делаете.

person Augusto Maillo    schedule 24.04.2020
comment
Похоже, это причина для этого. Меня это не очень волнует, поскольку для меня важны показатели производительности, но я просто хотел лучше понять, что происходит. - person WVJoe; 25.04.2020
comment
Попытайтесь нормализовать ваши данные y_pred, прежде чем выполнять математические вычисления. - person Augusto Maillo; 27.04.2020