Нюансы извлечения полезности из синтетических данных

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

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

Проект IQT Labs Synthesizing Robustness направлен на изучение того, могут ли стратегии адаптации домена (попытка сделать синтетические данные более реалистичными) повысить эффективность синтетических данных, когда дело доходит до локализации редких объектов. В этом посте мы рассмотрим некоторые первоначальные результаты и некоторые подводные камни с наивным дизайном эксперимента. Мы обнаружили, что стратегическое расширение реального набора данных почти так же эффективно, как добавление синтетических данных в квест для улучшения обнаружения или классов редких объектов, и что полное извлечение полезности синтетических данных — это нюансированный процесс.

1. Набор данных и план эксперимента

В этом разделе мы кратко рассмотрим набор данных RarePlanes, который был создан и курировался в рамках недавнего проекта IQT Labs. Этот набор данных состоит из большого массива спутниковых снимков аэропортов по всему миру с соответствующими точными метками самолетов. Также доступен большой объем синтетических изображений для дополнения необычных объектов (например, редких самолетов). Дополнительную информацию см. в документе RarePlanes или на cosmiqworks.org. Следует отметить, что этот конкретный набор данных и стратегия эксперимента были первоначально разработаны Ником Вейром, за что большое спасибо Нику, а также Джейку Шермейеру, которые курировали исходный набор данных и исследование RarePlanes.

Напомним, что набор данных включает в себя множество сборов (то есть наблюдений) как реальных, так и синтетических данных (рис. 1) со всего мира (рис. 2).

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

  1. Мы выбираем марки самолетов (например, МиГ-29), которые существуют как в реальном, так и в синтетическом наборе данных и содержат >100 наблюдений в реальном наборе. 14 моделей самолетов отвечают этому требованию.
  2. Любая коллекция, содержащая хотя бы один из самолетов в № 1, включается в набор данных.
  3. Любое воздушное судно, которое не является одним из 14 воздушных судов № 1, но существует в отфильтрованном наборе данных № 2, помечается как «Другое» как в реальном, так и в синтетическом наборах данных, что дает в общей сложности 15 классов самолетов. Первоначально существует 99 классов самолетов (от North American T-28 Trojan до Douglas C-47 Skytrain и Chengdu J-20), поэтому класс самолетов «Другие» объединяет 85 классов самолетов.
  4. Некоторые модели делаются редкими в тренировочном наборе за счет размещения большинства данных моделей самолетов в тестовом наборе.
  5. Каждая коллекция помещается либо в обучающий, либо в тестовый набор, поэтому все изображение находится либо в обучающем, либо в тестовом наборе.

На рис. 3 показаны 14 классов самолетов, все из которых являются российскими или китайскими военными, и охватывают различные типы самолетов от истребителей (например, Chengdu J-7, МиГ-31, Су-27) до тяжелых транспортных самолетов ( например, Ил-76).

На рис. 4 представлена ​​разбивка набора данных по маркам самолетов. Есть 2087 реальных самолетов и 1595 синтетических самолетов, причем синтетические данные сильно перевешивают редкие самолеты. Универсальная категория «Другие» представлена ​​в наборе данных очень часто, на ее долю приходится 54% реальных самолетов (33% синтетических данных). Для остальных 14 классов самолетов реальное количество в учебном наборе колеблется от 6 (МиГ-29) до 236 (Chengdu J-7), поэтому все самолеты относительно редки. Для редких классов на рис. 4 показано, что большинство данных являются синтетическими.

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

В тестовом наборе 7396 самолетов, распределенных по 164 уникальным наборам, при этом каждый класс имеет не менее 80 самолетов в тестовом наборе. Мы тестируем только на реальных данных.

Имея в руках этот набор данных, мы можем изучить стратегии адаптации домена (DA) на синтетических данных, чтобы увидеть, улучшат ли такие методы нашу способность обнаруживать редкие самолеты.

2. Модель YOLTv4

Мы используем структуру YOLTv4, которая сочетает в себе современный алгоритм обнаружения объектов YOLOv4 с предыдущими работами по обнаружению крупномасштабных объектов на спутниковых снимках (YOLT, SIMRDWN). Мы используем магистраль YOLO, поскольку предыдущие работы (например, 1, 2) показали, что YOLO предлагает превосходную производительность по сравнению с другими системами обнаружения объектов (например, Faster R-CNN, SSD) в контексте спутниковых изображений.

Мы тренируемся на чипах изображений размером 416 × 416 пикселей, извлеченных из исходных изображений (исходные изображения состоят из больших сцен спутниковых изображений размером в сотни мегапикселей), при этом 1/6 обучающих данных зарезервирована для проверки. Мы обучаем 20 000 итераций, хотя модель сходится гораздо быстрее (см. рис. 5).

Еще одной причиной (помимо производительности обнаружения) использования магистрали YOLO является ее скорость: вывод происходит со скоростью 85 кадров в секунду на одном графическом процессоре V100. Такая скорость необходима, учитывая, что площадь нашего тестового набора превышает 3000 квадратных километров.

