Нейросеть научилась распознавать музыкальные хиты

Формирование музыкальных предпочтений у нейронной сети — эксперимент по созданию умного плеера

Данная статья посвящена работе по исследованию возможности обучить простейшую (относительно) нейронную сеть «слушать» музыку и отличать «хорошую» по мнению слушателя от «плохой».

Цель

Научить нейронную сеть отличать «плохую» музыку от «хорошей» или показать, что нейронная сеть на это неспособна (данная конкретная ее реализация).

Этап первый: нормализация данных

Учитывая что музыка это совокупность несчетного числа звуков просто так «скормить» ее нейронной сети не выйдет, соответственно нужно определить что именно сеть будет «слушать». Вариантов выделения из музыки «наиболее важных» особенностей бесконечное множество.

Нужно определить что потребуется выделить из музыки. В качестве опорных данных я определил, что выделить нужно некоторое представление о частотах звуков используемых в музыке.

Я решил выделить именно частоты, т.к.

во первых они различны для разных музыкальных инструментов.

Во вторых чувствительность слуха в зависимости от частоты различна и достаточно индивидуальна (в разумных пределах).

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

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

  • как часто в композиции звучит звук из данного диапазона частот
  • как громко он звучал
  • как долго он звучал
  • и так для каждого определенного диапазона частот (нужно разбить весь «слышимый» спектр на определенное число диапазонов).

Для выделения частотной насыщенности в треке на каждом временном интервале можно воспользоваться данными FFT, эти данные можно при желании вычислить вручную, но я воспользуюсь уже готовой открытой библиотекой Bass, точнее оболочкой для нее Bass.NET, которая позволяет получить эти данные более гуманно.

Для получения FFT данных с трека достаточно написать небольшую функцию.

После получения сырых данных необходимо их обработать.

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

Для нашей задачи возьмем 1024 градации, это достаточно детальный спектр частот и сравнительно небольшое количество информации на выходе.

Теперь необходимо определить как из N массивов float[] получить 1 массив, который содержит более менее всю необходимую нам информацию: насыщенность звука определенными спектрами, частота возникновения различных спектров звука, его громкость, его длительность.

С первым параметром «насыщенностью» все достаточно просто, можно просто просуммировать все массивы и на выходе мы получим как «много» было каждого спектра во всем треке, но это не будет отражать других параметров.

Обратите внимание

Чтобы «отразить» на конечном массиве и другие параметры можно суммировать немного сложней, не буду вдаваться в подробности реализации подобной «суммирующей» функции, т.к. число ее возможных реализаций фактически бесконечно. Графическое представление полученного массива:
Пример 1.

Относительно спокойная мелодия с элементами легкого рока, рояль и вокал
Пример 2. Относительно «мягкий» dubstep с элементами отшкребания мозга от стен не очень мягкого dubstep
Пример 3. Музыка в стиле близком к trance
Пример 4. Pink Floyd
Пример 5. Van Halen
Пример 6.

Гимн России На приведенных примерах становится видно, что различные жанры дают различные «спектральные картины», это хорошо, значит мы выделили по крайней мере некоторые ключевые особенности трека.

Теперь нужно подготовить нейронную сеть, которую будем «обучать». Алгоритмов нейронных сетей много, часть лучше для определенных задач, часть хуже, я не ставлю цели изучить в контексте задачи все виды, я возьму первую попавшуюся под руку ее реализацию (спасибо dr.kernel), достаточно гибкую, чтобы ее приспособить к решению поставленной задачи. Я не выбираю «более подходящую» нейронную сеть, т.к. задача проверить «нейронную сеть» и если случайная ее реализация покажет хороший результат, то однозначно есть более подходящие виды нейронных сетей, что покажут результаты еще лучше, если же сеть не справится, то это покажет только, что данная нейронная сеть не справилась с задачей.

Данная нейронная сеть обучается данными, которые лежат в диапазоне от 0 до 1 и на выходе тоже дает значения от 0 до 1. Поэтому данные нужно привести к «пригодному виду». Привести данные к подходящему виду можно множеством способов, результат все равно будет похожий.

