Нейросеть ршает задачу классификации изображений по следующим категориям:
- самолеты
- автомобили
- грузовики
- корабли
- птицы
- кошки
- олени
- собаки
- лягушки
- лошади
Для обучения нейронной сети использовался датасет CIFAR-10 — 60 тысяч изображений. Размер изображений — 32 × 32 пикселя. Поддержка этого датасета включена в Keras. Для повышения качества обучения сети из каждого изображения в датасете создаются дополнительные изображения со случайными сдвигами, поворотами и отражениями по горизонтали.
Архитектура
- Первые два слоя - это сверточные слои.
Для первого слоя:
- количество каналов (фильтров): 32
- размер фильтра: 3x3
- функция активации: relu
- отступы: same - без изменения изображения
Для второго слоя:
- количество каналов (фильтров): 32
- размер фильтра: 3x3
- функция активации: relu
- Объединение слоев с исключением в 0.25
- Два сверточных слоя:
Для первого слоя:
- количество каналов (фильтров): 64
- размер фильтра: 3x3
- функция активации: relu
- отступы: same - без изменения изображения
Для второго слоя:
- количество каналов (фильтров): 64
- размер фильтра: 3x3
- функция активации: relu
- Объединение слоев с исключением в 0.25
- Сжатие данных
- Первый плотно связанный слой:
- количество нейронов: 512
- функция активации: relu
- Исключение в 0.5
- Плотно связанный слой:
- количество нейронов: 10
- функция активации: softmax
- Компиляция модели
Пример работы обученной сети: