[Чтение статьи] Общая интерпретация сети глубокого интереса AliDIN

глубокое обучение

0x00 сводка

Сеть Deep Interest Network (DIN) была предложена группой точного направленного поиска и базового алгоритма Alimama в июне 2017 года. Его оценка CTR для индустрии электронной коммерции сосредоточена на полном использовании/извлечении информации из исторических данных о поведении пользователей.

В этой серии статей будут интерпретироваться документы и исходный код, а также, кстати, рассмотрены некоторые концепции, связанные с глубоким обучением, и реализация TensorFlow.

Эта статья является первой в серии: Интерпретация тезисов. Я сослался на множество статей и искренне благодарю вас за то, что вы поделились ими. Подробную информацию можно найти по ссылке в конце статьи.

0x01 Резюме документа

1.1 Общие

Сеть Deep Interest Network (DIN) была предложена группой точного направленного поиска и базового алгоритма Alimama в июне 2017 года. Его оценка CTR для индустрии электронной коммерции сосредоточена на полном использовании/извлечении информации из исторических данных о поведении пользователей.

Внедряя механизм внимания, DIN строит разные абстрактные представления пользователей для разных рекламных объявлений, тем самым реализуя более точное улавливание текущих интересов пользователей при условии определенного измерения данных.

Основная идея: интересы пользователей разнообразны (diversity), и для конкретной рекламы разные интересы пользователей будут иметь разный эффект (local activation).

1.2 Информация о статье

1.3 Основные идеи

В статье описывается, что существующие модели оценки рейтинга кликов (CTR) в основном удовлетворяют одному и тому же шаблону:

  • Сначала сопоставьте большое количество признаков разреженных категорий (категориальные признаки) с низкоразмерным пространством с помощью технологии встраивания;
  • Затем низкоразмерные выражения этих признаков комбинируются и преобразуются в соответствии с категориями признаков (описанными групповым способом) для формирования вектора фиксированной длины (например, обычно используемое объединение сумм/среднее);
  • Наконец, эти векторы объединяются и вводятся в MLP (многослойный персептрон) для изучения нелинейной связи между этими функциями;

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

Узким местом модели Embedding&MLP является выражение разнообразных интересов пользователей, а ограниченная размерность вектора представления пользователей станет узким местом выражения разнообразных интересов пользователей.

Для решения этой проблемы в статье предлагается сеть DIN. Для различных рекламных объявлений-кандидатов рассматривается корреляция между рекламой и историческим поведением пользователя, чтобы адаптивно изучить характерное выражение интереса пользователя. В частности, в статье представлен модуль локального блока активации, который на основе механизма «Внимание» взвешивает историческое поведение пользователя, чтобы выразить интерес пользователя, где параметры веса изучаются посредством взаимодействия между рекламными объявлениями-кандидатами и историческим поведением.

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

1.4 Объяснение терминов

Разнообразие:Пользователи интересуются различными продуктами, когда они посещают веб-сайт электронной коммерции. То есть интересы пользователей очень широки. Например, молодая мама, по ее историческому поведению мы видим, что ее интересы очень широки: кардиганы, сумочки, серьги, детская одежда, спортивная одежда и так далее.

Локальная активация:Нажмет ли пользователь на рекомендованный ему элемент, зависит только от части, а не от всех исторических поведенческих данных. Часть данных в истории поведения определяет, следует ли нажимать на объявления-кандидаты. Например, человек, который любит плавать, уже купил путеводитель, мороженое, картофельные чипсы, шапочку для плавания. В настоящее время рекомендуемый продукт (или реклама) для него — защитные очки (goggles). То, нажмет ли он на это объявление, не имеет ничего общего с тем, покупал ли он раньше картофельные чипсы, книги или мороженое! Скорее, это как-то связано с его предыдущей покупкой плавательной шапочки. То есть в этой оценке CTR одни исторические данные (шапочка для плавания) играли решающую роль, а другие были в принципе бесполезны.

0x02 Идеи интерпретации

Основные выдержки из этого раздела:Ручная работа в широком и глубоком масштабе с помощью NumPy.

2.1 Запоминание и обобщение

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

2.1.1 Memorization

Столкнувшись с проблемой прогнозирования CTR с крупномасштабными дискретными разреженными функциями, в отрасли очень распространена практика нелинейного преобразования функций, а затем использование линейной модели.Наиболее популярным является «перекрестное произведение LR + функция». . Запоминание конструирует эти нелинейные признаки с помощью ряда искусственных перекрестных произведений признаков, улавливая корреляции высокого порядка между разреженными признаками, то есть «запоминая» пары признаков, которые одновременно встречались в исторических данных.

Например

特征1——专业: {计算机、人文、其他},

特征2——下载过音乐《消愁》:{是、否},

Измерения признаков после однократного включения этих двух признаков являются 3-мерными и 2-мерными соответственно, и соответствующий результат перекрестного произведения равен

特征3——专业☓下载过音乐《消愁》: {计算机∧是,计算机∧否,人文∧是,人文∧否,其他∧是,其他∧否}。

Типичным представителем является модель LR, которая использует большое количество необработанных разреженных функций иФункция перекрестного продуктаВ качестве входных данных многие исходные плотные функции обычно также создаются как разреженные функции с помощью групповой дискретизации. Преимущества этого подхода заключаются в том, что модель легко интерпретируется, реализация выполняется быстро и эффективно, а важность функций легко анализировать, что доказало свою эффективность в отрасли.

Недостатки запоминания:

  • Требуется больше ручного проектирования;
  • Может произойти переобучение. Это можно понять следующим образом: если все признаки перемножаются, это почти эквивалентно запоминанию каждой обучающей выборки.Этот крайний случай является наиболее мелкозернистым перекрестным произведением.Мы можем усилить обобщение, построив более крупнозернистый признак перекрестный продукт пол;
  • Не удалось зафиксировать пары признаков, которых не было в обучающих данных. Например, в приведенном выше примере, если каждый профессионал не загрузил «Xiaoshou», то частота совпадения этих двух функций равна 0, и соответствующий вес после обучения модели также будет равен 0;

2.1.2 Generalization

Обобщение изучает низкоразмерные плотные вложения для разреженных признаков, чтобы фиксировать корреляции признаков, а сами изученные вложения содержат определенную семантическую информацию. Можно думать о векторах слов в НЛП, Векторы слов разных слов связаны, поэтому Обобщение основано на переносе между корреляциями. Представителями таких моделей являются DNN и FM.

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

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

2.2 Контекст разработки

Различные NN и FM кажутся сложными, но на самом деле, если вы понимаете контекст их разработки, то есть «как сбалансировать память и расширение», «как иметь дело с многомерными и разреженными функциями категорий», «как достичь пересечения признаков"* *, вы обнаружите, что все виды новых алгоритмов высокого уровня просто заплатывают на ветке вдоль этой вены. Таким образом, различные NN и FM в вашем сознании перестают быть самостоятельными аббревиатурами, а могут быть сплетены в сеть и интегрированы.

По сравнению с вещественными признаками,Разреженные функции категорий/идентификаторов являются «первоклассными гражданами» в области рекомендаций и поиска., изучено больше. Даже если есть некоторые реальные характеристики, такие как количество исторических экспозиций, количество кликов и CTR, они часто преобразуются в категориальные функции с помощью сегментов, прежде чем они будут загружены в модель.

Однако разреженные категориальные/идентификационные классы также имеютСпособность выражать одну функцию слаба, комбинация функций взрывается, а распределение неравномерно, что приводит к неравномерному обучению.Недостатки. С этой целью был разработан ряд новых технологий.

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

Глубокая нейронная сеть (DNN)Сначала сопоставьте функцию categorical/id с плотным вектором посредством встраивания, а затем передайте ее в DNN, чтобы DNN могла автоматически изучить взаимосвязь между этими функциями.глубокий крест, для повышения масштабируемости.

0x03 DNN

3.1 Идеи глубокой модели

Точная оценка CTR требует тщательного взвешивания интересов пользователей, рекламодателей и платформ. После многих лет обновления, итерации и разработки технология прогнозирования CTR прошла путь от модели LR/FM к модели слияния (RF/GBDT/XGBoost) и модели глубокого прогнозирования CTR (FNN/PNN/WDL/DeepFM/DIN), в то время как Основная нить, проходящая через него,Как заставить модель автоматически выполнять анализ комбинированных признаков?

Например:

  • Wide&Deep, DeepFM: используйте комбинацию функций высокого и низкого порядка для улучшения выразительности модели;
  • PNN: слой продукта (внутренний продукт и внешний продукт) вводится перед MLP, что подчеркивает пересечение между векторами встраивания признаков, упрощая для модели сбор информации о пересечении признаков;

Вы также можете взглянуть на отправную точку идеи Али:

Первое, что мы рассматриваем, это уменьшение размерности, на основе уменьшения размерности мы далее рассматриваем комбинацию признаков. Таким образом, DNN, естественно, попало в поле нашего зрения. Еще одно соображение заключается в том, что если смоделировать последовательность поведения пользователя, мы надеемся, что после того, как пользователь откроет мобильный магазин, он сначала закажет товар, когда есть хороший товар, а затем догадается, что вы хотите заказать товар, и, наконец, войдет в поиск и будет получен предыдущий пункт.Эффект поведения, конечно, есть много подобных способов косвенно достичь такой идеи. Но для прямого моделирования таким моделям, как LR, сложно иметь возможность поддерживать такие функции, поэтому легко думать о модели RNN.

3.2 Модель DNN

Большинство моделей DNN следуютEmbedding + MLPЭта базовая сетевая архитектура отображает исходные многомерные дискретные объекты в низкоразмерные векторы вложения фиксированной длины и использует векторы вложения в качестве входных данных для нескольких полносвязных слоев для соответствия нелинейным отношениям высокого порядка Наконец, через сигмоид Выходное значение нормализуется до 0~1 другими способами, что указывает на вероятность щелчка. По сравнению с традиционными моделями LR, GBDT, FM и другими, такие модели DNN могут сократить большое количество ручных процессов построения признаков и могут изучать нелинейные отношения между признаками.

Обычный процесс:

Sparse Features -> Embedding Vector -> pooling layer -> MLPs -> Sigmoid -> Output  

3.3 Рабочий механизм

Базовая модель на рисунке ниже — это режим, принятый в большинстве существующих моделей CTR.

Красные, синие и розовые узлы представляют три разреженных функции, а именно идентификатор товара, идентификатор магазина и идентификатор категории. Другие входные функции представлены белыми узлами (например, пользовательская функция слева, например, идентификатор пользователя; есть также контекстные функции). справа, например такие функции, как рекламное место). Обратите внимание, что товары 1 ~ товары N используются для описания исторического поведения пользователя. Объявление-кандидат само по себе также является товаром, а также имеет идентификатор товара / магазина / категории три. характеристики.