Этап второй: подготовка нейронной сети

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

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

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

то есть качество трека должно определяться еще и относительно времени суток и дня недели, итого 24*7 выходных нейронов.

Важно

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

То есть «обучающую» выборку должен сформировать плеер, во время прослушивания треков в котором можно было бы отметить трек «хорошим» или «плохим». И так представим, что такой плеер есть (он действительно есть, то есть был написан на основе открытых кодов другого плеера). После десятка часов прослушивания музыки в различные дни собираются данные для первой выборки.

Каждый элемент выборки содержит входные данные (1024 значения спектральной картины трека) и выходные (24*7 значений от 0 до 1, где 0 совсем плохой трек и 1 очень хороший трек для каждого часа из 7 дней недели).

При этом при отметке «хороший» трек + ставился на всех днях недели и часах, но в данный часдень недели +был больше, и аналогично для «плохой», то есть данные не 0 и 1, а некоторые значения между 0 и 1.

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

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

Для решения этой проблемы достаточно обучать сеть на 1 выборке, но проверять качество на другой, при этом выборки должны быть случайны и элементы первой и второй не должны повторяться. Алгоритм проверки уровня обучения сети найден, теперь нужно определить ее конфигурацию. Как я уже говорил для этого будет использоваться эволюционный алгоритм.

Для этого возьмем стартовую конфигурацию, скажем 10 слоев, в каждом по 100 нейронов (этого будет однозначно мало и качество такой сети будет не очень хорошим), далее обучим за определенное число шагов (скажем 1000), после определим качество ее обучения.

Далее переходим к «эволюции», создаем 10 конфигураций, каждая из которых является «мутантом» исходной, то есть у нее изменена в случайную сторону либо количество слоев, либо количество нейронов на каждом или некоторых слоях. Далее обучаем каждую конфигурацию тем же способом, что и исходную, выбираем лучшую из них и определяем ее как исходную. Данный процесс продолжаем до тех пор, пока не наступает такой момент, что мы не можем найти конфигурацию, которая обучается лучше чем исходная. Данную конфигурацию считаем лучшей, она оказалась способной лучше всех «запомнить» исходные данные и лучше всех предсказывает, то есть результат ее обучения наиболее качественный из возможных. Эволюционный процесс занял порядка 6 часов для выборки размером в 6000 элементов, после пары часов оптимизаций процесс занимает около 30 минут, конфигурация может отличаться в различных выборках, но чаще всего конфигурация примерно из 7 слоев, с количеством нейронов плавно увеличивающихся к 3-4 слою и далее более быстро сокращается к последнему слою, своеобразный горб на 3-4 слое из 7, по всей видимости такая конфигурация наиболее «способная» для данной сети. Итак сеть «выросла» и способна к обучения, начинается обычное для сети обучение, долгое и нудное (до 15 минут), после сеть готова «слушать музыку» и говорить «плохая» она или «хорошая».

Читайте также:  Rover — робот-фермер из австралии

Этап третий: сбор результатов

Вес «мозга» — конфигурации обученной сети составил 25 мб, вес будет различаться для различных выборок, в целом чем больше выборка тем больше нужно нейронов, чтобы справиться с ней, но вес среднестатистической сети будет примерно таким же.

Обучающая выборка состояла из «хороших» по моему скромному мнению треков, таких как Van Halen, Pink Floyd, классическая музыка (не любая), легкий рок, мелодичные и спокойные треки. «Плохой» в выборке по моему мнению считались реп, попса, слишком тяжелый рок.

Определим «индекс качества» случайных треков, который посчитает нейронная сеть после обучения.

  • Van Halen — 29 pts
  • Rammstein-Mutter(альбом) — 20-23 pts
  • Rihanna — 26 pts
  • The Punisher -11-17 pts
  • Radiorama — 25 pts
  • R Claudermann — 25-29 pts
  • The Gregorians — 27-29 pts
  • Pink Floyd — 29-33 pts
  • Русский «рэп» низкого качества — 9-11 pts
  • Красная плесень 16-19 pts
  • Би-2 24-29 pts
  • Високосный год — 25-33 pts

