Your AI powered learning assistant

022 Классификация изображений. Часть 15. ViT (Vision Transformer) (2020)

Введение

00:00:00

Внимание заменяет повторение и разблокирует параллельную обработку языка Attention Is All You Need (2017) заменил медленную повторяющуюся обработку на attention, которая параллельно вычисляет все токены. Сосредоточив отдельное “внимание” на каждом слове, перевод стал более точным и быстрым, устраняя при этом узкие места в последовательности. Этот прорыв изменил искусственный интеллект и заложил основу для применения внимания не только к тексту.

От слов к фрагментам изображений Люди просматривают сцены, перемещая фокус по частям, и та же идея распространяется на изображения. Vision Transformer разбивает изображение на фрагменты и передает их в почти неизмененный Transformer, как если бы это были слова. Этот подход расширил инструментарий компьютерного зрения, не вытесняя полностью сверточные сети.

Варианты моделей и идея “16×16 слов” Названия ViT кодируют размер модели и накладки: B/L/H для базовой части / Большой / огромной и цифры, такие как 16, 32 или 14 для боковой части накладки. Изображение размером 224 × 224 с вставками размером 16 × 16 дает сетку размером 14 × 14, в то время как огромная модель с 14 вставками дает “слова размером 16×16”, что следует из названия статьи. Эти варианты сочетают точность, скорость и вместимость.

Встраивание патчей со ступенчатой сверткой Пошаговая свертка с использованием kernel и stride 16 разбивает изображение на части и проецирует каждый участок размером 16×16×3 на вложение размером 768 пикселей, создавая тензор размером 1×768×14×14. При изменении формы карта размером 14×14 объединяется в 196 маркеров и размеры изменяются на [пакет, маркеры, встраивание]. При этом подготавливается последовательное представление изображения.

Маркер класса и позиционное кодирование К 196 маркерам исправлений добавляется маркер изученного класса, который передает информацию на уровне изображения. Добавлены позиционные вставки, чтобы модель знала место каждого исправления. Последовательность из 197 токенов передается в кодировщик, и выходные данные токена класса проходят через линейную головку для прогнозирования среди 31 класса.

Порядок имеет значение как в тексте, так и в изображениях Порядок поддерживает смысл как в предложениях, так и в картинках. Перетасовка фрагментов разрушает пространственные ориентиры, поэтому их нумерация с помощью позиционных вставок сохраняет структуру. Суммирование лексем и позиционных вставок формирует исходные данные, готовые к использованию.

Внимание к себе связывает связанные фрагменты Для каждого исправления запрос сравнивается со всеми ключами, чтобы оценить связанные фрагменты, масштабируется по √dk и нормализуется с помощью softmax. На начальном этапе доминирует геометрия (соседние участки оцениваются выше), но при обучении выявляются семантические связи, например, соединяющие сегмент ствола пистолета с его продолжением. Взвешенные значения суммируются в Z, представление передается дальше.

Много голов, много перспектив Несколько головок управления вниманием работают параллельно с отдельными весами, каждая из которых фиксирует различные взаимосвязи. Их выходные данные объединяются в единое представление перед проекцией. Это позволяет разнообразить фокус и использовать аппаратный параллелизм.

Последующее уточнение с помощью GELU и отсева Блок обратной связи проецирует вложения вверх, применяет GELU, использует dropout и проецирует обратно на ширину модели. Реализованный в виде двух линейных слоев вокруг активации, он уточняет функции токена после проверки. Остаточные связи и LayerNorm стабилизируют обучение.

Что показывает визуальный код PyTorch Анализ кода PyTorch Vision показывает, что для токенов используются исправления, изменения формы и перестановки на основе conv. Создается тензор токенов класса, который расширяется для каждого пакета и объединяется в начале по оси токенов, затем добавляются позиционные вложения. На графике Netron блоки могут располагаться странным образом, но порядок данных соответствует последовательности "токен‑первый".

