Вопрос или проблема
Я выполняю классификацию эмоций на наборе данных FER2013. Я пытаюсь измерить производительность различных моделей, и когда я проверил ImageDataGenerator с моделью, которую уже использовал, я столкнулся со следующей ситуацией:
Модель без увеличения данных получила:
- train_accuracy = 0.76
- val_accuracy = 0.70
Модель с увеличением данных получила:
- train_accuracy = 0.86
- val_accuracy = 0.70
Как видите, точность валидации в обеих моделях одинакова, но точность обучения значительно различается. В этом случае:
- Должен ли я выбрать модель, использующую увеличение данных, поскольку ее точность обучения выше?
- Должен ли я ожидать переобучения от нее и выбрать модель без увеличения данных, поскольку ее значения точности ближе друг к другу?
- Третий вариант. Должен ли я провести больше проверок? Если да, то какие?
Спасибо за ваше время.
На основе этого, обе модели обобщают одинаково хорошо. Однако обе имеют переобучение, вторая более значительно. Этого стоит избегать. Например, я бы ожидал, что наилучшая потеря на валидации будет ближе к потере на обучении, если вы используете раннюю остановку. Вы можете увеличить такие параметры, как dropout.
Если вы сделаете это, я думаю, вы обнаружите, что увеличенная модель в конечном итоге дает лучшую модель (с меньшей потерей на валидации).
Имея две модели с одинаковой производительностью вне выборки, но с разной производительностью внутри выборки, я бы выбрал более простую модель. Другими словами, вы не получаете выигрыш в производительности, выбирая вторую модель, но имеете недостатки в виде большей сложности, возможно даже более серьезной переобученности, и увеличенного времени вычислений.
Однако, точность – это ненадежная метрика!
Сравните две модели по их кросс-энтропийной функции потерь, которую, как я предполагаю, вы используете для их оптимизации. Кросс-энтропийная потеря является строго правильным правилом оценивания, тогда как точность – нет.
Пожалуйста, прочитайте эту связанную публикацию на Cross Validated, статистическом Stack, и прочитайте связанные публикации на блоге Фрэнка Харрелла.
У меня также есть публикация там о том, как объяснить своему начальнику, почему следует использовать правильное правило оценивания вместо точности.
Ответ или решение
Анализ Ситуации
Вы столкнулись с интересным случаем в задачах классификации эмоций с использованием датасета FER2013. В результате обучения двух моделей нейронных сетей — без и с использованием генератора данных методом аугментации данных — вы получили равновесную точность на валидации (70%), но различную точность на тренировочных данных (76% и 86% соответственно).
Вопросы для Обсуждения
Данная ситуация поднимает определенные вопросы, включая:
- Следует ли выбирать модель с более высоким значением тренировки?
- Следует ли опасаться переобучения в модели с аугментацией данных?
- Какие дополнительные проверки необходимо провести для более надежной оценки?
Рекомендации
1. Переобучение и аугментация данных
Стоит отметить, что аугментация данных обычно сводится к генерации более разнообразного и возможно более сложного набора данных. Это позволило получить более высокую точность на тренировочных данных. Однако наличие одинаковой валидационной точности говорит о том, что обобщающая способность обоих моделей эквивалентна. Что касается риска переобучения: хотя вторая модель показывает более высокий уровень обучающей точности, это может быть компенсировано регулирующими методами, такими как использование dropout (искусственное исключение нейронов) или ранняя остановка.
2. Анализ Метрик
Аккуратность (accuracy) может не всегда служить наиболее подходящей метрикой для оценки качества модели, особенно в случае многоклассовой классификации. Рекомендуется использовать такие метрики, как кросс-энтропийная потеря (cross-entropy loss), которая предоставляет более глубокое понимание вероятностного распределения ошибок модели.
3. Дополнительные Проверки
- Потери на валидации: Проверьте значения потерь на валидации для обеих моделей и обратите внимание, не превышают ли они потери на обучении.
- Кривые обучения: Построение графиков кривых обучения поможет оценить динамику переобучения.
- Дробная проверка (Cross-validation): Проведите кросс-валидацию для уверенности в устойчивости модели.
- Измерение других метрик: Например, F1-score, Precision, Recall, которые могут быть более показательными в данной задаче.
Заключение
Если обе модели демонстрируют аналогичную эффективность на валидации, но одна из них склонна к меньшему объему данных и более низкой сложности (модель без аугментации), её можно считать предпочтительной в тех случаях, когда вычислительная стоимость и риск переобучения критичны. Однако, если улучшенные значения потерь достигаются при применении регулировочных мер на модель с аугментацией, эта модель может оказаться более мощной в реальных сценариях.
Используйте полноценные метрики оценки для лучшего инсайта в работу моделей и решайте на основе полного анализа.