Модель двойных башен DSSM, о которой нужно сказать в рекомендательной системе

искусственный интеллект

Эта статья подготовлена ​​командой OPPO Internet Basic Technology Team, пожалуйста, укажите автора для перепечатки. В то же время приглашаем обратить внимание на нашу общедоступную учетную запись: OPPO_tech, чтобы поделиться с вами передовыми интернет-технологиями и деятельностью OPPO.

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

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

Статья в основном разделена на следующие части:

  • Зачем изучать модель башни-близнеца DSSM

  • Знание теории моделей DSSM

  • Двухбашенная модель DSSM в рекомендуемом поле

  • Двухбашенная модель, рекомендованная фактической рекламой

  • Суммировать

1. Зачем изучать модель башни-близнеца DSSM

Основным объектом обслуживания группы этикеток OPPO являются рекламодатели, а цель обслуживания — предоставить рекламодателям лучшие эффекты конверсии рекламы. Здесь используются два вида моделирования.

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

Другой - моделирование деловых интересов.На основе моделирования естественных интересов, рекомендуя людей рекламодателям из рекламного измерения, необходима популярная в настоящее время модель двойных башен DSSM.

Возьмем, к примеру, систему видеорекомендаций Youtube. В общей системе рекомендаций есть два процесса.

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

Вторым шагом является модель точной сортировки. Основная функция заключается в дальнейшей точной настройке 100-уровневого подмножества видео, найденного выше. С точки зрения количества можно выбрать десятки уровней из 100-уровневого. Затем отсортируйте в соответствии с оценкой и создайте отсортированный список в качестве списка воспроизведения пользователя для выполнения задачи рекомендации видео.

Модель двойных башен DSSM, используемая в нашем поле рекомендаций по рекламе, заключается в том, чтобы рекомендовать определенное количество людей для рекламодателей из рекламного измерения, С точки зрения количества, это найти миллионы людей из десятков миллиардов людей для рекламы, поэтому она это модель отзыва.

2. Теоретические знания модели DSSM

2.1 Принцип модели DSSM

DSSM (глубоко структурированные семантические модели), также известные как модели глубокого семантического сопоставления, были впервые опубликованы Microsoft в статье, посвященной задаче вычисления семантического сходства в области НЛП.

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

2.2 Общая структура модели глубокого семантического сопоставления DSSM

В целом модель DSSM можно разделить на три уровня: входной уровень, уровень представления и уровень сопоставления. Структура показана на следующем рисунке:

2.2.1 Входной слой

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

(1) английская сцена

Английский входной слой обрабатывается Word Hashing, который основан на n-грамме букв, и его основная функция заключается в уменьшении размерности входного вектора. Например, если есть слово мальчик, начальный и конечный символы представлены символом # соответственно, тогда ввод будет (#мальчик#). Преобразовать слово в форму буквенной n-граммы.Если n установить равным 3, то можно получить три набора данных (#bo, boy, oy#), и эти три набора данных представлены вектором n-грамм.

Проблема с использованием метода Word Hashing заключается в возможности возникновения конфликтов. Потому что два разных слова могут иметь одинаковое векторное представление n-грамм. На следующем рисунке показано векторное пространство и статистика коллизий слов при использовании 2-граммового и 3-граммового хеширования слов в разных английских словарях:

Видно, что если в словаре из 50W слов используется 2-грамма, то есть для сегментации слов используется гранулярность двух букв, векторное пространство сжимается до 1600 измерений, а конфликтующих слов 1192 (конфликт здесь относится к двум словам.Векторное представление точно такое же, потому что резерв слов действительно ограничен, я хотел найти несколько примеров для объяснения, но не нашел). Если 3-граммовое векторное пространство сжать до размера 3W, конфликтующих слов будет всего 22. Таким образом, в статье используется 3-граммовое слово сегментации.

(2) Китайская сцена

