Перейти к содержанию

6.5.5 Современные достижения в анализе эмоций

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

Современные модели, предназначенные для распознавания эмоциональной окраски речи в аудиоканале, обычно представляют собой свёрточные или свёрточно-рекуррентные нейронные сети, получающие на вход различные представления звукового сигнала (спектрограммы, последовательности наборов мел-кепстральных коэффициентов и т. п.) и решающие задачу классификации или регрессии. В этом смысле они напоминают модели, предназначенные для решения других задач обработки человеческого голоса: определения пола и возраста говорящего, выявления ключевых слов или полнотекстового распознавания речи. Рассмотрим для примера одну из таких работ[1], увидевшую свет в 2020 г. и установившую, по заявлению авторов, новые рекорды в точности распознавания эмоциональной окраски сразу для двух датасетов — RAVDESS и IEMOCAP (при этом результат на датасете EMO-DB лишь несущественно уступает наилучшему существующему решению).

Её авторы, исследователи Диас Исса, Мухаммед Фатих Демирджи и Аднан Языджи из Назарбаев Университета (Астана, Казахстан), представили новую архитектуру, в которой на вход нейронной сети подаются мел-кепстральные коэффициенты, хромаграмма (представление, напоминающее спектрограмму, с тем лишь отличием, что по оси y в хромаграмме отложены не диапазоны частот, а звуковысотные классы [pitch class] — классы, образуемые множеством всех звуковых высот, отстоящих друг от друга на целое число октав), мел-спектрограмма, а также два более хитрых представления — на основе так называемых спектральных контрастов и на основе тоннетца [Tonnetz].

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

Рис. 144. Тоннетц, или эйлеровская звуковая сетка

Тоннетц был впервые предложен[2] Леонардом Эйлером в 1739 г., затем на долгое время забыт, затем переоткрыт в XIX в. и стал весьма популярен у музыкальных теоретиков — таких, например, как Риман и Эттинген.

В книге одно тянет за собой другое, и трудно понять, где следует остановиться. Что такое спектрограммы, мел-шкала и кепстр, мы более-менее подробно разобрали в разделах, посвящённых распознаванию и синтезу речи. Сведения о хромаграмме, в принципе, удалось вместить в одно вроде бы понятное предложение. Хуже обстоят дела с тоннетцем. Авторы рассматриваемой нами модели использовали функцию librosa.feature.tonnetz из популярной библиотеки для обработки звука Librosa в языке Python для получения соответствующего представления звука. Для описания работы этой функции нужно объяснять, что такое натуральный строй, равномерно темперированный строй, как тоновое пространство из плоскости становится сначала трубкой с нанизанной на её поверхность спиральной матрицей Чу, а потом и вовсе гипертором. И как 12-мерный вектор хромаграммы при помощи операции построения центроидов превращается в набор из шести координат представления, предложенного[3] Хартом, Сэндлером и Гэссером и основанного на тоннетце Эйлера. Примерно так же дело обстоит и со спектральными контрастами[4]. В общем, выглядит как бессмысленный экскурс в теорию музыки для тех, кому она не особо-то и нужна. Один из моих коллег (занимающийся среди прочего созданием моделей для распознавания эмоций), выслушав мои страдания, посоветовал написать так: «авторы считают сложные непонятные фичи из теории музыки».

Итак, авторы статьи берут хорошо известные нам фичи, а также ряд сложных и непонятных фичей из теории музыки, получают матрицу размерностью 193 × 1 (т. е. все спектральные представления строятся для всей фразы целиком; таким образом, фраза в итоге описывается набором из 193 чисел) и пихают её на вход свёрточной нейронной сети. Базовая топология сети, использованная авторами, содержит целых шесть слоёв свёртки (размер ядер везде 5 × 1), один слой максимизирующего пулинга (8 × 1), три слоя прореживания и один полносвязный слой.

Эта архитектура затем модифицируется авторами под каждую отдельную задачу путём модификации параметров прореживания, а также удаления некоторых слоёв. В случае с EMO‑DB авторы выделяют отдельные сети для выявления наиболее сложно распознаваемых эмоций, а также объединяют несколько моделей в ансамбли. Впрочем, с датасетом RAVDESS неплохо справляется и базовая архитектура. Вот так выглядит матрица ошибок [confusion matrix] для этого набора данных (авторы разделили все записи на обучающую и тестовую выборки в пропорции 80 : 20, ниже приведена матрица ошибок для тестовой выборки).

