Борьба с предвзятостью с помощью технологий: измерение разнообразия в потоковом медиа

Авторы Алексей Романов, Данило Джекич, Владимир Никифоров, Марко Николич

Введение

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

Гиганты стриминговой индустрии, такие как Netflix, Hulu и Disney+, за последние пару лет вложили значительные средства в свои системы рекомендаций. Хотя все, кто смотрит Netflix, должны согласиться с тем, что качество рекомендаций значительно улучшилось за последние два-три года, это не обошлось без споров.

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

«Предвзятость»

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

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

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

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

Методология

Распознавание лиц

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

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

Современные методы обнаружения объектов можно разделить на одноэтапные и двухэтапные. Основное различие между ними заключается в способе соответствия скорости и точности. Одноэтапные методы отдают предпочтение времени вывода, т. е. они жертвуют точностью, чтобы иметь возможность быстро выполнять вывод на большом количестве изображений, что делает их полезными в онлайн-задачах обнаружения объектов. Примеры таких моделей включают YOLO, SSD и RetinaNet.

С другой стороны, двухэтапные методы отдают предпочтение точности обнаружения. Они обеспечивают лучшую производительность, но за счет скорости. Причина, по которой их называют двухэтапными, заключается в том, что они, как правило, представляют собой комбинацию двух моделей: сети предложений регионов, которая определяет области фотографии с наибольшей вероятностью наличия объекта, и модели классификатора, которая пытается угадать, какой объект является объектом. присутствуют в этих регионах. Наиболее яркими примерами двухэтапных моделей являются Cascade R-CNN, Mask R-CNN и Faster R-CNN.

Поскольку проблема, которую мы пытаемся решить, требует как скорости, так и точности, одноэтапная модель класса Single-Shot Multi-box Detection (SSD) с магистралью Mobilenet оказалась лучшим выбором для обнаружения лиц.

SSD основан на сверточной сети с прямой связью, которая начинается с тестирования заданного набора ограничивающих рамок. Для каждого поля по умолчанию он предсказывает как смещения формы, так и достоверность для всех категорий объектов ((c1, c2, · · · , cp)).

Во время обучения он сначала сопоставляет эти блоки по умолчанию с блоками наземной истины. Потеря модели представляет собой взвешенную сумму между потерей локализации (например, Smooth L1) и потерей достоверности (например, Softmax).

Ранние сетевые уровни SSD могут быть основаны на разных архитектурах, например, исходная структура была основана на VGG-16, однако существуют более эффективные альтернативы, которые можно включить. Одной из самых эффективных моделей с точки зрения скорости является мобильная сеть.

Ключевым компонентом эффективности мобильной сети являются разделяемые по глубине свертки, которые используют в 8–9 раз меньше вычислений, чем стандартные свертки, при небольшой погрешности уменьшения. Комбинация свертки по глубине и свертки 1 × 1 (поточечной) называется сверткой с разделением по глубине.

Классификация по полу и этнической принадлежности

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

Для части гендерной классификации мы использовали предварительно обученную гендерную модель из структуры deepface, которая основана на модели VGG-Face.

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

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

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

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

Оценка

Используя сбалансированный набор данных Fairface и различные методы настройки модели, мы смогли добиться повышения точности на 30% по сравнению с гендерной моделью DeepFace. Настройка модели этнической принадлежности была намного сложнее, но нам удалось добиться повышения точности на 11%.

Память, оценка стоимости времени в денежном выражении

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

С точки зрения затрат, наиболее эффективным подходом представляется запуск обработки видео на экземпляре «g4dn.xlarge» с графическим процессором Nvidia T4.

Пакетная обработка

Чтобы сделать обработку видео менее трудоемкой, было бы полезно, если бы мы могли запускать прогнозы для пакета кадров одновременно, а не для каждого кадра.

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

Модель обнаружения объектов принимает несколько кадров в качестве входных данных и выводит матрицу ограничивающих рамок и оценок. Границы лиц представлены в виде матрицы формы [количество_кадров x количество_лиц x 4], а баллы представлены в виде двумерной матрицы формы [количество_кадров x количество_лиц] с элементами являются вероятности того, что лицо будет обнаружено в соответствующей ограничивающей рамке. Максимальное количество лиц, которые может обнаружить модель, было установлено на 100, поэтому мы использовали матрицу оценок в качестве маски для фильтрации лиц с оценками прогнозирования ниже определенного порога.

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

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

Чтобы подготовить пакет изображений, измененных до нужной формы, для моделей классификации далее в пайплайне, мы используем матрицу координат лиц и массив соответствующих кадров. Это реализовано с помощью функции blobFromImages из пакета opencv, которая возвращает 4-мерную матрицу [число_лиц x число_каналов x ширина x высота]. Таким образом, у нас есть полностью подготовленный пакет, который можно загрузить в наши модели классификации, конечным результатом которых является массив меток для каждого лица. Наконец, мы использовали вектор с идентификаторами кадров, чтобы сопоставить ограничивающие рамки и метки с соответствующими кадрами.

По сравнению с нашей реализацией пакетной обработки исходный покадровый метод требовал примерно на 17,6 % больше времени для обработки тех же образцов видео!

Вывод

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

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

Если вы заинтересованы в этом больше или в нас как компании, не стесняйтесь обратитесь!