RecSys recsys.acm.org — это ежегодная конференция о рекомендательных системах, на которой исследователи и специалисты-практики со всего мира делятся своими последними и лучшими результатами и мыслями о рекомендательных системах.
Это был 10-летний юбилей конференции. Поскольку в этом году на RecSys было так много представителей отрасли по сравнению с большинством других лет (исключением является Фостер-Сити), я подумал, что было бы полезно сделать пост, посвященный конкретно отраслевому направлению, полученным знаниям и результатам.
Промышленность @ RecSys 2016
В этом году было проведено три отраслевых сессии, а также исследовательские работы от разных компаний на специальных исследовательских сессиях, не говоря уже о многих докладах на различных семинарах. Разговаривая с разными людьми, которые либо управляют командами, либо участвуют в командах в компаниях, выполняющих крутую и интересную работу, я укрепил некоторые мысли, которые были у меня в голове перед конференцией (так что на самом деле я мог сильно ошибаться :-) —
Глубокое обучение. Время от времени оно используется, и, за исключением одной компании, оно не обеспечивает какого-либо вау-фактора для их базовых показателей вовлеченности/дохода. Вложения, похоже, давали довольно полезные сигналы разными способами, но обычно это делается с помощью неглубоких методов, таких как word2vec. Criteo представила довольно интересную презентацию о проведенном ими исследовании Meta-Prod2Vec — встраивание продукта с использованием дополнительной информации для рекомендации.
Основная проблема, связанная с глубоким обучением, заключалась в том, что ее действительно сложно отлаживать, когда модель узнает что-то странное. Если кто-то его и использовал — тогда он оказывался частью общей ансамблевой техники. Скорее всего, глубокое обучение — отличный инструмент для решения проблемы, которую мы еще не определили. Тем не менее, основной доклад Сандера Дилемана из DeepMind на семинаре по глубокому обучению о предсказании скрытых значений только с помощью звуковых сигналов для элементов с холодным запуском довольно крут.
Все является рекомендацией. Само собой разумеется, что рекомендательные системы — это фантастическая возможность для системы взаимодействовать с пользователем и помогать ему находить полезную и интересную информацию.
Это может быть несколько упущено при посещении исследовательских треков в RecSys, потому что они так сосредоточены на улучшении конкретного аспекта системы в целом. На отраслевых сессиях высветился широкий круг проблем, решаемых в рамках общей системы.
В частности, доклад Прошлый, настоящий и будущий взгляд на рекомендательные системы с точки зрения отрасли, с которым выступили Джастин Базилко из Netflix и Хави Аматриан из Quora, продемонстрировал различные сигналы, которые каждая компания пытается извлечь. из своего продукта, чтобы понять интересы, намерения и будущую деятельность пользователей. Выступление Deepak Agarwal и Xavi Amatrian о создании рекомендательных систем в реальном мире также донесло это сообщение до конца в учебном занятии, состоящем из двух частей —
- Часть 1: Уроки, извлеченные из создания реальной RecSys
- Часть 2: уроки, извлеченные из создания реальных RecSys
Компания Google выступила с основным докладом о своем продукте Google Now / Universal search и различных сигналах, которые они включают в систему. В этом случае Google упомянул свое мультимодальное представление пользователей в сочетании с их довольно обширной инфраструктурой данных (такие продукты, как Knowledge Graph), когда пытался сопоставить пользователя с определенной конечной целью. Это были остатки выступления Джеффа Дина на RecSys 2014.
В конце концов, присутствует одна и та же основная тема, используется множество разных сигналов. В разных частях системы используется множество различных алгоритмов либо для вывода сигналов, поддерживающих рекомендацию, либо для прямой рекомендации. Презентация ленты Facebook была еще одним примером этого… в ней даже было некоторое глубокое обучение.
Распределенное машинное обучение сложно и, возможно, того не стоит:брать сырые необработанные данные и превратить их в обработанныйнабор данных обычно является наиболее трудоемким процессом. часть конвейера машинного обучения. Однако после того, как приготовленный набор данных был получен, объем памяти обычно значительно уменьшается, и, скорее всего, он может управляться на одном компьютере. Скорее всего, такие компании, как Google и Facebook, действительно нуждаются в распределенном машинном обучении. После этого, если вы работаете в мире с одной или двумя сотнями миллионов пользователей, может быть достаточно подхода с одной машиной.
Масштабирование линейной модели может быть несколько прямолинейным в контексте уменьшения карты, но что-то похожее на совместную фильтрацию с использованием матричной факторизации требует значительных коммуникационных издержек из-за итеративного характера задания и размера изученной модели, как следствие структур данных. чтобы сделать это более эффективным, необходимо создать — см. Пример реализации ALS Spark
На эту тему выступил Ив Раймонд из Netflix под названием (Некоторые) подводные камни распределенного обучения на крупномасштабном семинаре по рекомендациям. Ключевой посыл не в том, что распределенное машинное обучение — это плохо, а в том, что это сложно. И, возможно, реализация на одной машине потенциально быстрее и проще в отладке, чем масштабированная версия. Вы можете сделать предположение о том, в каком масштабе работает Netflix, основываясь на их рекомендации для всего мира, которые они дали.
Интересная мысль заключается в том, что Map-reduce был создан, чтобы остановить процесс рукописного параллелизма, казалось бы, хорошая абстракция для машинного обучения все еще не является мейнстримом. Tensorflow, например, позволяет распределенное машинное обучение, возможно, их абстракция все еще отсутствует в таких инструментах, как Spark.
В целом, было получено множество очень практических советов либо в ходе презентаций, либо во время общения с докладчиками во время конференции.
Ссылки на отраслевые документы в основном разделе, которые не участвовали в отраслевых сессиях.
- Gravity R&D / Telefonica — Архитектуры параллельных рекуррентных нейронных сетей для многофункциональных рекомендаций на основе сеансов, Контекстный поворот: от контекстно-зависимых к контекстно-ориентированным рекомендательным системам
- Ticketmaster — Масштабируемый подход к периодическим персонализированным рекомендациям
- Amazon — Адаптивное персонализированное разнообразие для визуального обнаружения
- Youtube — Глубокие нейронные сети для рекомендаций YouTube
- E-Bay — Оптимизация рекомендаций по похожим товарам на полуструктурированной торговой площадке для максимизации конверсии
- Criteo — Meta-Prod2Vec — встраивание продукта с использованием дополнительной информации для рекомендации
- Netflix — Использование навигации для улучшения рекомендаций в режиме реального времени
- Microsoft — Байесовские низкоранговые детерминантные точечные процессы