Почему модель дает лучшую производительность после первой эпохи, когда моя потеря тренировки уменьшается, а точность набора проверки увеличивается? - PullRequest
0 голосов
/ 03 июля 2018

Я тренирую модель классификации изображений с использованием CNN (через тензорный поток). В моем наборе данных 600 сэмплов с 90 классами ( сбалансировано ), и вот мой обзор архитектуры NN:

conv(relu) --> conv(relu) --> dense(relu) --> dense(relu) --> dense(sigmoid)

Обучение:

Я разделил свой набор данных на тренировочный набор и проверочный набор 8: 2, и вот моя тренировочная конфигурация:

batch_size = 16
epochs = 200
learning_rate = 0.0001 

А у меня в консоли отображаются:

epoch 1: loss 0.34, validation accuracy 96%
epoch 2: loss 0.12, validation accuracy 98%
epoch 3: loss 0.09, validation accuracy 98.5%
epoch 4: loss 0.06, validation accuracy 99%
epoch 5: loss 0.04, validation accuracy 99.7%
...

Кажется, все в порядке, потери на тренировках уменьшаются, и в то же время увеличивается точность набора проверки.

Тестирование:

Однако при тестировании на аналогичном, но другом наборе данных точность модели после первой эпохи намного выше, чем модели после 5 (10, 20, 100 и т. Д.) Эпохи.

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

Итак:

  • Это что-то вроде переоснащения, поскольку вывод моего окна консоли говорит «нет»? что случилось?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 18 июля 2018

Да, вы перегружены. Вам необходимо обучить, проверить и протестировать данные из того же дистрибутива, в противном случае никакие предположения об ошибке не могут быть сделаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...