Vision Transformer ViT архитектура и принципы работы

Термин глоссария

Vision Transformer (ViT)


Vision Transformer (ViT) — архитектура компьютерного зрения, которая обрабатывает изображение как последовательность патчей и применяет механизм self-attention вместо свёрток.

Определение

Vision Transformer (ViT) — модель, в которой изображение разрезается на фиксированные патчи, каждый патч преобразуется в эмбеддинг, после чего последовательность патчей подаётся в трансформерный энкодер. ViT заменяет CNN-архитектуры (ResNet, EfficientNet) механизмом self-attention, позволяющим эффективно моделировать глобальные зависимости между частями изображения. Модель работает по тем же принципам, что и языковые трансформеры, но с адаптацией под визуальный ввод.

Как работает

Работа ViT включает несколько ключевых этапов:

  • Patch embedding — изображение разбивается на равные N×N патчи. Каждый патч линеаризуется и проходит через линейный слой → получаем вектор фиксированной размерности.
  • Позиционные эмбеддинги — добавляются к патчам, чтобы модель понимала расположение фрагментов.
  • Transformer encoder — последовательность патчей проходит через несколько блоков:
    • Multi-head self-attention (MHSA)
    • Feed-forward сети
    • LayerNorm
    • Residual connections
  • CLS-токен — специальный токен, используемый для классификации.
  • Output head — линейный слой для предсказаний.

Self-attention позволяет модели учить глобальные связи между патчами без фиксированных свёрточных фильтров, что улучшает способность к абстракции. ViT эффективно масштабируется: увеличение глубины и ширины модели напрямую повышает качество.

Где применяется

  • Классификация изображений.
  • Детекция объектов и сегментация (в составе гибридных архитектур).
  • Визуальные энкодеры для мультимодальных моделей (CLIP, Flamingo, Qwen-VL).
  • Анализ медицинских изображений.
  • Видео-модели (в расширенном варианте — TimeSformer, ViViT).

Практические примеры использования

ViT лежит в основе многих современных систем компьютерного зрения. CLIP использует ViT как визуальный энкодер для обучения совместного пространства текст–изображение. Мультимодальные модели Qwen-VL, LLaVA и DeepSeek-VL применяют ViT или его модификации в качестве визуального блока. В индустриальных системах ViT используется в контроле качества, медицинской диагностике, инспекции дефектов и автономных роботах.

В задачах детекции и сегментации ViT интегрируется в гибридные архитектуры (например, DETR), где self-attention заменяет классические anchor-based механизмы.

Ключевые свойства

  • Глобальный механизм внимания вместо локальных фильтров.
  • Отличная масштабируемость: большие ViT-модели достигают state-of-the-art.
  • Простая архитектура без сложных CNN-компонентов.
  • Гибкость для мультимодальных моделей.
  • Высокая эффективность на больших датасетах.

Проблемы и ограничения

  • Требует огромных корпусов данных для качественного обучения.
  • Self-attention имеет квадратичную сложность по числу патчей.
  • Может хуже работать на мелких датасетах без предварительного обучения.
  • Менее чувствителен к локальным структурам без дополнительных модификаций.
  • Позиционные эмбеддинги ограничивают разрешение без дообучения.

Преимущества и ограничения

  • Плюс: превосходное качество на больших наборах данных и гибкость для разных задач.
  • Минус: высокая вычислительная стоимость и требовательность к данным.

Связанные термины

  • Self-attention
  • CNN
  • Patch embedding
  • DETR
  • CLIP

Категория термина

Архитектуры моделей