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

Фон

Исследовательская группа по отчету о гендерном представительстве состояла из исследователей с опытом работы в области социальных наук, в том числе экономиста Оньи Лам и политологов Адама Хьюза и Стефана Войчика. До этого проекта мы использовали машинное обучение для анализа текста, часто полагаясь на библиотеку Python scikit-learn. У нас практически не было опыта глубокого обучения. Но мы были заинтересованы в расширении нашего исследования для изучения изображений, поскольку изображения представляют собой значительный компонент онлайн-информации.

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

Этот конкретный проект идеально подходил для машинного обучения из-за его масштабов. То, что требует часов ручного человеческого труда, можно автоматизировать и завершить за несколько минут с помощью машинного обучения. А поскольку модели машинного обучения можно масштабировать до очень больших наборов данных, мы смогли значительно расширить масштаб нашего проекта. В дополнение к более чем 10 000 изображений, которые мы собрали в результате англоязычных поисковых запросов Google в США, мы включили более 40 000 изображений из поисковых запросов с использованием 17 других комбинаций языка и страны.

Как работает трансферное обучение

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

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

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

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

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

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

В нашей первоначальной попытке мы использовали предварительно обученную модель ResNet-50 из библиотеки Python Keras и достигли точности 90%. Результат был приятным сюрпризом, и мы быстро осознали перспективность этого подхода: он позволит нам ответить на наш первоначальный вопрос исследования с приемлемым уровнем ошибки прогноза. Подобные библиотеки глубокого обучения включают Pytorch, Fastai и Tensorflow, которые часто доступны как в Python, так и в R.

Базовая архитектура реализации трансферного обучения с использованием Keras показана ниже, где base_model - это предварительно обученная модель Resnet-50. В Keras некоторые из доступных предварительно обученных моделей включают, среди прочего, ResNet, VGG и Inception.

# get output from the pre-trained model
 x = base_model.output
 
 # stack additional layers on top for fine-tuning
 x = GlobalAveragePooling2D()(x)
 x = Dense(512, activation=’relu’)(x)
 predictions = Dense(1, activation=’sigmoid’)(x)
 model = Model(inputs=base_model.input, outputs=predictions)

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

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

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

Оценка и точная настройка модели

Чтобы оценить производительность модели, мы использовали как перекрестную проверку, так и сравнение прогнозов модели с решениями человека. Перекрестная проверка включает в себя удержание части помеченных данных от обучения, а человеческая проверка предполагает, что люди маркируют небольшой набор данных, на основе которых модель делала прогнозы. (Мы использовали краудсорсинговую службу Mechanical Turk, чтобы пометить тысячи лиц, и три специалиста по mTurkers изучили каждое изображение.) Затем мы протестировали модель на этих помеченных данных и сравнили прогнозы модели с истинными значениями.

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

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

Чтобы устранить эту предвзятость, мы собрали дополнительный набор изображений, которые включали определенные группы меньшинств, а также убедились, что определенные не связанные с полом черты лица, такие как очки, не должны быть прогностической характеристикой модели. Для этого мы запросили список представителей меньшинств из Google Image Search и сохранили полученные изображения как отдельные наборы данных для обучения. Еще одна стратегия, которую мы использовали для увеличения разнообразия наших обучающих изображений, заключалась в том, чтобы запросить Google Image с конкретными поисковыми запросами в следующем формате: «страна» + «мужчины / женщины», например «аргентинские мужчины» и «иракские женщины» для 100 из страны. Мы скачали до 100 изображений по каждому запросу и собрали более 20 000 изображений.

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

На прощание

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

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

Этот пост написали Онии Лам, Адам Хьюз и Стефан Войчик, социологи-вычислительные специалисты, занимающиеся наукой о данных в Pew Research Center.