потеря перекрестной энтропии периодически возрастает и падает в image-net

Я обучаю свою мобильную сеть v3 с помощью tfrecords, созданных с помощью модели тензорного потока . Потери в обучении относительно шагов показаны ниже. Длина блока по оси x составляет 20 тыс. Шагов (примерно 2 эпохи из-за размера пакета = 128 и всего 1281167 отсчетов).

Скорость обучения экспоненциально затухает 0,01 каждые 3 эпохи с лестницей, и потери обычно падают в первые 4 эпохи. Однако убытки растут и падают каждую эпоху после 4-й эпохи. Я пробовал оптимизатор импульса (окрашен оранжевым) и оптимизатор rmsprop (окрашен синим), затем получил аналогичные результаты. Пожалуйста, помогите мне решить эту проблему.

Каждая единица


person Euphoria Yang    schedule 05.08.2019    source источник


Ответы (1)


Периодичность почти наверняка соответствует 1 полной эпохе.

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

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

person Stewart_R    schedule 05.08.2019
comment
мой порядок создания набора данных tf: препроцесс- ›перетасовка (1000) -› повтор- ›пакет (128). Порядок правильный? Размер буфера перемешивания слишком мал для image-net? - person Euphoria Yang; 06.08.2019
comment
Не уверен, что здесь есть правильный и неправильный. Если вы поменяете местами repeat и shuffle, он будет перемешивать каждую эпоху. Это удалит повторяющийся шаблон, но я не ожидаю какого-либо реального улучшения производительности. Причина, по которой шаблон заметен, заключается в том, что ваша модель более или менее оптимизирована, насколько это возможно, и просто (естественно и ожидаемо) работает лучше с некоторыми партиями, чем с другими. - person Stewart_R; 06.08.2019