Потери при проверке сильно колеблются, точность проверки> точность обучения, но точность теста высока.Моя модель переоснащается? - PullRequest
2 голосов
/ 26 марта 2019
  1. Я тренирую модель и, используя первоначальную скорость обучения автора (я тоже использую их github), я получаю потерю проверки, которая постоянно колеблется, она будет уменьшаться, но затем внезапно скачет к большому значению, а затем снова уменьшается, но никогда не сходится, так как самое низкое значение - 2 (в то время как потери при обучении сходятся к 0,0 с чем-то - намного ниже 1)

В каждую эпоху я получаю точность обучения, а в конце - точность проверки. Точность валидации всегда выше точности обучения.

Когда я тестирую на реальных данных испытаний, я получаю хорошие результаты, но мне интересно, не подходит ли моя модель. Я ожидаю, что потеря val хорошей модели сходится подобным образом с потерей обучения, но этого не происходит, и тот факт, что потеря val колеблется до очень больших значений, иногда беспокоит меня.

  1. Регулируя скорость обучения, планировщик и т. Д. И т. Д., Я получил потерю val и тренировку в сторону понижения с меньшими колебаниями, но на этот раз точность моего теста остается низкой (а также точность обучения и валидации)

Я попробовал пару оптимизаторов (adam, sgd, adagrad) с планировщиком шагов, а также pleateu один из pytorch, я играл с размерами шагов и т. Д., Но это не помогло, равно как и отсечение градиентов.

  1. Моя модель переоснащается?
  2. Если так, как я могу уменьшить переоснащение помимо увеличения данных?
  3. Если нет (я читал, что некоторые люди на кворе говорили, что беспокоиться не о чем, хотя я думаю, что это должно быть слишком много), как я могу это оправдать? Даже если бы я получил аналогичные результаты для k-кратного эксперимента, было бы достаточно хорошо? Я не думаю, что это оправдало бы колебания. Как мне поступить?

1 Ответ

1 голос
/ 26 марта 2019

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

Решение: Вы можете сообщить о Экспоненциальном скользящем среднем потери проверки в разные эпохи, чтобы иметь меньшие колебания.


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

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