Учебник по предвзятости позиции (и почему это важно)

Стандартные учебные программы по машинному обучению учат, что модели машинного обучения изучают шаблоны, существующие в прошлом, чтобы делать прогнозы на будущее.

Это аккуратное упрощение, но все резко меняется, когда прогнозы этих моделей используются в производстве, где они создают петли обратной связи: теперь сами прогнозы модели влияют на мир, из которого модель пытается извлечь уроки. Наши модели уже не просто предсказывают будущее, они активно его создают.

Одним из таких циклов обратной связи является предвзятость позиции, явление, наблюдаемое в моделях ранжирования, которые используются в поисковых системах, системах рекомендаций, каналах социальных сетей и ранжировщиках рекламы во всей отрасли.

Что такое предвзятость позиции?

Предвзятость позиции означает, что элементы с самым высоким рейтингом (видео на Netflix, страницы в Google, продукты на Amazon, посты в Facebook или твиты в Twitter) вызывают наибольшую заинтересованность не потому, что они на самом деле являются лучшим контентом для аудитории. пользователя, а просто потому, что они имеют самый высокий рейтинг.

Эта предвзятость проявляется потому, что модель ранжирования настолько хороша, что пользователи начинают слепо доверять элементу с самым высоким рейтингом, даже не заглядывая в него дальше («предвзятость слепого доверия»), или потому, что пользователи даже не рассматривают другие, потенциально лучшие элементы, потому что они были оценены слишком низко, чтобы они даже заметили («предвзятость презентации»).

Почему это проблема?

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

Если пользователи начинают взаимодействовать с контентом только из-за его рейтинга, а не из-за его релевантности, наши обучающие данные загрязняются: вместо того, чтобы узнавать, чего на самом деле хотят пользователи, модель просто учится на своих прошлых прогнозах. Со временем прогнозы становятся статичными, и им будет не хватать разнообразия. В результате пользователи могут скучать или раздражаться и в конечном итоге уйти куда-то еще.

Еще одна проблема с предвзятостью позиции заключается в том, что офлайн-тесты становятся ненадежными. По определению, данные о вовлеченности пользователей, ориентированные на позицию, всегда будут смещены в пользу существующей производственной модели, потому что это модель, которая дает рейтинги, которые видят пользователи. Новая модель, которая на самом деле лучше, может по-прежнему выглядеть хуже в офлайн-тестах и ​​может быть преждевременно отброшена. Только онлайн-тесты покажут правду.

Как мы можем смягчить предвзятость позиции?

Модели учатся на данных, поэтому, чтобы устранить смещение модели, нам нужно устранить смещение ее обучающих данных. Как показали Joachims et al (2016), это можно сделать, взвесив каждую обучающую выборку по величине, обратной ее смещению положения, создав больший вес для выборок с низкой погрешностью и меньший вес для выборок с высокой погрешностью. Интуитивно это имеет смысл: щелчок по элементу, занимающему первое место (с высоким смещением позиции), вероятно, менее информативен, чем щелчок по элементу, занимающему 10-е место (с низким смещением позиции).

Таким образом, проблема уменьшения предвзятости позиции сводится к ее измерению. Как мы можем сделать это?

Одним из способов является рандомизация результатов: для небольшого подмножества обслуживающего населения просто случайным образом ранжируйте первые N элементов, а затем измерьте изменение вовлеченности в зависимости от ранга в этой совокупности. Это работает, но это дорого: случайные результаты поиска или рекомендации, особенно для больших N, создают плохой пользовательский опыт, что может повредить удержанию пользователей и, следовательно, доходам бизнеса.

Поэтому лучшей альтернативой может быть интервенционный сбор, предложенный Argawal et al (2018) в контексте полнотекстового поиска документов, и параллельно Aslanyan et al (2019) в контекст поиска электронной коммерции. Основная идея заключается в том, что зарегистрированные данные о вовлеченности пользователей в зрелой системе ранжирования уже содержат ранги из нескольких разных моделей ранжирования, например, из прошлых A/B-тестов или просто из разных версий производственной модели, которые были развернуты с течением времени. Это историческое разнообразие создает врожденную случайность в рангах, которую мы можем собрать для оценки предвзятости позиций без каких-либо дорогостоящих вмешательств.

Наконец, есть еще более простая идея, а именно Правило 36 Google. Они предлагают просто добавить сам ранг в качестве еще одной функции при обучении модели, а затем установить для этой функции значение по умолчанию (например, -1) во время вывода. Интуиция такова, что, просто предоставив всю информацию модели заранее, она изучит как модель взаимодействия, так и модель предвзятости позиции неявно. Никаких дополнительных шагов не требуется.

Последние мысли

Давайте резюмируем. Предвзятость позиции — это реальная вещь, которая наблюдается во всей отрасли. Это проблема, потому что это может ограничить разнообразие модели ранжирования в долгосрочной перспективе. Но мы можем смягчить его, устранив смещение данных обучения с оценкой смещения, которую мы можем получить либо в результате рандомизации результатов, либо в результате сбора данных о вмешательстве. Другая стратегия смягчения последствий заключается в том, чтобы использовать ранги непосредственно в качестве признака модели и позволить модели неявно изучить смещение, не требуя дополнительных шагов.

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