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

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

Description

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

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

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

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

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

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

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

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

Долгая краткосрочная память (англ. Long short-term memory; LSTM) − разновидность архитектуры рекуррентных нейронных сетей, предложенная в 1997 году Сеппом Хохрайтером и Юргеном Шмидхубером. Характерной особенностью LSTM-сети является возможность выполнения вычислений, характерных для компьютера, при наличии матрицы весов, рассматриваемой как программа. В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными лагами с неопределённой продолжительностью и границами. В контексте поставленной задачи данное свойство особенно эффективно, так как жанр музыкальных композиций может быть опознан не только по всей композиции целиком, но также и по её ключевым фрагментам.

https://www.youtube.com/watch?v=15ptjks6Z_M

Рис. 1. Схема нейронной сети LSTM

LSTM состоит из следующих частей (рис.1):

— вход (input) нейронной сети;

— выход (output) нейронной сети;

— внутреннее состояние нейронной сети или запоминающая ячейка (memory cell);

— фильтр очистки памяти или фильтр забывания (forget gate);

— входной фильтр или фильтр обновления памяти (input gate);

— выходной фильтр или фильтр выдачи результата (output gate).

На представленной выше схеме LSTM-сети каждая линия обозначает передачу вектора с выхода одного узла на входы других. Розовые круги обозначают поточечные операции, например, сложение векторов, а желтые прямоугольники – обученные слои. Слияние линий предполагает объединение, а разветвление линии говорит о том, что информация копируется, и копии направляются в разные точки назначения. LSTM-сеть имеет возможность удалять и добавлять информацию в состояние ячейки. Этот процесс регулируется специальными структурами, называемыми гейтами. Гейт – это механизм, позволяющий пропускать информацию избирательно. Он состоит из sigmoid-слоя и операции поточечного умножения. Выходом sigmoid-слоя является число от 0 до 1, которое определяет уровень пропускания. Одна ячейка имеет три гейта, управляющих ее состоянием. На первом этапе необходимо решить, какую информацию следует удалить из состояния ячейки. Это решение принимает sigmoid-слой, называемый «гейтом забывания», принимающий на вход данные из предыдущей ячейки и часть исходных данных. На выходе получается 0 или 1, что означает «забыть» или «не забыть». На следующем этапе необходимо решить, какую новую информацию следует записать в состояние ячейки. Этот этап делится на две части. На первом этапе sigmoid-слой, называемый «входным гейтом» (input gate), решает, какие значения необходимо обновить. Затем tanh-слой создает вектор новых значений-кандидатов, которые могут быть добавлены в состояние ячейки. Затем обновляется предыдущее состояние ячейки до текущего состояния. Состояние ячейки умножается на выход гейта забывания, «забывая» таким образом то, что ранее было решено «забыть». Затем прибавляется новые значения-кандидаты, отмасштабированные соответствующим образом. Наконец, необходимо решить, что следует отправить на выход. Выход будет представлять собой отфильтрованное состояние ячейки. Сначала sigmoid-слой решает, какие элементы состояния ячейки необходимо передать на выход. Затем состояние ячейки преобразуется с помощью tanh-слоя к интервалу от -1 до 1 и умножается на выход sigmoid-слоя, чтобы вывести только то, что было решено вывести .

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

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

Для решения задачи распознавания жанра музыкального аудиофайла рассматривались следующие нейронные сети:

− сеть прямого распространения, обученная для классификации входных данных в соответствии с целевыми классами (patternnet);

− самоорганизующаяся карта (selforgmap), распределяющая набор данных на количество классов, опираясь на сходство шаблонов;

− составная модель нейронной сети из комбинации сверточных и MaxPooling-слоев.

Сеть прямого распространения имеет следующую топологию (рис. 2).

Рисунок 2

С помощью Simulink (Matlab) исследована структура сети (рис. 3).

Рисунок 3

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

Если у Вас появилась заинтересованность в данной нейронной сети, и она может помочь Вам в реализации Ваших бизнес и других технических задачах, пожалуйста отправьте заявку на email info@ai2b.ru , или позвоните по телефону 8(495)661-61-09

Reviews

There are no reviews yet.

Be the first to review “Исследование нейросетевого подхода для решения задач атрибуции и определения эпохи стиля музыкального произведения .”

Ваш адрес email не будет опубликован. Обязательные поля помечены *