Раздра-жение Спокой-ствие Отвра-щение Страх Счастье Нейтральная окраска Печаль Удив-ление
Раздражение 92,31 0 3,85 3,85 0 0 0 0
Спокойствие 0 57,14 10,71 0 3,57 7,14 17,86 3,57
Отвращение 3,45 0 72,41 3,45 6,9 0 0 13,79
Страх 2,7 0 5,41 75,68 5,41 2,7 0 8,11
Счастье 3,23 0 3,23 9,68 67,74 0 0 16,13
Нейтральная окраска 0 12,5 0 12,5 0 75 0 0
Печаль 0 3,7 7,41 18,52 7,41 3,7 51,85 7,41
Удивление 0 0 6,67 6,67 6,67 0 0 80

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

Итоговая точность [precision] предсказаний модели составляет около 71,6% для датасета RAVDESS, что превосходит точность распознавания, демонстрируемую людьми (67,0%), почти на пять процентных пунктов (для датасета IEMOCAP точность — 64,3%). Как видно из матрицы ошибок, наиболее частая ошибка модели заключается в том, что она иногда (в 18,52% случаев) принимает страх за печаль — ошибка, которая выглядит весьма «по-человечески».

Разобранная нами работа довольно характерна для данной области. Результаты на таких «игрушечных» эмоциональных датасетах, как RAVDESS, TESS, EMO-DB, IEMOCAP, улучшаются в наше время порой несколько раз в год — вы можете сами убедиться в этом, набрав в поисковой системе название соответствующего датасета и аббревиатуру SOTA (state-of-the-art, уровень развития, употребляется в значении «лучший результат по какому-либо критерию»). Однако и глубокое обучение не миновала одна из главных проблем современной науки — проблема кризиса воспроизводимости, ввиду чего к результатам без публикации исходного кода следует относиться с осторожностью. Если опытным взглядом присмотреться к разобранной нами статье, то может возникнуть ряд вопросов, требующих прояснения. Например, в тексте статьи упоминается свёртка с ядром 5 × 5, хотя на схемах мы видим свёртку с ядром 5 × 1. Ну ладно, это сравнительно безобидная опечатка. Но вот авторы пишут (в отношении эксперимента с RAVDESS): «Поскольку разделение данных [на обучающую и тестовую выборку] осуществлялось случайным образом, классификация является независимой от актёра» [Since data partitioning is performed randomly, the classification is speaker-independent]. Если под «случайным образом» подразумевалось, что каждый образец с вероятностью 80% попадал в обучающую и с вероятностью 20% в тестовую выборки, это значит, что с довольно большой вероятностью образцы речи одного и того же актёра попали как в обучающую, так и в тестовую выборки (напомню, что в RAVDESS содержится в общей сложности 7356 записей, сделанных всего 24 актёрами). Таким образом, классификатор становится как раз зависимым от актёра. В разделе про выделение признаков ничего не сказано о параметрах использованных преобразований, не объяснено, почему число признаков в итоге оказалось равно 193, сколько из них приходится на мел-кепстральные коэффициенты, а сколько на мел-спектрограмму, как эти признаки упорядочены внутри матрицы. Это не совсем праздный вопрос, ведь, объединяя разнородные признаки в одну матрицу, которая затем подвергается свёртке, авторы допускают ситуацию, когда в окно свёртки попадут разнородные по сути величины. А применение к небольшой матрице размерностью 193 × 1 многослойной сети с целыми шестью слоями свёртки и количеством признаков в каждом из них от 128 до 256, да ещё в итоге и полносвязного слоя при сравнительно скромных параметрах прореживания наверняка должно приводить к систематическому переобучению модели. Как авторы боролись с этой проблемой? Возможно, применяли раннюю остановку обучения при достижении минимальной ошибки на тестовой выборке? Если так, то сколько экспериментов было проведено и не возник ли эффект подстройки под тестовую выборку? Или в каждом эксперименте происходило переразбиение данных?

