С машинами на одном языке: как компьютеры «слышат» музыку и для чего используют этот навык

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

Как компьютер «видит» звук? 

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


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

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

Еще более наглядное объяснение этого процесса дается в рамках «Урока Цифры» от Яндекса — «Цифровое искусство: музыка и IT». В этом проекте эксперты компании рассказывают о музыкальной оцифровке, теории звука, системах рекомендаций в медиасервисах, а после теоретической части участники могут попробовать самостоятельно продолжить композицию. Уроки и задания предназначены для школьников, но взрослым они тоже будут интересны.

Как ИИ распознает музыку и рекомендует песни? 

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

Также ИИ может удачно рекомендовать песни в стриминговых сервисах. Представим, что мы только что послушали свой любимый трек. Чтобы предложить нам следующую композицию, нейросети сравнивают нашу песню с миллионами других. В частности, ИИ анализирует большое количество спектрограмм, находит в них закономерности и с высокой точностью определяет, похожи ли два трека по жанру, используемым инструментам и даже по настроению. По сути, такие же процессы происходят и в человеческом мозге: люди отличают рок от джаза, потому что послушали много разной музыки и научились определять признаки того или иного жанра. Разница в том, что ИИ делает это на языке цифр и способен изучить трек гораздо глубже человека — буквально по тысячам параметров — и запомнить не 100 мелодий, а миллионы.

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


Кроме треков, которые мы обычно слушаем, ИИ учитывает и данные о нашем поведении. Например, информация о том, что мы смотрим на «Кинопоиске», позволят предсказать, что мы захотим послушать в «Яндекс Музыке». Любите вестерны? Держите «The Good, the Bad and the Ugly» Эннио Морриконе. Также может учитываться и наше отношение к конкретным песням или исполнителям — сколько раз мы лайкнули композиции определенного жанра или определенного артиста, а какие песни, наоборот, оценили негативно или переключили в тот момент, когда нейросеть предложила нам их послушать. История взаимодействия с музыкой внутри сервиса складывается в статистику, которая помогает ИИ разобраться, что лучше порекомендовать конкретному человеку в тот или иной период времени. 

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

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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND