Время, необходимое для обучения Реснет на CIFAR-10 - PullRequest
0 голосов
/ 02 сентября 2018

Я писал нейронную сеть для обучения Resnet на наборе данных CIFAR-10 . В статье Deep Residual Learning для распознавания изображений упоминается обучение около 60 000 эпох.

Мне было интересно - что конкретно означает эпоха в этом случае? Это один проход через мини-пакет размером 128 (что означает около 150 проходов через весь 50000 учебных наборов изображений?

Кроме того, сколько времени это займет для обучения (предположим, только CPU, 20-слойный или 32-слойный ResNet)? С приведенным выше определением эпохи, кажется, потребуется очень много времени ...

Я ожидал чего-то только около 2-3 часов, что эквивалентно примерно 10 проходам через обучающий набор 50000 изображений.

1 Ответ

0 голосов
/ 02 сентября 2018

В статье никогда не упоминается 60000 эпох. эпоха обычно означает один проход по всему набору данных. 60000 эпох было бы безумием. Они используют 64000 итераций на CIFAR-10. Итерация включает обработку одной мини-партии, вычисление и затем применение градиентов.

Вы правы в том, что это означает> 150 проходов по набору данных (это эпохи). Современные модели нейронных сетей часто занимают дни или недели для обучения. В частности, ResNets хлопотны из-за их огромного размера / глубины. Обратите внимание, что в статье упоминается обучение модели на двух графических процессорах, что будет намного быстрее, чем на процессоре.

Если вы просто тренируете некоторые модели «для удовольствия», я бы рекомендовал значительно уменьшить их. Попробуйте 8 слоев или около того; даже это может быть слишком много. Если вы делаете это для исследовательских / производственных целей, приобретите несколько графических процессоров.

...