Вывод:

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

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

Полный исходный код приложения на C# и скомпилированную версию можно скачать на GitHub или через Sync.

Внешний вид приложения, в котором реализован весь описанный в статье функционал:

Надеюсь, мой опыт в данном исследовании поможет в будущем тем, кто захочет изучить возможности нейронных сетей.

Источник: https://habr.com/post/263811/

Музыка, написанная нейронной сетью

Искусственный интеллект все больше входит в нашу жизнь — управляет машинами, ставит диагноз в медицине, ставит маты шахматистам. Теперь он добрался до творчества: альбом «Hello World» — это первый сборник  музыки, написанной на основе технологий нейронной сети от компании Sony. Эра человеческих талантов подошла к концу или же не всё так просто?

В пятницу, 12 января, была отмечена дата первого музыкального релиза от проекта «Flow Machines». Известный французский композитор Бенуа Карре издал 15-трековый поп-альбом под названием «Hello World» — символичный знак, традиционно используемый программистами при создании программ.

«Hello World» — это совместная работа множества музыкантов, в том числе канадского народного артиста Курия Кристмонстса, бельгийской звуковой студии Bionix и номинанта на премию Меркьюри музыканта С.

Дюкана и… искусственного интеллекта, который создал все песни из данного альбома!

ИИ все больше ассоциируется с модернизмом и с дополнительным стимулом для творчества.

Совет

В то время, когда сложный искусственный интеллект являлся лишь спекулятивной особенностью научной фантастики, мало кто думал, что все это воплотится в реальность — теперь «он» управляет нашими автомобилями, помогает дать точный медицинский диагноз или одерживает победу в играх (к примеру, в шахматах).

Ко всему этому, теперь он добрался до творчества. Исследовательский проект Flow Machines, является результатом совместной работы научно-компьютерных лабораторий фирмы Sony (в Париже) — это одна из немногих компаний, изучающая возможность использования искусственных алгоритмов для создания музыки.

Программное обеспечение в проекте Flow Machines (предназначенное для машинного обучения), уникально в своей способности создавать сложные результаты, которые могут служить для решения задач, построения прогнозов или быть рекомендациями в узконаправленных областях исследования.

Все это основывается на шаблонах, которые получаются путем изучения и обработки больших баз данных.

В случае с проектом Flow Machines, запуск которого состоялся в 2012 году, возглавляемый исследователем ИИ Франсуа Пашетом, были получены шаблоны из 13 000 песен, благодаря чему можно было получить определенные статистические модели, которые представляют информацию о том, какой характерной структурой обладает скопление «кирпичиков музыки»: ноты и аккорды при разных стилях музыки. Эти статистические модели затем используются для создания новых мелодических и гармонических последовательностей в нужном стиле, выступая в качестве идей для музыкантов, использующих данное программное обеспечение во время сочинения.

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

Причем, это может быть, как сама песня в целом, так и определенные ноты или пассажи», — сказал Паше в интервью при публичном открытии «Flow Machines» в Париже.

«Затем машина анализирует все эти музыкальные фразы, и пользователь делает запрос: «Пожалуйста, сгенерируй мелодию на основе того, что я тебе только что дал проанализировать».

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

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

Обратите внимание

На вечеринке в честь альбома «Hello World» в Париже можно было наблюдать интересные плакаты с вехами из истории музыкальных технологий, таких как появление пифагорейского строя или появление DAW.

Это было сделано намерено, чтобы подчеркнуть неизбежность формирования новой эпохи музыки, основанной на искусственном интеллекте. Этот же момент заставил посетителей задуматься над тем: «А кем является композитор по сути?».

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

Именно этот акцент на демократизацию музыки и устаревание прежних форм музицирования был основой разговоров оставшегося вечера. Там же, под конец был предоставлен учебник «для начинающих» по работе с «Flow Machines».