Китайский входной слой сильно отличается от английского, и первое, с чем приходится сталкиваться, — это проблема сегментации слов. Если вы хотите сегментировать слова, мы рекомендуем jieba или pkuseg Пекинского университета, но многие модели больше не выполняют сегментацию слов.Например, модель предварительного обучения китайского языка BERT напрямую использует отдельные слова в качестве минимальной степени детализации.

2.2.2 Уровень представления

Уровень представления модели DSSM использует модель набора слов BOW (bag of words) без учета информации о порядке слов. Без учета порядка слов возникает очевидная проблема, потому что слова в предложении могут быть одинаковыми, но семантика разная, например, «Я люблю свою девушку» и «Моя девушка любит меня» могут быть совершенно разными (это маленькие друзья испытайте это на себе).

На следующем рисунке показана структура уровня представления DSSM:

Нижний Term Vector to Word Hashing отображает слова в 3W-мерное векторное пространство. Затем пройдите через два слоя 300-мерных скрытых слоев и, наконец, равномерно выведите 128-мерный вектор.

2.2.3 Соответствующий слой

Теперь, когда мы единообразно преобразуем query и doc в два 128-мерных семантических вектора, как вычислить их семантическое сходство? Косинусное сходство этих двух векторов можно рассчитать с помощью функции cos по формуле:

2.3 Преимущества и недостатки модели DSSM

Давайте сначала поговорим о преимуществах модели DSSM:

  • Он решает проблему взрыва словаря, существующую в LSA, LDA, Autoencoder и других методах, тем самым уменьшая вычислительную сложность. Потому что количество слов в английском намного больше, чем количество буквенных n-грамм;

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

  • N-грамма букв может лучше справляться с новыми словами и обладает высокой надежностью;

  • Используйте контролируемые методы для оптимизации задачи отображения семантического встраивания;

  • Исключает ручную разработку функций;

  • Обучение под наблюдением используется для более высокой точности. Традиционный входной слой использует метод внедрения (например, вектор слов Word2vec) или метод модели темы (например, вектор темы LDA) для отображения слов, а затем соединяет или накапливает векторы каждого слова. Поскольку и Word2vec, и LDA являются неконтролируемым обучением, в модель будут внесены ошибки.

Поговорим о недостатках модели DSSM:

  • Хеширование слов может вызвать конфликты слов;

  • В модели мешка слов теряется контекстная информация о порядке слов. Вот почему позже появятся варианты моделей DSSM, такие как CNN-DSSM и LSTM-DSSM;

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

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

3. Двухбашенная модель DSSM в рекомендуемом поле

3.1 DSSM от поля НЛП к полю рекомендации

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

3.2 Простая модель башни-близнеца DSSM, 2015 г.

Самая большая особенность модели с двумя башнями заключается в том, что пользователь и элемент представляют собой две независимые подсети, которые очень удобны для отрасли. Две башни кэшируются отдельно, и при выполнении онлайн-прогнозирования в памяти необходимо выполнить только расчет сходства. Ниже приведена простая структура модели башни-близнеца DSSM в 2015 году:

3.3 Модель башни-близнеца Baidu

Модель двойной башни Baidu использует сложную сеть для встраивания функций, связанных с пользователем, и функций, связанных с рекламой, соответственно, образуя две независимые башни без какого-либо взаимодействия между функциями пользователя и рекламными функциями перед последним слоем пересечения. Это решение состоит в том, чтобы во время обучения ввести дополнительные функции для завершения обучения сложных сетей в автономном режиме, а затем сохранить полученное внедрение пользователя и внедрение элемента в базу данных в памяти, такую ​​​​как Redis. Используйте упрощенные модели, такие как LR, неглубокая NN или более удобные методы расчета расстояния подобия для онлайн-прогнозирования. Это также структура системы рекомендаций, принятая многими крупными компаниями в отрасли.

3.4 Модель башни-близнеца Google, 2019 г.

В 2019 году Google запустила собственную модель с двумя башнями.Основная идея статьи заключается в следующем: в крупномасштабной рекомендательной системе модель с двумя башнями используется для моделирования отношений взаимодействия между парами пользователь-элемент, чтобы чтобы узнать вектор [user, context] и вектор [item]. Для крупномасштабных потоковых данных предлагается внутрипакетная функция потерь softmax и метод оценки частоты потоковых данных, чтобы лучше адаптироваться к различным распределениям данных элементов.