3. Результаты, часть I: начальные эксперименты и статистика

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

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

  • Эксперимент A. Только реальный
  • Эксперимент B. Реальные данные + синтетические данные
  • Эксперимент C. Реальные данные + синтетические данные, адаптированные к предметной области

В таблице 1 показаны баллы для этих трех экспериментов. Мы сообщаем о количестве использованных чипов обучающих изображений, а также о средних баллах F1 (mF1) с порогом обнаружения IOU ≥ 0,5 для определения правильного обнаружения. Короче говоря, mF1 усредняет показатели обнаружения среди всех 15 классов самолетов, наказывая как ложноположительные, так и ложноотрицательные результаты. Мы сообщаем об ошибках 1σ, вычисленных с помощью начальной загрузки.

В Таблице 1 есть что разобрать. Во-первых, мы наблюдаем увеличение оценки с A до B (хотя и всего на 1,8σ) при добавлении синтетических данных. Тем не менее, мы не наблюдаем совокупного увеличения оценки, когда адаптация домена применяется к синтетическим данным (эксперимент B эквивалентен по оценке эксперименту C).

На первый взгляд эти результаты подразумевают, что добавление синтетических данных заметно улучшает показатели обнаружения редких объектов. Тем не менее, есть существенная оговорка. В экспериментах B и C используется больше данных, чем в нашем исходном эксперименте (A), в котором использовались только реальные данные. Поэтому неясно, показали ли мы, что синтетические данные улучшают оценки, или мы просто показали, что больше данных улучшает оценки. Мы попытаемся ответить на этот вопрос в следующем разделе.

4. Результаты, часть II: целенаправленное увеличение

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

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

Поскольку чипы обучающих изображений (416 × 416 пикселей) извлекаются из более крупных спутниковых изображений (часто 16 000 × 16 000 пикселей), мы можем изменять обучающие чипы с помощью пользовательских дополнений, включая дрожание, вращение и изменение цвета. Хотя расширения являются стандартной практикой в ​​конвейерах глубокого обучения, полные вращения и колебания обычно не включаются. См. рис. 7.

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

Исходный реальный набор данных содержит всего 2086 чипов обучающих изображений, в то время как синтетический набор данных добавляет 969 чипов изображений. Для эксперимента D мы добавляем целевые реальные расширенные данные (969 чипов изображений) к исходному набору реальных данных для того же точного размера набора данных (всего 3055 чипов обучающих изображений), что и эксперименты B и C, которые включали синтетические данные. Мы тренируемся с теми же гиперпараметрами, что и в предыдущих экспериментах, и перечисляем результаты в таблице 2.

Таблица 2 демонстрирует предельную выгоду от стратегического манипулирования существующим реальным набором данных (вместо наивного добавления синтетических данных) как средства сглаживания распределения классов объектов. Этот подход (D. Real + Targeted Augment) не требует новых данных, а вместо этого опирается на простое (хотя и продуманное) расширение набора данных.

5. Результаты, часть III: поиск ценности в синтетических данных и адаптации предметной области

До сих пор нам не удалось найти какую-либо реальную ценность в синтетических данных RarePlanes для обнаружения наших 15 классов самолетов. Мы также экспериментировали с трехэтапным подходом к обучению (реальные данные → целевой синтетический → целевой реальный), отмеченным здесь; хотя исходная работа нашла применение в этом трехэтапном подходе, мы наблюдаем небольшое снижение производительности при таком подходе.

Таким образом, мы провели еще один эксперимент: добавили синтетические данные (как нативные, так и адаптированные к домену) в наш целевой дополненный реальный набор данных. Это дает больший размер набора обучающих данных, состоящий из 4024 чипов изображений (по сравнению с 3055 чипами изображений в экспериментах A, B, C). Как и прежде, мы резервируем 1/6 набора данных для проверки на этапе обучения. В качестве контроля (Эксперимент E) мы также увеличиваем количество целевых аугментаций так, чтобы для Эксперимента E было 4024 реальных обучающих чипа. Результаты см. в Таблице 3.

Таблица 3 показывает, что после семи экспериментов нам, наконец, удалось извлечь пользу из синтетических данных, адаптированных к предметной области. Эксперимент G (реальные данные + целевые дополненные реальные данные + адаптированные к предметной области синтетические данные) обеспечивает наилучшую производительность для обнаружения редких объектов.

7. Заключение

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

Хотя улучшение с mF1 = 0,39 ± 0,02 (для лучшей модели, обученной только на реальных данных) до mF1 = 0,44 ± 0,02 (для модели, обученной как на реальных, так и на адаптированных к предметной области синтетических данных) можно только приветствовать, улучшение по-прежнему ~2σ. Это не совсем огромная статистическая разница, особенно с учетом количества проведенных испытаний (экспериментов). Тем не менее, если синтетические данные доступны, наши результаты показывают, что добавление адаптированных к предметной области синтетических данных к целевому расширению доступных реальных данных является относительно простым способом повышения производительности.

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

* Благодарим Ника Вейра и Джейка Шермейера за их неоценимую помощь в разработке экспериментов и наборов данных. Благодарим Фелипе Мехиа за помощь в обучении адаптации домена.