С самого зарождения архитектуры трансформера стали появляться её реализации для задач рекомендаций, в частности для последовательных рекомендаций (Sequential Recommender Systems, SRS). Ключевая особенность архитектуры трансформера – механизм внимания, который до сих пор используется в неизменном виде в большинстве моделей SRS. Его недостаток в том, что он вычисляет веса внимания между всеми возможными парами айтемов. Это ощутимо съедает вычислительные ресурсы и память, что негативно сказывается на производительности модели.
В статье авторы предлагают использовать новый механизм внимания, учитывающий взаимодействие только между значимыми элементами. Это должно положительно повлиять на качество предсказания, и при этом позволит обучать и использовать модель на меньших ресурсах.
В качестве отправной точки авторы взяли классическую архитектуру SRS – SASRec. Изучив матрицу внимания этой модели, исследователи обратили внимание (каламбур!) на феномен разреженного внимания. Рассмотренная матрица оказывается низкоранговой в двух аспектах (см. диаграмму):
- лишь небольшая часть взаимодействий оказывает влияние на выход (зелёные столбцы на рисунке);
- векторы весов внимания (строки на тепловой карте) оказываются одинаковыми.
Чтобы учесть феномен разреженного внимания, авторы придумали архитектуру Sparse Transformer model for sequential Recommendation (STRec). Её базовая структура такая же, как и у SASRec. Отличается механизм внимания, который авторы называют cross-attention. Он подсчитывает внимание между исходной последовательностью айтемов и некоторой выборкой из этой последовательности. Шанс айтема быть выбранными выучивается моделью и зависит от времени взаимодействия пользователя с айтемом. Интуиция в том, что больше всего на рекомендации влияют айтемы, с которыми пользователь взаимодействовал недавно (это видно на диаграмме с матрицей внимания). В этой модели вычислительная сложность снижается за счёт кратного уменьшения количества пар айтемов, по которым считается внимание.
Получившаяся модель оценивалась на датасетах ML-20M, Gowalla и Amazon-Electronics по двум составляющим:
- качеству предсказания;
- эффективности затрачиваемых ресурсов.
По качеству предсказаний STRec победил другие модели в 6 экспериментах из 9 (см таблицу 2), но существенного прироста метрик авторы не получили (и не ожидали). А вот что ожидали, так это уменьшение времени предсказания и требуемых ресурсов (см. таблицу 3). Тут представленное решение — практически абсолютный чемпион. Конкуренцию смогла составить лишь сеть Informer.
Таким образом:
- Обоснованные преобразования в механизме внимания позволили существенно сократить требуемые ресурсы, и при модель превзошла по качеству ряд конкурентов.
- С помощью гиперпараметров можно регулировать размер семпла и до определённого порога решение всё ещё будет лучше базовой архитектуры — SASRec. (рисунки 4-5)
Код для воспроизведения экспериментов выложен в открытый доступ, а вот сама статья – нет 🤦♂️.
Замечание. Авторы используют понятие sparsity скорее как маркетинговый ход: подход больше похож на обрезку матрицы запросов, и его можно описать словом shrinking, которое в статье также встречается.
Post #95
1K
ML — это ОК Статьи с #recsys23 все не заканчиваются! STREC: SPARSE TRANSFORMER FOR SEQUENTIAL RECOMMENDATIONS https://dl.acm.org/doi/10.1145/3604915.3608779
- ✍ 3