Это очень распространенная проблема, это форма переоснащения.
Я приглашаю вас прочитать книгу «Глубокое обучение» Иана Гудфеллоу и Йошуа Бенжио и Аарона Курвилля, особенно эту главу (в свободном доступе), она очень информативна.
Короче говоря, вы, похоже, выбрали модель (ResNet50 + параметры обучения по умолчанию), в которой слишком много места для вашей проблемы и данных. Если вы выберете модель, которая слишком проста, вы получите кривые обучения и оценки очень близко друг к другу, но с худшими характеристиками, чем вы могли бы достичь. Если вы выберете модель, которая слишком сложна (как в данном случае немного), вы можете достичь гораздо лучшей производительности на тренировочных данных, но оценка не будет на том же уровне и даже может быть довольно плохой. Это называется переоснащение на тренировочном наборе.
То, что вы хотите, - это лучшая средняя точка: наилучшая производительность на оценочных данных достигается при сложности модели, которая находится непосредственно перед переобучением: вам нужны два Кривые производительности должны быть близки друг к другу, но оба должны быть как можно лучше.
Таким образом, вам нужно уменьшить емкость вашей модели для вашей проблемы. Есть разные способы сделать это, они не будут одинаково эффективны ни с точки зрения уменьшения переоснащения, ни с точки зрения снижения производительности вашего поезда. Лучше всего, как правило, добавлять больше данных об обучении, если вы можете. Если вы не можете, следующие хорошие вещи для добавления - регуляризация , такие как увеличение данных, выпадение , регуляризация L1 или L2 и ранняя остановка. Последнее особенно полезно, если ваша эффективность проверки начинает снижаться в какой-то момент, а не просто плато. Это не ваш случай, поэтому он не должен быть вашим первым треком.
Если регуляризации недостаточно, попробуйте поиграть со скоростью обучения или другими параметрами, упомянутыми в книге. Вы должны быть в состоянии заставить ResNet50 работать намного лучше, чем на Cifar10 , но, возможно, это не так тривиально.