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