Кроме того, от внимания авторов исследования ускользнула работа 2019 г. российских исследователей — Григория Стерлинга (моего теперешнего коллеги) и Евы Казимировой — под названием «Сквозное распознавание эмоций по голосу с глубокими эмбеддингами фреймов и обработкой нейтральной речи» (End-to-End Emotion Recognition From Speech With Deep Frame Embeddings And Neutral Speech Handling), в которой заявлена более высокая точность распознавания для IEMOCAP (65,9%) (российские исследователи использовали спектральное представление звукового сигнала и сочетание свёрточной нейронной сети с LSTM)[5].

Разумеется, наличие такого рода вопросов вовсе не означает недобросовестности авторов исследования из Казахстана, особенно учитывая сумасшедшие темпы развития науки в этой области. Но, чтобы избежать возможных ошибок или неоднозначностей, многие исследователи в области глубокого обучения предпочитают публиковать не только статьи, но и кодовую базу своих проектов. Крупнейшим каталогом таких публикаций является ресурс paperswithcode.com, позволяющий найти работы, устанавливающие SOTA для самых разных задач машинного обучения, в том числе и для задачи распознавания эмоций. Например, по запросу «Speech Emotion Recognition» можно найти сразу девять работ, в том числе работу[6], установившую в 2018 г. новый уровень SOTA для датасета IEMOCAP. В этой статье приводится несколько моделей, использующих различные модальности данных: только текст (автоматически распознанная речь), только аудио и текст + аудио. Точность модели, использующей только звук, составляет 54,6% против 64,3% в работе казахстанских исследователей. Но при этом в нашем распоряжении не только статья, но и репозиторий с кодом, из которого видно, что использованная авторами модель представляет собой LSTM-сеть, получающую на вход мел-кепстральные коэффициенты (а также их разности первого и второго порядка для соседних фреймов) для каждого из фреймов звукозаписи длиной 25 миллисекунд с шагом в 10 миллисекунд.

Интересно, что модель, основанная только на тексте, позволяет достичь точности 63,5%, а модель, использующая и текст и звук, достигает точности 71,8% (69,1% при использовании системы распознавания речи от Google для получения текстовых расшифровок). Тесты показывают, что точность людей на IEMOCAP составляет около 70%[7], а это означает, что в публичном доступе с 2018 г. есть модель, способная распознавать эмоции в человеческой речи на уровне самих людей (по крайней мере на таком наборе данных, как IEMOCAP).

  1. Issa D., Fatih Demirci M., Yazici A. (2020). Speech emotion recognition with deep convolutional neural networks / Biomedical Signal Processing and Control, Vol. 59 // https://doi.org/10.1016/j.bspc.2020.101894
  2. Euler L. (1739). Tentamen novae theoriae musicae ex certissismis harmoniae principiis dilucide expositae (in Latin) / Saint Petersburg Academy, p. 147.
  3. Harte C., Sandler M., Gasser M. (2006). Detecting Harmonic Change In Musical Audio / AMCMM '06: Proceedings of the 1st ACM workshop on Audio and music computing multimedia, October 2006, pp. 21—26 // https://doi.org/10.1145/1178723.1178727
  4. Jiang D.-N., Lu L., Zhang H.-J., Tao J.-H., Cai L.-H. (2002). Music type classification by spectral contrast feature / Proceedings of the IEEE International Conference on Multimedia and Expo // https://doi.org/10.1109/ICME.2002.1035731
  5. Sterling G., Kazimirova E. (2019). End-to-end Emotion Recognition From Speech With Deep Frame Embeddings And Neutral Speech Handling / FICC 2019: Advances in Information and Communication, pp. 1123-1135 // https://doi.org/10.1007/978-3-030-12385-7_76
  6. Yoon S., Byun S., Jung K. (2018). Multimodal speech emotion recognition using audio and text // https://paperswithcode.com/paper/multimodal-speech-emotion-recognition-using
  7. Chernykh V., Prikhodko P. (2018). Emotion Recognition From Speech With Recurrent Neural Networks // https://arxiv.org/abs/1701.08071
Loading comments...