Наблюдение за рабочим механизмом базовой модели снизу вверх:

  • Первый модуль: представление признаков.
    • Функции можно условно разделить на четыре категории: профиль пользователя, поведение пользователя, реклама и разделы контекста.
    • Целевые объявления.
    • Каждый тип функции включает в себя несколько полей, информация о пользователе включает пол, возраст и т. д.; поведение пользователя включает в себя номер элемента, который посетил пользователь; реклама включает идентификатор рекламы, идентификатор магазина и т. д.; контекст включает идентификатор типа дизайна, время и скоро.
    • Некоторые функции могут быть закодированы как одноразовые представления, например, женщины могут быть закодированы как [0,1]. Некоторые объекты могут быть закодированы в нескольких режимах.
    • В модели последовательности CTR стоит отметить, что каждое поле содержит список действий, и каждое действие соответствует однократному вектору.
  • Второй модуль: встраивающий слой.
    • Изучите низкоразмерные векторные представления объектов и преобразуйте крупноразмерные матрицы разреженных объектов в низкоразмерные плотные матрицы объектов.
    • Каждое поле имеет независимую матрицу вложения.
    • Стоит отметить, что, поскольку исторические данные о поведении каждого пользователя разные, количество столбцов e неопределенно. Соответственно, он не может быть напрямую связан с векторами вложения других полей встык как вход слоя MLP.
  • Третий модуль: слой пула.
    • Поскольку разные пользователи имеют разное количество данных о поведении, размер вектора матрицы внедрения непостоянен, а полносвязный слой может обрабатывать только данные фиксированного размера, поэтому вектор фиксированной длины получается с помощью слоя пула.
    • Этот слой выполняет объединение сумм по e, то есть вектор вложения категории вводится в операцию объединения и преобразуется в вектор фиксированной длины для решения проблемы неопределенных размеров.
  • Четвертый модуль: канальный уровень.
    • После прохождения слоя внедрения и слоя пула исходные разреженные функции преобразуются в несколько векторов абстрактного представления фиксированной длины, представляющих интересы пользователя.
    • Затем используйте слой concat для агрегирования вектора абстрактного представления и вывода уникального вектора абстрактного представления, интересующего пользователя, в качестве входных данных уровня MLP.
  • Пятый модуль: уровень MLP, вектор абстрактного представления, выводимый слоем concat, используется в качестве входных данных MLP, а перекрестные функции высокого уровня между данными изучаются автоматически.
  • Функция потерь. Широко используемая функция потерь для моделей CTR, основанных на глубоком обучении, представляет собой функцию отрицательного логарифмического правдоподобия Loglos, которая использует метки в качестве целевых элементов для контроля общего прогноза.

3.4 Особенности модели

преимущество:

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

недостаток:

  • Указывает на то, что существует предел разнообразия интересов пользователей (это самое большое узкое место). При обработке исторических данных о поведении пользователей количество исторических кликов каждого пользователя неодинаково, что содержит много информации об интересах Как смоделировать разнообразные интересы пользователей? Нам нужно закодировать их в вектор фиксированной длины (этот вектор является пользовательским представлением, представляющим интересы пользователя), и нам нужно выполнить объединение (сумма или среднее), что приведет к потере информации. Например:
    • K-мерный вектор может выражать не более K независимых интересов, а интересов пользователя может быть больше, чем K;
    • Размер K окажет значительное влияние на объем вычислений.Как правило, большее K будет иметь лучший эффект, то есть увеличит размерность вектора, но это увеличит обучаемые параметры и риск переобучения в ограниченных данные;
  • Связь между пользователем и рекламой не рассматривается. В области электронной коммерции исторические данные о поведении пользователя (данные о поведении пользователя) содержат много информации об интересах пользователя, и в предыдущем исследовании не моделировалась специальная структура (разнообразие + локальная активация) данных о поведении. Например, для одного и того же пользователя при изменении объявления-кандидата (Candidate Ad) интерес пользователя по-прежнему выражается одним и тем же вектором, что, очевидно, ограничивает выразительные возможности модели, ведь интересы пользователя богаты/изменяются.
  • Игнорируйте добычу и представление неявных функций. Модель DNN напрямую рассматривает поведение пользователя как интерес пользователя. Поведение является носителем интереса и может отражать интерес, но несколько неуместно выражать интерес непосредственно поведением. Поскольку поведение генерируется последовательно, если вы напрямую принимаете поведение как интересы, как в большинстве существующих моделей, зависимости между поведениями будут игнорироваться. Кроме того, интерес текущего момента часто напрямую приводит к возникновению следующего поведения.
  • Игнорируйте изменения в интересах. Как упоминалось ранее, интересы пользователей постоянно меняются. Например, предпочтения пользователей в отношении одежды будут меняться в зависимости от времени года, модных тенденций и личных вкусов, демонстрируя постоянную тенденцию к изменениям. Но на платформе Taobao интересы пользователей богаты и разнообразны, и развитие каждого интереса в основном не влияет друг на друга. Кроме того, только интерес, связанный с целевым элементом, влияет на конечное поведение.
  • Не нужно сжимать все интересы пользователя [история покупок пользователя] в вектор, потому что только интересы пользовательской части будут влиять на текущее поведение (нажимать или не нажимать на рекламу-кандидата). Например, женщина-пловец нажимала на рекомендуемые очки, в основном из-за покупки купальника, а не обуви из списка покупок на прошлой неделе.

