У меня есть задача классификации изображений, но на основе довольно простых / хороших условий:
- Есть только два класса (хорошие или плохие)
- Изображениявсегда показывать одну и ту же фигуру (либо с ошибкой, либо без нее)
- Эта часть всегда снята с одного и того же угла и расстояния
- У меня есть как минимум 1000 образцов изображений для обоих классов
Так что я подумал, что должно быть легко придумать хорошее решение CNN - и так оно и было. Я создал модель на основе VGG16 с пользовательским классификатором (Keras / TF). Посредством трансферного обучения я смог достичь 100% точности проверки во время обучения модели, так что с этим все в порядке.
Из любопытства и из-за того, что подход, основанный на VGG, кажется немного «медленным», яЯ также хотел попробовать его с более современной архитектурой модели в качестве базового, поэтому я сделал это с ResNet50v2 и Xception . Я обучил его аналогично модели на основе VGG, попробовал с несколькими модификациями гиперпараметров и т. Д. Однако я не смог добиться более высокой точности проверки, чем 95%, - намного хуже, чем со «старой» архитектурой VGG.
Поэтому мой вопрос таков: учитывая эти «простые» (всегда одинаковые) изображения и только два класса, модель VGG, вероятно, является лучшей основой, чем современная сеть, такая как ResNet или Xception? Или более вероятно, что я что-то напутал с моей моделью или просто неправильно понял параметры обучения / гиперпараметры?