Его презентация была с предварительным прослушиванием одной из песен из альбома «Hello World». Нам пояснили, что каждый трек был создан ИИ под контролем музыканта, на основании вкуса которого создавалась композиция.

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

Было ясно видно (или слышно), что Карре был инициатором основной структуры каждой песни, но аранжировка их была все равно неудобно искусственной.

Такие треки как «One Note Samba», «Magic Man» и «Mafia Love — 16 Bits», исполнялись вроде бы обычным поп-вокалом, но явно чувствовалась кривая реализация, полная искажений, резких прерываний на основе искусственной алгоритмизации. Все это слушалось не как «новое и инновационное», а как неуклюжее и странное.

Если алгоритм «Flow Machines» разработан как творческий инструмент для композиторов и музыкантов, то это только первые шаги. «Hello World», конечно, необычен в своем «алгоритмическом подходе» к созданию композиции, но сама музыка — это всего лишь стандартная попсятина.

Важно

И хотя это направление музыки, созданное искусственным интеллектом, в настоящее время не является ни благом, ни проклятием для музыкантов, она все же вызывает серьезные вопросы о будущем: «Как слушатели должны относиться к музыке, создаваемой ИИ? В какой момент эти алгоритмы смогут сделать хотя бы один «хит»? В газете «The Guardian» консультант по музыкальной индустрии Марк Маллиган предположил, что музыка ИИ не является мерилом качества музыки. «Пока вы правильно подходите к композиторству и используете ИИ для помощи в творчестве, то от этого никаких проблем не будет — все только в плюс вам», — заявил он.

Многие фирмы заинтересованы в данном направлении развития — это связано с проблемами авторских прав.

К примеру, Flow Machines публично связан с Spotify, можно предположить, что если пользователи будут добавлять плейлисты с музыкой, созданной на основе искусственной алгоритмизации, то компания может не платить деньги за авторские права после публикации такой музыки.

Отвечая на вопрос о правовых процедурах авторского права, связанных с производством «Hello World», Паше просто ответил: «Никто не будет платить машине — это технически невозможно. А та музыка, на основе которой были построены новые композиции, мы уже получили право на её использование».

Читайте также:  Ученые из осло создали уникальных роботов при помощи 3d-принтера

Трудно выбросить из головы мысли о неблагоприятных последствиях ИИ в музыке. Но на протяжении еще последующего десятилетия в этом направлении будет мало какого-либо основательного продвижения, если даже через несколько годков появится программа, которая сможет на высоком уровне создавать музыку, то она все равно будет работать только в определенных музыкальных направлениях.

На данный момент музыка от ИИ — это новинка и, как минимум, креативный инструмент для композиторов. Паше и Карре планируют выпуск второго альбома на своем лейбле «Flow Records». «Следующие треки уже не будут такими как эти», — сказал Паше. «Там будет другой стиль. Мы больше времени уделим мелодиям и оркестровой аранжировке. Может быть, третий альбом будет вообще в стиле рэпа.

Посмотрим».

Если вам понравилась статья, то попрошу репосты или лайки. Для меня это будет хорошей поддержкой.

Наше сообщество в Контакте Твиттере Фэйсбуке Ютубе Дзен

Материал является авторским, при копировании ссылка на статью или сайт sergeitrunov.ru обязательна!

Похожее

Источник: http://sergeitrunov.ru/muzyika-napisannaya-neyronnoy-setyu/

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

ОбществоХоккейАвто

Речь идет о программах “Первый автомобиль” и “Семейный автомобиль”.

ПолитикаМузыка

Контракт на участие в конкурсе «Евровидение» между украинской певицей Maruv (Анной Корсун) и Национальной общественной телекомпанией Украины (НОТУ) не подписан из-за политизированности некоторых пунктов.

Недвижимость

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

Политика