0x04 DIN

В ответ на проблему модели DNN Али предложил модель DIN. Его основная идея: интересы пользователей разнообразны (diversity), и для конкретной рекламы разные интересы пользователей будут иметь разный эффект (local activation). DIN моделирует как разнообразие, так и локальную активацию.

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

4.1 Инновации

В Deep Interest Network реализованы следующие нововведения:

  • Для разнообразия:Для широкого круга интересов пользователей DIN используетan interest distributionДля представления, то есть использования Пулинга (взвешенной суммы) для моделирования Разнообразия (моделирования разнообразных интересов пользователей).
  • Для локальной активации:
    • DNN теряет много информации при прямом поиске суммы или среднего значения. Таким образом, DIN немного улучшен, используя механизм внимания для реализации локальной активации, динамически изучая вектор внедрения интереса пользователя из исторического поведения пользователя и создавая различные абстрактные представления пользователя для разных рекламных объявлений, чтобы достичь более точного измерения данных. захватить текущие интересы пользователя.
    • Для исторического поведения пользователя выполняется различная взвешивающая обработка. Для разных рекламных объявлений разным идентификаторам поведения присваиваются разные веса. Этот вес определяется текущим идентификатором поведения и рекламными объявлениями-кандидатами. Это механизм внимания. То есть для текущего кандидата Ad делокализованная активация (Local Activate) связанная историческая интересная информация.
    • Чем выше историческое поведение с текущим объявлением-кандидатом, тем вышеattention score, который будет доминировать в этом прогнозе.
  • CTRОсобенности редкие и многомерные, обычно используют L1, L2, Dropout и другие средства для предотвращения переобучения. Поскольку традиционная регуляризация L2 вычисляет все параметры, параметры модели сцены предсказания CTR часто исчисляются сотнями миллионов. DIN предлагает метод регуляризации, который дает разные веса регуляризации функциям с разной частотой в каждой итерации мини-пакета;
  • Из-за традиционногофункция активации, например, Relu выводит 0, когда вход меньше 0, что приведет к замедлению скорости итерации многих сетевых узлов. Хотя PRelu увеличивает скорость итерации, его точка разделения по умолчанию равна 0. На самом деле точка разделения должна определяться данными. Поэтому DIN предлагает динамическую адаптивную функцию активации данных Dice.
  • Обучение модели на крупномасштабных разреженных данных:Когда глубина DNN относительно глубокая (с большим количеством параметров) и входные данные очень редки, ее легко переобучить. DIN предлагаетAdaptive regularizaionЧтобы предотвратить переоснащение, эффект значителен.

4.2 Архитектура

Схема архитектуры DIN выглядит следующим образом:

DIN моделирует как Diversity, так и Local Activation, как показано на следующем рисунке.

Давайте рассмотрим каждую часть системы один за другим.

функция 0x05

5.1 Классификация функций

В статье автор делит характеристики медийной рекламной системы Али на четыре категории.

1) Особенности пользовательского портрета;

2) характеристики поведения пользователя, то есть продукты, на которые нажал пользователь, продолжительность каждого пользовательского поведения разная;

3) Размещаемая реклама на самом деле является товаром;

4) контекстуальные особенности;

Каждая категория функций включает в себя несколько полей функций, например: функции профиля пользователя включают пол, возраст и т. д.; функции поведения пользователя включают продукты, на которые пользователь нажимал, категорию продукта и магазин, к которому он принадлежит; контекст включает время .

5.2 Функции ввода

Повсеместные характеристики ввода в CTR:

  • высокая широта
  • очень редко

Некоторые домены функций являются однозначными функциями, а разные значения функций являются взаимоисключающими.Например, пол может принадлежать только мужчине или женщине, что может быть преобразовано в однозначное представление;

Некоторые домены функций представляют собой многозначные дискретные функции, такие как функции поведения пользователей.Пользователи могут щелкать несколько элементов, чтобы сформировать последовательность щелчков элементов, которая может быть представлена ​​только с помощью многократного кодирования. В отличие от одноразового кодирования, при многократном горячем кодировании в векторе может быть несколько единиц, например:

  • Видео просматриваемые и искомые на YouTube. Есть более одного просмотренного или найденного, но количество просмотренных и найденных слишком мало (очень редко) по отношению ко всем видео.

  • Пример в электронной коммерции: пользователи приобрели несколько идентификаторов good_id и приобрели идентификаторы shop_id, что напрямую приводит к разной длине исторических идентификаторов поведения для каждого пользователя.

5.3 Обработка признаков

DNN иКомбинация/кросс-функция не выполняется. Вместо этого DNN используется для изучения информации о взаимодействии между функциями.

Обработка однозначных признаков относительно проста, а обработка многозначных признаков немного сложнее. Многозначные признаки приводят к различной длине выборки для каждого пользователя. Как решить эту проблему? пройти черезEmbedding -> Pooling + Attention.

0x06 Embedding

Применение глубокого обучения в области рекомендаций и поиска основано на разреженных функциях класса ID, а основным методом является внедрение. Изменено «точное совпадение» функций класса ID на «нечеткий поиск» для улучшения расширения. То есть многомерные, разреженные категориальные/идентификационные признаки класса отображаются в низкоразмерный, плотный вектор посредством встраивания.

6.1 Особенности

