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

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

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

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

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

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

Автономные транспортные средства — один из наиболее ярких примеров создания пользовательских наборов данных. Возможно, вы видели, как экологически чистые автомобили NuTonomy или Drive.ai путешествуют по вашему городу, собирая данные для создания беспилотных автомобилей. Каждый из этих автомобилей для сбора данных оснащен такими устройствами, как камеры, датчики RADAR и LiDAR, которые собирают визуальные данные, когда автомобили пересекают городские улицы.

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

2. Собирайте данные по уровням. На этом этапе вы работаете с меньшими наборами данных, чтобы проанализировать эффективность своей прогностической модели и при необходимости скорректировать ее. Начните с разбиения большого набора данных, который у вас есть, на более мелкие наборы. Например, если вы хотите работать с 500 000 изображений, соберите данные на уровнях 20 000–50 000 и увеличивайте их постепенно или агрессивно в зависимости от результатов вашей модели после обучения.

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

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

3. Проверьте данные. Теперь, когда вы собрали данные, пришло время проверить их.

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

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

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

Как правило, это ваши варианты рабочей силы:

  • Сотрудники, получающие заработную плату и должностные обязанности которых могут не включать аннотацию данных.
  • Подрядчики или временные работники (например, фрилансеры, гиг-работники), которые работают удаленно или в вашем регионе.
  • Управляемые аутсорсинговые команды, которые могут перейти на удаленную работу, и у вас есть прямой доступ к аннотаторам (например, CloudFactory)
  • Аутсорсинг бизнес-процессов (BPO), более традиционный вариант аутсорсинга, который не предоставляет доступ к людям, выполняющим работу.
  • Краудсорсинг с использованием сторонних платформ, которые предоставляют вам доступ к большому количеству анонимных сотрудников.

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

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

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

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

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

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

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

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

Первоначально опубликовано на https://blog.cloudfactory.com.