Керас: загруженная модель контрольной точки для возобновления тренировки может снизить точность? - PullRequest
0 голосов
/ 04 ноября 2019

Мой шаблон keras генерирует контрольную точку для каждого лучшего времени моей тренировки.

Однако мой интернет упал, и при загрузке моей последней контрольной точки и возобновлении тренировки с прошлого сезона (используя initial_epoch) точность упала с 89,1(загружено значение модели) до 83,6 в первом сезоне новой тренировки. Это нормальное поведение при возобновлении (перезапуске) тренировки? Потому что, когда моя сеть упала, это было уже в 30-м сезоне, и не было никакого снижения точности, также не было никаких существенных улучшений и, следовательно, не было создано никакой новой контрольной точки, что вынудило меня вернуться через несколько эпох.

Заранее спасибо за помощь.

1 Ответ

2 голосов
/ 04 ноября 2019

Проблема с сохранением и переподготовкой заключается в том, что когда вы начинаете переподготовку от обученной модели до эпохи N, в эпоху N + 1 история не сохраняется.

Сценарий:

Вы тренируете модель для 30 эпох. В эпоху 15 точность составляет 88% (скажем, вы сохраняете свою модель в соответствии с наилучшей точностью проверки). К сожалению, что-то происходит, и ваша тренировка падает. Однако, поскольку вы тренировались с контрольными точками , , у вас есть полученная модель, полученная в эпоху 15 , до того, как ваша программа потерпела крах.

Если вы начнете переподготовку с эпохи 15,предыдущие validation_accuracies (поскольку вы теперь тренируетесь с нуля), не будут «запомнены где-либо». Если в эпоху 16 вы получите точность проверки 84%, ваша 'best_model' (с 88% соответствием) будет перезаписана моделью эпохи 16, потому что нет данных сохраненной / внутренней истории предыдущей тренировки / проверки* 1012 точность *. Под капотом, при новой переподготовке, 84% будут сравниваться с -inf, поэтому это сохранит модель эпохи 16.

Решение состоит в том, чтобы либо переучить с нуля, либо инициализировать вторую точность валидации при обучениисо списком (вручную или полученным из Callback) из предыдущего обучения. Таким образом, максимальная точность по сравнению с Керасом под капотом в конце вашей эпохи будет 88% (в сценарии), а не -inf.

...