Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Vision Transformer (ViT)

Откройте для себя возможности Vision Transformers (ViTs) в компьютерном зрении. Узнайте, как они превосходят CNN, захватывая глобальный контекст изображения.

Vision Transformer (ViT) — это тип архитектуры нейронной сети, который применяет очень успешную модель Transformer, первоначально разработанную для обработки естественного языка (NLP), к задачам компьютерного зрения (CV). Представленные исследователями Google в статье "An Image is Worth 16x16 Words", ViT представляют собой значительный отход от доминирующих архитектур сверточных нейронных сетей (CNN). Вместо обработки изображений с помощью скользящих фильтров, ViT рассматривает изображение как последовательность патчей, что позволяет ему захватывать глобальные взаимосвязи между различными частями изображения с помощью механизма самовнимания.

Как работают Vision Transformers

Основная идея ViT (Vision Transformer) заключается в обработке изображения способом, имитирующим обработку текста в Transformer. Этот процесс включает в себя несколько ключевых этапов:

  1. Разбиение изображения на патчи: Входное изображение сначала разбивается на сетку фиксированного размера, неперекрывающихся патчей. Например, изображение размером 224x224 пикселя можно разделить на 196 патчей, каждый размером 16x16 пикселей.
  2. Встраивание патчей (Patch Embedding): Каждый патч преобразуется в один вектор. Затем эти векторы проецируются в пространство меньшей размерности для создания "встраиваний патчей". К каждому встраиванию патча добавляется обучаемое "позиционное встраивание" для сохранения пространственной информации.
  3. Transformer Encoder: Эта последовательность вложений подается в стандартный энкодер Transformer. Благодаря своим слоям самовнимания модель изучает взаимосвязи между всеми парами патчей, что позволяет ей захватывать глобальный контекст по всему изображению с самого первого слоя.
  4. Классификационная голова: Для таких задач, как классификация изображений, к последовательности добавляется дополнительное обучаемое вложение (аналогично токену [CLS] в BERT). Соответствующий выход из Transformer передается в последний классификационный слой для получения прогноза.

ViT против CNN

ViT и CNN являются основополагающими архитектурами в области компьютерного зрения, но существенно различаются по своему подходу:

  • Индуктивное смещение: CNN обладают сильными индуктивными смещениями (предположениями о данных), такими как локальность и эквивариантность к сдвигу, благодаря своим сверточным и объединяющим слоям. ViT имеют гораздо более слабые индуктивные смещения, что делает их более гибкими, но также более зависимыми от изучения закономерностей непосредственно из данных.
  • Зависимость от данных: Из-за более слабых смещений, ViT обычно требуют огромные наборы данных (например, ImageNet-21k) или обширное предварительное обучение, чтобы превзойти современные CNN. С меньшими наборами данных CNN часто лучше обобщают. Вот почему трансферное обучение имеет решающее значение для ViT.
  • Глобальный и локальный контекст: CNN выстраивают иерархические признаки от локальных закономерностей к глобальным. В отличие от этого, ViT могут моделировать глобальные взаимодействия между патчами с самых ранних слоев, потенциально захватывая более широкий контекст более эффективно для определенных задач.
  • Вычислительные затраты: Обучение ViT может быть вычислительно затратным и часто требует значительных GPU ресурсов. Фреймворки, такие как PyTorch и TensorFlow, предоставляют реализации для обучения этих моделей.

Приложения и гибридные модели

ViTs показали исключительную производительность в различных приложениях, особенно там, где понимание глобального контекста является ключевым.

  • Анализ медицинских изображений: ViT очень эффективны для анализа медицинских сканов, таких как МРТ или гистопатологические изображения. Например, при обнаружении опухолей ViT может идентифицировать взаимосвязи между отдаленными тканями, помогая классифицировать опухоли более точно, чем модели, которые фокусируются только на локальных текстурах.
  • Автономное вождение: В самоуправляемых автомобилях ViT могут анализировать сложные сцены для обнаружения объектов и сегментации. Обрабатывая всю сцену глобально, они могут лучше понимать взаимодействие между транспортными средствами, пешеходами и инфраструктурой, как подробно описано в многочисленных исследованиях в области автомобильного ИИ.

Успех ViT также вдохновил на создание гибридных архитектур. Модели, такие как RT-DETR, объединяют backbone CNN для эффективного извлечения признаков с кодировщиком-декодировщиком на основе Transformer для моделирования объектных отношений. Этот подход направлен на то, чтобы получить лучшее из обоих миров: эффективность CNN и глобальное восприятие контекста Transformers.

Для многих приложений, работающих в реальном времени, особенно на периферийных устройствах с ограниченными ресурсами, высокооптимизированные модели на основе CNN, такие как семейство Ultralytics YOLO (например, YOLOv8 и YOLO11), часто обеспечивают лучший баланс между скоростью и точностью. Вы можете ознакомиться с подробным сравнением RT-DETR и YOLO11, чтобы понять компромиссы. Выбор между ViT и CNN в конечном итоге зависит от конкретной задачи, доступных данных и вычислительного бюджета.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена