Рекомендательная система, статьи серии FM (3) -- Модель NFM

машинное обучение

0. Пишите впереди

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

Личный опыт:

  1. слой пула двойного взаимодействия, слой пересечения функций для поэлементных продуктов

Адрес бумаги:

АР Вест V.org/PDF/1708.05…

1. Предпосылки

DeepFM успешно внедрил нейронную сеть в FM-модель и добился идеальных результатов. Кроме того, ученые в области рекомендаций также предложили модель NFM, которая также вводит идею явного пересечения признаков в нейронную сеть.Как и в DeepFM, структура модели NFM по-прежнему следует аналогичной структуре из двух частей. , включая мелководные (мелководные) и dnn-part (глубокие). Часть dnn в NFM подробно описана ниже.

2. Архитектура модели

Архитектура модели NFM показана на рисунке. Как упоминалось выше, NFM разделен на две части: линейную часть и часть нейронной сети. Линейная часть имеет возможность памяти образцов, а часть нейронной сети отвечает за извлечение сложных признаков, пересечение признаков и т. д., а также способность обобщения конкретных образцов. Давайте сосредоточимся на этой части dnn.

Часть нейронной сети NFM обрабатывает входные образцы точно так же. Функции категорий встраиваются после onehot, а непрерывные функции встраиваются напрямую. Размеры встраивания двух типов функций согласованы, что эквивалентно размерности скрытый вектор в пересечении признаков второго порядка модели FM. После того, как вектор внедрения каждого поля признаков проходит через слой пула двойного взаимодействия, выводится новый вектор с той же размерностью, что и у вектора внедрения, и, наконец, отправляется на полностью связанный слой. Можно видеть, что, за исключением только что упомянутого слоя объединения двойного взаимодействия, другие части NFM посредственны.Давайте посмотрим на функции слоя объединения двойного взаимодействия как независимого уровня.

3. bi-interaction pooling layer

Ранее мы говорили, что DeepFM достигает пересечения признаков через внутреннее произведение вектора встраивания признаков, и основное внимание уделяется «пересечению признаков». В NFM слой двойного взаимодействия является ключевым слоем для достижения пересечения признаков. Способ, которым слой пула двойного взаимодействия реализует пересечение объектов, показан в следующей формуле.

в,xix_{i}представляет значение функции,viv_{i}Особенности представленияxix_{i}соответствующий вектор вложения,@@Символ операции представляет поэлементное произведение, то есть соответствующие элементы двух векторов перемножаются, и результирующий вектор имеет ту же размерность, что и вектор вложения каждой области признаков. После того, как все домены признаков пересекаются попарно, может быть получена серия результатов пересечения признаков, и, наконец, все результаты подвергаются операции суммирования для получения окончательного представления вектора признаков после пересечения признаков. Сравнивая пересечение функций DeepFM, мы можем найти слой объединения двух взаимодействий:

  1. Метод объединения функций используется для замены операции горизонтального соединения вектора признаков второго порядка в DeepFM, и результирующий вектор определяется выражениемn*kn*kРазмер оптимизирован до размера k, что значительно сокращает количество параметров обучения. (nnколичество функциональных доменов,kkразмерность вектора вложения)
  2. Использование пула сумм для синтеза информации об объектах второго порядка может привести к потере информации.

4. Резюме

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