Как работают рекомендательные системы музыкальных сервисов

Фото: Adam Rakús / Unsplash
Фото: Adam Rakús / Unsplash
Как алгоритмы рекомендуют песни и определяют, что нам нравится, и могут ли машины писать музыку? Ответ на эти вопросы ищет Николай Дубинин, ведущий YouTube-канала «Индустрия 4.0»

Нейросети хорошо научились работать с изображениями, видео и текстами — они распознают лица, эмоции, создают правдоподобные дипфейки, переводят онлайн, генерируют человеческую речь. Но есть область в которой глобально они бессильны — это музыка. Конечно, все пишут о магии Spotify — когда сервис советует какие-то новые неизвестные треки, которые удивительным образом нам нравятся. Как на самом деле работают алгоритмы Spotify, «Яндекс.Музыки» и Apple Music? Могут ли они создавать новую великую музыку или даже воскрешать умерших музыкантов и продолжить писать за них?

Коллаборативная фильтрация

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

Представьте, что происходит когда алгоритму известны предпочтения сотен миллионов пользователей. К тому же, как отчитываются Spotify, они каждый день получают до 5 млрд цифровых взаимодействий. Точность попадания становится практически идеальной.

Но с коллаборативной фильтрацией есть две проблемы:

  • Холодные пользователи. Это те, кто только что зарегистрировался в сервисе, и система о них ничего не знает;
  • Холодные треки. Это те, которые только появились, и о них ничего неизвестно, либо какие-то редкие песни.

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

Главный принцип коллаборативной фильтрации — explore and exploit — исследовать и использовать. Использовать — пользовательскую историю, его плейлисты, поведение — прослушали ли вы песню полностью, пропустили или лайкнули. А исследуют алгоритмы информацию о других пользователях: их плейлисты и любимых исполнителей.

А что насчет холодных треков? Как алгоритмы работают с ними?

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

Но разложить песню на ДНК у машины до конца пока не получается — так же, как из мельчайших частей написать что-то новое.

По словам руководителя лаборатории машинного обучения «Яндекса» Александра Крайнова, генерировать текст для машины гораздо легче, чем музыку: «В тексте есть символы, есть некоторая закономерность. Символы — это уже закодированная, сжатая информация. С изображением тоже просто, просто потому что там объем данных меньше. А звук — он большой, сложный, у него очень длинные и большие временные зависимости. В звуке очень много чего может объединяться: кто-то петь начинает на заднем плане, то есть это не просто звук голоса, а слова».

Могут ли машины самостоятельно писать музыку?

Например, год назад вышла песня, созданная алгоритмом, который обучали на хитах "Евровидения". Называется «Синие джинсы и кровавые слезы».

Но, конечно, финальный вариант все равно докручивали люди.

«Нейронные сети замечательно умеют генерировать картины, например. Нейронные сети хорошо генерируют человеческую речь: то, как Алиса говорит, — это целиком и полностью сгенерированная нейронной сетью речь», — говорит Александр Крайнов. Но в написании музыки «от и до» заметного прорыва пока нет. В основном все заметные проекты генерируют потоковую музыку из семплов: собирается готовая библиотека звуков, а программисты придумывают алгоритмы — то есть по каким законам эти семплы будут складываться в музыку. И математические формулы создают бесконечный поток музыки. Например, российский сервис по генерации музыки Mubert работает именно по такому принципу.

Может ли нейросеть проанализировать творчество уже ушедших из жизни музыкантов, понять, какие законы они использовали у себя в музыке, и попробовать написать что-то новое под них? Способна ли нейросеть написать новую песню за «Кино», за Queen, за «Сектор Газа»? По мнению основателя Mubert Алексея Кочеткова, теоретически да, но для этого нужно несколько нейросетей: одна будет петь, другая — играть на гитаре, например. Но человек в этом процессе все равно необходим.

Многие наверняка видели ролик музыканта Кирилла Нечаева. Он взял исследование «Яндекс.Музыки», в котором они проанализировали тексты исполнителей русского рэпа.

Например, у Элджея, по мнению нейросети, самые характерные слова это: тусовка, детка, видеться, травка, таблетка, кроссовки, тряпки, сиять, фотка, д***я. Программа написала новые тексты под Элджея, Макса Коржа, Гуфа и других, а Нечаев все это спел.

Но одно дело — написать текст, совсем другое — музыку. И пока нейросеть не в состоянии сотворить шедевр.

Что еще почитать по теме:


Подписывайтесь на Telegram-канал РБК Тренды и будьте в курсе актуальных тенденций и прогнозов о будущем технологий, эко-номики, образования и инноваций.

Обновлено 28.05.2021
Главная Лента Подписаться Поделиться
Закрыть