ICLR прошла, но неразобранные статьи о RecSys остались. Василий Астахов, руководитель службы перспективных исследований и дизайна механизмов, отобрал пять работ на тему рекомендательных систем — части мы уже касались в подборках, сейчас хотим остановиться на них подробнее.
Looking into User’s Long-term Interests through the Lens of Conservative Evidential Learning
Статья на тему RL в рекомендациях. В ней рассматривают две постановки: классическую — где используют RL, чтобы лучше исследовать предпочтения пользователя во времени; нестандартную — когда RL помогает даже в оффлайн-задаче рекомендаций, без интерактивного взаимодействия.
Из более ранних работ мы знаем, что оффлайн-прогнозатор не всегда хорошо догадывается о полезных латентных признаках. RL, за счёт обучения с другой формулировкой, может «подсказать» модели, какие сигналы стоит запоминать — даже если они редкие.
Аналогичный эффект и в этой статье. Хотя RL-сценарий тут продвинутый — авторы предлагают подход ECQ-L (Evidential Conservative Q-Learning). В нём комбинируется несколько идей.
Evidential learning — вместо классического эксплорейшена, они учатся на уменьшение неопределённости. То есть выбирают айтемы, которые дают больше информации (не просто максимальный reward, а максимальное снижение неуверенности).
Conservative learning — модель не переоценивает редкие положительные примеры. Если какая-то рекомендация «сработала», но по данным это было маловероятно, её вес занижается. Это сделано, чтобы не переобучаться на случайные удачи. Например, пользователь смотрел романтические фильмы, а вы случайно порекомендовали хоррор, и он понравился. ECQ-L в этом случае не будет придавать слишком большого значения этому событию, потому что оно слабо объясняется историей.
Это и есть суть conservative-части подхода — модель целится не просто в reward, а в нижнюю границу его оценки, основанную на уверенности.
Архитектура довольно сложная: один модуль отвечает за обновление состояния; другой — за выбор действия (какой айтем рекомендовать), третий — за то, насколько выбранный айтем надёжен по текущему распределению.
Также используются разные типы лосса — отдельно на состояние, на действие, на оценку и на неопределённость.
Авторы показывают хорошие метрики — как в классическом RL-сценарии, так и в оффлайн-постановке.
ContextGNN: Beyond Two-Tower Recommendation Systems
Главный посыл статьи: двухбашенные модели работают не очень хорошо, особенно когда есть плотные взаимодействия между пользователем и айтемом. Авторы предлагают решение, которое работает в одну стадию, без двухфазного ранжирования, и при этом способно учитывать и известные, и новые айтемы.
Архитектура состоит из двух веток. Первая работает с айтемами, с которыми пользователь уже взаимодействовал. Используется графовая модель, которая обучается на конкретных связях пользователя и айтемов, учитывая категории, типы взаимодействий. Это более «умная» часть, хорошо работающая в зонах, где есть история.
Вторая ветка — простая двухбашенная модель, работает с айтемами, которых пользователь пока не видел. Здесь задача — пробовать предсказать интерес к новому, опираясь только на общую репрезентацию пользователя и айтема. Ещё есть третий модуль, который учится предсказывать, чего хочет пользователь в данный момент. И на основе этой мотивации система решает, какую из двух моделей использовать сильнее, или как взвесить их выходы при финальном ранжировании.
Что показывают эксперименты:
- Если в датасете пользователь в основном «ходит по кругу», то выигрывает первая ветка — графовая.
- Если он часто пробует новое — вторая модель начинает давать вклад.
- Их основная модель всегда оказывается лучше, чем каждая по отдельности.
В целом, это не радикально новая архитектура, но хорошее объединение знакомых подходов: модуль, который учится на известном (GNN); модуль, который работает с новым (two-tower); модуль-медиатор, который учится понимать, чего хочет пользователь сейчас.
@RecSysChannel
Обзор подготовил
#YaICLR