предисловие
Этот семестр в основном подходит к концу, основная работа в этом семестре — стажировка в компании электронной коммерции и разработка для нее модели рекомендательного алгоритма. Другое дело – завершить открытие дипломной работы, а окончательное направление также задается в рекомендательной системе на основе графовой нейронной сети. За это время я также проверил много литературы и блогов.Давайте кратко поговорим о применении репрезентативных систем обучения и повторных рекомендаций, о которых я знаю. Уровень ограничен, пожалуйста, поймите, где он недоступен.
Что такое репрезентативное обучение?
Что касается репрезентативного обучения, в разных статьях могут быть более или менее разные определения. Когда я впервые столкнулся с репрезентативным обучением, я подумал, что это очень абстрактное слово, но по мере того, как количество статей, которые я читал, увеличивалось, у меня появилось собственное понимание. В общем, в процессе машинного обучения нам часто нужноЦельв соответствии с конкретнымПредставлениепровестивыражать. Например, в области обработки естественного языка (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], на самом деле легко понять идею глубокой совместной фильтрации.
- Кроме того, есть еще несколько классических статей, таких как YouTube DNN [6], серия работ Али DIN, DIEN и т. д.
Обучение представлению на основе графовых нейронных сетей
Хотя традиционные методы глубокого обучения достигли больших успехов в извлечении признаков данных из евклидова пространства, на самом деле данные во многих сценариях приложений генерируются из неевклидова пространства, и традиционные методы глубокого обучения используются при обработке данных из неевклидова пространства. Производительность по-прежнему неудовлетворительна. Например, в сфере электронной коммерции записи взаимодействия пользователей и продуктов составляют граф, а в социальных сетях социальная сеть пользователя также является графом. Сложность графа заставляет существующие алгоритмы глубокого обучения сталкиваться с большими проблемами при обработке, поскольку топология графа нерегулярна, количество узлов в каждом графе неодинаково, и каждый узел в графе может иметь разное количество смежных узлов. делает некоторые важные операции (такие как свертка) неприменимыми напрямую к графу. Однако в последние годы, благодаря успеху множества факторов, исследователи использовали идеи сверточных сетей, рекуррентных сетей и глубинных автокодировщиков для определения и проектирования структур нейронных сетей для обработки данных графа и предложили графовую нейронную сеть. И обнаружил, что это очень хорошо влияет на извлечение информации о структуре сети и представление узлов. Особенно в последние два года все больше и больше исследователей начали применять графовые нейронные сети к рекомендательным системам. Здесь мы в основном говорим о двух алгоритмах, объясняющих некоторые основные маршруты рекомендательных систем, основанных на книжной сети.
- Совместная сверточная фильтрация многокомпонентных графов Совместная сверточная фильтрация многокомпонентных графов [9]
Эта статья представляет собой статью, опубликованную на AAAI2020. Хотя название — совместная фильтрация свертки графа, она больше похожа на совместную фильтрацию внимания графа.В этой статье применяются многие механизмы внимания графа. Автор сначала строит взаимодействие пользователя и элемента в виде двудольного графа, а затем изучает представление встраивания пользователя и элемента по отдельности (это представление встраивания представляет интересы пользователя и элемента) с помощью механизма внимания графа. Множественные представления вложений изучаются в нескольких пространствах проекций, и снова используется механизм внимания для изучения весов представлений вложений в разных пространствах проекций, а затем эти представления вложений взвешиваются и агрегируются для получения окончательного представления вложения. После получения окончательного встроенного представления продукта пользователя эти встроенные представления могут быть помещены в DNN для обучения, а контрольная метка по-прежнему указывает на то, взаимодействовал ли пользователь с продуктом.
- Рекомендация на основе сеанса с графовыми нейронными сетями
Эта статья представляет собой классическую статью с использованием рекомендации сеанса на графовой нейронной сети, которая делит историю взаимодействия пользователя на сеансы, строит графики сеансов один за другим, а затем использует графовые нейронные сети для изучения встраивания элементов и сеансов в граф сеанса. что этот метод хорошо улавливает динамические интересы пользователей, но совершенно не учитывает информацию о пользователях.
Наконец
Написание немного сумбурное.В общем,применение репрезентативного обучения в рекомендательных системах стоит изучить.Его можно использовать не только для быстрого припоминания,но и для сортировки(тонкой сортировки). На этапе быстрого отзыва вектор встраивания может быть получен сначала путем обучения, а затем набор отзывов может быть получен с помощью эффективных инструментов поиска, таких как faiss. На этапе сортировки вектор встраивания можно поместить в DNN для дальнейшего обучения или разработать более сложную модель. Кроме того, благодаря популярности графовой нейронной сети за последние два года и ее превосходным характеристикам в представлении сети, ее применение в системе рекомендаций также стало горячей точкой, но промышленное применение рекомендательной системы графовой нейронной сети все еще нуждается быть дальнейшим исследованием.
Стоит упомянуть, что в течение этого периода обучения я обнаружил, что в реальном промышленном производстве особенно сложная модель может не понадобиться.Эффективность, достижимость и проектирование являются ключевыми факторами для практиков.
С Новым годом, эм!
использованная литература
- Youtube2019 Double Tower Recall Paper Интенсивное чтение
- Система рекомендаций, встраивающая вызов вектора в непосредственную инженерную практику
- Алгоритм сбора заказов Али впервые обнародован! Анализ системы майнинга упакованных товаров для покупок на основе встраивания графа
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.