Алгоритм рекомендаций на основе глубокого обучения, анонсированный YouTube в 2016 году

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

В последнее время я сделал слишком много систематических статей. Сегодня давайте взглянем на статью 2016 года, связанную с машинным обучением: «Глубокие нейронные сети для рекомендаций YouTube».static.Google user content.com/Media/Hot colors…. Алгоритм рекомендаций, основанный на глубоком обучении, анонсированный YouTube в 2016 году, очень новый, и он также указывает направление для всех, чтобы использовать этот тип алгоритма рекомендаций.

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

Чтобы уточнить структуру двухуровневого алгоритма сортировки YouTube, мы должны сначала представить, как YouTube изменил свой алгоритм рекомендаций на классификацию. Алгоритм рекомендации можно понимать как экстремальную мультиклассовую классификацию; мы хотим сделать так, чтобы в определенное время (t) из всех видео (V) для определенного видео (i) этот пользователь (U) находился в этом В контексте (C) вы решите посмотреть это видео (Wt = i)

Здесь u — встраивание пользователя, а Vi и Vj — встраивание видео. Все упомянутые здесь вложения сжаты от разреженных признаков до плотного вектора. В соответствии с приведенным выше определением, этому алгоритму нужно научиться:user embedding(Обратите внимание, что обучение встраиванию видео здесь не упоминается, а то, как выполняется встраивание видео, будет упомянуто позже). Все ярлыки здесь основаны на просмотре видео, а не на лайках и неодобрениях, которые пользователи делают с видео, потому что объем данных о просмотре видео велик, и есть много лайков и возражений, которые не смотрят многие люди. маленький.

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

===========================

Давайте посмотрим на архитектуру этой модели на первом уровне, генерации кандидатов.

Здесь каждая найденная пользователем запись и просмотренное видео станут встроенными, а затем будет получено среднее значение, чтобы представить предпочтения пользователя в отношении просмотра видео и поиска. Здесь следует отметить несколько моментов:

  • Все плотные функции и вложения напрямую конкатенируются (конкатенация)
  • Вложение изучается вместе с параметром модели, поэтому это определенно не обобщенное вложение.
  • После этого несколько слоев полносвязного ReLU.
  • Все признаки нормированы на интервал [0, 1].

Общую модель глубокого обучения + встраивания можно понимать как обобщенную матричную факторизацию, но она лучше, чем матричная факторизация, поскольку в модель можно напрямую добавлять различные плотные функции. Поскольку встраивание является совместным обучением, новая добавленная функция изменит вложение. Хорошим примером, упомянутым в статье, является Example Age; системы машинного обучения обычно искажают старые видео, потому что в них больше возможностей. Но есть много видео, которые зависят от времени, и видео, которые популярны сегодня, не будут популярны завтра. Чтобы исправить своевременность рекомендательной системы, пример возраст добавляется как функция, чтобы модель могла понять распределение соответствующей своевременности.

Что касается источников данных, YouTube также много думал. Метка алгоритма рекомендации воспроизводится из всех видео, а не только из рекомендуемых видео, чтобы гарантировать, что, если у пользователя есть другие способы сделать определенное видео популярным, алгоритм рекомендации может быстро получить эту информацию. Кроме того, алгоритм рекомендации не знает, откуда взялось видео, иначе рекомендация домашней страницы будет слишком тесно связана с поиском, который только что закончил пользователь. Наконец, вероятность, которую YouTube вычисляет каждый раз, — это вероятность просмотра в будущем, а не вероятность того, что будет просмотрено отложенное видео. Эта проблема сильно отличается в видеорекомендациях, потому что в данных видеорекомендаций есть много видео, которые имеют очень высокую вероятность совместного просмотра, например телевизионные драмы и клипы. (Вообще-то я не совсем понимаю, почему объяснение последнего пункта занимает так много места...)

В частности, в попытке архитектуры модели модель в этой статье представляет собой 3-уровневую глубину, но в статье были опробованы 0-4 слоя глубины, и вклад различных функций в точность

На этом рисунке видно, что точность модели повышается после добавления функций, что указывает на то, что модель учитывает взаимодействие между этими плотными функциями и внедрением.

===========================

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

Для модели второго уровня и модели первого уровня по существу нет никакой разницы, но поскольку второй уровень должен учитывать гораздо меньше видео, можно рассмотреть гораздо больше функций. Здесь есть две редкие особенности:

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

Самая большая проблема для разработки функций этой модели заключается в том, как выразить историческое поведение пользователя и как связать это историческое поведение с текущим видео. Судя по экспериментальным результатам, наиболее важной особенностью является взаимодействие пользователя с этим видео и другими видео. В статье также особо упоминается, что такие функции очень похожи на важные функции в рекламе. Существуют также функции для выражения оттока, чтобы гарантировать, что после того, как пользователю будет рекомендовано видео без нажатия, алгоритм не будет рекомендовать то же видео. Поскольку используется NN, есть особое место, где ввод должен быть нормализован между [0,1]. Нормализация выполняется с помощью квантиля.

Вот еще некоторые подробности о встраивании видео:

  • Размерность встраивания логарифмическая (количество идентификаторов)
  • Очень большое пространство идентификатора (например, идентификатор видео и идентификатор поиска) будет усечено в соответствии с частотой, а низкочастотный идентификатор будет напрямую соответствовать 0.
  • Мультивалентные идентификаторы сначала перейдут к среднему значению
  • Встраивание, соответствующее каждому идентификатору видео, одинаково в сети, даже если они хотят выражать разные значения. Если предположить, что на входе этой модели есть то же видео, что и «видео, которое пользователь видел раньше», и «видео, рекомендованное пользователю ранее», то встраивание, соответствующее этому видео, будет одинаковым. Позже ReLU научится использовать эти вложения по-разному.

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

  • Вес каждого кликнутого видео (положительный пример) — это время просмотра
  • Каждое видео без кликов (минус-пример) имеет вес 1 (вес единицы).
  • Вероятность того, что модель узнает каждый клик по видео, когда данные имеют такой вес, равна (СУММ(Ti) для всех i из N)/N - k, где N — общее количество обучающих выборок, k — количество кликнутых видео, Ti — время просмотра i-го видео.
  • Если просмотрено гораздо меньше видео, чем не просмотрено, то вероятность, полученная моделью, равна E[T](1+P), где P — вероятность клика, а E[T] — ожидаемое время просмотра.
  • Рейтинг кликов P очень мал (большинство видео не просматриваются), тогда значение, предсказанное моделью, вероятно, равно E[T], что является ожидаемым временем просмотра.
  • При подаче используйте exp(Wx+b), чтобы заменить вероятность предсказанием времени наблюдения.

Для попытки скрытого слоя вывод модели второго уровня аналогичен заключению модели первого уровня.После увеличения количества слоев убывающая отдача

В целом, я думаю, что эта статья очень понятна, я рекомендую всем прочитать исходный текст еще раз.static.Google user content.com/Media/Hot colors…