Особенности слоя Embedding следующие:

  • Применение глубокого обучения в рекомендательных системах, таких как различные NN, различные FM, основано на встраивании;
  • Высокоразмерные и разреженные категориальные/идентификационные признаки являются первоклассными гражданами в рекомендательных системах;
  • На уровне внедрения каждое поле функции соответствует матрице внедрения;
  • Роль встраивания состоит в том, чтобы изменить «точное сопоставление» исходных многомерных и разреженных категориальных/идентификационных признаков на «нечеткий поиск» между векторами, тем самым улучшая масштабируемость;
  • Встраивание в рекомендательные системы также отличается от встраивания в НЛП.
    • В НЛП в одной позиции предложения есть только одно слово, поэтому встраивание часто выглядит так: извлеките вектор-строку в строке, соответствующей слову, из матрицы встраивания;
    • В системе рекомендаций под полем часто находится несколько функций, и встраивание заключается в объединении нескольких вложений функций в вектор, так называемыйPooling. Например, функция в поле приложения имеет «WeChat: 0,9, Weibo: 0,5, Taobao: 0,3», поэтому мы получаемEmbedding = 0.9 * 微信向量 + 0.5 * 微博向量 + 0.3 * 淘宝向量;

6.2 Функция переменной длины

MLP может принимать только входные данные фиксированной длины, но длина последовательности кликов продукта каждого пользователя может быть разной в течение определенного периода времени, что является функцией переменной длины, так что же делать с такой функцией переменной длины?

Вообще говоря, это обрабатывается слоем объединения.Давайте взглянем на слой объединения.

0x07 Объединенный слой

Роль объединения заключается в преобразовании вектора вложения в вектор фиксированной длины для решения проблемы неопределенных размеров.

7.1 Роль объединения

У пользователей несколько интересов, что приводит к двум проблемам:

  • При выражении интересов пользователяИсторическое поведение часто включает в себя несколько признаков категорий/идентификаторов., например, несколько кликов по продуктам, несколько просмотренных видео, ввод нескольких поисковых запросов, которые включают несколько значений good_id, shop_id.
  • Разные пользователи имеют разное количество исторических поведений, то есть векторы многофункциональных поведенческих признаков приведут к разной длине результирующих списков векторов встраивания, а для полных соединений требуются входные данные фиксированной длины.

Чтобы уменьшить широту и сделать арифметические операции между товарными магазинами значимыми, мы сначала выполняем встраивание функции id.

Так как же смоделировать разнообразные интересы пользователей? Мы «объединяем» несколько низкоразмерных векторов (список векторов встраивания) после встраивания этих идентификаторов в один вектор как представление интереса пользователя.

Поскольку для полных соединений требуются входные данные фиксированной длины, нам нужно «слиться» с вектором фиксированной длины, чтобы мы могли передать DNN.

Это «слияние» называетсяPooling.

7.2 Реализация

Вокруг этого процесса объединения каждая компания имеет свою собственную стратегию:

  • В документе Youtube DNN метод Youtube является самым простым и наиболее интуитивно понятным, он заключается в создании вектора встраивания видео, которое смотрел пользователь, и вектора встраивания ключевого слова, которое было найдено.простое среднее.

  • В машине нейронной факторизации n (n = признаки) k-мерных векторов сжимаются в k-мерный вектор, который называется объединением двойного взаимодействия. Он не только завершает объединение, но также реализует пересечение функций второго порядка.

  • DIN реализует объединение со средневзвешенным значением каждого вектора внедрения, а «вес» рассчитывается с помощью механизма внимания.

  • Классификация текста, основанная на глубоком обучении, также сталкивается с проблемой сжатия нескольких векторов слов в абзаце в один вектор для представления абзаца. Обычный метод состоит в том, чтобы передать несколько векторов слов в RNN, а выходной вектор RNN в последний момент представляет собой «объединенный» результат нескольких векторов слов.. Очевидно, DIEN позаимствовал эту идею и модифицировал структуру GRU, используя показатель внимания для управления воротами.

7.3 DNN

Базовая модель DNN использует метод пула, как правило, существует два метода.Суммирование(суммирование, каждый соответствующий элемент накапливается) исредний пул(среднее объединение, каждый соответствующий элемент усредняется). Затем все векторы объединяются вместе для получения общего вектора представления экземпляра.

  • Суммирование — это вложение нескольких продуктов, суммирование их по каждому соответствующему измерению. Например, если в последовательности кликов 10 элементов, то элементов встраивания 10. Если предположить, что размер встраивания элемента равен 16, то 10 значений суммируются по измерениям с 1-го по 16-е соответственно.
  • Среднее значение усредняет несколько вложений в каждом соответствующем измерении. Независимо от того, сколько элементов щелкнул пользователь, после объединения окончательное встраивание вектора представления и размер встраивания каждого элемента будут одинаковыми.

Для предсказания любого кандидата, будь то одежда, электронные продукты и т. д., вектор представления пользователя определяется и остается неизменным, и любой кандидат обрабатывается без разбора.

7.4 DIN

Возвращаясь к системе медийной рекламы Ali, как показано на диаграмме архитектуры, каждый продукт имеет три характерных домена, включая сам продукт, категорию продукта и магазин, к которому принадлежит продукт. Для каждого продукта три вложения функций объединяются вместе, чтобы стать вектором представления продукта.

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

Весь вектор внедрения на входе MLP, за исключением части внедрения кандидата, остальную часть части внедрения можно рассматривать как вектор представления пользователя.