Иллюстрированные объяснения, которые проясняют внимание Иллюстрированный трансформатор от Джея Аламмара наглядно демонстрирует механику привлечения внимания. Хотя в примерах используется текст, те же операции применяются, когда токены представляют собой графические вставки. Его более обширная иллюстрированная серия, включая Stable Diffusion, является полезным дополнением.

Люди, стоящие за трансформерами и ВиТ Илья Полосухин перешел от изучения Харькова и работы в Google над Transformers и TensorFlow к соучредительству NEAR, чей токен достиг многомиллиардной капитализации. Алексей Досовицкий, Лукас Бейер, Александр Колесников, Дирк Вайсенборн и Чжай занимались исследованиями в области визуализации в Google, работали в промышленности и возвращались к исследовательской работе. Якоб Ушкорейт был соавтором как "Трансформатора", так и "ВиТ", что привело к исключительному количеству цитирований.

Масштаб данных раскрывает потенциал ViT ViT работает с огромным объемом данных: ImageNet, ImageNet‑21k и Google JFT с 300 миллионами изображений демонстрируют свою мощь. В рамках текущего проекта, ограниченного возможностями вычислений, обрабатывается около 5000 изображений ARMA с 31 классом, и планируется расширение за счет добавления новых классов. Несмотря на это, метод остается практичным в небольших масштабах.

Что модель узнает о пространстве и фокусе Изученные позиционные вложения показывают локальность: соседние участки имеют схожие кодировки, а яркое “пятно” совпадает с истинным положением участка. Карты внимания концентрируются на области объекта, например, на области самолета на фотографии в плоскости. Такое выравнивание соответствует задаче классификации.

Обучение без присмотра обещает снизить затраты на маркировку Обучение без присмотра ‑ это увлекательный процесс: успех BERT создает прецедент, а эксперименты ViT без участия учителя выглядят многообещающими. Продвижение этого метода может сократить дорогостоящую маркировку, которая является основным препятствием в коммерческих системах. Необходимы дальнейшие исследования.

Размер патча имеет значение, и действуют ограничения на мобильную связь В ARMA ViT‑L/32 показал низкие результаты примерно на 83% из-за медленного вывода и модели объемом >1 ГБ, что показывает, что исправления размером 32×32 являются слишком грубыми. Модели с разрешением 16×16 исправлений привели к тому, что базовая версия немного превзошла RegNetY‑16 по точности и скорости при незначительном снижении размера, в то время как большая версия достигла точности проверки примерно на 92% при значительных затратах на задержку и размер. Эти данные плохо подходят для мобильных устройств; планируется провести тест Jetson Orin NX.

Тренировка большой модели размером 16×16 дюймов Для обучения модели Large 16 требовались точные гиперпараметры и настройки кода, чтобы задать количество классов и заменить заголовок. На RTX 4090 он использовал ~15 ГБ видеопамяти, достигал максимальной мощности около 420 Вт и обучался примерно по минуте на каждую эпоху, завершая менее чем за час ~ 40 эпох, включая проверку. Итоговые показатели достигли ~91,6% валидации и 90% точности тестирования.

Где классификатор дает сбои Неправильная классификация выявила закономерности: БТР против танка, ифрит, вызывающий недоверие, бензовоз, скрытый пылью, маленькие закрытые цели и периодически появляющийся Охотник, которого ошибочно называют вооруженным на фоне ясного неба. Тени от травы создавали текстуры, похожие на камуфляж, что подталкивало к прогнозированию в пользу Ифрита, а низкое качество изображения усугубляло ошибки. Некоторые сложные изображения были искажены другими моделями, в то время как некоторые ставили в тупик как CNNs, так и ViT.

Увлекательное путешествие через внимание и жизненную силу Attention и Transformers внедрили новый архитектурный принцип, который полностью реализован в vision с помощью ViT. Благодаря тщательному анализу на уровне кода, визуальной интуиции и измеренным результатам модели с 16×16 патчами зарекомендовали себя в ARMA, несмотря на высокие требования к ресурсам. Это путешествие подчеркивает, почему эта парадигма стоит такой сложности.