Vision Transformer (ViT)
Исследуй мощь Vision Transformer (ViT). Узнай, как механизмы self-attention и разбиение на патчи революционизируют компьютерное зрение, выходя за рамки CNN, вместе с Ultralytics.
Vision Transformer (ViT) — это архитектура глубокого обучения, которая адаптирует механизмы селф-аттеншн (самовнимания), изначально разработанные для Natural Language Processing (NLP), для решения визуальных задач. В отличие от традиционных Convolutional Neural Network (CNN), которые обрабатывают изображения через иерархию локальных сеток пикселей, ViT рассматривает изображение как последовательность дискретных патчей. Этот подход был популяризирован знаковой исследовательской работой "An Image is Worth 16x16 Words", в которой было показано, что чистые архитектуры Transformer могут достичь передовой производительности в computer vision (CV) без использования сверточных слоев. Используя глобальное внимание, ViT могут захватывать долгосрочные зависимости по всему изображению уже с первого слоя.
Link to this sectionКак работают Vision Transformers#
Фундаментальная инновация ViT заключается в способе структурирования входных данных. Чтобы сделать изображение совместимым со стандартным Transformer, модель разбивает визуальную информацию на последовательность векторов, имитируя то, как языковая модель обрабатывает предложение из слов.
-
Patch Tokenization (Токенизация патчей): Входное изображение делится на сетку квадратов фиксированного размера, обычно 16x16 пикселей. Каждый квадрат выравнивается в вектор, фактически становясь визуальным token.
-
Linear Projection (Линейная проекция): Эти выровненные патчи проходят через обучаемый линейный слой для создания плотных embeddings. Этот шаг отображает сырые значения пикселей в многомерное пространство, которое может обработать модель.
-
Positional Encoding (Позиционное кодирование): Поскольку архитектура обрабатывает последовательности параллельно и лишена врожденного понимания порядка или пространства, к эмбеддингам патчей добавляются обучаемые positional encodings. Это позволяет модели сохранять пространственную информацию о том, где каждый патч находится в исходном изображении.
-
Self-Attention Mechanism (Механизм селф-аттеншн): Последовательность поступает в энкодер Transformer, где self-attention позволяет каждому патчу взаимодействовать со всеми остальными патчами одновременно. Это позволяет сети изучать глобальный контекст, понимая, как пиксель в верхнем левом углу соотносится с пикселем в нижнем правом.
-
Classification Head (Классификационная голова): Для таких задач, как image classification, к последовательности часто добавляется специальный "class token". Конечное выходное состояние этого токена служит совокупным представлением изображения, которое затем подается в классификатор, такой как multilayer perceptron (MLP).
Link to this sectionVision Transformers против CNN#
Хотя обе архитектуры стремятся понять визуальные данные, они существенно различаются своей операционной философией. CNN обладают сильным «индуктивным смещением», известным как трансляционная инвариантность, что означает, что они изначально предполагают, что локальные признаки (такие как края и текстуры) важны независимо от их положения. Это делает CNN очень эффективными с точки зрения данных и результативными на небольших datasets.
Напротив, Vision Transformers имеют меньше специфических для изображений смещений. Им приходится изучать пространственные отношения с нуля, используя огромные объемы training data, такие как наборы данных JFT-300M или полные ImageNet. Хотя это делает обучение более вычислительно интенсивным, это позволяет ViT масштабироваться исключительно хорошо; при наличии достаточного количества данных и compute power они могут превзойти CNN, улавливая сложные глобальные структуры, которые могут упустить локальные свертки.
Link to this sectionРеальные приложения#
Способность понимать глобальный контекст делает ViT особенно полезными для сложных, критически важных сред.
- Medical Image Analysis (Анализ медицинских изображений): В healthcare AI ViT используются для анализа сканов высокого разрешения, таких как МРТ или гистопатологические слайды. Например, при tumor detection ViT может соотнести тонкие текстурные аномалии в тканях с более широкими структурными изменениями по всему слайду, выявляя злокачественные паттерны, которые может пропустить локальная обработка.
- Satellite Imagery and Remote Sensing (Спутниковые снимки и дистанционное зондирование): ViT превосходны в satellite image analysis, где связи между объектами охватывают большие расстояния. Например, для связи места вырубки леса с удаленной лесовозной дорогой требуется понимание «общей картины» ландшафта — задача, в которой глобальное внимание ViT превосходит ограниченное поле зрения стандартных CNN.
Link to this sectionИспользование Transformers вместе с Ultralytics#
Библиотека ultralytics поддерживает архитектуры на основе Transformer, в частности RT-DETR (Real-Time Detection Transformer). Хотя флагман YOLO26 часто предпочтительнее благодаря балансу скорости и точности на граничных устройствах, RT-DETR предлагает мощную альтернативу для сценариев, в которых приоритетом является глобальный контекст.
Следующий пример на Python демонстрирует, как загрузить предобученную модель на базе Transformer и запустить инференс:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()Link to this sectionВзгляд в будущее#
Исследования стремительно развиваются, чтобы решить проблему высоких вычислительных затрат ViT. Такие методы, как FlashAttention, делают эти модели быстрее и эффективнее с точки зрения памяти. Кроме того, становятся популярными гибридные архитектуры, объединяющие эффективность CNN с вниманием Transformers. Для команд, стремящихся управлять этими продвинутыми рабочими процессами, Ultralytics Platform предлагает единую среду для аннотирования данных, обучения сложных моделей в облаке и их развертывания на различных конечных точках.






