Комментарии 10
90% - это не отличная точность, это - так себе. У ЛеКуна в 1998 году, через 10 лет как он изобрел сверточную сеть, была 98.4% . Сейчас датасет рукописных цифр MNIST выработан. Сейчас в тестовом датасете не определяются сетями только 5 или 7 изображений (из 10000), которые даже человек не способен разобрать.
По сверточным можно сказать, что они достигают точности на задаче классификации при точности равной 90,9%. Так что не вижу тут проблемы, на мой взгляд.
Точность важный, но не единственный параметр. Следует учитывать так же: обобщающую способность, скорость предсказания, ресурсы для обучения, устойчивость к изменяющимся данным, интерпретируемость и т.д.
Попробовали бы они числа в преферансной пуле разобрать...
Статье явно не хватает картинок с результатами распознавания и набором данных
Хорошо структурированная модель. Есть несколько предложений для улучшения. Увеличте количество фильтров в сверточных слоях и добавьте дополнительных сверточных слоев, это может помочь модели извлекать более сложные признаки, а для уменьшения переобучения (на будущее) можно добавить слои Dropout между полносвязными слоями.
Почему у Вас один слой свертки и одни пуллинга? Почему не два слоя свертки? Зачем делить на 255 значение каждого пикселя? Почему используете sequential? почему не используете другие возможности создания модели? Почему оптимизатор Адам именно? Почему у Вас 10 выходов в модели, почему не сделать один выход который сразу цифру давал бы предсказанную?
Почеум именно 5 эпох тут? model.fit(x_train, y_train, epochs=5) может она у Вас не обученная или уже переобученная?
Почему не использовали аугментацию ? Зачем нужно строить свою модель, почему не взять уже готовую модель обученную и дообучить ее?
Почему так сохраняете модель "model.save('my_model.keras')" ? Вы уверены что вы сохранили модель с лучшей точностью на 5 эпохе?
Дополните, пожалуйста, обязательно статью, очень много вопросов по статье.
Сверточные нейронные сети. Создание нейросети для распознавания цифр на языке программирования Python