Я играю с Pytorch, и я реализовал CNN для набора данных MNIST, который имеет точность + 99% как для поездов, так и для тестовых наборов.
Я решил переключиться на Fashion MNIST, чтобы посмотреть, как работает архитектура моей сети. Я получил 95% точности в наборе поездов и 91% в тестовом наборе.
Затем я начал пытаться улучшить эту производительность, настроив модель.
Вкратце, моя модель выглядит так:
Conv -> ReLU -> Batch norm -> Max pool ->
Conv -> ReLU -> Batch norm -> Max pool ->
Conv -> ReLU -> Batch norm -> Max pool ->
Conv -> ReLU -> Batch norm -> Max pool ->
Linear -> ReLu -> Linear -> Output
Optimizer: Stochastic Gradient Descent
Transformations: ToTensor() only
В моих тестах был удален последний слой Conv, добавлен средний пул вместо максимального пула в последнем слое Conv, проверена кривая потерь в поездах для статической или динамической регулировки скорости обучения и изменения размера пакета.
Однако с указанными выше комбинациями либо моя модель будет соответствовать (например, 97% поезд, 89% тест) или она не будет иметь лучших результатов (например, 91% поезд, 89% тест).
Я что-то упустил? Я делаю что-то неправильно? Есть ли другие параметры настройки, которые мне нужно отрегулировать, о которых я не думал?
Спасибо