Прогноз CTR Али (1): Deep Interest Network

искусственный интеллект глубокое обучение алгоритм регулярное выражение

Сегодня я хотел бы представить две статьи одной и той же группы рекомендаций Alibaba: Deep Interest Network для прогнозирования кликабельности и Deep Interest Evolution Network для прогнозирования кликабельности. Это первая часть, которая в основном знакомит с предыдущей статьей.

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

Сеть Deep Interest была предложена в 2017 году. Его идеи очень достойны ссылки. В системах электронной коммерции или во всех рекомендательных системах предсказание CTR является проблемой, на которую стоит обратить внимание. И в этом году в прогнозировании CTR широко использовались методы глубокого обучения. В этой статье считается, что большинство используемых в настоящее время моделей глубокого обучения можно рассматривать как структуры Embedding&MLP, то есть крупномасштабные разреженные входные данные сначала сжимаются в низкоразмерные вложения, а затем становятся входным вектором фиксированной длины, т.е. вход на полную Подключиться к сети. Эти модели значительно сокращают объем работы по разработке признаков и поэтому широко популярны.

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

В системе Taobao реклама является товаром, то есть элементом общей рекомендательной системы. Логика рекомендательной системы следующая: общий этап ретривера называется Matching, а логика системы состоит из сопоставления и ранжирования. Taobao использует совместную фильтрацию для завершения процесса сопоставления, выбирает несколько кандидатов, а затем использует метод прогнозирования CTR для сортировки.

Особенности алгоритма сортировки входных данных в основном представляют собой многогрупповую категориальную форму, и они представлены однократной или многократной горячей формой Типичный ввод выглядит следующим образом:

Все входное пространство показано на рисунке:

Base Model

Изначально Taobao использовала модель Embedding&MLP, которую мы здесь называем базовой моделью. Данная модель состоит из следующих частей:

Embedding Layer

Слой внедрения отвечает за преобразование некоторых многомерных бинарных векторов, упомянутых выше, в плотные низкоразмерные векторы. Например, мы можем положить около10^7Вектор размерных идентификаторов товаров преобразуется в вектор встраивания десятков измерений. Слой Embedding использует метод поиска по словарю и следует следующим правилам:

  • еслиt_iявляется горячим вектором, преобразуйте его в простое вложение,e_i = w_i^j
  • еслиt_iявляется мульти-горячим вектором, преобразуйте его в список встраивания,\{e_{i_1}, e_{i_2}, ..., e_{i_k}\} = \{w_{i_1}^j, w_{i_2}^j, ..., w_{i_k}^j\}

Pooling layer and Concat layer

Но, как было сказано ранее, разные пользователи ведут себя по-разному, нам нужно объединить разное количество векторов встраивания в входные векторы фиксированной размерности и ввести их в MLP, поэтому нам нужен объединяющий слой для их объединения. Обычно используются как объединение сумм, так и объединение средних значений. Различные виды векторов после объединения будут объединены в слое concat.

MLP

MLPlayer отвечает за предсказание, а функция Loss — Log Loss. Структура всей модели показана на рисунке.

Deep Interest Network

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

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

Training Techniques

В статье также предлагаются некоторые советы по обучению.

Mini-batch Aware Regularization

Мы используем методы регуляризации, чтобы предотвратить переоснащение. Но регуляризация L2 означает, что при каждом мини-пакетном обучении необходимо рассчитывать все обновления параметров, что приводит к большой вычислительной нагрузке, что особенно неприемлемо в крупномасштабных наборах данных. Поэтому в документе предлагается метод регуляризации с учетом мини-пакетов, который может уменьшить объем вычислений за счет разреженности набора данных. Это не наша тема, подробности можно найти в исходном тексте.

Data Adaptive Activation Function

PReLu — обычно используемая функция активации. Его выражение следующее:

Он фиксируется при x = 0 с точкой поворота, но не очень подходит, когда распределение входных данных для каждого слоя разное. Али предложил новую функцию активации Dice, которая является расширением PReLu.

Metrics

Мы обычно используем AUC для оценки результатов, Али использует взвешенный AUC и предлагает еще один индикатор RelaImpr.

Результаты A/B-тестирования следующие: