Распаковка концепций искусственного интеллекта, ориентированных на данные, используемых в Segment Anything, первой базовой модели для сегментации изображений.

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

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

Модели Foundation также начинают менять правила игры в Computer Vision. Meta’s Segment Anything — недавняя разработка, вызвавшая ажиотаж.

Успех Segment Anything можно объяснить его большим набором данных с метками, который сыграл решающую роль в обеспечении его замечательной производительности. Архитектура модели, описанная в статье Сегментируйте что угодно, на удивление проста и легка.

В этой статье, опираясь на выводы из наших недавних обзорных статей [1,2], мы более подробно рассмотрим сегментацию чего угодно через призму ориентированного на данные ИИ, растущей концепции в сообществе специалистов по данным.

Что можно сегментировать?

В двух словах, задача сегментации изображения состоит в том, чтобы спрогнозировать маску для разделения областей интереса на изображении, таких как объект, человек и т. д. Сегментация — очень важная задача в Computer Visual, которая делает изображение более значимым и простым. анализировать.

Отличие Segment Anything от других подходов к сегментации изображений заключается во введении подсказок для указания местоположения сегментации. Подсказки могут быть расплывчатыми, например точка, прямоугольник и т. д.

Что такое ИИ, ориентированный на данные?

ИИ, ориентированный на данные — это новый подход к разработке систем ИИ, который набирает обороты и продвигается пионером ИИ Эндрю Нг.

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

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

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

Крайне важно различать подходы, ориентированные на данные, и подходы, основанные на данных. «Управляемые данными» методы полагаются только на данные для управления развитием ИИ, но основное внимание по-прежнему уделяется созданию моделей, а не инженерным данным, что принципиально отличает их от «ориентированных на данные» подходов.

Информационно-ориентированная структура искусственного интеллекта преследует три основные цели:

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

Модель, используемая в Segment Anything

Дизайн модели удивительно прост. Модель в основном состоит из трех частей:

  1. Кодировщик подсказки. Эта часть используется для получения представления подсказки посредством позиционного кодирования или свертки.
  2. Кодер изображения. Эта часть напрямую использует Vision Transformer (ViT) без каких-либо специальных модификаций.
  3. Упрощенный декодер маски. Эта часть в основном объединяет встраивание подсказок и встраивание изображений с использованием таких механизмов, как внимание. Он называется легким, потому что имеет всего несколько слоев.

Облегченный декодер маски интересен тем, что позволяет легко развернуть модель даже с использованием только ЦП. Ниже приведен комментарий авторов Segment Anything.

Удивительно, но мы обнаружили, что простой дизайн удовлетворяет всем трем ограничениям: мощный кодировщик изображений вычисляет встраивание изображения, кодировщик подсказок встраивает подсказки, а затем два источника информации объединяются в легковесном декодере маски, который предсказывает маски сегментации.

Поэтому секрет высокой производительности Segment Anything скорее всего не в конструкции модели, так как она очень простая и легкая.

Концепции искусственного интеллекта, ориентированные на данные, в сегменте чего угодно

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

  1. Ручная аннотация с помощью. Этот шаг можно рассматривать как активный процесс обучения. Во-первых, начальная модель обучается на общедоступных наборах данных. Затем аннотаторы изменяют предсказанные маски. Наконец, модель обучается с новыми аннотированными данными. Эти три шага были повторены шесть раз, в результате чего было получено 4,3 миллиона аннотаций масок.
  2. Полуавтоматическая аннотация. Целью этого шага является увеличение разнообразия масок, что также можно рассматривать как активный процесс обучения. Проще говоря, если модель может автоматически генерировать хорошие маски, людям-аннотаторам не нужно маркировать их, и человеческие усилия могут быть сосредоточены на масках, в которых модель недостаточно уверена. Довольно интересен метод, используемый для поиска уверенных масок, включающий обнаружение объектов на масках с первого шага. Например, предположим, что на изображении есть 20 возможных масок. Сначала мы используем текущую модель для сегментации, но это, вероятно, будет аннотировать только часть масок, а некоторые маски не будут хорошо аннотированы. Теперь нам нужно автоматически определить, какие маски являются хорошими (уверенными). Подход этой статьи состоит в том, чтобы выполнить обнаружение объектов на предсказанных масках, чтобы увидеть, можно ли обнаружить объекты на изображении. Если объекты обнаружены, мы считаем соответствующую маску достоверной. Предположим, этот процесс идентифицирует восемь надежных масок; затем аннотатор помечает оставшиеся 12, экономя человеческие усилия. Описанный выше процесс был повторен пять раз, в результате чего было добавлено еще 5,9 миллиона аннотаций масок.
  3. Полностью автоматическое аннотирование. Проще говоря, на этом этапе для аннотирования данных используется модель, обученная на предыдущем этапе. Для улучшения качества аннотаций использовались некоторые стратегии, в том числе:
    (1) отфильтровывание менее достоверных масок на основе прогнозируемых значений Intersection over Union (IoU) (модель способна прогнозировать IoU). .
    (2) учитываются только стабильные маски, а это означает, что если порог изменить немного выше или ниже 0,5, маски останутся в основном неизменными. В частности, для каждого пикселя модель выводит значение от 0 до 1. Обычно мы используем 0,5 в качестве порога, чтобы решить, замаскирован ли пиксель. Стабильность означает, что при определенной корректировке порогового значения около 0,5 (например, от 0,45 до 0,55) соответствующая маска остается практически неизменной, что указывает на то, что прогнозы модели значительно различаются по обе стороны от границы.
    (3) была выполнена дедупликация с немаксимальным подавлением (NMS).
    На этом этапе было аннотировано 11 миллиардов масок (увеличение количества более чем в 100 раз).

Этот процесс звучит знакомо? Правильно, обучение с подкреплением на основе отзывов людей (RLHF), используемое в ChatGPT, очень похоже на процесс, описанный выше. Общим между этими двумя подходами является то, что вместо того, чтобы напрямую полагаться на людей для аннотирования данных, модель сначала обучается на входных данных человека, а затем используется для аннотирования данных. В RLHF модель вознаграждения обучается давать вознаграждения за обучение с подкреплением, в то время как в Segment Anything модель обучается прямой аннотации изображения.

Краткое содержание

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

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

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

Если эта статья показалась вам интересной, вы также можете ознакомиться с моей предыдущей статьей: Какие концепции ИИ, ориентированные на данные, лежат в основе моделей GPT?

Следите за обновлениями!