Увеличение потерь на валидацию - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь решить проблему «собаки против кошек» в kaggle с помощью моей неврологической нейронной сети.

Потеря проверки

Validation loss graph

Потеря обучения

training loss graph

Мои потери на тренировке хорошо уменьшаются, но потери на валидацию увеличиваются, поэтому моя модель явно переоснащается.Я использовал два скрытых слоя размером 125, 50. Я использовал скорость обучения 0,075, запустил модель с 600 итерациями.

Я также попытался использовать регуляризацию с лямбда = 0,01 или 0,03, но все равно не помогло.

Есть ли решения этой проблемы?

1 Ответ

0 голосов
/ 31 мая 2018

Добавьте Dropout к каждому слою с вероятностью выпадения 0,5.Посмотрите, как она влияет на ошибку проверки, и если ваша ошибка обучения не пойдет глубже определенной точки, либо уменьшите вероятность до .3, либо последовательно удалите ее из первых слоев.Здесь немного проб и ошибок.

Полагаю, вы имеете в виду регуляризацию L2 (снижение веса) с помощью lamda.В настоящее время сети обычно используют отсев и очень маленький L2, например 0,0005.L2 приводит к тому, что веса приближаются к нулю и предотвращают их взрыв.Dropout - лучший регулятор, потому что он случайным образом отбрасывает узлы во время обучения, что вызывает какую-то специализацию.

Удачи.

...