Специалист по разметке данных
Сегодня замечательный день (if you know what I mean), чтобы анонсировать нашу новую программу — Специалист по разметке данных.
На текущий момент в сфере искусственного интеллекта сложилась такая ситуация, при которой для обучения сильной нейронной сети нужны несколько компонентов: железо, софт и, непосредственно, данные. Много данных.
Железо, в общем-то, доступно каждому через облака. Да, оно может быть недешевым, но GPU-инстансы на EC2 вполне по карману большинству исследователей. Софт опенсорсный, большинство фреймворков можно скачать себе куда-то и работать с ними. Некоторые сложнее, некоторые проще. Но порог для входа вполне приемлемый. Остается только последний компонент — это данные. И вот здесь и возникает загвоздка.
Deep learning требует действительно больших данных: сотни тысяч–миллионы объектов. Если вы хотите заниматься, например, задачей классификации изображений, то вам, помимо самих данных, нужно передать нейронке информацию, к какому классу относится тот или иной объект. Если у вас задача связана еще и с сегментацией изображения, то получение хорошего датасета — это уже фантастически сложно. Представьте, что вам нужно на каждом изображении выделить границы каждого объекта.
В этом посте хочется сделать обзор тех инструментов (коммерческих и бесплатных), которые пытаются облегчить жизнь этих прекрасных людей — разметчиков данных.
LabelMe
Начнем с того, что это бесплатная тулза, сделанная в MIT. С ее помощью вы можете размечать свои изображения: это могут быть просто bounding boxes, либо попиксельная сегментация.
По сути дела, это некий UI, в котором можно выделять контуры изображения и ставить точки. Это всё. Ничего более умного эта тулза не умеет. Еще одна фича: у LabelMe есть мобильное приложение. Можно не терять зря время в метро, электричке, автобусе, на скучной лекции.
Prodi.gy
Одна из самых продвинутых active learning-систем. Идея такова, что уже заранее натренированная модель с минимальным обучением пытается разметить ваши данные, а ваша задача — лишь направлять ее. Целевая аудитория — аналитики и инженеры, которым необходимо качественно размечать данные, а больших ресурсов на внешних разметчиков у них нет. UX, по словам разработчиков, похож на Тиндер.
Тулза просит разметить только те объекты, по которым она не уверена. Вроде как, они делают больший упор на работу с текстами, но computer vision у них тоже есть, в том числе работа с видео. Сами мы ею не пользовались. Она платная. Стоимость лицензии начинается от 390$.
Scale API
Эти ребята подходят к процессу разметки в формате «под ключ». Дайте нам ваши данные, мы отдадим их нашим разметчикам, проконтролируем качество, дадим вам уже результат через какое-то время. И всё это через API.
Естественно, это тоже не бесплатный инструмент. Например, разметка одной картинки для задачи семантической сегментации (то есть выделить на изображении объекты контурами и сказать, что это за объекты) будет стоить 8$, если вам нужно срочно, или 6.4$ если готовы подождать.
Supervise.ly
Этот инструмент предназначен для упрощения разметки типа instance segmentation. Под капотом (по ощущению) работает что-то вроде Polygon-RNN. Вы выделяете прямоугольниками объекты, а система сама находит границы объекта внутри прямоугольника. У них есть разные натренированные сетки под разные предметные области.
Ребята ещё умеют генерировать синтетические данные из игр и разбавлять ими реальные, если реальные сложно достать. Плюс они же могут завести всю свою систему внутри вашего энтерпрайза, чтобы данные от вас никуда не уходили. В общем, по ощущениям, может хорошо ускорять работу разметчика. Но это не точно.
Mechanical Turk
Сила индусской разметки на кончиках ваших пальцев. Дорого для вас, копейки для них, плохое качество, непонятный quality control, но все пользуются. В России есть аналог — Яндекс.Толока.
Когда-нибудь мы возьмем интервью у пользователей этих платформ и узнаем, как проходит их рабочий день, в чем возникают сложности.
CrowdFlower
Этот инструмент — стандарт де-факто для разметки. Тоже используют живых людей, но предоставляют им более продвинутые инструменты, нежели Толока или MTurk, чтобы размечать было проще.
Помимо стандартных bounding boxes, семантической сегментации, полигонов, они еще размечают точки, например, для складов или полок в магазинах.
Как видите, рынок подобных решений пока очень узкий, но потенциал довольно большой, потому что бутылочное горлышко AI сейчас — это именно хорошо размеченные данные. И кроме шуток, за этим действительно будущее.
Если знаете еще другие инструменты, пишите в комментариях.