Открой для себя мощь трансформаторов зрения (Vision Transformers, ViTs) в компьютерном зрении. Узнай, как они превосходят CNN, улавливая глобальный контекст изображения.
Vision Transformer (ViT) - это тип нейросетевой архитектуры, адаптированный из моделей Transformer, изначально предназначенных для обработки естественного языка (NLP). Представленные исследователями Google в работе "An Image is Worth 16x16 Words", ViT применяют механизм самовнимания трансформера непосредственно к последовательностям патчей изображений, рассматривая обработку изображений как задачу моделирования последовательности. Этот подход ознаменовал собой значительный сдвиг по сравнению с доминированием конволюционных нейронных сетей (КНС) в компьютерном зрении (КВ).
Вместо того чтобы обрабатывать изображение пиксель за пикселем с помощью конволюционных фильтров, ViT сначала делит входное изображение на непересекающиеся патчи фиксированного размера. Затем эти патчи сплющиваются в векторы, линейно встраиваются и дополняются позиционными вкраплениями для сохранения пространственной информации (подобно тому, как кодируются позиции слов в NLP). Затем эта последовательность векторов подается в стандартный кодер Transformer, который использует слои многоголового самовнушения для взвешивания важности различных патчей относительно друг друга. Конечный выход кодера-трансформера обычно передается в простую классифицирующую головку (например, многослойный перцептрон) для таких задач, как классификация изображений. Такая архитектура позволяет ViTs эффективно моделировать дальние зависимости и глобальный контекст в изображении.
Трансформаторы зрения стали весьма актуальны в современном глубоком обучении благодаря своей масштабируемости и впечатляющей производительности, особенно при масштабном предварительном обучении на таких наборах данных, как ImageNet, или еще более крупных собственных наборах. Способность моделировать глобальный контекст делает их пригодными для решения широкого спектра задач CV, выходящих за рамки базовой классификации, включая:
ViT все чаще интегрируются в платформы вроде Ultralytics HUB и библиотеки вроде Hugging Face Transformers, что делает их доступными для исследований и внедрения с помощью таких фреймворков, как PyTorch и TensorFlow. Они также могут быть оптимизированы для развертывания Edge AI на таких устройствах, как NVIDIA Jetson или Google Edge TPU, с помощью таких инструментов, как TensorRT.
Хотя и ViT, и CNN являются основополагающими архитектурами в компьютерном зрении (см. A History of Vision Models), они существенно отличаются друг от друга по подходу:
Выбор между ViT и CNN часто зависит от конкретной задачи, доступных наборов данных и вычислительных ресурсов. ViT, как правило, выигрывают, когда доступны большие объемы обучающих данных и глобальный контекст имеет первостепенное значение. CNN, например те, что используются в качестве основы в Ultralytics YOLO (например, YOLOv8, YOLOv10, YOLO11), остаются весьма эффективными и действенными, особенно для обнаружения объектов в реальном времени на устройствах с ограниченными возможностями. Гибридные архитектуры, сочетающие конволюционные функции и слои-трансформеры (как в RT-DETR), также представляют собой перспективное направление, пытающееся использовать сильные стороны обоих подходов. Тонкая настройка предварительно обученных моделей, будь то ViT или CNN, - обычная практика, использующая такие техники, как трансферное обучение.