Проанализировав инструментальный аудиоконтент, Lim Xi Chen Terry изучил различные модели и методы классификации аудиоклипов на основе эмоциональной реакции, которую они вызывали у слушателей. Кроме того, для повышения производительности классификатора был изучен звук, сгенерированный искусственным интеллектом. Его наставником был Дэниел Ли, главный инженер (информация) Агентства оборонной науки и технологий. Этот пост является производной, сокращенной версией исходного отчета Терри.

TLDR: звук в видео может влиять на эмоции и восприятие слушателя, что делает его стратегическим инструментом противодействия информационным кампаниям. Анализ и классификация аудиоконтента могут помочь понять его влияние. Наше исследование сравнило различные наборы функций и моделей и показало, что модель SVC с вложениями Wav2Vec2 работает лучше всего. Мы также изучили возможность использования аудио, сгенерированного ИИ, для получения дополнительных обучающих данных для будущего анализа.

Фон

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

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

  1. Комбинация волновых частот различной интенсивности
  2. Фактор времени (непрерывно в течение определенного времени, а не моментального снимка в один момент)

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

Два проекта:

  1. Проект Emolysis (Распознавание звуковых эмоций с помощью машинного обучения)
  2. Project MoodGenius (ИИ для создания музыки)

Обзор проекта Emolysis

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

Набор данных

Используя пакеты Python, я собрал подборку музыкальных компиляций из онлайн-источников, которые я тщательно собрал в всеобъемлющий набор данных общей продолжительностью 20 часов 17 минут. Он включает в себя пять различных эмоций, которые может вызвать каждая песня, а именно: Злость, Спокойствие, Страх, Радость и Грусть. Впоследствии данные передаются в следующий конвейер предварительной обработки.

Предварительная обработка

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

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

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

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

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

Моделирование

Были нацелены на два типа функций: просодические и спектральные функции. Просодические особенности относятся к музыкальным элементам, которые передают смысл и эмоции за пределами буквально сыгранных нот, включая высоту звука и энергию. Спектральные характеристики относятся к уникальным паттернам звуковых волн, которые составляют различные музыкальные инструменты и ноты, в том числе кепстральные коэффициенты частоты Mel (MFCC), частота пересечения нуля и т. д. В следующей таблице представлены четыре набора функций, которые были исследованы в этом проекте. .

В процессе моделирования исследовались два подхода: традиционное машинное обучение и глубокое обучение.

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

В рамках Deep Learning была изучена модель HuBERT. Хотя изначально эта модель предназначалась для обучения речевому представлению, она имеет универсальные приложения и может быть использована в этом проекте. Используя методы трансферного обучения, его можно настроить для новой задачи. В частности, для этого проекта кодировщик BERT с 12 слоями можно разморозить и настроить для оптимальной производительности.

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

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

После получения 5 лучших моделей эти модели переоснащаются всеми обучающими данными (включая их дополненные аналоги) и тестируются на контрольном наборе тестов.

Производительность моделей сравнивалась на основе нескольких показателей, таких как невзвешенный средний отзыв (UAR), макро-оценка F1 и взвешенная оценка F1.

Оценка модели

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

Очевидно, что модели SVC и XGBoost продемонстрировали превосходную производительность с показателем UAR, превышающим 0,854. Примечательно, что модели, использующие большее количество функций, работают лучше по сравнению с ними. Кроме того, показатели UAR, Macro F1 и взвешенного F1 относительно схожи, что указывает на постоянную эффективность этих моделей при прогнозировании целевой эмоции.

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

Обзор проекта MoodGenius

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

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

GANSynth

GANSynth, модель, разработанная Google AI, способна синтезировать входной звук через генеративно-состязательные сети (GAN), обученные на наборе данных NSynth, который содержит около 305 тысяч музыкальных нот. Путем моделирования логарифмических величин и мгновенных частот с достаточным частотным разрешением в спектральной области GANSynth может генерировать высококачественный и локально когерентный звук.

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

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

Рассеивание

Riffusion — это нейронная сеть, разработанная Сетом Форсгреном и Хайком Мартиросом, которая генерирует музыку, используя спектрограммы (т. е. изображения звука), а не необработанные звуковые волны. Благодаря тонкой настройке Stable Diffusion это приводит к созданию модели для генерации спектрограмм из текстовых подсказок, которые затем могут быть преобразованы в аудиофайлы с помощью обратного преобразования Фурье. Хотя сгенерированные аудиофайлы короткие, обычно длящиеся всего несколько секунд, модель также может использовать скрытое пространство между выходными данными для гармоничного объединения разных файлов.

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

Образцы

Ниже приведены некоторые мелодии, созданные различными моделями:

Мелодия, сгенерированная GANSynth

Риффузионная мелодия — подсказка: веселая музыка

Вот некоторые из плохо сгенерированных мелодий:

Мелодия, сгенерированная GANSynth

Мелодия, сгенерированная Riffusion — подсказка: страшная призрачная страшная музыка

Собираем вместе

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

Заключение

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