Как избежать обучения модели эвристике создания негативных примеров вместо генерализации
Что проверяют
Понимаете ли вы, что модель учит не задачу, а любой признак, который отделяет позитивы от негативов в обучающей выборке. Если негативы собраны механически, самым простым признаком становится сам способ их сборки. Следом обычно спрашивают, как вы заметите такую утечку до выката в прод.
Как отвечать
Сначала назовите механизм: это shortcut learning. Случайный негатив в рекомендациях или поиске часто отличается от позитива длиной, доменом, популярностью или временем, и модель выучивает именно это. Метрика на отложенной выборке с такими же негативами при этом отличная.
Дальше каркас мер:
- распределения: негативы берутся из той же совокупности, что и позитивы: тот же источник, период, длина текста, популярность объекта. Против перекоса по популярности помогает сэмплирование пропорционально частоте в степени 0,75, как в word2vec;
- hard negatives: добавляйте трудные примеры: кандидатов из BM25 или ANN-поиска, in-batch негативы, показанные, но не кликнутые объекты из логов;
- смесь сложностей: держите долю лёгких и трудных негативов, одни трудные дают много ложных негативов и нестабильное обучение;
- проверка на утечку: обучите простой классификатор только на мета-признаках (длина, источник, дата). Если он уверенно отличает негативы от позитивов, эвристика в данных есть;
- честная оценка: валидируйтесь на реальном распределении: логах показов, ручной разметке, срезе по времени, а не на синтетических парах.
Хорошо добавить анализ ошибок по срезам и абляцию подозрительных признаков.
Где спотыкаются
Отвечают про L1/L2 и кросс-валидацию. Регуляризация не лечит признак, который в обучении идеально разделяет классы, а k-fold на тех же синтетических негативах только подтвердит ложный успех.
Берут одни самые трудные негативы. Среди них много непомеченных позитивов, и модель учат отвергать правильные ответы. Нужна фильтрация, например порог по оценке cross-encoder.
Путают проблему с дисбалансом классов и предлагают oversampling. Соотношение классов тут ни при чём: дело в том, как устроены сами негативы.