Я пытаюсь использовать TF Estimator API для мониторинга показателей проверки во время обучения. Для отладки моего кода я настроил несколько прогонов со следующим:
- наборы train и val одинаковы, оба состоят из 1 образца
- размер партии установлен на 1 как для обучения, так и для проверки
- скорость обучения установлена на 0,0, чтобы в сети не происходило никаких изменений
При этом я ожидал бы, что потери при обучении и проверке будут постоянными на протяжении всего обучения и равны друг другу. Однако в Tensorboard наблюдается следующее:
- потеря тренировки ведет себя как ожидалось
- потеря подтверждения в начале отличается, медленно сходясь к постоянной величине потери обучения
график потерь в поездах - lr = 0.0
У меня вопрос: ожидается ли такое поведение и если да, то каков основной механизм, который делает это возможным?
Я заметил, что увеличение скорости обучения значительно снижает этот эффект. На графиках ниже все то же самое, за исключением показателей обучения, которые составляют 0,001 и 0,1.
график потерь в поездах - lr = 0,001
график потерь в поездах - lr = 0,1 (сходимость на следующем этапе проверки)
На всех рисунках потеря поезда (оранжевая), потеря VAL (синяя)
Спасибо за ваше время!