Количество слоев и фильтров Conv2d для задачи классификации небольших изображений - PullRequest
4 голосов
/ 05 февраля 2020

Если я работаю с набором данных, в котором у меня ~ 100 000 обучающих изображений и ~ 20 000 проверочных изображений, каждый размером 32 x 32 x 3, как размер и размеры моего набора данных влияют на число Conv2d слои у меня в моей CNN? Моя интуиция состоит в том, чтобы использовать меньше Conv2d слоев, в 2-3 раза, потому что более 3 слоев будут работать с частями изображения, которые слишком малы, чтобы получать соответствующие данные.

Кроме того, имеет ли смысл иметь слои с большим количеством фильтров,> 128? Я думаю, что при работе с небольшими изображениями не имеет смысла иметь большое количество параметров.

1 Ответ

0 голосов
/ 05 февраля 2020

Поскольку у вас есть точный размер ввода, такой как изображения в Cifar10 и Cifar100, просто посмотрите, что пробовали люди.

В общем, вы можете начать с чего-то вроде ResNet18. Также я не совсем понимаю, почему вы говорите

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

До тех пор, пока вы не уменьшите выборку, используя что-то вроде максимального пула или конв с заполнением 1 и шагом 2. Размер 32x32 будет одинаковым, и только количество каналов будет меняться в зависимости от сеть.

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

...