Глоссарий

Трансформатор зрения (ViT)

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Хотя и ViT, и CNN являются основополагающими архитектурами в компьютерном зрении (см. A History of Vision Models), они существенно отличаются друг от друга по подходу:

  • Индуктивная предвзятость: CNN обладают сильной индуктивной предвзятостью к локальности и эквивариантности перевода благодаря своим слоям свертки и объединения. ViT имеют более слабые индуктивные предубеждения, в большей степени полагаясь на изучение паттернов из данных, в частности взаимосвязей между удаленными частями изображения с помощью самовнушения.
  • Зависимость от данных: ВиТ, как правило, требуют большого количества обучающих данных (или обширного предварительного обучения), чтобы превзойти современные CNN. При меньших наборах данных CNN часто обобщают лучше из-за встроенных в них предубеждений.
  • Вычислительные затраты: Обучение ViT может быть вычислительно интенсивным, часто требуя значительных ресурсов GPU . Однако скорость вывода может быть конкурентоспособной, особенно для больших моделей. МоделиRT-DETR , например, предлагают производительность в реальном времени, но могут иметь более высокие потребности в ресурсах, чем сопоставимые модели YOLO на основе CNN.
  • Глобальный и локальный контекст: CNN строят иерархические характеристики на основе локальных паттернов. ViT могут моделировать глобальные взаимодействия между патчами с самых ранних слоев, что потенциально позволяет эффективнее улавливать более широкий контекст для определенных задач.

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

Читать полностью