Автор: Лина А. Колуччи, Сидни Примас и Эндрю Вайц из Edge Analytics

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

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

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

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

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

Если вы заинтересованы в получении доступа к нашему API синтетических данных, пожалуйста, зарегистрируйтесь здесь или свяжитесь с нами по адресу [email protected].

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

Синтетические данные работают (и работают хорошо!)

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

Что мы создали: API для бесконечных данных

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

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

Мы подаем синтетические изображения и метки через конвейер дополнений Python, который разработан для работы синхронно с нашим симулятором. Например, мы (1) выполняем увеличение окклюзии одежды и / или частей тела на основе метаданных из синтетических изображений и (2) заменяем зеленый фон симуляции снимками Google Street View.

Для доступа к нашему API синтетических данных заполните, пожалуйста, эту форму.

Что мы узнали: 3 удивительных преимущества синтетических данных

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

Синтетические данные позволили нам быстрее отлаживать

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

Синтетические данные позволили нам охарактеризовать наши модели

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

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

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

Синтетические данные позволили нам адаптировать охват наших моделей¹

Когда мы производим модели машинного обучения, нам необходимо адаптировать модель к ее целевой области. Смоделированные данные позволяют нам контролировать тип и количество вариаций в наших наборах данных для обучения. Вместо того, чтобы требовать длительных циклов сбора реальных данных, мы можем генерировать обучающие данные, адаптированные к нашей конкретной проблеме, одним нажатием кнопки. Например, как автоматические продуктовые магазины (такие как Amazon Go), так и интерактивные танцевальные игры (например, танцевальные игры Wii или Kinect) нуждаются в моделях оценки позы, но для очень разных целевых областей. Автоматизированный продуктовый магазин должен работать с видео с потолка, тогда как танцевальная игра, в которую играют на телевизоре в гостиной, должна работать с данными из этой домашней среды. Оба продукта должны точно отслеживать позы людей на видео, но их нужно оптимизировать для разных входных данных. Наш API синтетических данных позволяет нам генерировать обучающие данные, адаптированные к нашей конкретной проблеме.

Заключение

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

Подпишитесь на API

Если вы заинтересованы в получении бета-доступа к нашему API синтетических данных для оценки позы, заполните эту форму или свяжитесь с нами по адресу [email protected]! Мы были бы рады получить известия от вас.

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

² Благодарность Начало бесконечности Дэвида Дойча за помощь в кристаллизации концепции охвата. Мы фанаты этой книги, как вы могли догадаться по названию этого блога (Начало бесконечных данных).

Эта работа с синтетическими данными была совместным усилием всей команды Edge Analytics! Большое спасибо членам команды Edge Эндрю Вейцу, Калебу Крузу, Кену Юнгу, Сидни Примасу и Василию Нерозину за всю их невероятную работу по созданию этих моделей и инструментов. Спасибо Дайане Кимбалл Берлин и членам команды Edge Бринне Бент и Рену Гиббонсу за чтение ранних версий блога и отзывы.

Edge Analytics - компания, специализирующаяся на анализе данных, машинном обучении и разработке алгоритмов как на периферии, так и в облаке. Мы обеспечиваем сквозную поддержку на протяжении всего жизненного цикла продукта, от быстрых исследовательских прототипов до алгоритмов AI / ML производственного уровня. Мы сотрудничаем с нашими клиентами, от компаний из списка Fortune 500 до инновационных стартапов, чтобы воплотить их идеи в жизнь. Имеете в виду сложную проблему? Свяжитесь с нами по адресу [email protected].