Diffusion-based Contrastive Learning for Sequential Recommendation

Сегодня разбираем статью о подходе Contrastive Learning в Sequential Recommendation (SR).

Авторы ставят под вопрос существующие методы аугментации цепочек последовательных заказов с целью генерации новых цепочек:

— Маскирование и переупорядочивание истории пользователя, представленной разреженными товарами, может исказить предпочтения.
— Подмена айтема похожим (CoSeRec) не учитывает контекст, так как использует лишь информацию о взаимной встречаемости товаров.
— Двойной forward pass c разными dropout-масками (DuoRec) тоже теряет смысловую последовательность.

Вместо перечисленного предлагается использовать guided-диффузию для оценки условного распределения айтема, обусловленного на контекст прошлых и будущих заказов. Чтобы сблизить латентное пространство диффузионки и SR-модели (в этом случае — SASRec), их обучают вместе, end-to-end, деля между ними эмбеддинги айтемов.

Кодирование последовательности и SR-модель: history += positional embeddings ➡️ transformer ➡️последний токен последовательности. Следующий айтем предсказывается через скалярное произведение векторного представления истории пользователя и эмбеддингов айтемов.

Цель обучения — минимизировать BCE со случайными негативами.

Аугментация

Из последовательности S извлекается подмножество S' с фиксированным соотношением |S'| / |S|. После чего элементы S' заменяются на семантически близкие айтемы, предложенные диффузионкой.

Контрастивное сближение аугментированных последовательностей

Берётся батч последовательностей, каждая из которых аугментируется дважды с помощью случайных подмножеств, после чего аугментации кодируются трансформером. Две аугментированные версии одной последовательности считаются позитивными и противопоставляются оставшимся 2*(batch_size — 1) аугментированным последовательностям, которые выступают как негативы. Лосс рассчитывается с помощью кросс-энтропии.

Диффузия для аугментации

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

Итоговый лосс рассчитывается в end-to-end сценарии, где суммируются три компоненты: BCE для SR-модели, контрастивное сближение и VLB для диффузионки.

@RecSysChannel
Разбор подготовил Сергей Макеев