Как мне интерпретировать или интуитивно объяснить следующие результаты для моей модели CNN? - PullRequest
1 голос
/ 28 мая 2020

Я обучаю модель CNN, которая должна классифицировать 4 объекта. 3 кружки (белая, черная, синяя) и 1 стакан. Когда я тренирую свою модель всего 10 эпох, я получаю точность проверки 25%, когда все маркируется как белая кружка. Однако, когда я буду тренировать одну и ту же модель дольше, она в конечном итоге отклонится от этой 25% точности и поднимется до 80%, единственная проблема, которая у нее есть, - это классификация белой кружки.

Другими словами, если я Я могу выяснить, почему мой классификатор неправильно классифицирует белую кружку, тогда я потенциально могу достичь validation_accuracy 90%. Таким образом, мой вопрос заключается в том, что я мог бы попытаться выяснить, почему он ошибается, или что нужно улучшить. Я уже использовал LIME, чтобы проверить, почему моя модель что-то классифицирует, но я не мог понять из этого.

Некоторые характеристики модели:

  1. Нет увеличения данных
  2. 5 сверточных слоев (32, 64, 128, 256, 512) -> в GlobalMaxPooling, Flatten и 2 плотных слоя (128, 4)
  3. Слои активации (relu)
  4. 2000 обучающих изображений, 1000 проверочных изображений (классы сбалансированы)

Дополнительно: модель получает 100% точность на обучающих данных через 2 эпохи и медленно поднимается до 80% на проверочных данных (после около 40-50 эпох).

Extra 2: Иногда модель получает 80%, иногда только 74%

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Здесь может быть несколько проблем. Похоже, ваша сеть переоснащается, поэтому для начала вы можете захотеть добавить регуляризацию или исключение в свой тренировочный процесс. Во-вторых, вы также захотите убедиться, что ваши изображения поступают из одного источника, т.е. если все ваши обучающие / тестовые примеры взяты из изображений Google или имеют совершенно разные качества, углы, цвета и т. Д. c, это может нанести вред сети способность правильно классифицировать кружку.

Наконец, вы можете захотеть добавить слой softmax в конце вашей сети, поскольку вы выполняете мультиклассовую классификацию. Сделав это, вы сможете увидеть, какова вероятность для белой кружки по сравнению с другими объектами, что может помочь вам в отладке.

0 голосов
/ 29 мая 2020

Модель достигает 100% точности обучения, когда точность проверки все еще составляет всего 25%. Разрыв в 75% между точностью обучения и проверки огромен и указывает на то, что модель чрезмерно соответствует обучающим данным, вероятно, из-за небольшого размера набора обучающих данных (2000). Увеличение данных, вероятно, значительно снизит переоснащение и повысит точность проверки - я бы начал со случайной обрезки, яркости и насыщенности. Также может помочь сбор большего количества тренировочных данных с различным фоном, ориентацией и условиями освещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...