Vision Transformers: мост к трансформерам
Свёртки — не единственный способ видеть. Архитектура трансформеров, покорившая текст, пришла и в компьютерное зрение.
Vision Transformer (ViT) — модель, которая применяет к изображению механизм трансформера: режет картинку на патчи и обрабатывает их как последовательность, через self-attention.
Идея: картинка как последовательность патчей
Трансформеры созданы для последовательностей (слов в предложении). Чтобы скормить им картинку, ViT делает простой трюк: режет изображение на сетку маленьких квадратов — патчей (например, 16×16 пикселей). Каждый патч «разворачивается» в вектор — получается последовательность «слов-патчей», как предложение из кусочков картинки. Дальше работает обычный трансформер.
Картинка 224x224
-> режем на патчи 16x16
-> получаем 14*14 = 196 патчей
-> каждый патч -> вектор («токен»)
-> последовательность из 196 токенов -> в трансформер
Главное отличие от CNN: внимание
Свёртка по своей природе локальна: ядро видит только маленькую окрестность, и лишь глубокие слои постепенно охватывают всю картинку. Трансформер работает иначе — через self-attention каждый патч сразу может «посмотреть» на любой другой патч, даже на противоположном краю картинки. Это даёт глобальный контекст с самого начала: связать левый верхний угол с правым нижним ViT может в первом же слое.
| CNN | ViT | |
| Базовая операция | свёртка (локальная) | self-attention (глобальная) |
| Контекст | растёт с глубиной | глобальный сразу |
| Данные | учится и на средних | нужно очень много данных |
| Встроенные допущения | локальность, инвариантность | почти нет (учит из данных) |
Цена гибкости
У CNN встроено сильное допущение: соседние пиксели связаны, признак можно искать по всей картинке (инвариантность к сдвигу). Это помогает учиться даже на умеренных данных. ViT таких допущений почти не имеет — он гибче, но за гибкость платит аппетитом к данным: на маленьких датасетах ViT проигрывает CNN, а вот на огромных (сотни миллионов картинок) — обгоняет. Поэтому ViT почти всегда применяют через transfer learning: берут предобученный на гигантском датасете.
Зачем это знать
ViT — важный мост: та же архитектура трансформера теперь лежит и в основе языковых моделей (LLM), и в зрении. Это открыло дорогу мультимодальным моделям, которые работают с картинками и текстом одновременно (например, по описанию находят объект на фото). Современное CV всё больше движется в сторону трансформеров и мультимодальности.
Итог
- ViT режет картинку на патчи и обрабатывает их как последовательность токенов.
- Self-attention даёт глобальный контекст сразу, в отличие от локальной свёртки.
- ViT гибче CNN, но требует очень много данных — обычно через transfer learning.
- Та же архитектура объединяет зрение и язык — путь к мультимодальным моделям.