Полли хочет треки: Как нейросеть научилась подражать Кобейну и Скрябину и к чему это приведет Настоящее и будущее генеративной музыки
В понедельник в Сети появился первый альбом группы Neurona — EP из четырех треков в жанре, сформулированном на «Яндекс.Музыке» как «альтернатива». За дебютом стоят американский вокалист Роб Кэррол и разработчики Иван Ямщиков и Алексей Тихонов. А предложенная ими альтернатива — почти альтернатива поэту — нейросеть, научившаяся писать стихи в духе лирики Курта Кобейна.
Это уже третий музыкально-алгоритмический эксперимент Ивана и Алексея после «Нейронной обороны» — вариации нейросети на тему творчества Егора Летова — и композиции, написанной алгоритмом в стиле работ Скрябина и исполненной камерным оркестром на Yet another Conference. Когда оркестр, открывавший конференцию о применении новейших цифровых технологий в различных областях, смолк, на сцене появился Андрей Себрант и с видом очень сосредоточенным заявил: «То, что вы видели, — не просто метафора, а пример того, как изменилась наша жизнь с момента появления машинного интеллекта».
The Village выяснил у специалистов, что все это значит и к чему приведет.
Что такое нейросеть
Нейросети рисуют котов, ищут людей по фотографии, верстают сайты, переводят тексты и наконец читают рэп, пишут песни и музыку. Но прежде чем рассказать, как они это делают и какое будущее ждет музыкальную индустрию и индустрию развлечений с развитием нейросетей, важно прояснить пару базовых деталей.
Нейросеть — это тип алгоритма, вид машинного обучения, не более того. Никакого антропоморфного робота, возникающего в сознании большинства людей, когда они видят очередной броский заголовок, что нейросеть или искусственный интеллект опять что-то сделал, нет. «Если говорить очень просто, то машинное обучение — это обучение алгоритмов работать на основе данных, которые им показывают, — объясняет Михаил Биленко, руководитель управления машинного интеллекта и исследований „Яндекса“. — Представьте, что вам нужно научить программу отличать кошек от собак на фотографии. Благодаря машинному обучению сейчас можно просто показать алгоритму набор картинок с кошками и набор картинок с собаками, и на основе этой информации он научится определять кошек и собак и на других картинках, которых не было в этих наборах. А нейросети — это просто один из видов машинного обучения, который крайне эффективно решает определенные классы задач».
Идея алгоритмического композиторства
Самое первое предположение о том, что машина может писать музыку, выдвинула автор идеи компьютера, математик Ада Лавлейс в 1843 году, а задачу сделать алгоритм, который бы моделировал собой мозг, ученые поставили перед собой в начале 60-х. Раз мозг сочиняет музыку, возможно, и алгоритм с такой задачей справится. Если же говорить о качественном прорыве в развитии нейросетей, позволившем научить их генерировать музыку, то он лежал не в плоскости математики, а в вычислительной стороне дела. И способствовали ему, как ни странно, геймеры 90-х.
«Оказалось, что графические карты, изначально создававшиеся для компьютерных игр, можно использовать для научных вычислений и для обучения нейросетей, поскольку при обучении там происходит параллельно очень много сравнительно простых процессов», — рассказывает Иван Ямщиков, сотрудник Института Макса Планка. Графическая карта в игре разбивает всю поверхность на треугольники, и каждый треугольник обрабатывает отдельно, а потом все склеивает вместе. «В какой-то момент кто-то сказал: „Погодите, а давайте вместо картинок в компьютерных играх другие алгоритмы параллельных вычислений на видеокартах гонять!“ — в итоге сейчас за сравнительно небольшие деньги можно купить устройство, которое лет десять назад считалось бы суперкомпьютером, и на нем сравнительно быстро обучать достаточно глубокие нейросети», — говорит исследователь.
Как тренируется нейросеть
Чтобы научить нейросеть писать музыку, ей нужно дать очень большое количество примеров музыкальных произведений в понятном ей формате — например, партитуры или MIDI-файлы. Обучая сеть писать стилизации под Скрябина, операторы использовали в качестве примеров 4 гигабайта MIDI-файлов с классическими и современными произведениями. Сбор примеров — первая большая проблема нейросетевого композиторства. Заключается она в том, что таких примеров нужно действительно очень много, а для обучения сетки подойдет далеко не каждый файл.
«Например, мы берем простенький хаус-трек с очень скучным монотонным басом, который всю композицию играет одну ноту. Если наша задача сделать музыку как можно более разнообразной, такой трек для обучения использовать не стоит: он сильно испортит качество результата. Все, чему от него научится нейросетка, — повторять одну и ту же ноту», — объясняет Ямщиков.
Поэтому после формирования дата-сета его приходится фильтровать, и определение принципов этой фильтрации — труд на границе между наукой и искусством.
Следующая задача оператора нейросети — определить, какую информацию из выбранного трека нужно передавать и в каком виде. По словам консультанта «Яндекса», есть несколько используемых моделей. Одна из них — автоэнкодер. Это метод, когда нейросеть слушает какой-то фрагмент музыки целиком, а потом должна целиком его воспроизвести, и чем ближе сетка попадает в оригинал, тем лучше. Есть языковая модель — когда сеть слушает одну ноту и пытается предсказать следующую, слушает реальный ответ и опять пытается предсказать следующую ноту. В вопросе подходов на данный момент теории меньше, чем практики, поэтому программисты просто перебирают разные варианты и смотрят, где получается интереснее.
Что получается в итоге
В процессе работы над генерацией музыки Алексей Тихонов натренировал три нейросетки: одна пишет мелодию, одна — бас, и еще одна — барабаны. Такая система в целом больше напоминает прототип панк-группы, чем оркестра, поэтому для классического открытия с камерным оркестром ее использовать не стали. Вместо этого мелодии, написанные нейросетью, отдали Марии Черновой, основателю и креативному директору «Артнови», композитору и эксперту по творчеству Скрябина. Ее задачей было связать написанные нейросетью пьесы в единую композицию и создать аранжировку под утвержденный состав камерного оркестра с сольной партией терменвокса. Первую, более механистичную часть композиции машина на конференции сыграла сама, вторую — аранжированную Черновой — исполняли живые музыканты. И необходимость использовать живых исполнителей обязала внести в генеративную музыку еще ряд изменений. «При сохранении музыкального языка нейросети моя задача также состояла в том, чтобы придать пьесе форму, развитие и логику в гармоническом построении», — уточняет композитор.
Алгоритм-куплетист
Нейросети не только пишут музыку, но и слова, которые можно на нее наложить. В марте 17-летний школьник Робби Бэррат научил нейросеть сочинять рэп по мотивам текстов Канье Уэста, скормив ей 6 тысяч строк из его песен в качестве примеров.
Изначально алгоритм просто менял их местами, но потом стал писать лирику самостоятельно. Алексей Тихонов и Иван Ямщиков учили нейросеть писать тексты в стиле Летова и Кобейна. Первого выбрали из-за свойственной «Гражданской обороне» и всему русскому року высокому уровню апофении: в большинстве текстов жанра отсутствует авторский нарратив. Его в песни привносит рефлексирующий слушатель.
Дело в том, что в ходе работы обнажился еще один пробел на стыке математики и филологии. У машины проблема с сюжетностью, а объяснить ей, что это, некому. «Можно объяснить ей, что такое слово, но очевидно, что сюжет не сводится к слову и даже к предложению, — поясняет Иван Ямщиков. — Мы пытаемся разобраться с этой проблемой уже год, и не мы одни. Инструментов, с помощью которых ее пытаются решить, очень много. Некоторые под это дело поднимают десятки миллионов долларов, но, к сожалению, когда заходишь на их сайты и хочешь что-нибудь „потрогать“, они ничего не показывают».
Жорж Польти еще в конце XIX века вывел теорию о том, что в мире существует всего 36 драматических ситуаций, Борхес и вовсе сократил их число до четырех. Но оператор нейросети на вопрос, сколько их, конечно ли число сюжетов, и если нет, как научить нейросеть писать новые, ответить не может. В этом отношении следующий большой прорыв должен произойти с помощью людей искусства и гуманитариев. Чем лучше они научатся гуманитарные науки формализовать, тем больше шансов у разработчиков создать для них более интересные инструменты.
Нейросети и музыкальные сервисы
У нейросетей и музыки большое будущее. Во-первых, нейросети уже применяются фактически во всех музыкальных сервисах от Spotify до «Яндекс.Музыки» — там нейросеть советует пользователям новые треки.
Вообще, всякого рода рекомендательные алгоритмы — это колыбель машинного разума. Множество решений и методов, использующихся в разных приложениях искусственного интеллекта, было изначально придумано именно для алгоритмических рекомендаций. «Есть такая цепочка базз-бордов: сначала все говорили про big data, потом все стали говорить про машинное обучение, а потом — про машинный интеллект и нейросети, — объясняет Иван Ямщиков. — Эта последовательность связана с производственным циклом разного рода айтишных компаний». Сначала они поняли: у них много информации о пользователях, которую нужно хранить, чтобы как-то впоследствии научиться на ней зарабатывать. После того как данных стало достаточно много и на них уже можно было натравливать какие-то более продвинутые алгоритмы, все стали говорить про машинное обучение. А дальше в рамках машинного обучения появились нейросети, как раз обладающие большим преимуществом там, где речь идет о персонализации, вкусах и предпочтениях, и становящиеся все более доступной технологией.
«Сегодня нейросети помогают найти действительно похожие по звучанию треки, благодаря чему наши сервисы уже умеют воспринимать музыку как нечто большее, чем просто комбинацию исполнителя и жанра, — рассказывает Евгений Крофто, руководитель группы анализа музыки в „Яндекс.Музыке“. — Мы анализируем, какие треки пользователи слушают совместно, и обучаем сеть предсказывать их похожесть на основании одного лишь аудиосигнала». Очевидно, что в ближайшее время количество такого рода услуг будет расти вместе с уровнем персонализации рекомендаций.
Первый онлайн-продюсер
Год назад о себе заявил русский стартап Mubert — первый онлайн-композитор электронной музыки. Его продукт — свободный от копирайта поток ликвид-фанка, дип-хауса, эмбиента и чилстепа, генерируемый алгоритмом в режиме реального времени. В апреле создатели приложения объявили о разработке версии для бегунов Mubert.Run, которая будет генерировать музыку, поддерживающую ритм атлета во время тренировки. Сейчас они привлекают к работе (на коммерческой основе) продюсеров, создающих музыку в диапазонах 160–180 ударов в минуту, и планируют партнерство с одним из спортивных мейджоров.
Музыка для спорта
Конечно, Mubert своим будущим релизом Америку не откроет, спортивные приложения подготовили обширную почву для интеграции в них генеративной музыки. Например, в 2012 году появилась веселая аудиоигра для спортсменов «Zombies, Run!». Приложение с 200 разными миссиями синхронизировалось с картой местности и во время пробежки посылало в наушники игрока звуки преследующих его зомби, заставляя ускоряться. Больше 3 миллионов установок сделало приложение самой большой по числу участников фитнес-игрой на смартфоне. Также алгоритм мог бы изменять звуковую дорожку в игре, синхронизируясь, например, с пульсом пользователя.