Тщательное изучение слоя объединения в базовой модели покажет, что операция объединения теряет много информации.

Поэтому DIN использует объединение (взвешенную сумму) для моделирования разнообразия, поскольку прямая сумма не отражает разнообразие различий, а взвешивание может.

То есть DIN реализует объединение со средневзвешенным значением каждого вектора внедрения, а «вес» рассчитывается с помощью механизма внимания.

0x08 Механизм внимания

Простое понимание механизма «Внимание» заключается в том, что для разных рекламных объявлений историческое поведение пользователя и вес рекламы различны. Предполагая, что у пользователя есть три исторических поведения ABC, для рекламы D вес ABC может быть 0,8, 0,1, 0,1, а для рекламы E вес ABC может быть 0,3, 0,6, 0,1. Вес здесь — это то, чему должен научиться механизм Attention, Activation Unit на архитектурной диаграмме.

Модель DIN фактически добавляет внимание на основе DNN. Объединение осуществляется через Attention, так что векторное представление интереса пользователя отличается в зависимости от разных материалов-кандидатов.«Тысячи вещей» по интересам пользователей.

Цель модели — полностью выявить взаимосвязь между интересами пользователей и рекламными объявлениями-кандидатами на основе исторического поведения пользователей. То, нажимает ли пользователь на рекламу, часто зависит от части его предыдущих интересов, что является основой для применения механизма внимания. Поскольку как поведение пользователей, так и рекламные объявления-кандидаты будут сопоставлены сВстраивание пространствасередина. Таким образом, отношения между ними изучаются в пространстве встраивания.

8.1 Вопрос

Часть механизма внимания DINзаИспользуя вектор фиксированной длины для описания различных интересов пользователей в отношении разных продуктов, этот момент кажется простым, но на самом деле все сложнее.

  • Чтобы получить представление вектора встраивания фиксированной длины традиционной модели DNN, исходный подход состоит в том, чтобыEmbedding Layerдобавить позжеPooling Layer. Объединение может использовать сумму или среднее значение. в конечном итоге с фиксированной длинойEmbedding Vector, представляет собой абстрактное представление интереса пользователя, часто называемоеUser Representation. Недостатком является потеря части информации.
  • Размерность пользовательского вектора встраивания равна k, что представляет собой не более k взаимно независимых интересов. Но у пользователей гораздо больше, чем k увлечений, что мне делать?
  • Традиционная модель DNNEmbedding Layer -> Pooling LayerПри получении представления интересов пользователя отношения между пользователем и рекламой не учитываются, то есть весовые коэффициенты между различными рекламными объявлениями согласованы. Такие традиционные методы оценки используют один и тот же вектор для выражения пользователя, когда он сталкивается с разными продуктами (рекламой). Если вы хотите выразить различные интересы в этом случае, самое простое решение — увеличить размерность пользовательского вектора, но это приведет к переоснащению и вычислительной нагрузке.

Поэтому DIN пытается решить эту проблему с помощью механизма, подобного вниманию.

8.2 Механизм внимания

Механизм внимания, как следует из названия, означает, что модель уделяет разное внимание разным поведениям пользователей при прогнозировании, «релевантная» история поведения важнее, а «нерелевантная» история может даже игнорироваться. То есть существуют разные веса для разных признаков, так что на этот раз в прогнозе будут доминировать определенные признаки, как если бы модель обращала внимание на определенные признаки.

Также интуитивно понятно, что такие идеи отражены в модели. Например, в модели видеорекомендаций DIN может добавить исторические особенности поведения пользователя: около 20 show_id, просмотренных пользователем, почти 20 video_id, а затем использовать сеть внимания и, наконец, объединить с другими неисторическими функциями поведения в MLP. .

DIN использует механизм внимания для лучшего моделирования локальных активаций. Различные веса присваиваются различному историческому поведению при получении представления интересов пользователя, т. е. черезEmbedding Layer -> Pooling Layer+attentionРеализовать локальную активацию. С точки зрения окончательного обратного обучения, это активация исторических интересов и увлечений пользователя в обратном порядке в соответствии с текущими рекламными объявлениями-кандидатами и присвоение различных весов различным историческим поведениям.

Решение, предлагаемое DIN, таково: вместо использования точки для представления интересов пользователя она представлена ​​распределением, которое различается в разное время: распределение может быть мультимодальным и может выражать, что у каждого человека есть несколько интересов. Пик представляет интерес, а размер пика представляет интенсивность интереса. Тогда для разных рекламных объявлений-кандидатов интенсивность интереса пользователя различна, то есть при изменении рекламного объявления-кандидата интенсивность интереса пользователя постоянно меняется. Поскольку пользовательский интерес является мультимодальной функцией, почти бесконечная выразительная сила может быть получена даже в низкоразмерном пространстве.

другими словами:Предположим, что вектор встраивания, выраженный интересом пользователя, равен Vu, а реклама-кандидат — Va, тогда Vu является функцией Va.То есть дающие согласие пользователи по-разному представляют интересы пользователей (разные векторы встраивания) для разных рекламных объявлений.

в:

  • Vi представляет собой вектор внедрения идентификатора поведения i, такого как good_id, shop_id и т. д.
  • Vu — это взвешенная сумма всех идентификаторов поведения, которая представляет интерес пользователя.
  • Рекламные объявления-кандидаты влияют на вес каждого идентификатора поведения, которым является локальная активация.
  • Вес представляет вклад каждого идентификатора поведения в вектор встраивания, выраженный общим интересом пользователя к текущей рекламе-кандидату Va. В практической реализации веса представлены выходными данными функции активации Dice, а входными данными являются Vi и Va.