Бывшая сотрудница президента США Дональда Трампа Альва Джонсон подала на главу государства в суд из-за того, что он поцеловал ее в августе 2016-го без ее согласия, пишет The Washington Post (WP) со ссылкой на саму Джонсон и копию ее искового заявления.

Политика

Bloomberg ранее 25 февраля написал, что на закрытой встрече Путина спросили о деле Калви и он сказал, что не давал предварительного разрешения на арест Калви, однако, по его словам, подозрение в похищении 2,5 млрд руб. нельзя игнорировать.

Экономика

В середине февраля в ходе послания Федеральному собранию президент Владимир Путин указал на несправедливость, сложившуюся из-за того, что некоторые пенсионеры не могут рассчитывать на доплату до уровня прожиточного минимума из-за того, что получают индексированные пенсии или ЕДВ.

Здоровье

Россия расположилась на 95-м месте, на пять строк выше, чем годом ранее. На соседних строчках оказались Кабо-Верде (94) и Вануату (96).

Энергетика

Издание отмечает, что снижение началось после того, как президент США Дональд Трамп призвал ОПЕК успокоиться на счет повышения стоимости нефти, отметив, что «мир не вынесет роста цен».

Политика

Партия социалистов лидируют на парламентских выборах в Молдавии после обработки 98% протоколов.

Спорт

Известный комментатор Дмитрий Губерниев высказался относительно информации о том, что биатлонистка Маргарита Васильева пропустила три допинг-теста подряд, передает “Советский спорт”.

Экономика

Bank of America планирует провести ребрендинг и убрать сочетание Merrill Lynch из названия некоторых своих подразделений, о чем будет объявлено сотрудникам в понедельник, сообщает The Wall Street Journal.

Политика

«Газпром» объявил об уходе двух зампредов правления холдинга Александра Медведева и Валерия Голубева, пишет «Газета.ру».

ОбществоЭкономика

Суд зарегистрировал иск компании «Газпром межрегионгаз Краснодар» к основному операционному юрлицу «Магнита» — АО «Тандер».

Происшествия

Расследование против Бистаева было начато после публикации видео, на котором он призывает «резать русских» и «устроить им голодомор», а также высказывает мнение, что казахстанцы «живут в оккупированной стране».

Политика

Страны, которые продолжат поддерживать правительство президента Венесуэлы Николаса Мадуро ждёт изоляция на мировой арене.

Общество

Днем 25 февраля в течение часа наблюдались проблемы с проведением операций по дебетовым картам Райффайзенбанка, сообщил РБК представитель компании.

Спорт

Пресс-секретарь Федерации фигурного катания России (ФФККР) Ольга Ермолина сказала, что состав заявки на чемпионат мира может быть изменен, передает “Спорт-Экспресс”.

Политика

Соединенные Штаты запросили экстренное заседание в Совете безопасности ООН, чтобы обсудить ситуацию в Венесуэле.

Политика

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

Происшествия

Сегодня обвиняемого в смертельном ДТП на Невском арестовали на два месяца. Мураду Касымову грозит до девяти лет лишения свободы.

Армия и оружие

Самоходное шасси КрАЗ-7634НЕ сломалось по дороге на полигон, расположенный в Херсонской области, сообщает “Главред”.

ПроисшествияПроисшествия

Злоумышленник зарезал мужчину в супермаркете, расположенном на Старокачаловской улице на юге Москвы.

Энергетика

Средние потребительские цены на бензин в России за январь выросли на 0,8% — до 44,16 рублей за литр, сообщает Росстат.

Происшествия

Ранее Telegram-канал Mash сообщил о том, что в общежитии МГУ на Воробьевых Горах нашли 23-летнего студента химического факультета, он был без сознания.

Экономика

EBITDA снизилась на 0,9% — до 24,9 млрд руб. Основные причины сокращения EBITDA — рост платы за радиочастотный спектр на 0,9 млрд руб. и интеграция магазинов “Евросети”, которая обошлась компании в 0,4 млрд руб. Квартальная выручка самой VEON в четвертом квартале 2018 года снизилась на 3,1% в годовом выражении — до $2,249 млрд, следует из отчетности компании по МСФО.

