В этой статье я расскажу вам, как я разработал систему распознавания эмоций, используя речь в качестве входных данных, а затем увеличил производительность с помощью самоконтролируемых представлений, обученных с помощью Contrastive Predictive Coding (CPC). Точность результатов улучшилась с 71% до 80% при использовании CPC. Это значительное относительное снижение ошибки на 30%.

Посмотреть полный код здесь.

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

Я обнаружил, что двунаправленная модель RNN, использующая предварительно обученные представления CPC в качестве входных функций, была самой производительной установкой, которая приводит к 79,6% кадровой точности при классификации восьми эмоций в наборе данных RAVDESS. Насколько мне известно, это очень конкурентоспособная система по сравнению с другими, обученными на этих данных.

Вступление

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

Предсказать эмоцию по звуку сложно, поскольку эмоции воспринимаются от человека к человеку по-разному, и их часто бывает трудно интерпретировать. Кроме того, многие эмоциональные сигналы исходят из областей, не связанных с речью, таких как выражение лица, особый менталитет человека и контекст взаимодействия. Как люди, мы, естественно, принимаем во внимание все эти сигналы, а также свой прошлый опыт общения, прежде чем выносить окончательное суждение. Некоторые авторы улучшают производительность, используя мультимодальные подходы, когда звук комбинируется с текстом [3,4] или видео [5]. В идеале модель мира, которая понимает связи между этими областями и социальными взаимодействиями (см. Мировые области в [2]), должна быть обучена этой задаче. Тем не менее, это постоянная область исследований, и в настоящее время неясно, как учиться на социальных взаимодействиях, а не просто изучать тенденции на основе самих данных. В этой работе я повышаю производительность, используя обучение представлений с самоконтролем с использованием структуры Contrastive Predictive Coding (CPC [8]), а не мультимодальное обучение.

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

Связанных с работой

Распознавание эмоций

Большинство систем распознавания эмоций [3,4,6] были обучены с использованием Mel-Frequency Cepstral Coefficients (MFCC), которые являются популярными звуковыми функциями, основанными на частотной спектрограмме. Банки Fbanks, также известные как спектрограммы Mel, похожи на MFCC и широко используются. Оба фиксируют частотный контент, к которому чувствительны люди. Было мало работ, показывающих прирост производительности при использовании функций машинного обучения посредством самостоятельного обучения в задаче распознавания эмоций. Стоит отметить, что MFCC и Fbanks по-прежнему могут использоваться в качестве входных данных для самоконтролируемой задачи вместо необработанного звука и часто могут быть хорошей отправной точкой при извлечении более богатых представлений. Я расскажу об этом позже.

Самостоятельное обучение

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

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

Существует две основных формы обучения с самоконтролем [7]:

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

Популярные подходы

Популярным генеративным самоконтролируемым подходом является авторегрессионное прогнозирующее кодирование (APC [9]). После того, как необработанный звук преобразован в Fbanks, задача состоит в том, чтобы предсказать временные шаги вектора признаков N в будущем с учетом характеристик до этого временного шага, где диапазон 1 N 10 дает хорошие представления. Прошлый контекст резюмируется с помощью рекуррентной нейронной сети (RNN) или преобразователя [10], и активации последних слоев принимаются в качестве представлений, которые будут использоваться. Потеря - это среднеквадратичная ошибка относительно эталона. Недавняя работа добавляет векторный квантовый слой [11] для дальнейшего улучшения результатов идентификации телефона / динамика.

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

Другие конкурентные методы включают Momentum Contrast (MoCo [12]) и Problem-Agnostic Speech Encoder (PASE [13]). Последний использует распознавание эмоций в качестве одного из рабочих, чтобы протолкнуть релевантную информацию в представления.

Контрастное прогнозирующее кодирование

Обзор CPC приведен на рисунке 1, и в этом разделе описывается, как это работает. Я предоставил несколько скриншотов кода PyTorch, чтобы проиллюстрировать этот метод - они упрощены по сравнению с полным кодом, приведенным в репозитории проекта.

