что такое разметка данных
5 подходов к разметке данных для проектов машинного обучения
Когда мы в конце прошлого года перерабатывали свой курс по Deep Learning, чтобы сделать его более наглядным и ориентированным на кейсы из реальной бизнес-практики, мы включили в него новый модуль по разметке данных на крауд-платформе «Яндекс.Толока».
Качество проекта по машинному обучению напрямую зависит от того, как вы подойдете к решению 3 основных задач: сбору данных, их предварительной обработке и разметке.
Разметка – это, как правило, сложный процесс, отнимающий массу времени. Например, для систем распознавания изображений часто приходится рисовать bounding boxes вокруг объектов, а для работы с системами товарных рекомендаций и системами анализа эмоциональной окраски высказываний может потребоваться знание культурного контекста. Не забывайте еще, что массив данных может содержать десятки и более тысяч сэмплов, которым необходима разметка.
Таким образом, подход к созданию проекта машинного обучения будет зависеть от сложности поставленной задачи, объема проекта и графика его реализации. Учитывая эти факторы, мы выделили 5 основных подходов к разметке данных и привели для каждого из них аргументы за и против.
Различные способы разметки данных для машинного обучения можно отнести к следующим категориям:
In-house: как следует из названия, речь идет о разметке данных силами собственной команды аналитиков. У этого подхода целый ряд очевидных преимуществ: процесс легко контролировать и можно быть уверенным в точности и качестве работы. Однако, этот способ, скорее всего, подойдет только крупным компаниям с собственным штатом дата-аналитиков.
Аутсорсинг: это хороший способ в тех случаях, когда команда для разметки данных нужна на определенный период времени. Разместив объявление на рекрутинговых сайтах или в своих соц.сетях, вы можете сформировать базу потенциальных исполнителей. Далее, в ходе интервью и тестирования определятся те, кто обладает необходимыми навыками. Это отличный вариант для формирования временной команды, но тут вам потребуется все тщательно спланировать и организовать; новых сотрудников нужно будет обучить, чтобы они смогли выполнить работу согласно вашим требованиям. Кроме того, если у вас еще нет инструмента для разметки данных, его придется приобрести.
Краудсорсинг: краудсорсинговые платформы – это способ решить одну отдельно взятую задачу при помощи большого количества исполнителей. Так как на крауд-платформах множество исполнителей из разных стран и их можно отфильтровать по уровню, то набрать команду там можно достаточно быстро и относительно бюджетно. Но стоит учитывать, что краудсорсинговые платформы довольно сильно различаются как по уровню квалификации исполнителей, так и по возможностям для контроля качества и управления проектами. Поэтому, выбирая краудсорсинговую платформу, нужно сразу просчитывать все эти параметры.
Синтетический метод: синтетическая разметка подразумевает создание или генерирование новых данных, содержащих атрибуты, необходимые вашему проекту. Одним из способов проведения синтетической разметки является использование генеративно-состязательной сети (GAN). GAN задействует две нейронные сети (генератор и дискриминатор), которые соревнуются между собой в создании ложных данных и распознавании отличий между реальными и ложными данными. В результате вы получаете высоко-реалистичные новые данные. GAN и другие методы синтетической разметки позволяют получать абсолютно новые данные из уже существующих массивов. Этот метод высокоэффективен с точки зрения временных затрат и прекрасно подходит для получения данных высокого качества. Однако, в настоящее время, синтетические методы разметки требуют больших объемов вычислительных мощностей, что делает их весьма дорогостоящими.
«Программный метод»: предусматривает использование скриптов для автоматической разметки данных. Этот процесс позволяет автоматизировать задачи, включая разметку изображений и текстов, что позволяет значительно сократить количество исполнителей. К тому же, компьютерная программа не станет делать перерывы на отдых, а значит, вы сможете получить результаты намного быстрее. Однако, этот метод еще далек от совершенства и при программной разметке часто нужна команда контроля качества, чтобы следить за корректностью разметки данных по ходу работы.
В этой таблице мы приводим наглядное сравнение вышеописанных методов:
Как размечать данные для машинного обучения
Искусственный интеллект (ИИ, AI) двигает человечество в будущее, и чтобы иметь конкурентное преимущество, вам нужно быть к нему готовым.
Машинное обучение (МЛ, ML) — подмножество ИИ, позволяющее программным приложениям распознавать паттерны и делать точные прогнозы. Благодаря ML у нас есть беспилотные автомобили, фильтрация спама в электронной почте, распознавание дорожного движения и многое другое.
Для обучения высококачественных моделей ML необходимо предоставить их алгоритму точно размеченные данные.
В этом посте мы расскажем всё, что вам нужно знать о разметке данных, чтобы принимать осознанные решения для своего бизнеса. Пост отвечает на следующие вопросы:
Что такое разметка данных?
Разметка данных — процесс выявления объектов в сырых данных, например, в видео или на изображениях, и добавление к ним меток — помогает модели машинного обучения делать точные прогнозы и оценки. Например, аннотирование данных может помочь беспилотному транспорту останавливаться на пешеходных переходах, цифровым помощникам — распознавать голоса, а камерам безопасности — обнаруживать подозрительное поведение.
Как работает разметка данных?
Сбор данных
Всё начинается со сбора значительного объёма данных: изображений, видео, аудиофайлов, текстов и т.д. Большой и разнообразный объём данных гарантирует более точные результаты по сравнению с малым объёмом данных.
Разметка данных
Разметка данных — процесс выявления живыми людьми в неразмеченных данных элементов при помощи платформы разметки данных. Работникам можно дать задание определять, есть ли на изображении люди, или отмечать движение мяча в видео.
Контроль качества
Для создания качественных высокопроизводительных моделей ML размеченные данные должны быть информативными и точными. Для обеспечения качества размеченных данных необходимо организовать процесс проверки качества (QA), в противном случае модель ML не сможет успешно работать.
Обучение модели
Для обучения модели ML алгоритму ML передаются размеченные данные, содержащие правильный ответ. Благодаря только что обученной модели вы сможете делать точные прогнозы на новом наборе данных.
Какие оптимальные практики разметки данных существуют?
Используйте эти проверенные и протестированные практики разметки данных для выполнения успешного проекта.
Соберите разнообразные данные
Для минимизации перекоса данные должны быть как можно более разнообразными. Допустим, вам нужно обучить модель для беспилотного автомобиля. Если вы решите использовать для обучения модели данные, собранные в городе, то машина с трудом сможет перемещаться в горах. По той же причине снимайте изображения и видео под различными углами и с разными условиями освещения.
Собирайте конкретные данные
Чтобы не сбивать модель с толку, ваши данные должны быть конкретными. Кажется, что это противоречит предыдущему пункту, но на самом деле важно передавать модели ту информацию, которая ей необходима для успешной работы. Поэтому если вы обучаете модель робота-официанта, то используйте данные, собранные в ресторанах. Передача модели данных, собранных в торговом центре, аэропорту или больнице приведут к ненужному запутыванию.
Подготовьте процесс QA
Интегрируйте методики QA в свой конвейер проекта, чтобы оценивать качество разметки и гарантировать успешные результаты проекта. Это можно сделать несколькими способами:
Подготовьте инструкции по аннотированию
Напишите информативную, чёткую и краткую инструкцию по аннотированию, рассказывающую об инструментах и аннотировании, чтобы с самого начала работы избегать возможных ошибок. Иллюстрируйте разметку примерами: изображения помогают аннотаторам и QA понимать требования к разметке лучше, чем письменные объяснения. Также инструкция должна содержать конечную цель работы, чтобы показать сотрудникам картину в целом и мотивировать их.
Подберите наиболее подходящий конвейер аннотирования
Реализуйте конвейер аннотирования, соответствующий вашему проекту, чтобы максимизировать эффективность и минимизировать время выполнения. Например, можно поместить самую популярную метку в начало списка, чтобы аннотаторы не тратили время на её поиск. Также можно настроить процесс аннотации, разбив его на этапы.
Сохраняйте открытость коммуникации
Создайте линию связи с сотрудниками и поддерживайте общение с ключевым руководством. Можно обеспечить эффективную коммуникацию, организовав регулярные совещания и создав групповой канал.
Обеспечьте регулярную обратную связь
Сообщайте сотрудникам об ошибках аннотирования для упрощения процесса QA. Регулярная обратная связь помогает им выработать понимание инструкций и повышать качество результатов. Убедитесь, что обратная связь не противоречит инструкциям по аннотированию. Если вы найдёте ошибку, не прояснённую в инструкции, дополните её и сообщите об изменениях сотрудникам.
Выполните пилотный проект
Всегда начинайте с малого. Задействуйте сотрудников, инструкции по аннотированию и рабочие процессы для тестирования, выполнив пилотный проект. Это поможет вам определить нужное для завершения время, оценить производительность разметчиков и QA, а также усовершенствовать инструкции и процессы перед началом основного проекта.
Как компании размечают свои данные?
Для разметки данных требуются время и деньги. Прежде чем выбирать, как размечать свои данные, учтите свой бюджет и желаемое время завершения проекта.
На что обращать внимание при выборе платформы разметки данных?
Для высококачественных данных требуется команда опытных разметчиков данных с надёжным инструментарием. Можно или купить платформу, или создать её самостоятельно, если вы не можете найти подходящую для себя. На что обращать внимание при выборе платформы для проекта по разметке данных?
Имеющиеся инструменты
Прежде чем искать платформу разметки, подумайте, какие инструменты подходят для вашего проекта. Возможно, вам нужно выделение многоугольниками для разметки автомобилей, или ограничивающие прямоугольники с возможностью поворота для разметки контейнеров. Чтобы разметка была максимально качественной, убедитесь, что выбираемая вами платформа содержит нужные вам инструменты. Продумывайте всё на пару шагов вперёд и разберитесь, какие инструменты разметки могут понадобиться вам в будущем. Зачем вкладывать время и ресурсы в платформу разметки, которую вы не сможете использовать для будущих проектов? Обучение сотрудников новой платформе требует времени и денег, поэтому продумывание заранее сэкономит ваши ресурсы.
Интегрированная система управления
Эффективное управление тоже является строительным блоком успешного проекта по разметке данных. Поэтому выбранная платформа разметки данных должна содержать интегрированную систему управления для управления проектами, данными и пользователями. Надёжная платформа разметки также должна позволять менеджерам проектов отслеживать их прогресс и продуктивность пользователей, обеспечивать возможность обсуждения с аннотаторами неверно размеченных данных, реализовывать рабочий процесс аннотирования, контроля и редактирования меток, а также отслеживания контроля качества.
Процесс контроля качества
Точность данных определяет качество модели обучения. Убедитесь, что выбираемая платформа разметки имеет процесс контроля качества, позволяющий менеджеру проекта контролировать качество размеченных данных. Учтите, что кроме надёжной системы контроля качества сервисы аннотирования данных должны иметь обучение, проверку и профессиональное управление.
Гарантии конфиденциальности и безопасности
Самым важным аспектом должна быть конфиденциальность ваших данных. Выберите защищённую платформу разметки, которой можно доверить уязвимые данные.
Техническая поддержка и документация
Убедитесь, что выбираемая платформа аннотирования данных предоставляет техническую поддержку посредством полной и обновляемой документации, а также имеет активный отдел поддержки. Технические проблемы могут возникнуть в любое время, и для минимизации помех в работе для их устранения вам должен быть доступен отдел поддержки. Перед тем, как покупать подписку на платформу, спросите у отдела поддержки, как он будет устранять технические проблемы.
Как работает разметка данных
Сегодня хочу вас обрадовать: вы все уже давно работает на искусственный интеллект. Cейчас объясню почему.
Теперь вы понимаете, почему data labelling— самая трудозатратная задача при создании решений на базе искусственного интеллекта: надо без ошибок разметить тысячи единиц информации и сделать это нужно быстро.
Как и в случае, когда нужно было генерить большой объем программного кода и Индия оказалась самым подходящим ресурсом для этого и стала (и остается) лидер ом в области оффшорного программирования, так и в случае с разметкой данных основной ресурс находится в Азии. Прежде всего это Китай, в котором миллионы сотрудников, без квалификации или с низкой квалификацией и маленькой заработной платой, ежедневно отсматривают десятки и сотни тысяч данных и размечают ее. Так что старая картинка с шуткой о сервисе распознавания музыкальных треков Shazam, где в огромном зале в наушниках сидят сотрудники и один из них кричит: «Кто-нибудь знает, чья эта песня?» не так уж далека от истины. Каким бы умным ни был искусственный интеллект, он ничто без человека. Смею надеяться, что так будет еще очень долго.
Крупные поставщики инфраструктуры данных также создали хабы для разметки данных. В Штатах лидирует решение от Amazon, Amazon Mechanical Turk, названное в честь уловки 18 века, когда было модно играть в автоматизированные шахматы, хотя в ящике под шахматным столом сидел человек и физически передвигал фигуры. В России более популярна площадка Яндекс.Толока, которая, как и механический турок позволяет свести заказчиков наборов данных, датасетов, и специалистов по разметке данных.
Напоследок, как обещала, расскажу, почему мы с вами все работаем на искусственный интеллект. Вспомните, как при доступе на некоторые сайты, Google просит вас отметить все светофоры или автомобили (по крайней мере, мне он подсовывает именно их)? Так вот, каждый раз, когда вы кликаете по частям автомашин и горящих светофоров, вы работаете специалистом по разметке данных. Где же только наши 15 долларов?
Почему за автоматической разметкой данных будущее?
Автоматическая разметка данных — новая функция, о которой сегодня часто говорят. Некоторые даже считают её решением проблемы кропотливого и ресурсоёмкого аннотирования вручную.
Для обработки одного набора данных ручной разметкой (аннотированием) требуются многие часы. Автоматическая разметка данных предоставляет более простой, быстрый и современный способ обработки данных при помощи самого ИИ.
Как обычно обрабатывается набор данных
Самый распространённый и простой подход к разметке данных — это, разумеется, полностью ручная обработка. Живой пользователь получает набор сырых неразмеченных данных (например, изображения или видео), и ему дают задание разметить их в соответствии с перечнем правил.
Например, при обработке данных изображений наиболее распространёнными типами аннотаций являются метки классификации, ограничивающие прямоугольники, сегментация многоугольниками и ключевые точки.
Автоматическая разметка данных — сегментация в разметке данных
Метки классификации — простейший и наименее затратный способ аннотирования, для него может потребоваться всего лишь несколько секунд; в то же время точная сегментация многоугольниками может требовать по несколько минут на каждый экземпляр объектов.
Чтобы вычислить влияние ИИ-автоматизации на время разметки данных, допустим, что пользователю требуется 10 секунд на отрисовку ограничивающего прямоугольника вокруг объекта и выбор класса объекта из списка. Это допущение основывается на наших собственных эмпирических данных.
В таком случае для разметки стандартного набора данных из 100 тысяч изображений с пятью объектами на каждое изображение потребуется около 1500 человеко-часов, что эквивалентно трате примерно 10 тысяч долларов только на саму разметку данных.
Добавление уровня контроля качества для ручной проверки каждого элемента размеченных данных тоже увеличивает время подготовки. Обученному пользователю потребуется примерно одна секунда на проверку каждой аннотации ограничивающим прямоугольником, что увеличивает затраты на разметку ещё примерно на 10%.
В некоторых проектах используется контроль качества на основе консенсуса: несколько пользователей аннотируют один и тот же элемент данных, и результаты их работы объединяются/сравниваются для контроля качества. При таком рабочем процессе количество потраченных времени и денег пропорционально количеству пользователей, работающих над пересекающимися задачами для достижения консенсуса. Проще говоря, если три пользователя будут трижды размечать одно и то же изображение, вам придётся заплатить за все три аннотации.
Это даёт нам понять, что двумя самыми затратными этапами разметки данных являются:
Автоматическая разметка данных — акцент на контроль качества
Следовательно, важнейшая задача технологии автоматической разметки — снижение времени и разметки данных, и её проверки.
К счастью, благодаря прогрессу в сфере искусственного интеллекта и машинного обучения технология автоматической разметки прошла долгий путь. Однако не все технологии автоматической разметки одинаковы, во многих случаях наивные попытки использования ИИ приводят к тому, что требуется больше усилий людей на устранение созданных ИИ ошибок. Следовательно, нужно полностью осознавать, как выбранный ИИ влияет на весь процесс работы с данными.
Преимущества автоматической разметки
Автоматическая разметка (Auto Labeling) — достаточно новый термин в нашей сфере, но технологии, позволяющие реализовать её, развиваются с большой скоростью, что видно из большого количества инструментов, имеющихся на рынке. Что же такое автоматическая разметка данных и в чём её преимущества?
Что такое автоматическая разметка?
Автоматическая разметка — это функция инструментов аннотирования данных, использующая искусственный интеллект (ИИ) для обогащения, аннотирования или разметки набора данных. Обладающие этой функцией инструменты подкрепляют работу людей, экономя время и деньги на разметке данных для машинного обучения.
Большинство инструментов позволяет загружать предварительно аннотированные данные. Более сложные инструменты, эволюционирующие в платформы (например, инструмент плюс Software Development Kit, или SDK), позволяют использовать ИИ или добавлять в инструмент собственный алгоритм для совершенствования процесса обогащения данных путём их автоматической разметки.
Другие инструменты предоставляют модели с прогнозированием, предлагающие аннотации, которые проверяются людьми. Некоторые функции используют встроенные нейронные сети, способные обучаться на каждой созданной аннотации. Все эти функции способны экономить время и ресурсы команд, занимающихся машинным обучением, и оказывают глубокое влияние на процессы аннотирования данных.
Выдающиеся преимущества автоматической разметки
В нашей работе с организациями, использующими инструменты для аннотирования изображений в машинном обучении, мы пришли к выводу, что автоматическая разметка может быть полезна, когда она применяется в процессе аннотирования данных двумя способами:
Автоматическая разметка данных — метаданные
В одном эксперименте по аннотированию изображений автоматическая разметка в сочетании с обеспечиваемыми людьми контролем и улучшениями оказалась на 10% быстрее, чем полностью ручной процесс разметки. В процессе постепенного обучения эта экономия времени выросла до 40-50%.
Кроме того, автоматическая разметка имела погрешность более чем в пять пикселей при распознавании контуров автомобилей и не замечала объекты, находящиеся вдалеке от камеры. Как вы видите на изображении в начале статьи, функция автоматической разметки пометила мусорный бак как человека. Важно помнить о том, что прогнозы предварительного аннотирования основаны на существующих моделях и любые ошибки автоматической разметки отражают точность этих моделей.
Некоторые задачи уже вполне созрели для предварительного аннотирования. Например, если использовать пример из нашего эксперимента, можно применить предварительное аннотирование для разметки изображений, а команда разметчиков данных сможет определить, нужно ли изменить размеры меток/ограничивающих прямоугольников, или же полностью их удалить.
Такое снижение времени разметки может быть полезно командам, которым необходимо аннотировать изображения на попиксельном уровне сегментации.
Из экспериментов мы сделали вывод о том, что применение автоматической разметки требует творческого подхода. Мы выяснили, что наши клиенты, которым успешно удалось её использовать, готовы при необходимости экспериментировать, терпеть неудачи и модифицировать свой процесс работы.
5 этапов, гарантирующих успешную разметку данных
Формирование бюджета, создание и масштабирование операций по разметке данных
Недооценка труда, необходимого для разметки данных — это распространённая ошибка, признаваемая даже тяжеловесами отрасли разработки ИИ. Большинство распространённых трудностей, с которыми AI/ML-компании сталкиваются в процессе разметки данных, сводится к неадекватному планированию. Эта проблема может принимать различные формы, например:
1. Установка целей
Прежде чем приступать к этапу планирования, мы должны сначала решить, чего хотим достичь в нашем проекте. Или, по словам Джеффа Безоса, начать с пресс-релиза. Хотя ваши цели будут соответствовать вашим конкретным потребностям, существуют и самые распространённые цели проектов разметки данных:
2. Планирование проекта
На этом этапе нужно определиться с базовой информацией, на основе которой вы будете создавать свой проект. Мы выяснили, что самую критически важную информацию на этапе планирования можно разбить на три основные категории:
3. Оценка времени и затрат
Наверное, самая распространённая ошибка проектов разметки данных — недооценка времени и затрат, необходимых для получения высококачественных размеченных данных. Для более точного прогнозирования необходимо учесть три основных компонента.
Для оптимизации бюджета мы рекомендуем воспользоваться следующими советами:
4. Оценка партнёров
Установление партнёрства с поставщиком, специализирующимся на разметке данных, может обеспечить вам множество долговременных преимуществ, в том числе стабильный поток размеченных данных, специализированные аннотации и предсказуемые затраты.
При выборе потенциальных партнёров в разметке данных рекомендуем обратить внимание на следующие аспекты:
5. Назначение менеджера проекта
Назначение менеджера проекта для процесса разметки данных из персонала вашей компании может значительно упростить выполнение проекта и обеспечить работу над своими задачами data scientist-ов и разработчиков.
Менеджер проекта должен отвечать за следующие аспекты:
Заключение
На основании своего опыта можем сказать, что при внедрении этих рекомендации с учётом собственных требований в будущих проектах разметки вы сможете добиться следующего: