Внезапное падение validation_loss после перезагрузки модели (ей)

Я тестирую cGAN в keras / tensorflow, и через 1000 эпох я сохранил модель.

Через некоторое время я восстановил

  1. модель генератора + веса
  2. модель дискриминатора + веса
  3. грузы GAN (модель воссоздана)

Это результирующая val_accuracy:

внезапное падение

Можно ясно видеть, что после восстановления модели происходит огромное падение val_loss.

Может ли кто-нибудь объяснить мне, почему / что могло вызвать эту ситуацию?


person Stormsson    schedule 10.07.2018    source источник
comment
Если вы использовали оптимизатор с адаптивной скоростью обучения, то довольно часто такое случается. Скорость обучения, вероятно, снизилась около 1000-й эпохи, и в результате это помогло тренировочному процессу избежать плато / прыжков вокруг локальных минимумов.   -  person today    schedule 10.07.2018
comment
не уверен в этом: событие в 1000-й эпохе было перезапуском машины. Казалось бы, после перезагрузки модели что-то изменилось, но я не понимаю что, потому что я сохранил и восстановил все веса. Единственным отличием было состояние оптимизатора в GAN; может это быть причиной?   -  person Stormsson    schedule 10.07.2018
comment
Я думаю, что состояние оптимизатора также сохраняется, когда вы сохраняете модель Keras, и изменение скорости обучения, как я уже сказал, является одним из возможных объяснений. Но, если вы изменили оптимизатор или его параметры после загрузки модели, то это тоже могло быть причиной.   -  person today    schedule 10.07.2018
comment
Графика показывает потерю валидации, не точность валидации, не так ли?   -  person critop    schedule 10.07.2018
comment
@critop я подтверждаю, что это потеря валидации   -  person Stormsson    schedule 11.07.2018
comment
В первый раз, когда я увидел это, я делал новый train / val, таким образом загрязняя свой набор данных val.   -  person grabbag    schedule 22.08.2020


Ответы (1)


Для подтверждения этого может потребоваться дальнейший анализ, но вы могли случайно обнаружить метод под названием "теплый перезапуск". Проще говоря, вы тренируете свою модель с помощью отжига в обычном режиме, останавливаетесь, сбрасываете скорость обучения и начинаете заново. Интуитивно вы даете модели возможность выпрыгнуть из локальных минимумов, и это может привести к наблюдаемому поведению.

person critop    schedule 10.07.2018
comment
я считаю, что это могло случиться; после перезагрузки модели LR было на начальном значении - person Stormsson; 11.07.2018
comment
Может быть, вы первый, кто на самом деле попробовал это с помощью GAN. Это требует бумаги (-; - person critop; 11.07.2018
comment
Val_loss также может увеличиваться после перезагрузки весов модели и перезапуска обучения по той же причине. Это может быть особенно проблематичным, поскольку порог контрольной точки также сбрасывается на Inf, перезаписывая предыдущие лучшие веса с резко худшими весами. - person user3673; 02.01.2020