Плотные признаки, как правило, являются относительно разреженными. Мы знаем, что признаки категорий относительно разрежены после горячего кодирования. Например, категории ['котенок', "щенок", "медведь", "обезьяна"] кодируются горячим способом. структура данных [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]], вы можете увидеть это данные очень разрежены, но данные о плотных функциях, такие как длина таблицы, обычно [3.4, 2.6, 8.9, 6.7]. Как правило, для функций категорий разреженные функции преобразуются в плотные функции путем встраивания слов, а затем вводятся в нейронную сеть. В противном случае прямой ввод приведет к таким проблемам, как взрыв размерности. Итак, как добавить плотные данные в модель сети прогнозирования CTR? ?
нормальный метод
1. Как показано на рисунке 1, исходные плотные признаки напрямую связаны с полносвязным слоем, а плотные признаки категорий, преобразованные встраиванием слов, не пересекаются:
Функции категорий справа отображаются в вектор после встраивания слов, а перекрестные функции получаются посредством операций кроссовера между векторами разных категорий. Исходная плотная функция слева не пересекается с функцией категории и напрямую сращивается с пересекающейся функцией высокого порядка в качестве входных данных полносвязного слоя.
2. Как показано на рисунке 2, дискретизируйте исходные плотные признаки, преобразуйте их в дискретные признаки, а затем выполните встраивание слов с признаками исходной категории, а затем выполните пересечение признаков. В этот момент можно обнаружить, что это эквивалентно исходному плотному объекту, участвующему в пересечении объектов:
3. Как показано на рисунке 3, для каждого исходного плотного элементаподдерживать вектор встраивания слова, а затем умножить исходный плотный признак и вектор весов, чтобы получить окончательный вектор признаков, что эквивалентно отображению плотного признака в вектор признаков, который затем соединяется с матрицей встраивания слов карты категорий. На данный момент все еще можно обнаружить, что это эквивалентно исходному плотному признаку, и признак категории также может использоваться для извлечения перекрестного признака:
Малоизвестный метод Key-Value Memory
В статье ICMEW предлагается метод применения памяти «ключ-значение» [1] для обработки плотных признаков.Как показано на рисунке 4, видно, что вход этой модели — плотный признак., выход представляет собой вектор признаков, то есть реализовано преобразование 1-мерного пространства признаков в многомерное, поэтому давайте посмотрим, как это реализовано.
векторРасчет выполняется путем применения каждого вектора вложенияПолучена взвешенная сумма, и формула выражается как
,
врассчитывается как ,
Расчет равен ,
из которыхнормализовать. Насколько я понимаю, нужно указать значение плотной функцииСопоставьте с распределением веса, а затем используйте это распределение веса, чтобы поддерживать и поддерживатьВзвешенная сумма векторов вложения и, наконец, получен вектор с той же размерностью, что и вложение слова.. получить векторПосле этого, как и в предыдущем способе, вы можете выполнить пересечение признаков с признаками категории.
использованная литература
[1] Multi-modal Representation Learning for Short Video Understanding and Recommendation. ICME Workshops 2019: 687-690