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

То же самое работает и с искусственной нейронной сетью (ИНС). Почти * любой человек является незнакомцем для ИНС, и когда мы ограничиваем его только одной модальностью (скажем, показываем видео без звука), это может сбить с толку похожие эмоции, пытаясь их распознать: например, удивленное и счастливое лицо, снятое на 3-секундном видео, может выглядеть очень похоже. Как мы обучаем нашу ИНС видеть разницу между ними?

Люди могут смягчить свое замешательство, добавив новые каналы информации: они могут включить звук фильма или попросить человека прочитать их текстовое сообщение вслух, чтобы передать подразумеваемые эмоции. Мы предположили, что тот же подход может работать с ИНС, и решили провести ряд экспериментов, в которых мы добавили несколько модальностей (модальность - это классификация одного независимого канала сенсорного ввода / вывода между компьютером и человеком) к ИНС, чтобы она могла видеть, слушать и читать одновременно.

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

Но как мы превратили три очень разных типа данных - видео, аудио и текст - в идентичные, которые могла бы анализировать ИНС? Мы решили стандартизировать данные для всех трех модальностей.

Во-первых, мы разделили видео на 20 четных кадров и равномерно распределили их по всей последовательности кадров. Таким образом, мы могли позволить ИНС «видеть» всю эмоцию одновременно, даже если соответствующие движения лица менялись (см. Рис. 1). Кроме того, такой подход сэкономил много памяти во время вычислений.

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

В-третьих, мы стандартизировали текстовые данные. Здесь мы должны признать, что мы проделали небольшую предварительную подготовку и извлекли текст из аудио, используя две дополнительные ИНС: предварительно обученную ИНС Speech2text, которая, по сути, действовала как программа субтитров, и другая ИНС (BERT), которая «переводила» каждое слово. в числовой вектор (этот процесс называется «встраиванием слов»). BERT преобразовал слова в уникальные комбинации чисел, которые их идентифицировали.

Мы проделали ту же операцию для видео и аудио кадров, превратив их также в числовые векторы.

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

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

После этого мы решили немного поэкспериментировать и добавили к видео одну из двух других модальностей, создав три пары: аудио + видео, текст + видео и аудио + текст (см. Таблицу 2). Добавление текста в видео сработало немного лучше, чем добавление звука в видео. Не могу сказать, что именно там произошло (возможно, LSTM лучше обучился с использованием текстовых данных) и почему числовые векторы для текста содержат больше информации об эмоции, чем звуковые спектрограммы.

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

Наша сеть LSTM содержит так называемый механизм внимания (также известный как возможность выбрать определенную модальность и сосредоточиться на ней), который позволяет учитывать только наиболее важные элементы последовательности. Например, звук может содержать долгое молчание, за которым следует внезапный взрыв смеха, если человек в видео смотрит на что-то смешное. В этом случае нейронной сети на самом деле нужно внимательно прислушиваться только к определенной части звука, чтобы с уверенностью предсказать «счастье».

Благодаря своему механизму внимания LSTM рисует последовательность функций из каждой модальности, а затем вычисляет вес для каждого элемента этой последовательности (в зависимости от кадров из других модальностей), но мы не можем точно знать, что LSTM учитывает и почему. Вес каждой модальности может быть получен либо из той же самой модальности (самовнимание), либо из другой. Например, LSTM может предсказать, важна ли модальность видео, если он регистрирует громкий звук, таким образом понимая, что в кадре происходит что-то важное (см. Рис. 3–6).

Мы экспериментировали с добавлением весов внимания к различным модальностям, приказывая LSTM не анализировать определенные модальности, и обнаружили, что внимание внутри сети LSTM работает намного лучше, когда LSTM просматривает все модальности одновременно.

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

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

Наша окончательная модель с механизмом внимания на совместном представлении модальностей достигла 0,57 для точности и 0,58 для отзыва (см. Таблицу 3). Он изо всех сил пытался отличить удивленных и грустных людей от нейтральных, но с остальными работал нормально.

_________________________________________

* В редких случаях видео одного и того же человека может использоваться в качестве обучающих данных и случайно попасть в реальный набор данных, который затем анализирует ИНС.

Авторы: Полина Попенова, специалист по машинному обучению, Франческа Дель Гвидис, специалист по связям с общественностью.