Источник: https://news.yandex.com/story/Nejroset_nauchilas_ugadyvat_stanet_li_pesnya_khitom–640d6caf62b255b0f2f7a4d75f0914cf

Цифровой слух: как «Яндекс» подбирает музыку под ваше настроение

В «Яндексе» машинное обучение (в том числе и нейросети) используется повсеместно: оно помогает лучше понимать смысл поисковых запросов пользователей, строить оптимальные маршруты в «Навигаторе», с высочайшей точностью прогнозировать погоду и многое другое. А в технологии «Диско» (от слова discovery), которая находится под капотом «Яндекс.Радио», нейросети помогают находить новую интересную для пользователя музыку и подсказывать песни, которые будут созвучны его настроению.

Настроение в цифрах

«Яндекс.Радио» — сервис, который предлагает выбирать станции под настроение и лайками или дизлайками оценивать звучащую музыку. Чтобы сформировать такие станции на основе одного лишь абстрактного понятия настроения необходима помощь нейросетей.

Именно они помогают из миллиона композиций отобрать треки, которые могут звучать на конкретной станции. Для жанрового радио такие треки отобрать довольно легко: достаточно, например, взять наиболее популярные песни в определенном жанре среди слушателей «Яндекс.

Музыки» и предложить их пользователю.

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

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

Совет

В итоге на основе этой выборки нейросеть способна оценить на соответствие теме и другие треки из нашей библиотеки.

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

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

Жонглируя ими, наша заряженная нейросетями рекомендательная система с каждой новой радиостанцией все точнее определяет настроение треков, а для создания новых радиостанций требуется уже не так много пользовательских определений настроения, как в самом начале (хотя без них все равно не обойтись).

Говоря простыми словами, нейросеть по-настоящему понимает, из чего состоит, например, восприятие «дождливости» у человека и может выразить числами то, что мы никогда бы не выразили словами.

Найти похожий

Недавно мы начали предлагать пользователям еще один способ открывать для себя новую музыку. Если вы, например, заслушали до дыр Can't Believe It исполнителей Flo Rida и Pitbull, «Яндекс.Музыка» может предложить вам песню куда менее известного исполнителя, и она будет похожа не только по жанру, но и по звучанию.

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

Читайте также:  Антон колосов - менеджер проекта

Во время разработки технологий компьютерного зрения (те самые технологии, которые понимают, что изображено на картинке) мы в «Яндексе» заметили, что в процессе обучения нейросеть строит некоторое свое внутреннее представление изображения, и похожие представления соответствуют похожим по смыслу изображениям. Например, нейросеть может «разглядеть» в разных картинках белых кошек.

Мы решили поступить аналогичным образом с музыкой.

Обратите внимание

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

Для решения этой задачи, как и в случае с «Радио», мы использовали метод обучения с учителем. Мы даем нейросети пример: вот это трек Can’t Believe It, его спектрограмма (мощность звукового сигнала в разные отрезки времени) выглядит так, а теперь определи, почему он считается танцевальным.

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

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

В итоге нейросеть переводит все эти особенности в цифры, а сами треки получаются представлены относительно небольшим набором чисел (от нескольких десятков до пары тысяч). Математически это представление выглядит как вектор, и теперь нам нужно всего лишь найти другие песни, чьи вектора будут похожи на вектор нашего трека.

Когда у нас есть несколько таких представлений, построенных разными сетями, возникает логичный вопрос, а как нам их сравнивать? Здесь снова не обойтись без помощи человека.

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

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

Электронный композитор

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

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

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

Важно

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

Совсем другое дело создавать музыку с нуля: здесь мы опускаемся на иной уровень абстракции, и такой задаче сеть обучить гораздо сложнее. Только представьте: одна секунда звука в виде волны в цифровом виде это 44 100 чисел.

