Компьютерное зрение
Представляем Vision Transformers: революция в компьютерном зрении за пределами свертки
Что такое преобразователь зрения?
Vision Transformer (ViT) — это революционная архитектура нейронной сети, которая переосмысливает то, как мы обрабатываем и понимаем изображения. Модель Vision Transformer (ViT) была представлена в 2021 году в исследовательской статье конференции под названием Изображение стоит 16*16 слов: трансформеры для распознавания изображений в масштабе, опубликованной на ICLR 2021. Вдохновленный успехом Трансформеры в обработка естественного языка, ViT представляет новый способ анализа изображений, разделяя их на более мелкие фрагменты и используя механизмы внутреннего внимания. Это позволяет модели фиксировать как локальные, так и глобальные отношения в изображениях, что приводит к впечатляющей производительности в различных задачах компьютерного зрения.
Мы показываем, что эта зависимость от CNN не является необходимой, и чистый преобразователь, применяемый непосредственно к последовательностям фрагментов изображения, может очень хорошо выполнять задачи классификации изображений. При предварительном обучении на больших объемах данных и переносе на несколько тестов распознавания изображений среднего или малого размера (ImageNet, CIFAR-100, VTAB и т. д.) Vision Transformer (ViT) достигает отличных результатов по сравнению с современными решениями. художественные сверточные сети, требуя при этом значительно меньше вычислительных ресурсов для обучения [1]
Vision Transformers против CNN?
ViT отличается от сверточных нейронных сетей (CNN) несколькими ключевыми аспектами:
- Входное представление: в то время как CNN обрабатывают необработанные значения пикселей напрямую, ViT делит входное изображение на патчи и преобразует их в токены.
- Механизм обработки: CNN используют сверточные слои и слои объединения для иерархического захвата признаков в разных пространственных масштабах. ViT использует механизмы самоконтроля для рассмотрения взаимосвязей между всеми исправлениями.
- Глобальный контекст: ViT по своей сути фиксирует глобальный контекст посредством самоконтроля, что помогает распознавать отношения между удаленными участками. CNN полагаются на слои пула для грубой глобальной информации.
- Эффективность данных: CNN часто требуют больших объемов помеченных данных для обучения, тогда как ViT может извлечь выгоду из предварительного обучения на больших наборах данных, а затем тонкой настройки для конкретных задач.
Как работает Vision Transformer?
Работу Vision Transformer можно разбить на несколько этапов, каждый из которых играет решающую роль в его общем функционировании:
- Встраивание патча:
- Входное изображение делится на квадратные участки фиксированного размера. Затем каждый патч линейно преобразуется в вектор с использованием обучаемой линейной проекции. Это приводит к последовательности внедрений патчей, которые служат входными токенами для последующих слоев.
2. Позиционное встраивание:
- Поскольку Vision Transformer не обладает каким-либо внутренним пониманием пространственных отношений, информация о местоположении должна быть предоставлена явно. Это делается путем добавления позиционных кодировок к встраиваниям патчей.
- Позиционное кодирование помогает модели различать разные позиции на изображении и фиксировать пространственные отношения. Они обычно изучаются и добавляются к встраиваниям патчей на этапе ввода.
3. Слои кодировщика:
- Ядро Vision Transformer состоит из нескольких слоев кодировщика, каждый из которых содержит два основных подуровня: многоголовое самовнимание и нейронные сети с прямой связью.
4. Самостоятельное внимание с несколькими головками:
- Механизм внутреннего внимания фиксирует отношения между различными патчами во входной последовательности.
- Для каждого встраивания исправлений функция само-внимания вычисляет взвешенную сумму всех вложений исправлений, где веса определяются релевантностью каждого исправления для текущего.
- Этот механизм позволяет модели сосредоточиться на важных исправлениях, учитывая как локальный, так и глобальный контекст.
- Внимание с несколькими головками использует несколько наборов изучаемых параметров (головок внимания) для захвата различных типов отношений.
5. Нейронные сети с прямой связью:
- После само-внимания выходные данные механизма само-внимания каждого патча передаются через нейронную сеть с прямой связью.
- Эта сеть обычно состоит из полностью подключенного слоя, за которым следует функция активации, такая как ReLU (выпрямленная линейная единица).
- Цель сети прямой связи состоит в том, чтобы ввести нелинейность и позволить модели изучить сложные отношения между патчами.
6. Нормализация слоя и остаточные соединения:
- Как за механизмом самоконтроля, так и за выводами сети с прямой связью следуют нормализация уровня и остаточные соединения.
- Нормализация слоев помогает стабилизировать и ускорить обучение, нормализуя входные данные для каждого подуровня.
- Остаточные соединения, также известные как пропущенные соединения, добавляют исходные входные вложения к выходным данным каждого подуровня. Это помогает в потоке градиентов во время тренировки и предотвращает проблему исчезающего градиента.
Применения Vision Transformers
- Классификация изображений: классификация изображений по предопределенным категориям
- Обнаружение объектов: идентификация и локализация объектов на изображениях
- Семантическая сегментация: присвоение метки каждому пикселю изображения для определения границ объекта.
- Генерация изображений: создание новых изображений на основе заданного контекста или описания.
Ограничения трансформеров Vision
- Большие наборы данных: для эффективного обучения Vision Transformers часто требуются большие наборы данных, которые могут быть недоступны для всех доменов.
- Требования к вычислительным ресурсам: обучение ViT может потребовать значительных вычислительных ресурсов из-за механизмов самоконтроля.
- Пространственная информация: последовательная обработка ViT может не так эффективно фиксировать мелкие пространственные закономерности, как CNN, для таких задач, как сегментация.
Ссылки
[1] https://arxiv.org/abs/2010.11929
[2] Vision Transformers (ViT) в распознавании изображений — Руководство 2023 г.
Подробнее читайте на странице: https://viso.ai/deep-learning/vision-transformer-vit/