Авторы: Ксения Рябинова, Марк Страхов
Редактура: Тимур Фатыхов, Павел Батырь
ViT
— сокращение от Vi
sion T
ransformer. Это полноценный трансформер, способный работать с изображениями. Авторы ставили себе цель внести как можно меньше изменений в архитектуру. Поэтому в модели практически полностью сохранились особенности из NLP.
Модель состоит из 3 основных блоков:
Давайте рассмотрим все блоки по порядку.
Трансформер работает с векторами, а у нас картинки размерности W x H x C. Чтобы преобразовать картинку в векторы для трансформера, в ViT используется блок Linear Projection.
Перед Linear Projection нам нужно выполнить такие шаги:
После того как мы получили векторы, передаем их в Linear Projection:
На рисунке 1 показано, как именно мы режем картинку на патчи и решейпим в вектор. В итоге мы получим набор векторов $[x^1_p;x^2_p;...;x^N_p]$, каждый из которых имеет размерность (1 x (PPС)).
Рисунок 1 - Преобразование входного изображения в векторы патчей