Прочтите статью — модель DeepFM, которую должен прочитать алгоритм рекомендации

искусственный интеллект алгоритм задняя часть

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

Тот, который я выбрал сегодня, называется DeepFM: нейронная сеть на основе машины факторизации для прогнозирования CTR, что переводится как DeepFM: модель FM, основанная на глубокой нейронной сети. Автор статьи родом изХарбинский технологический институт и Huawei, Должен сказать, что многие работы в области искусственного интеллекта сделаны в Китае, и я как практик очень этому рад.

Из названия также видно, что сегодняшняя газета на самом делеУсовершенствованная или оптимизированная версия модели FM. Если вы мало знаете о модели FM, вы можете ознакомиться с ней на портале ниже:

Хотите сделать рекомендательный алгоритм? Сначала разберитесь с моделью FM

Эта статья тоже очень длинная, рекомендуется сначала прочитать ее.

Резюме

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

В этой статье мы разработали новую модель DeepFM, чтобы найти возможность улучшить как низкоразмерные, так и многомерные функции. Он сочетает в себе сильные стороны моделей FM и нейронных сетей, достигая большего прогресса, чем последние модели Google Wide & Deep, а такжеУстраняет инженерную часть.

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

Введение

Для сценариев рекомендаций CTR является наиболее важным показателем.За исключением того, что рекламная система сортирует по CTR x ставка, система рекомендаций, как правило,Сортировать строго по предполагаемому CTR. Таким образом, ключевым вопросом здесь является точная оценка CTR.

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

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

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

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

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

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

Затем я сравнил еще три статьи, опубликованные в том же году: FNN, PNN и Wide & Deep. Это также некоторые обычные клише без особого анализа, такие как недостаточная производительность на пересечении низкоразмерных и высокоразмерных функций, например, необходимость слишком большого количества функций и так далее. Среди них Wide & Deep, мы написали статью и проанализировали ее ранее. Если вас интересуют FNN и PNN, вы можете прочитать статью. Она мало используется в отрасли, и эффект не должен быть идеальным. После некоторых сравнений в этой статье делается вывод о том, что мы можем разработать модель, которая работает лучше и автоматически изучает перекрестную информацию между функциями.

план

Мы предполагаем, что всего в обучающей выборке n выборок, и каждая выборка может быть записана как(х,y)(\chi, y). один из нихх\chiпредставляет собой вектор, состоящий из m полей, содержащих функции, состоящие из пользователей и элементов.yе{0,1}y \in \{0, 1\}, y=0 означает, что пользователь не щелкнул, наоборот, y=1 означает, что пользователь щелкнул.

Давайте еще раз посмотрим на характеристики выборки.Этот m-мерный признак можно рассматривать как две части.Первая частьОсобенности категории, такие как пол, географическое положение, доход и т. д. ВторойФункция непрерывности, такие как средняя стоимость, среднее время ожидания и т. д. Категориальный признак обычно представляется как однократный вектор, а непрерывный признак, который обычно представляет сам себя, конечно, может быть дискретизирован в однократный вектор.

После того, как мы обработаем все эти признаки, весь вектор будет преобразован вx=[xfield1,xfield2,,xfieldm]x = [x_{field_1}, x_{field_2}, \cdots , x_{field_m}], где каждое поле их\chiОднозначное соответствие векторов. Из-за некоторой обработки дискретизации вектор x становится очень разреженным. Итак, что нам нужно сделать, так это возобновить модель прогнозирования CTR для таких выборок с относительно редкими функциями.

DeepFM

Мы надеемся разработать модель, которая сможет лучше изучить взаимодействие между низкоразмерными и высокоразмерными функциями.Основываясь на этом, мы объединяем FM на основе глубокой модели и запускаем модель DeepFM. Его общая структура выглядит следующим образом:

Эта картина может выглядеть немного запутанной, мы можем сначала проигнорировать некоторые локальные детали и сначала понять все целиком. Эту модель можно разделить на две части, а именноЧасть FM и Глубокая часть. Ввод этих двух частей одинаков, и нет различий, как в модели Wide & Deep.

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

С точки зрения формулы, это, вероятно, так:

y^=sigmoid(yFM+yDNN)\hat{y}=sigmoid(y_{FM}+y_{DNN})

FM-секция

