4

Я использую CNN для задачи регрессии. Я использую Tensorflow, а оптимизатором является Adam. Кажется, что сеть идеально сходится до одной точки, где потеря внезапно увеличивается вместе с ошибкой проверки. Вот потери участки этикетки и вес отделенных (Оптимизатор запускаемый на сумме них) label loss weight lossУрон внезапно увеличивается с помощью Adam Optimizer в Tensorflow

я использую l2 потерю веса для регуляризации, а также для этикеток. Я применяю случайность данных обучения. В настоящее время я пытаюсь выполнить RSMProp, чтобы увидеть, изменилось ли поведение, но для воспроизведения ошибки требуется не менее 8 часов.

Я хотел бы понять, как это может произойти. Надеюсь, ты поможешь мне.

+0

Снизить скорость обучения? –

+0

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

+0

Подождите, каков первый график? Правильно ли это обучение? Но это идет вниз? Где же тогда проблема? Вы можете объяснить? Если вы говорите о комбинированных потерях, которые затем доминируют в регуляции веса (вот как я это интерпретирую), возможно, играйте с какой-то альфой, которая устанавливает масштаб этих двух компонентов потерь. – sascha

ответ

4

Мой опыт работы за последние месяцы: Adam очень прост в использовании, потому что вам не обязательно играть с начальной скоростью обучения, и он почти всегда работает. Однако, когда приходят к конвергенции, Адам действительно не сражается с решением, а смещается вокруг при более высоких итерациях. В то время как SGD дает почти идеальный график потерь и, кажется, сходится намного лучше при более высоких итерациях. Но изменение некоторых параметров установки требует корректировки параметров SGD, или вы получите NaNs ... Для экспериментов на архитектурах и общих подходах я одобряю Адама, но если вы хотите получить лучшую версию одной выбранной архитектуры, вы должны использовать SGD и, по крайней мере, сравнивать решения.

Я также заметил, что хорошая начальная настройка SGD (скорость обучения, распад веса и т. Д.) Сходится так же быстро, как и с помощью Адама, в настройках для моей установки. Надеюсь, это поможет некоторым из вас!

РЕДАКТИРОВАТЬ: Обратите внимание, что эффекты в моем первоначальном вопросе - это NOT нормально даже с Адамом. Похоже, у меня была ошибка, но я не могу запомнить эту проблему.