Для получения дополнительных галантерейных товаров, пожалуйста, обратите внимание на публичный аккаунт WeChat «AI Frontline» (ID: ai-front)
Сеть Deep Interest Network (DIN) была предложена в июне 2017 года группой точного направленного поиска и базового алгоритма Alimama под руководством Бога Гай Куна.
он нацелениндустрия электронной коммерцииОценки CTR с акцентом наВ полной мере используйте информацию /minine в исторических данных о поведении пользователей..
Сначала делаются выводы:
Для области электронной коммерции в Интернете характеристики данных: разнообразие, локальная активация. DIN дает решение:
использоватьРаспределение интересов пользователейвыражать разнообразные интересы пользователей
использоватьМеханизм вниманияреализовать локальную активацию
Для обучения моделейФункция активации кости, адаптивная регуляризация, что значительно улучшает производительность модели и скорость сходимости
Эти два слова встречаются на протяжении всего документа, поэтому давайте сначала проясним, что они означают.
Разнообразие:Пользователи интересуются различными продуктами, когда они посещают веб-сайт электронной коммерции. То есть интересы пользователей очень широки.
Локальная активация:Нажмет ли пользователь на рекомендованный ему элемент, зависит только от части, а не от всех исторических поведенческих данных.
не понимать? Например:
Разнообразие: молодая мать, интересы которой очень сильно отличаются от его исторического поведения: кардиганы, большие сумки, серьги, детская одежда, спортивная одежда и многое другое.
Локальная активация: Человек, который любит плавать, он купил книгу путешествий, мороженое, картофельные чипсы, шапочку для плавания. В настоящее время рекомендуемый продукт (или реклама) для него — защитные очки (goggles). То, нажмет ли он на это объявление, не имеет ничего общего с тем, покупал ли он раньше картофельные чипсы, книги или мороженое! Скорее, это как-то связано с его предыдущей покупкой плавательной шапочки. То есть в этой оценке CTR одни исторические данные (шапочка для плавания) играли решающую роль, а другие были в принципе бесполезны.
Оценка CTR — это относительно узкая область исследований, но небольшое улучшение производительности модели очень важно в практических приложениях, и в реальных деньгах нет никакой двусмысленности. С прорывом глубокого обучения в CV, NLP и других областях некоторые исследования также начали пытаться применить DNN для прогнозирования CTR, например: Wide&Deep, DeepFM и т. д.
Эти практики обычно делятся на две части:
Добавьте слой внедрения поверх входных данных, чтобы преобразовать самые примитивные многомерные разреженные данные в низкоразмерное вещественное представление (плотный вектор).
-
Добавьте несколько полностью связанных слоев, чтобы изучить нелинейные отношения между объектами.
Sparse Features -> Embedding Vector -> MLPs -> Output
из этих методовпреимуществов:По сравнению с исходным методом логистической регрессии рабочая нагрузка на ручную разработку признаков значительно снижается.
недостаток:В области электронной коммерции исторические данные о поведении пользователя (данные о поведении пользователя) содержат большой объем информации об интересах пользователя.Специальная структура (разнообразие + локальная активация)модель.
Вот где DIN может улучшиться!DIN моделирует как разнообразие, так и локальную активацию.
Для разнообразия:
Для широкого круга интересов пользователей DIN используетan interest distributionвыражать.
Для локальной активации:
DIN использует механизм Attention в машинном переводе и разрабатываетattention-like network structure, для текущего кандидата Ad делокализованная активация (Local Activate) связанная историческая интересная информация. Историческое поведение, которое более соответствует текущему объявлению-кандидату, получит более высокую оценку.attention score, который будет доминировать в этом прогнозе.
Когда глубина DNN относительно глубокая (с большим количеством параметров) и входные данные очень редки, ее легко переобучить. DIN предлагаетAdaptive regularizaionЧтобы предотвратить переоснащение, эффект значителен.
В документе также предлагается, чтобы метод DIN можно было применять и к другимПодробные данные о поведении пользователейсценарии, такие как:
Персональные рекомендации в электронной коммерции
Рейтинг фидов в социальных сетях
Рабочий процесс системы рекомендаций Али показан на рисунке выше:
Проверить исторические данные о поведении пользователей
Используйте соответствующий модуль для создания объявлений-кандидатов
Получите вероятность кликов объявлений-кандидатов через модуль ранжирования и получите список рекомендаций в соответствии с сортировкой вероятности.
Запишите реакцию пользователя на текущее медийное объявление (клик или нет).
Это система с замкнутым циклом.Для данных о поведении пользователя (User Behavior Data) система производит и потребляет сама себя.
Как упоминалось ранее, в сфере электронной коммерции очень важно в полной мере использовать данные о поведении пользователей, и у них есть очень важные функции:
Разнообразие Очень широкий спектр увлечений
Локальная активация. Будут ли некоторые лидеры данных в историческом поведении нажимать на объявления-кандидаты.
Еще одна особенность — повсеместная функция ввода в CTR:
высокая широта
очень редко
Как только данные о поведении пользователей участвуют в CTR, появляется еще одна особенность:
характеристики частоmulti-hotразреженных идентификаторов.
То есть: многозначные дискретные признаки. Например: видео, которые просматривают и ищут пользователи на YouTube. Есть более одного просмотренного или найденного, но количество просмотренных и найденных слишком мало (очень редко) по отношению ко всем видео. Пример в электронной коммерции: пользователи приобрели несколько идентификаторов good_id и приобрели идентификаторы shop_id, что напрямую приводит к разной длине идентификаторов поведения в истории для каждого пользователя.
Чтобы получить представление вектора встраивания фиксированной длины, первоначальный подход заключается в следующем:Embedding Layer
добавить позжеPooling Layer
. Объединение может использовать сумму или среднее значение. в конечном итоге с фиксированной длинойEmbedding Vector
, представляет собой абстрактное представление интересов пользователя, часто называемоеUser Representation
. Недостатком является потеря части информации.
DIN использует механизм Attention для решения этой проблемы.Механизм вниманияполучено изNeural Machine Translation(NMT)
. DIN использует механизм Attention для лучшего моделирования локальных активаций. В сценарии DIN требуется адаптивная настройка для различных рекламных объявлений-кандидатов.User Representation
. То есть: вEmbedding Layer -> Pooling Layer
Когда получено представление интересов пользователя, разным историческим моделям поведения присваиваются разные веса для достижения локальной активации. С точки зрения окончательного обратного обучения, это активация исторических интересов и увлечений пользователя в обратном порядке в соответствии с текущими рекламными объявлениями-кандидатами и присвоение различных весов различным историческим поведениям.
Справочные документыLearning piece-wise linear models from large scale data for ad click prediction
серединаcommon feature trick, цель состоит в том, чтобы уменьшить накладные расходы на пространство и вычислительные затраты. Общая идея такова: есть несколько выборок одного и того же пользователя, и между ними повторяется много информации, например статистика пользователя, статистика за вчерашний день и т. д. Эта повторяющаяся информация сохраняется только один раз и индексируется.
Кроме того, автор делит функции на четыре категории в статье, иНет комбинации функций / кросс-функций. Вместо этого DNN используется для изучения информации о взаимодействии между функциями. Особенности следующие:
Видно, что к функциям в основном относятся: пользовательские функции, особенности поведения пользователей, рекламные функции и особенности контекста.
Среди них толькоХарактеристики поведения пользователейпоявится вmulti-hot
, причина в том, что пользователь купит несколько good_id и посетит несколько shop_id, другая производительность заключается в том, что длина выборки для каждого пользователя разная. Помните, как мы решили эту проблему?
Embedding -> Pooling
+ Attention
Такой умный, как ты, ты должен быть прав~
Стандартом оценки является GAUC, предложенный самим Али. И практика показала, что GAUC более стабилен и надежен, чем AUC.
AUC представляет собой вероятность того, что положительный образец имеет более высокий балл, чем отрицательный. В сценариях практического применения CTR предсказание CTR часто используется для ранжирования рекламных объявлений-кандидатов для каждого пользователя. Но между пользователями есть различия: некоторые пользователи рождаются с высоким рейтингом кликов. В предыдущих оценочных показателях AUC рассчитывается для образцов без различения пользователей. GAUC, используемый в этой статье, реализует расчет AUC на уровне пользователя.Средневзвешенное значение по кликам или показам на основе AUC для каждого пользователя, исключающее влияние предвзятости пользователей на модель., что более точно описывает производительность модели:
где весом w могут быть как показы, так и клики. n — количество пользователей.
Когда пользователи посещают веб-сайт электронной коммерции Alibaba и видят рекомендуемую рекламу, у большинства из них нет четкой цели и они не знают, что покупать. Поэтому очень важно использовать эффективный метод для получения информации об интересах пользователя из обширных исторических данных о поведении пользователя и предоставления рекомендаций.
Как показано на рисунке выше, базовая модель в основном состоит из двух частей:
Преобразование разреженного ввода (функции идентификатора) в вектор встраивания
Добавьте MLP, чтобы получить окончательный результат
Для пользователя ранее купленные good_ids формируютuser behavior sequence ids
. Для разных пользователей длина этой последовательности разная (количество товаров, приобретаемых разными пользователями, разное), поэтому между уровнем встраивания и MLP возникает дополнительнаяPooling Layer, с использованиемsumоперации, добавьте векторы встраивания этих товаров или магазинов, чтобы получить вектор фиксированной длины в качестве входных данных MLP.
Здесь операция объединения многозначных многозначных дискретных признаков является моделированием разнообразия. Механизм Attention не был представлен в базовой модели.
Базовая модель работала очень хорошо после того, как была запущена, и теперь она отвечает за большую часть трафика системы отображения онлайн-рекламы Ali. (когда статья будет опубликована)
Однако тщательное изучение слоя объединения в базовой модели покажет, что операция объединения теряет много информации, поэтому ниже представлена полная модель DIN.
Эта картина слишком важна, чтобы ее внимательно изучать:
Сначала делаются выводы:
Activation Unit реализует механизм Attention и моделирует Local Activation.
Модели объединения (взвешенная сумма) Разнообразие
Цель нашей модели — полностью выявить взаимосвязь между интересами пользователей и рекламными объявлениями-кандидатами на основе исторического поведения пользователей. То, нажимает ли пользователь на рекламу, часто зависит от некоторых его предыдущих интересов, что является основой для применения механизма внимания. Простое понимание механизма внимания состоит в том, чтобы иметь разные веса для разных функций, так что на этот раз в прогнозе будут доминировать определенные функции, как если бы модель обращала внимание на определенные функции. но,Механизм внимания нельзя использовать непосредственно в DIN. так какДля разных рекламных объявлений-кандидатов представление интереса пользователя (вектор встраивания) должно быть разным.. Другими словами, пользователи проявляют разные выражения интереса к разным рекламным объявлениям, и непосредственные исторические модели поведения интересов одинаковы, но веса каждого поведения различны. Разве это не то, что означает локальная активация?
Как это понять? Ниже мы даем два объяснения с двух точек зрения:
1. Суть: мыслить в пространстве после Встраивания.
Как поведение пользователей, так и рекламные объявления-кандидаты будут сопоставлены сВстраивание пространствасередина. Отношения между ними изучаются в пространстве встраивания.
Теперь есть пользователь U и два объявления-кандидата A, B. В пространстве встраивания корреляция между U и A и U и B относительно высока. Предположим, мы используем внутренний продукт для расчета корреляции между пользователями и рекламой. Вложенными векторами рекламных объявлений A и B являются Va, Vb соответственно, тогда требуется, чтобы пользователь U имел высокую корреляцию для любой рекламы на конечном соединении Va и Vb. Такие ограничения делают очень трудным для модели обучение эффективному внедрению представлений пользователей и рекламных объявлений. Конечно, это может сработать, если вы увеличите размер встраивания. Но это значительно увеличит количество параметров модели.
2. Распределение интереса пользователя представляет собой мультимодальную функцию, которая изменяется при смене рекламных объявлений-кандидатов, демонстрируя характеристики локальной активации.
Размерность пользовательского вектора встраивания равна k, что представляет собой не более k взаимно независимых интересов. Но у пользователей гораздо больше, чем k увлечений, что мне делать? Решение, предложенное DIN, таково: интерес пользователя больше не точка, аРаспределение, мультимодальная функция. Таким образом можно получить почти бесконечную выразительную силу даже в маломерном пространстве.
Интерес пользователя – это не точка, амультимодальная функция. Пик представляет интерес, а размер пика представляет интенсивность интереса. Тогда для разных рекламных объявлений-кандидатов интенсивность интереса пользователя различна, т. е.При смене рекламных объявлений-кандидатов интенсивность интереса пользователя постоянно меняется.
другими словами:Если предположить, что вектор встраивания, выраженный интересом пользователя, равен Vu, а реклама-кандидат — Va, тогда Vu является функцией Va.То есть дающие согласие пользователи по-разному представляют интересы пользователей (разные векторы встраивания) для разных рекламных объявлений.
Формула выглядит следующим образом:
Среди них Vi представляет вектор встраивания идентификатора поведения i, такого как good_id, shop_id и т. д. Vu — это взвешенная сумма всех идентификаторов поведения, которые представляют интересы пользователей. Объявления-кандидаты влияют на вес каждого идентификатора поведения, которым является локальная активация. Вес представляет вклад каждого идентификатора поведения в вектор встраивания, выраженный общим интересом пользователя к текущей рекламе-кандидату Va. В практической реализации веса представлены выходными данными функции активации Dice, а входными данными являются Vi и Va.
PReLU на самом деле является улучшенной версией ReLU, и ReLU можно рассматривать какx*Max(x,0)
, что эквивалентно выходу x, проходящему через ступенчатый выпрямитель при 0. Поскольку ReLU имеет градиент 0, когда x меньше 0, что может привести к тому, что сеть перестанет обновляться, PReLU изменяет форму левой половины выпрямителя так, чтобы выходной сигнал не был равен 0, когда x меньше 0.
Исследования показали, что PReLU может повысить точность, но также немного увеличить риск переобучения. Форма PReLU выглядит следующим образом:
Будь то ReLU или PReLU, точка мутации равна 0. В документе считается, что 0 не должен быть выбран в качестве точки мутации для всех входных данных, а должен зависеть от данных. Следовательно,data dependentМетоды:Функция активации кости. Форма выглядит следующим образом:
Можно видеть, что пи — это значение вероятности, которое определяет, является ли выход yi или alpha_i * yi, и pi также действует как выпрямитель.
Вычисление числа пи делится на два этапа:
Во-первых, выполните нормализацию среднего значения по x, что сделает точку исправления средним значением данных, реализуя идею зависимости данных;
Во-вторых, после вычисления сигмовидной функции получается значение вероятности от 0 до 1. По совпадению, функция Swish, недавно предложенная Google, имеет вид
x*sigmoid(x)
В многочисленных экспериментах доказано, что функция ReLU лучше, чемx*Max(x,0)
Лучшая производительность.
Кроме того, математическое ожидание и дисперсия вычисляются непосредственно с использованием мини-пакетных данных для каждого обучения и аналогичны тому, что используется в Momentum.Экспоненциальное средневзвешенное значение:
альфа — это гиперпараметр с рекомендуемым значением 0,99.
Из-за сложности глубокой модели и очень разреженного ввода существует много параметров, которые не являются неожиданно переоснащенными.
Ввод в CTR является разреженным и многомерным, а существующие методы исключения L1 L2 для предотвращения переобучения не очень эффективны после попытки в статье. Пользовательские данные соответствуют длинному хвостуlong-tail law
, что означает, что многие идентификаторы функций появляются только несколько раз, а небольшое количество идентификаторов функций появляется много раз. Это добавляет много шума в тренировочный процесс и усугубляет переобучение.
Простое решение этой проблемы — вручную удалить идентификаторы функций, которые появляются реже. Недостатки: потерянную информацию нелегко оценить, установка порога очень грубая.
Решение, данное DIN:
В соответствии с частотой идентификаторов функций адаптивно регулируйте силу их регуляризации;
Для высокой частоты задайте меньшую силу регуляризации;
Для тех, у кого низкая частота, дается большая сила регуляризации.
B — выборка мини-партии размером b; ni — частота встречаемости; Ii означает, что мы рассматриваем выборки с ненулевыми признаками.
Причина этого в том, что автор обнаружил, что элементы с высокой частотой оказывают большее влияние как на оценку модели, так и на онлайн-доход.
Моё личное ощущение:
Это связано с тем, что продукты с высокой частотой больше соответствуют общественным интересам, а существующие модели не могут обеспечить истинную рекомендацию тысяч людей, поэтому важность продуктов с высокой популярностью по-прежнему очень высока.В противном случае производительность модель будет уменьшена.
Это как простейшая рекомендательная система: рекомендовать всем самое горячее. Когда технология недостаточно зрелая и модельный эффект не так хорош, мы увеличиваем вес горячих продуктов (крайняя крайность — рекомендовать горячие продукты всем).Исходя из конечного индекса, большинство модельных эффектов можно улучшить. все, это соответствует увлечениям большинства людей. Но это не универсальная рекомендация, которую мы хотим.
Внутренняя реализация DIN в Alibaba использует несколько графических процессоров. Распараллеливание основано наРаспараллеливание моделей, распараллеливание данных. названныйX-Deep Learning(XDL).
Он состоит из трех частей:
Распределенный уровень встраивания. В части распараллеливания модели параметры слоя внедрения распределяются по нескольким графическим процессорам для завершения расчетов прямого и обратного распространения.
Локальный бэкенд. Отдельный модуль, который занимается обучением сети. Используются фреймворки глубокого обучения с открытым исходным кодом, такие как tf, mxnet, theano и т. д. В качестве внутренней поддержки хорошая инкапсуляция интерфейса облегчает интеграцию или переключение различных сред с открытым исходным кодом.
Коммуникационные компоненты. Базовый модуль, используемый для встраивания слоя и серверной части для достижения параллелизма. Реализовано с помощью MPI.
разделен наРаспараллеливание моделей, распараллеливание данных.
Допустим, для пользователя при просмотре страницы отображается 200 элементов. Тогда каждому товару соответствует образец. Однако многие из 200 образцовCommon Feature
из. Поэтому реализация DIN не расширяет всех пользователей, как показано на следующем рисунке:
Для многих статических инвариантных признаков, таких как пол, возраст, позавчерашнее поведение и т. д., он вычисляется и сохраняется только один раз. После этого индекс используется для связывания с другими функциями, что значительно сжимает хранилище выборок и ускоряет обучение модели. В финальном эксперименте использовалась только 1/3 ресурсов и было достигнуто 12-кратное ускорение.
На следующем рисунке показано распределение интересов пользователей: чем теплее цвет, тем выше интерес пользователей, и видно, что распределение интересов пользователей имеет несколько пиков.
Используя рекламу кандидатов, исторические интересы активируются в обратном направлении. Различные исторические интересы имеют разные веса для текущих рекламных объявлений-кандидатов и обеспечивают локальную активацию, как показано на следующем рисунке:
Пользователь имеет несколько хобби и посетил несколько товаров good_id и shop_id. Чтобы уменьшить широту и сделать арифметические операции между товарными складами осмысленными, мы сначала встраиваем их. Итак, как мы моделируем разнообразные интересы пользователей? использоватьОбъединение суммирует или усредняет вектор встраивания. В то же время это также решает проблему разной длины пользовательского ввода и позволяет получить вектор фиксированной длины. Этот вектор представляет собой пользовательское представление, представляющее интересы пользователя.
Однако при суммировании или усреднении напрямую теряется много информации. Таким образом, после небольшого улучшения различным идентификаторам поведения присваиваются разные веса, и этот вес совместно определяется текущим идентификатором поведения и рекламными объявлениями-кандидатами. Это механизм Attention, реализующий локальную активацию.
Использование DINactivation unitчтобы зафиксировать особенности локальной активации, используйтеweighted sum poolingчтобы зафиксировать структуру разнообразия.
По оптимизации обучения модели DIN предложилФункция активации кости,адаптивная регуляризация, что значительно улучшает производительность модели и скорость сходимости.
использованная литература
Deep Interest Network for Click-Through Rate Prediction
Learning piece-wise linear models from large scale data for ad click prediction
https://www.leiphone.com/news/201707/t0AT4sIgyWS2QWVU.html
https://www.leiphone.com/news/201706/pDfOAoMYp8mqNKEC.html
Видео, которое Гай Кун поделился http://www.itdks.com/dakalive/detail/3166