И чтобы сочинять музыку, алгоритм должен научиться понимать зависимости между этими числами на разных временных масштабах. Допустим, мы научились генерировать короткие и неплохо звучащие отрывки, но сложить целое произведение из них очень сложно.

Иными словами, этюд на фортепьяно и симфония — это большая разница, и до сочинения нейросетями симфоний еще довольно далеко.

Зато они уже неплохо справляются с имитацией авторского стиля в текстах песен, что можно увидеть на примере «Нейронной обороны», проекта сотрудников Яндекса, которые научили нейросеть сочинять тексты песен в стиле Егора Летова, а затем положили их на музыку.

В ближайшем будущем мы наверняка увидим еще много проектов, которые будут использовать нейросети и для написания текстов, и для генерации музыки.

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

Источник: http://www.forbes.ru/forbeslife/344029-cifrovoy-sluh-kak-yandeks-podbiraet-muzyku-pod-vashe-nastroenie

Нейросеть «Яндекса» записала альбом в стиле группы Nirvana

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

За прошедшее время программисты «Яндекса» Иван Ямщиков (который на данный момент работает в Институте научной математики Общества Макса Планка в Лейпциге) и Алексей Тихонов научили свою нейронную сеть сочинять стихи на английском языке, похожие на тексты песен Курта Кобейна, лидера всемирно известного коллектива.

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

А сам альбом получил название «Neurona».

Совет

Для того чтобы обучить нейросеть писать стихи на английском языке, Ивану Ямщикову пришлось собрать огромный архив современной и классической зарубежной поэзии общим объемом около 200 мегабайт. В ходе работы выяснилось, что научить нейросеть языку Шекспира гораздо сложнее, чем русскому.

Дело в том, что в англоязычной поэзии гораздо меньше четко установленных правил и там не всегда работает «нормальная» грамматика. Поэтому команде экспертов пришлось удалить часть текстов из архива. После того как полученный результат удовлетворил ученых, они записали треки на старую аудиокассету с альбомом группы Nirvana.

Финальный результат и даже опубликовали клип на одну из песен в YouTube. Как заверяют разработчики, алгоритмы работы нейросети и детали ее разработки будут в ближайшее время опубликованы в одном из научных журналов.

Кроме того, российскому изданию РИА «Новости» удалось взять интервью у Ивана Ямщикова, полный текст которого, а также клип на один из треков за авторством нейросети вы можете найти ниже.

Иван, учитывая сложности, с которыми вы сталкивались при создании «Нейроны», пробовали ли вы сделать нечто похожее для текстов певицы Линды, известной необычным стилем своих стихов?

Год назад мы обучили нейросеть генерировать тексты в стиле Егора Летова. В принципе, ничто не мешает научить ее генерировать тексты и в стиле Линды.

Если нейросети теперь могут писать даже стихи и музыку, есть ли что-то, что они никогда не смогут сделать в принципе?

Это интересный вопрос, на который точного ответа нет. Главное помнить, что нейросеть — это не персонаж. Это просто тип алгоритма, инструмент, созданный для решения той или иной задачи. Как именно формулировать проблему, условия, ограничения, где брать данные для обучения? Со всеми этими вопросами, к примеру, сейчас работает человек.

Что именно заставило записать вас «Нейрону» на старую кассету с альбомами «Нирваны»?

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

Учитывая появление нейросетей, способных имитировать творчество известных людей, не появится ли в будущем соблазн ввести право собственности и копирайт не только на конкретные аудиозаписи, но и на стиль художника, музыканта или композитора?

Это, скорее, вопрос к специалистам из области права. В искусстве, в целом, пока есть элемент эксклюзивности. То, что нейросети умеют теперь имитировать стиль Ван Гога, не девальвирует его творчество. Есть элемент опосредованного общения между человеком, создавшим то или иное произведение, и человеком, который его увидел, услышал, прочитал.

Источник: https://Hi-News.ru/technology/nejroset-yandeksa-zapisala-albom-v-stile-gruppy-nirvana.html

Ссылка на основную публикацию
Adblock
detector