Расскажите о применении репрезентативного обучения в рекомендательных системах.

машинное обучение

предисловие

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

Что такое репрезентативное обучение?

Что касается репрезентативного обучения, в разных статьях могут быть более или менее разные определения. Когда я впервые столкнулся с репрезентативным обучением, я подумал, что это очень абстрактное слово, но по мере того, как количество статей, которые я читал, увеличивалось, у меня появилось собственное понимание. В общем, в процессе машинного обучения нам часто нужноЦельв соответствии с конкретнымПредставлениепровестивыражать. Например, в области обработки естественного языка (NLP) слово может быть представлено в виде вектора в евклидовом пространстве, а в евклидовом пространстве векторы синонимов также должны быть ближе друг к другу. Для графа (сети) узел также может быть представлен в виде вектора, а узлы, которые тесно связаны, также ближе в евклидовом пространстве. конкретное представление цели обученияпроцессЭто можно назвать репрезентативным обучением (representation learning). Конечно, это всего лишь простой пример, и в реальном бизнесе могут быть некоторые отличия.词嵌入节点嵌入

Зачем нужно репрезентативное обучение?

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

Репрезентативное обучение на основе глубоких нейронных сетей

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

- Модель башни-близнеца双塔模型Как показано на рисунке, понять модель двух башен несложно.Информация о пользователе вводится слева, а информация о товаре вводится справа.С мощными возможностями представления глубокого обучения мы можем получить встроенную представление пользователей и товаров соответственно.u(x),v(y), для верхнего слоя башен-близнецов после получения встроенного представления вам нужно только использовать для вычисления расстояния встроенного вектора, а затем вычислить фактическую ситуацию x , y (независимо от того, есть взаимодействие или нет) ) в качестве метки для начала контролируемого обучения. После обучения мы можем получить две глубокие нейронные сети (DNN), которые могут генерировать векторы встраивания пользователя и товара. В практических приложениях модель двух башен часто используется для операций отзыва, а левая сторона Пользовательское встраивание за пользовательской башней необходимо рассчитывать в реальном времени при поступлении запроса, а элементная башня справа предварительно вычисляется во время обучения.В этом случае она становится задача поиска ближайшего вектора при его применении в промышленности Задача поиска ближайшего вектора Существует множество зрелых и эффективных инструментов, таких как faiss, annoy, Elasticsearch и т. д. [1,2]

Стоит отметить, что алгоритм сбора заказов на основе SDNE от Alibaba [3] на самом деле похож на модель башни-близнеца. Просто две башни были заменены с DNN на глубокий автоматический кодировщик (DAE), Глубокий автоматический кодировщик сам по себе является отличным инструментом для изучения представлений.阿里凑单算法

  • Нейронная совместная фильтрация Глубокая совместная фильтрация [4]

Глубокая совместная фильтрация - это документ, предложенный в 2017. Идея состоит в том, чтобы ввести пользователей и элементы в слой внедрения, чтобы получить предварительное представление внедрения, а затем применить их к слоям GMF и MLP соответственно.Здесь GMF можно просто понимать как Модель ширины, MLP понимается как глубокая модель. В сочетании с моделью Wide&deep, предложенной Google в 2016 году [5], на самом деле легко понять идею глубокой совместной фильтрации.NCF

  • Кроме того, есть еще несколько классических статей, таких как YouTube DNN [6], серия работ Али DIN, DIEN и т. д.

Обучение представлению на основе графовых нейронных сетей

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

  • Совместная сверточная фильтрация многокомпонентных графов Совместная сверточная фильтрация многокомпонентных графов [9]

Эта статья представляет собой статью, опубликованную на AAAI2020. Хотя название — совместная фильтрация свертки графа, она больше похожа на совместную фильтрацию внимания графа.В этой статье применяются многие механизмы внимания графа. Автор сначала строит взаимодействие пользователя и элемента в виде двудольного графа, а затем изучает представление встраивания пользователя и элемента по отдельности (это представление встраивания представляет интересы пользователя и элемента) с помощью механизма внимания графа. Множественные представления вложений изучаются в нескольких пространствах проекций, и снова используется механизм внимания для изучения весов представлений вложений в разных пространствах проекций, а затем эти представления вложений взвешиваются и агрегируются для получения окончательного представления вложения. После получения окончательного встроенного представления продукта пользователя эти встроенные представления могут быть помещены в DNN для обучения, а контрольная метка по-прежнему указывает на то, взаимодействовал ли пользователь с продуктом.MCCF

  • Рекомендация на основе сеанса с графовыми нейронными сетями

Эта статья представляет собой классическую статью с использованием рекомендации сеанса на графовой нейронной сети, которая делит историю взаимодействия пользователя на сеансы, строит графики сеансов один за другим, а затем использует графовые нейронные сети для изучения встраивания элементов и сеансов в граф сеанса. что этот метод хорошо улавливает динамические интересы пользователей, но совершенно не учитывает информацию о пользователях.SR-GNN

Наконец

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

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

С Новым годом, эм!会编程的Z同学

использованная литература

  1. Youtube2019 Double Tower Recall Paper Интенсивное чтение
  2. Система рекомендаций, встраивающая вызов вектора в непосредственную инженерную практику
  3. Алгоритм сбора заказов Али впервые обнародован! Анализ системы майнинга упакованных товаров для покупок на основе встраивания графа
  4. He X, Liao L, Zhang H, et al. Neural collaborative filtering[C]//Proceedings of the 26th international conference on world wide web. 2017: 173-182.
  5. Cheng H T, Koc L, Harmsen J, et al. Wide & deep learning for recommender systems[C]//Proceedings of the 1st workshop on deep learning for recommender systems. 2016: 7-10.
  6. Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations[C]//Proceedings of the 10th ACM conference on recommender systems. 2016: 191-198.
  7. Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1059-1068.
  8. Zhou G, Mou N, Fan Y, et al. Deep interest evolution network for click-through rate prediction[C]//Proceedings of the AAAI conference on artificial intelligence. 2019, 33: 5941-5948.
  9. Wang X, Wang R, Shi C, et al. Multi-component graph convolutional collaborative filtering[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(04): 6267-6274.
  10. Wu S, Tang Y, Zhu Y, et al. Session-based recommendation with graph neural networks[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 346-353.