Во-первых, необработанные аудиосэмплы x с частотой 16 кГц проходят через кодировщик (g_enc), который понижает дискретизацию звука с коэффициентом 160 с использованием нескольких сверточных слоев. Следовательно, выходная частота энкодера составляет 100 Гц. В качестве альтернативы кодер можно заменить многослойным персептроном, который работает с функциями Fbank, которые уже работают на частоте 100 Гц. Второй метод используется в качестве базового в [9] и используется в этой работе, поскольку я обнаружил, что он дает небольшой выигрыш в производительности при использовании изученных функций для последующих задач.

Выходные данные кодировщика z в скрытом пространстве передаются в авторегрессионную модель g_ar (такую ​​как RNN). Этот этап выводит c на каждом временном шаге, который объединяет информацию обо всех предыдущих латентах. Метод пересылки на рисунке 2 показывает, как это реализовано в PyTorch.

Теперь на определенном временном шаге t применяется линейное преобразование c с весовой матрицей, связанной с тем, насколько далеко вы прогнозируете (показано пунктирными линиями на рисунке 1 и кодом в строке 36 на рисунке 3). Затем эти линейные преобразования умножаются на фактическое будущее скрытое z, чтобы получить log коэффициент плотности. Отношение плотности определяется в уравнении ниже:

Слой Softmax наносится поверх логарифмической плотности положительного образца и множества отрицательных образцов. Цель состоит в том, чтобы увеличить вероятность положительного образца или, другими словами, суметь понять, что латентный положительный результат наиболее связан с историей. Это повторяется k раз, как показано циклом на каждом временном шаге на рисунке 3.

«Цель обучения требует определения правильного квантованного представления скрытого звука в наборе отвлекающих факторов» - отрывок из wav2vec 2.0 [14]

Потеря в CPC известна как InfoNCE, приведенная в уравнении ниже, и это то же самое, что категориальная кросс-энтропия правильной классификации положительного образца.

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

Код, приведенный на рисунке 4, дает пример инициализируемой модели, как данные передаются и вычисляет потери InfoNCE несколько раз в последовательности. Стоит понимать, что есть петли во времени «t» в последовательности для прогнозирования, а также количество временных шагов «k» для прогнозирования вперед.

Наборы данных

Предварительное обучение CPC обучается на 100-часовом подмножестве набора данных Librispeech [17], состоящего из английской речи с частотой 16 кГц.

Набор данных, используемый для задачи распознавания эмоций, называется Аудиовизуальная база данных эмоциональной речи и песни Райерсона (RAVDESS, [16]). В моей работе рассматривается только набор речевых данных. Он состоит из 24 выступающих с равным распределением актеров-мужчин и женщин. Для зачитывания конкретных предложений используются восемь эмоций, а именно: нейтральный, спокойный, счастливый, грустный, сердитый, пугающий, удивление и отвращение.

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

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

Метод

Система CPC

Самоконтролируемый этап предварительной тренировки, используемый для создания функций для обучения распознаванию эмоций, описан в [9] как базовый уровень CPC. Он используется вместо кодировщика сверточных функций, который работает с необработанной формой волны, как в [8], поскольку я обнаружил, что он незначительно улучшает результаты. Стандартные 80-мерные Fbanки использовались в качестве входных функций, которые передаются через трехслойный кодировщик MLP со скрытым размером 512, пакетной нормой и активациями ReLU. Выходные данные кодировщика признаков (z) проходят через один уровень GRU с размером вывода 256, чтобы получить контекстные векторы признаков (c). Они используются в качестве представлений для обучения модели распознавания эмоций.

Система CPC была обучена с размером окна 128 (соответствует 1,28 с, поскольку Fbanks находятся на частоте 100 Гц), размер пакета 64 и 500 000 шагов. Это составляет примерно 114 эпох из 100-часового набора данных Librispeech (использованного в [8]). Оптимизатор RAdam использовался с фиксированной скоростью обучения 4e-4 в течение первых двух третей обучения перед его косинусоидальным отжигом до 1e-6. Был использован общий горизонт 12 временных шагов в будущем (k), поскольку было показано, что он дает наивысшую точность различения положительных и отрицательных выборок в задаче CPC [8].