Модель с двумя башнями используется для построения системы видеорекомендаций YouTube. Для башни на стороне пользователя встраивание пользователя строится в соответствии с характеристиками просмотра видео пользователем. Для башни на стороне видео встраивание видео строится по характеристикам видео. Две башни представляют собой отдельные сети.

4. Двухбашенная модель, рекомендованная актуальной рекламой

4.1 Бизнес-сценарий рекомендаций по рекламе

После разговора о многом из вышеперечисленного, именно для этого раздела мы собираем двухбашенную модель DSSM, рекомендованную в нашей рекламе. В соответствии с нашим рекламным бизнесом необходимо построить модель двойной башни DSSM. Пользовательская сторона вводит исторические поведенческие характеристики пользователей рекламных объявлений (включая клики, загрузки, платежи и т. д.), чтобы получить встраивание пользователя фиксированной длины. сторона вводит рекламные функции для получения той же длины. Встраивания рекламы хранятся в базе данных памяти Redis соответственно.

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

4.2 Двухбашенная модель DSSM, рекомендованная рекламой

Общая структура модели показана на рисунке ниже, и она также разделена на три слоя: входной слой, уровень представления и слой сопоставления.

4.2.1 Входной слой

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

Что касается характеристик внутри, то это не то, что вы хотите, а то, что у вас есть. Сверхсложная часть всего проекта — это художественная работа этого произведения. Я не буду здесь вдаваться в подробности.

4.2.2 Уровень представления

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

4.2.3 Соответствующий слой

После обучения модели будет получено встраивание пользователя и встраивание рекламы соответственно, и они будут храниться в базе данных в памяти, такой как Redis. Если вы хотите порекомендовать толпу для конкретной рекламы, рассчитайте cos-сходство между встраиванием рекламы в рекламу и пользовательским встраиванием всех толп. Ближайшие N подмножеств населения выбираются в качестве населения места размещения рекламы, таким образом завершая задачу рекомендации рекламы. В процессе обучения модели результат, полученный функцией cos, вводится в сигмовидную функцию и реальную метку для расчета логарифма, чтобы проверить, сходится ли сеть. Оценка модели в основном использует метрику auc.

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

4.3 Немного размышлений

Существует много вариантов модели двойных башен DSSM, таких как CNN-DSSM, LSTM-DSSM и другие. Уровень представления в проекте использует двухуровневую полносвязную сеть в качестве экстрактора признаков. В настоящее время наиболее признанным экстрактором признаков в области глубокого обучения является Transformer, независимо от того, можно ли будет добавить Transformer позже.

5. Резюме

В этой статье в основном представлена ​​модель двойных башен DSSM, используемая для моделирования деловых интересов в проекте. Как популярная модель с двумя башнями в области рекомендаций, самая большая особенность заключается в том, что она хорошо работает и очень удобна для отрасли, поэтому она широко используется в рекомендательных системах крупных производителей.

Путем построения двух независимых подсетей пользователя и элемента встраивание обученного пользователя и встраивание элемента в две башни кэшируются в базе данных памяти соответственно. При онлайн-прогнозировании вам нужно только выполнить расчет сходства в памяти.

Во-первых, я рассказал о теоретических знаниях модели семантического соответствия DSSM, которая сначала использовалась в области НЛП для задач семантического подобия, а затем, поскольку это была проблема сортировки, она была введена в область рекомендаций. От простой модели с двумя башнями DSSM до длинных моделей с двумя башнями; наконец, мы рассказали о том, как мы использовали модель с двумя башнями DSSM в реальном бою, до рекламных сценариев рекомендаций.

6. Ссылки

1.LearningDeep Structured Semantic Models for Web Search using Clickthrough Data

2.Sampling-bias-corrected neural modeling for largecorpus item recommendations