Lenet5 на Fashion-MNIST - «плохая» точность и сравнение разных регуляризаций - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь обучить и протестировать lenet-5 CNN в наборе данных Fashion-MNIST. Я использую оригинальную бумажную реализацию с небольшими изменениями (все слои конвоя связаны со всеми каналами предыдущего слоя и максимальным пулом вместо усреднения и регуляризации, как я объясню позже), и я не могу получить точность более ~ 90% на тестовом наборе, в то время как я чувствую, что я должен получить намного больше ... Я тестирую различные методы регуляризации - снижение веса (l2), droupout на fc-слоях и пакетную нормализацию, и я получаю примерно одинаковые результаты со всеми из них (пакетная нормализация сходится немного быстрее, но имеет наибольшее переобучение). Я использовал следующий оптимизатор: оптимизатор = keras.optimizers.SGD (lr = 0,001, распад = 1e-4, импульс = 0,9, nesterov = True) Я также играл со скоростью обучения, импульсом и распадом, но результаты не сильно изменились. Это граф сходимости, который я получаю: Нет регуляризации: Нет регуляризации

Отключения: отсев l2: снижение веса норма партии: нормализация партии и окончательная точность: окончательные результаты

Я использую тензорный поток для обучения и тестирования (и я новичок в тензорном потоке), и я не думаю, что у меня что-то не так с моим кодом.

Может ли кто-нибудь с большим опытом объяснить, имеет ли этот результат смысл? или что я могу попробовать, чтобы получить лучшие результаты (а также преодолеть это переоснащение)?

Спасибо!

...