8.3 Реализация

Механизм внимания нельзя использовать непосредственно в DIN. Потому что для разных рекламных объявлений-кандидатов представление интереса пользователя (вектор встраивания) должно быть разным.

Блок локальной активации использует механизм внимания в NMT (нейронный машинный перевод) и реализует собственный механизм внимания. Локальная активация изучает взаимосвязь между рекламными объявлениями-кандидатами и историческим поведением пользователей и определяет степень корреляции между рекламными объявлениями-кандидатами и каждым историческим поведением (т. е. весовые параметры), а затем взвешивает и суммирует исторические последовательности поведения, чтобы окончательно получить выражение функции пользователя. интересы. Другими словами, пользователи демонстрируют разные выражения интереса к разным рекламным объявлениям, даже если историческое поведение интереса одинаково, но веса каждого поведения разные.

Когда DIN объединяется, вес товаров, связанных с кандидатом, выше, а вес товаров, не связанных с кандидатом, ниже.Это идея внимания. Оценка внимания рассчитывается путем взаимодействия кандидата с каждым элементом в последовательности кликов. Конкретные входные данные расчета включают в себя вектор вложения продукта и кандидата, а также внешний продукт двух. Для разных кандидатов полученный вектор представления пользователя также отличается, что обладает большей гибкостью.

В DIN для рекламных объявлений-кандидатов вектор интереса пользователя, рассчитанный в соответствии с локальной единицей активации, имеет вид:

в,

  • ei представляет вектор встраивания исторической последовательности поведения пользователя U, такой как good_id, shop_id и т. д., с длиной H;
  • Vu представляет собой взвешенную сумму всех векторов внедрения поведения пользователя, представляющих интерес пользователя;
  • Va представляет собой вектор встраивания ad A;
  • wj представляет вес ej;
  • Вес представляет вклад каждого идентификатора поведения в вектор встраивания, выраженный общим интересом пользователя к текущей рекламе-кандидату Va.
  • В реализации вес wj соответствует функции, вычисляемой блоком активации и выражаемой выходным сигналом функции активации Dice, выраженным как g(Vi, Va), а входными данными являются Vi и Va;
  • Рекламные объявления-кандидаты влияют на вес каждого идентификатора поведения, которым является локальная активация;
  • a ( . ) представляет сеть прямой связи, выход которой используется как вес локальной активации, умноженный на пользовательский вектор;

В этом методе расчета вектор интереса конечного пользователя U будет меняться в зависимости от различных рекламных объявлений A. Это "Множество пользовательских интересовНапример, пользовательница, которая раньше покупала сухое молоко и купальники, при показе своих плавательных очков явно вызовет воспоминание о купленном купальнике, а при показе подгузников — о купленном купальнике. сухого молока.

В механизме внимания DIN вектор интереса пользователя Vu представляет собой средневзвешенное значение векторов вложений элементов, которые были затронуты в истории, а вес Wi i-го исторического элемента определяется вектором вложений Vi исторического элемента и вектор вложения Va материала-кандидата (функция g). Видно, что у одного и того же пользователя разные векторы интереса при столкновении с разными материалами-кандидатами, таким образом осознавая «тысячу вещей и тысячу лиц».

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

8.4 Нормализация

Вообще говоря, при измерении внимания необходимо нормализовать все оценки с помощью softmax, у которого есть два преимущества: одно — гарантировать, что вес неотрицательный, а другое — гарантировать, что сумма весов равна 1.

Однако в документе DIN подчеркивается, что оценка внимания последовательности кликов не нормализована, а оценка непосредственно взвешивается вектором встраивания соответствующего продукта, чтобы сохранить интенсивность интереса пользователя. Например, 90% последовательности кликов пользователя приходится на одежду, 10% — на электронные товары, а есть футболка и мобильный телефон, которые должны прогнозировать CTR, тогда футболка будет активировать большую часть поведения пользователя, поэтому что поведение пользователя, рассчитанное на основе векторов футболок, численно больше.

0x09 Индикатор оценки

Стандартом оценки является GAUC, предложенный самим Али. И практика показала, что GAUC более стабилен и надежен, чем AUC.

AUC представляет собой вероятность того, что положительный образец имеет более высокий балл, чем отрицательный. В сценариях практического применения CTR предсказание CTR часто используется для ранжирования рекламных объявлений-кандидатов для каждого пользователя. Но между пользователями есть различия: некоторые пользователи рождаются с высоким рейтингом кликов. В обычном оценочном индексе AUC рассчитывается для образцов без различения пользователей. GAUC, используемый в статье, реализует расчет AUC на уровне пользователя,На основе AUC одного пользователя выполняется средневзвешенное значение по количеству кликов или показов, что исключает влияние предвзятости пользователей на модель., что более точно описывает производительность модели.

0x10 Adaptive Regularization

Из-за сложности глубокой модели и очень разреженных входных данных существует много параметров, и их очень легко переобучить.

Входные данные в CTR разрежены и имеют большую размерность Существующие методы исключения L1 L2 для предотвращения переобучения не очень эффективны после попытки в статье. Пользовательские данные соответствуют длинному хвостуlong-tail law, то есть многие идентификаторы функций появляются только несколько раз, в то время как небольшое количество идентификаторов функций появляется много раз. Это добавляет много шума в тренировочный процесс и усугубляет переобучение.

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