Система распознавания эмоций

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

  • Линейный - одинарный линейный слой.
  • МЛП-2 - многослойный персептрон с 2-мя блоками. Каждый блок содержит линейный слой (скрытый размер 1024), пакетную норму, активацию и выпадение ReLU (вероятность 0,1).
  • МЛП-4 - то же, что и выше, но с 4 блоками.
  • RNN (uni-dir) - 2 слоя, не двунаправленный, скрытый размер 512, вероятность выпадения 0,1
  • Сверточный - та же структура, что и [6], с 6 сверточными слоями, активациями ReLU, вероятностью выпадения 0,1 и максимальным уровнем объединения.
  • WaveNet - расширенная сверточная структура, которая растет экспоненциально, как в [15]. Гиперпараметры: скрытый размер 64, глубина расширения 6, количество повторов 5, размер ядра 2.
  • RNN (bi-dir) - то же, что и RNN, но двунаправленный.

Каждая модель была обучена с использованием размера окна 1024 (10,24 с), размера пакета 8 и всего 40 тыс. Шагов. Для восьми эмоций использовалась покадровая перекрестная потеря энтропии. Оптимизатор и скорость обучения не изменились по сравнению с обучением CPC, однако график скорости обучения отключен.

Базовая модель распознавания эмоций без предварительного обучения CPC, которая использует Fbanks в качестве векторов признаков, использовалась для сравнения на протяжении всего моего анализа.

Полученные результаты

Влияние цены за клик

Линейная архитектура часто используется в самообучающейся литературе для иллюстрации доступности представлений. В этой работе я хотел показать, что есть преимущество даже для более сложных архитектур, таких как модель в стиле WaveNet с расширенными свертками или двунаправленная RNN. Таблица 1 показывает точность по кадрам при использовании функций Fbanks и CPC для каждой из предложенных архитектур. В каждом случае функции CPC приводят к повышению точности классификации эмоций в речи независимо от архитектуры. Среднее уменьшение относительной ошибки 21,7%; Другими словами, исчезает более одной пятой ошибок.

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

Влияние архитектуры

Три худшие модели в Таблице 1 не используют информацию во времени - они пытаются классифицировать эмоции, учитывая представление только одного кадра. Модели, использующие однонаправленную RNN или сверточные слои, могут учитывать дополнительный контекст, что имеет большое значение, особенно при использовании Fbanks. Модель в стиле WaveNet имеет гораздо большее поле восприятия по сравнению с обычной сверточной моделью, и это еще больше повышает производительность. Одна из причин может заключаться в том, что он может заглядывать в будущее, поскольку извилины не замаскированы. Подобно модели WaveNet, двунаправленная RNN может использовать контекст из будущего, и эта архитектура обеспечивает наилучшую производительность распознавания эмоций в сочетании с функциями CPC. Покадровая точность составила 79,6% на тестовом наборе RAVDESS. Насколько мне известно, классификация всех восьми эмоций является передовым этапом в решении этой задачи.

Индивидуальные эмоции

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

Будущая работа

Дальнейшая работа может включать замену RNN в системе CPC трансформатором (это сделано в [14]). Это позволило бы мне расширить модель CPC и использовать больше немаркированных данных из ряда источников, помимо Librispeech. Кроме того, к данным распознавания эмоций можно добавить увеличение данных для повышения надежности и, возможно, дальнейшего улучшения результатов.

Заключение

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

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

использованная литература

[1] Госал, Д., Маджумдер, Н., Пория, С., Чхая, Н. и Гельбух, А., 2019. Dialoguegcn: Сверточная нейронная сеть на графах для распознавания эмоций в разговоре. препринт arXiv arXiv: 1908.11540.

