Журнал / польза

Как нейросети рекомендуют музыку

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

Эволюция музыкального стриминга

В период расцвета формата mp3, в конце 90-х годов, появились первые онлайн-библиотеки песен. Конечно, тогда ещё не существовало никаких алгоритмов для рекомендации треков: пользователи заходили на эти ресурсы с конкретным запросом или просто перебирали файлы в поисках подходящего.

Первая система рекомендаций появилась на стриминговом сервисе Pandora Radio в 2005 году. Она была довольно простой: пользователи ставили лайки или дизлайки трекам и на основе этой информации формировался рейтинг песен, аналогичный радиочартам.

Но традиционный поиск музыки больше не удовлетворял пользователей. Он приводил к «инфляции интереса»: люди ограничивались прослушиванием уже известных треков, а не искали новое. Также было сложно следить за новинками. На музыкальных форумах в 2000-х годах даже была целая группа «переслушивателей», которые отслеживали новые релизы и выбирали интересные треки.

С появлением MySpace и развитием YouTube стали использоваться первые рекомендательные системы, основанные на алгоритмах машинного обучения. А в 2010-х в мире стриминга появились такие гиганты, как Spotify и Apple Music.

Эти стриминговые платформы отошли от поиска по ключевым словам и чартам. Они внедрили рекомендательные системы на основе искусственного интеллекта, чтобы бесконечно советовать новую музыку. Теперь нейросети учитывают интересы и пристрастия пользователей — и превратились в лучшее в мире радио.

Как работают рекомендации

Есть два класса рекомендательных алгоритмов:

  • Коллаборативные. Алгоритм находит пользователей со схожими предпочтениями, анализирует их контент и рекомендует вам то, что вы ещё не смотрели или не слушали. Коллаборативные алгоритмы судят о единицах контента только по тому, как пользователи с ними взаимодействуют: важно количество прослушиваний, просмотров или лайков.
  • Контентные. Здесь алгоритм, наоборот, заглядывает внутрь и анализирует содержание. Сравнивая треки, которые вы слушаете чаще всего и охотнее дослушиваете, модель понимает, что вам, например, нравится медленная и спокойная минорная музыка, и начинает рекомендовать похожую.

Правда ли модели слушают и анализируют музыку

В некотором смысле так. Звук представляется в виде спектрограммы — уникального графика трека с зависимостью амплитуды музыкального сигнала от времени. Эти спектрограммы подаются на вход специальным моделям, которые учатся и формируют вектора треков. Их уже можно сравнивать и находить сходства. На основе полученных знаний алгоритм рекомендует пользователю похожий по звучанию контент. Аудиомодели также умеют определять похожесть голоса вокалиста и его манеры исполнения.

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

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

Как выглядят рекомендации в Моей волне

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

С помощью настроек Моей волны можно подобрать треки под конкретное настроение: бодрое, весёлое, спокойное, грустное. Можно выбрать любимые, незнакомые или популярные песни, а также задать язык. А для тех, кто хочет сосредоточиться или расслабиться, доступна специальная настройка «Без слов».

Моя волна готова к разным сценариям и адаптируется под предпочтения пользователя. Это не плейлист, не статичная закрытая система, а действительно волна, подвижная и текучая. Она не стоит на месте, свободно меняется и подстраивается.

Задача рекомендаций — сделать этот поток интересным и разнообразным. Недавно команда Яндекс Музыки подсчитала, что с Моей волной слушатели находят в три раза больше новых исполнителей, чем без неё.

Как мы уже говорили, есть две группы рекомендательных алгоритмов: коллаборативные и контентные. Поверх множества алгоритмов работает CatBoost — главный инструмент машинного обучения. Он берёт все признаки, анализирует их и выдаёт конечное решение, какой именно трек поставить пользователю следующим.

Как глубокие нейронные сети применяются в Моей волне?

После серии обновлений на основе глубоких нейронных сетей Моя волна стала ещё лучше понимать интересы пользователя и прогнозировать возможные варианты их развития.

Расскажем, как это работает, на примере YandexGPT. Если сильно упростить, можно сказать, что такие языковые модели учатся предсказывать следующее слово в тексте. Чтобы хорошо это делать, нужно понимать смысл текста. То же самое происходит с музыкой.

К потоку рекомендаций можно относиться как к высказыванию, у которого есть логическое продолжение, и модель пытается его угадать. Представим, что история прослушиваний — это некий текст, а каждый следующий трек — слово. Задача Моей волны — написать лучшее продолжение этого текста. Нейронные модели анализируют, как изменяются вкусы пользователя со временем, и пытаются угадать следующий трек.

Как работает новый режим «Незнакомое»?

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

Новый ранжирующий алгоритм обучен не просто искать незнакомые слушателю треки, а предлагать те, что тот с большей вероятностью лайкнет. Благодаря этому настройка «Незнакомое» стала смелее: она чаще находит новые треки, которые пользователь добавит в коллекцию с первого прослушивания. Это позволяет артистам стремительнее наращивать аудиторию в Яндекс Музыке.

Кроме того, «Незнакомое» чаще рекомендует новые жанры. Так слушатель делает неожиданные открытия и расширяет музыкальный кругозор. При этом алгоритм учитывает его предпочтения, не делает резких скачков между несовместимыми жанрами и плавно рекомендует смежные направления.