Кашель, я все еще хочу поговорить об этой статье, хотя о ней уже много говорят. В конце концов, в знак широкомасштабного применения моделей глубокого обучения к рекомендательным системам в отрасли эту статью нельзя обойти стороной. Оригинал изDeep Neural Networks for YouTube Recommendations, — статья, опубликованная YouTube в Recosys в 2016 году.
Структура этой статьи по-прежнему классическая: она состоит из глубокой модели генерации кандидатов (этап отзыва) и модели глубокого ранжирования (этап ранжирования).
Overview
Есть три основные проблемы рекомендательной системы YouTube:
- Масштаб: есть некоторые алгоритмы, которые хорошо работают в небольших задачах, но их трудно применить к более масштабным задачам, а YouTube имеет одну из крупнейших рекомендательных систем в мире. Масштаб — это первая проблема, к которой можно применить алгоритм. к.
- Свежесть (на самом деле, мы обычно называем это холодным запуском контента): YouTube в некотором смысле является компанией с короткими видео. В отличие от таких компаний, как Netflix и Hulu, свежий контент создается на его веб-сайте в любое время. Как рекомендовать этот свежий контент? подлежит рассмотрению.
- Шум: в неявной обратной связи и функциях контента много шума, и необходимо эффективно использовать эти зашумленные данные.
Модель YouTube обучается в Google Brain, открытой версией которого является tensorflow. Их модели имеют миллиарды параметров и обучаются на сотнях миллиардов данных. Структурная схема системы выглядит следующим образом:
Вы можете видеть, что это двухэтапная модель. Раздел о другом ресурсном руднике-кандидатепредыдущий постЕсть.Candidate Generation
На этапе отзыва YouTube выбирает сотни результатов отзыва из огромного набора данных. Прежде чем использовать нейронные сети, YouTube использовал алгоритм MF. Используя алгоритмы глубокого обучения, YouTube моделирует фазу поиска как модель классификации, целью которой является,Пользователь, из коллекциинайти момент вСкорее всего, смотреть:
вВстраивание, представляющее пользователя и контекст,Представляет встраивание видео. Задача глубокого обучения состоит в том, чтобы изучить встраивание пользователя на основе просмотра пользователем исторических данных и текущего контекста.и используйте softmax, чтобы выбрать видео, которые, скорее всего, будут смотреть. Модель обучается с помощью неявной обратной связи, а пользователь смотрит видео как положительный образец.
При фактическом обслуживании YouTube не выполняет полный процесс softmax, а использует алгоритм ближайшего соседа для выбора наиболее вероятных N результатов.
Model Architecture
В частности, структура модели на этапе отзыва выглядит следующим образом:
Настройки для каждого слоя:Ranking
Структура модели ранжирования очень похожа на структуру модели отзыва. Особенность заключается в том, что используемая целевая функция — это функция watch_minutes_per_impression, а не функция ctr. В основном это делается для того, чтобы избежать проблем с кликбейтом. В китайском контексте кликбейт должен быть заголовком, то есть видео с привлекательным названием и скучным содержанием преднамеренно используется для привлечения внимания пользователей, заставляя пользователей быстро выходить после нажатия.
Я не буду здесь говорить о инженерной части, заинтересованные читатели могут прочитать исходный текст, мы в основном говорим о проблеме функции потерь. Цель модели — предсказать время просмотра, вызванное показом, независимо от того, положительный он или отрицательный. Первоначальная метка положительного примера — это время, в течение которого пользователь просматривает видео. В статье разработана взвешенная функция логистической регрессии для решения этой проблемы. По сути, они по-прежнему обучают модель с помощью логистической регрессии, но присваивают единичный вес всем отрицательным примерам и вес времени просмотра всем положительным примерам. следовательно,
Структура всей модели ранжирования выглядит следующим образом:
Model Expected Watch Time
Кашель, это самое сложное для понимания в этой статье. Я сказал свое понимание, но оно не обязательно правильное. Комментарии и исправления приветствуются:
В статье в качестве цели прогнозирования используется значение watch_minutes_per_impression, но эту цель трудно предсказать напрямую, поэтому автор внес некоторые изменения в модель:
- Вес всех положительных образцов равен времени просмотра
- Вес всех отрицательных проб равен единице
- Для решения этой проблемы мы используем взвешенную логистическую регрессию. Идею взвешенной логистической регрессии можно найти в статье Модель взвешенной логистической регрессии. Это метод повторной выборки корреляции.
- В стандартной логистической регрессии значение y представляет собой число между [0,1], и его выражение, а его шансы выражаются как. Среди них вероятность появления положительного образца равна, вероятность появления отрицательного образца равна
- Во взвешенной логистической регрессии это выражение заменяется на:, то есть сумма вероятностей положительных выборок и/или сумма вероятностей отрицательных выборок (гдепредставляет время просмотра каждого положительного образца,представляет собой общее количество образцов,представляет количество положительных образцов).
- Ожидаемое время просмотра на показ составляет,Сейчас. вCTR, так какВеличина относительно мала, и можно установить только два последних приближения. Таким образом, мы, наконец, можем использовать коэффициенты для оценки ожидаемых минут просмотра.
- Поэтому при подаче— расчетное значение watch_minutes_per_impression.