Решение, данное DIN:

  1. В соответствии с частотой идентификаторов функций адаптивно регулируйте силу их регуляризации;
  2. Для высокой частоты задайте меньшую силу регуляризации;
  3. Для тех, у кого низкая частота, дается большая сила регуляризации.

Улучшение регуляризации L2: при выполнении оптимизации SGD каждый мини-пакет будет вводить только часть обучающих данных, а обратное распространение обучается только для некоторых ненулевых параметров функции.После добавления L2 необходимо обучить всю сеть. параметры включают встраивание векторов всех признаков для обучения, что очень затратно в вычислительном отношении и неприемлемо. В статье предлагается выполнять регуляризацию L2 только для параметров встраивания признаков пакета в каждом мини-пакете.

0x11 Сводка

Документ резюмируется следующим образом:

  1. Пользователь имеет несколько хобби и посетил несколько товаров good_id и shop_id. Для того, чтобы уменьшить широту и сделать арифметические операции между товарными складами осмысленными, сначала выполним Embedding на нем. Итак, как мы моделируем разнообразные интересы пользователей? использоватьОбъединение суммирует или усредняет вектор встраивания. В то же время это также решает проблему разной длины пользовательского ввода и позволяет получить вектор фиксированной длины. Этот вектор представляет собой пользовательское представление, представляющее интересы пользователя.
  2. Однако при непосредственном поиске суммы или среднего значения теряется много информации. Поэтому, после небольшого улучшения, разным идентификаторам поведения присваиваются разные веса, и этот вес совместно определяется текущим идентификатором поведения и рекламным объявлением-кандидатом. Это механизм Attention, реализующий локальную активацию.
  3. Использование DINactivation unitчтобы зафиксировать особенности локальной активации, используйтеweighted sum poolingчтобы зафиксировать структуру разнообразия.
  4. По оптимизации обучения модели DIN предложилФункция активации кости,адаптивная регуляризация, что значительно улучшает производительность модели и скорость сходимости.

0xEE Личная информация

★★★★★★Думая о жизни и технологиях★★★★★★

Публичный аккаунт WeChat:мысли Росси

Если вы хотите получать своевременные новости о статьях, написанных отдельными лицами, или хотите видеть технические материалы, рекомендованные отдельными лицами, обратите внимание.

ссылка 0xFF

Ручная работа в широком и глубоком масштабе с помощью NumPy

Узнайте, как Google реализует модель Wide & Deep (1)

Узнайте, как Youtube использует глубокое обучение, чтобы давать рекомендации

Также прокомментируйте сеть Deep Interest Evolution Network

От DIN к DIEN, чтобы увидеть эволюцию алгоритма CTR Али

Глава 7 Искусственный интеллект, 7.6 Применение DNN в сценариях поиска (Автор: Жэнь Чжун)

#Paper Reading# Deep Interest Network for Click-Through Rate Prediction

【Чтение бумаги】 Сеть Deep Interest Evolution для прогнозирования кликабельности

Также прокомментируйте сеть Deep Interest Evolution Network

Текст статьи: «Сеть Deep Interest Evolution для прогнозирования кликабельности»

【Бумажные заметки】Сеть развития глубокого интереса (AAAI 2019)

[Заметки для чтения] Сеть Deep Interest Evolution для прогнозирования рейтинга кликов

DIN (Deep Interest Network): основная идея + комментарии по чтению исходного кода

Расчет рейтинга кликов по рекламе (5) — Ali Deep Interest Network Theory

Подробное объяснение принципа модели Deep Interest Network для оценки CTR.

LSTM, понятные каждому

Понимание RNN, LSTM и GRU из анимированных графиков

Машинное обучение Ли Хунъи Национального Тайваньского университета (1) — RNN и LSTM

Машинное обучение Ли Хунъи (2016)

Система рекомендаций соответствует глубокому обучению (24) - принцип и фактическая борьба за развитие сети глубокого интереса DIEN!

из google.protobuf.pyext import _message, ImportError: Ошибка загрузки DLL при использовании tensorflow

Знакомство с сетью глубокого интереса DIN и анализ исходного кода

CTR Prediction Paper Intensive Reading (8) — Deep Interest Network для прогнозирования кликабельности

Ali CTR Prediction Trilogy (1): краткий анализ сети Deep Interest для прогнозирования кликабельности

Ali CTR Prediction Trilogy (2): краткий анализ сети Deep Interest Evolution для прогнозирования кликабельности

Интерпретация сети Deep Interest

Сеть глубокого интереса (DIN, сеть глубокого интереса)

Анализ официальной реализации документа DIN

Как смоделировать последовательность пользователей в исходном коде Ali DIN (1): базовая схема

Как моделировать пользовательские последовательности в исходном коде Ali DIN (2): перспективы DIN и разработки функций

Перевод документа Ali Deep Interest Network (DIN)

Система рекомендаций соответствует глубокому обучению (24) - принцип и фактическая борьба за развитие сети глубокого интереса DIEN!

Система рекомендаций сочетается с глубоким обучением (18) — Изучение анализа и внедрения Ali’s Deep Interest Network (DIN)

[Введение в статью] Модель прогнозирования Ali CTR 2018 г. --- DIN (Deep Interest Network) с прикрепленным кодом воспроизведения TF2.0

[Введение в статью] Модель прогнозирования Ali CTR 2019 --- DIEN (сеть развития глубокого интереса)