[2] Биск, Ю., Хольцман, А., Томасон, Дж., Андреас, Дж., Бенжио, Ю., Чай, Дж., Лапата, М., Лазариду, А., Мэй, Дж., Нисневич. , А. и Пинто, Н., 2020. Опыт основания языка. препринт arXiv arXiv: 2004.10151.

[3] Цай, Л., Ху, Ю., Донг, Дж. И Чжоу, С., 2019. Аудиотекстовое распознавание эмоций на основе улучшенных нейронных сетей. Математические проблемы в инженерии, 2019.

[4] Юн, С., Бюн, С., Юнг, К., 2018, декабрь. Мультимодальное распознавание речевых эмоций с использованием звука и текста. В Семинар по технологиям разговорной речи (SLT) IEEE 2018 (стр. 112–118). IEEE.

[5] Ортега, Дж. Д., Кардинал, П., Керих, А. Л., 2019 г., октябрь. Распознавание эмоций с помощью сочетания аудио и видео функций. В статье Международная конференция IEEE по системам, человеку и кибернетике (SMC), 2019 г. (стр. 3847–3852). IEEE.

[6] Чу, Р., 2019. Распознавание речевых эмоций с помощью сверточной нейронной сети. Https://towardsdatascience.com/speech-emotion-recognition-with-convolution-neural-network-1e6bb7130ce3

[7] Ананд А., 2020. Контрастивное обучение с самоконтролем. Https://ankeshanand.com/blog/2020/01/26/contrative-self-supervised-learning.html

[8] Оорд, А.В.Д., Ли, Ю. и Виньялс, О., 2018. Репрезентативное обучение с контрастным предсказательным кодированием. Препринт arXiv arXiv: 1807.03748.

[9] Чанг, Ю.А., Сюй, В.Н., Тан, Х. и Гласс, Дж., 2019. Модель авторегрессии без учителя для обучения репрезентации речи. Препринт arXiv arXiv: 1904.03240.

[10] Чанг, Ю.А. and Glass, J., 2020, май. Генеративное предварительное обучение речи с авторегрессионным прогнозирующим кодированием. В документе ICASSP 2020–2020 Международная конференция IEEE по акустике, обработке речи и сигналов (ICASSP) (стр. 3497–3501). IEEE.

[11] Чанг, Ю.А., Тан, Х. и Гласс, Дж., 2020. Векторно-квантованное авторегрессионное прогнозирующее кодирование. Препринт arXiv arXiv: 2005.08392.

[12] Дин, К., Хе, X. и Ван, Г., 2020. Вложение обучаемого динамика с импульсным контрастом. Препринт arXiv arXiv: 2001.01986.

[13] Паскуаль, С., Раванелли, М., Серра, Дж., Бонафонте, А. и Бенжио, Ю., 2019. Изучение не зависящих от проблем речевых репрезентаций из нескольких заданий с самоконтролем. Препринт arXiv arXiv: 1904.03416.

[14] Баевски А., Чжоу Х., Мохамед А. и Аули М., 2020. wav2vec 2.0: Структура для самостоятельного обучения речевым репрезентациям. Препринт arXiv arXiv: 2006.11477.

[15] Оорд, А.В.Д., Дилеман, С., Зен, Х., Симонян, К., Виньялс, О., Грейвс, А., Кальчбреннер, Н., Сеньор, А. и Кавукчуоглу, К., 2016. Wavenet : Генеративная модель для сырого звука. Препринт arXiv arXiv: 1609.03499.

[16] Ливингстон С.Р., Руссо Ф.А. (2018) Аудиовизуальная база данных эмоциональной речи и песни Райерсона (RAVDESS): динамический, мультимодальный набор выражений лица и голоса на североамериканском английском. PLoS ONE 13 (5): e0196391.

[17] Васил Панайотов, Гуого Чен, Даниэль Пови и Санджив Худанпур. Librispeech: корпус asr, основанный на аудиокнигах, являющихся общественным достоянием. В области акустики, речи и обработки сигналов (ICASSP), Международная конференция IEEE 2015 г., стр. 5206–5210. IEEE, 2015.