Часть FM на самом деле является машиной факторизации, которую мы специально проанализировали в предыдущей статье. FM будет рассматривать случай попарного пересечения всех признаков, что эквивалентно искусственному пересечению левого и правого признаков. Но поскольку комбинация n пересечений объектовn2n^2Эта величина, поэтому FM разрабатывает новую схему, обучая вектор для каждой функции iViV_i, когда две функции i и j пересекаются,пройти черезViVjV_i \cdot V_jдля расчета веса после пересечения двух признаков. Это значительно снижает вычислительную сложность.

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

Наконец, мы можем получить эту часть формулы:

Глубокая часть

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

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

На этом рисунке показана локальная структура этой части Мы видим, что векторы вложения, преобразованные из всех признаков, имеют одинаковую размерность k. И размеры в ФМ модели такие же, и инициализация этой заделки тожеРеализуется путем заимствования двумерной матрицы V в ФМ. Все мы знаем, что V — это двумерная матрица размера d x k, а исходный вход модели — это d-мерный вектор 01, поэтому после умножения его на V он естественным образом преобразуется во вложение d x k.

Здесь следует отметить, что в некоторых других работах по оценке CTR с помощью DNN предварительно обученная модель FM используется для инициализации вектора глубокой части. Но подход здесь немного другой, вместо того, чтобы использовать обученный FM для инициализации, он использует тот же V, что и часть модели FM. Это имеет два очень важных преимущества:

  1. Он может одновременно изучать информацию о пересечении низкоразмерных и многомерных объектов.Встраивание, полученное путем предварительной подготовки FM для инициализации вектора, может содержать только информацию о двумерном пересечении.
  2. Это позволяет избежать создания избыточных функций, таких как Wide & Deep.

Результаты экспериментов

выбор данных

Мы выбрали два набора данных для оценки производительности DeepFM и других моделей.Одним из них является набор данных Criteo, содержащий данные о кликах 45 миллионов пользователей, состоящий из 13 непрерывных функций и 26 категориальных функций. Мы делаем 90% обучающих данных и 10% тестовых данных. Вторые данные — это внутренние данные компании (Huawei).Они состоят из 7 последовательных дней данных о кликах пользователей в игровом центре магазина приложений Huawei для формирования обучающих данных (около 1 миллиарда штук), а данные за 1 день используются в качестве тестовых данных. .

Метрики оценки

В основном мы оцениваем модель с двумя метриками: одна — AUC, а другая — Logloss (перекрестная энтропия). С точки зрения этого оценочного индекса, он относительно уместен, и нет нового оценочного индекса, определяемого самим по себе, как в некоторых документах.

выбор модели

Всего для сравнения было выбрано 7 моделей LR, FM, FNN, PNN, Wide&Deep и DeepFM. Для модели Wide & Deep, чтобы исключить влияние предварительной обработки признаков, мы заменяем часть LR в модели Wide & Deep на часть FM. Во избежание двусмысленности мы называем замененную модель FM & DNN, называемую LR & DNN. .

оценка эффективности

Сравнение производительности

Производительность модели глубокого обучения очень важна, потому что сложность модели глубокого обучения очень велика и требует много вычислительных ресурсов. Мы используем следующую формулу для сравнения вычислительной эффективности каждой модели:tdeeptLR\frac{t_{deep}}{t_{LR}}. этоСравните время обучения модели LR.

Окончательный результат показан на рисунке ниже, где часть слева — это производительность ЦП, а часть справа — производительность ГП.

По сути, модель DeepFM имеет наилучшую производительность как на процессоре, так и на графическом процессоре.

результат прогноза

Мы обычно используем AUC для оценки точности модели в сценарии прогнозирования CTR, а также скомпилировали результат, как показано на следующем рисунке:

Из приведенного выше рисунка также видно, что модель DeepFM является лучшей среди этих моделей, будь то AUC или LogLoss. Из того, что я знаю о реальной ситуации, хотя DeepFM является моделью, предложенной 4 года назад, ноЕсть еще много компаний, которые все еще используют его.. Поэтому, если вы заинтересованы в проведении исследований и работе в области рекомендаций, понимание этой модели также необходимо.

Вот и все, что касается сегодняшней статьи, и я искренне желаю вам удачи каждый день. Если вам все еще нравится сегодняшний контент, пожалуйста, зайдите на одинТройная поддержкабар~(Нравится, подписывайтесь, делайте репост)

Оригинальная ссылка, следуйте за другими статьями