XYZNOT

Статьи · arXiv 2010.11929

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

Опубликовано cs.CVcs.AIcs.LG arXivPDF

Читать с переводом и ИИ

Кратко в трёх строках

  1. 🎯 Свёрточные нейронные сети доминировали в компьютерном зрении благодаря сильным индуктивным смещениям, тогда как стандартные трансформеры не имели прямого и масштабируемого применения к 2D-изображениям.
  2. 🔧 Изображение разбивается на фиксированные плоские патчи (например, 16x16), линейно проецируется во встраивания токенов, дополняется позиционными эмбеддингами и передаётся в стандартный энкодер Transformer с добавленным токеном [class].
  3. 📈 При предобучении на JFT-300M модель ViT-H/14 достигает точности top-1 88,55% на ImageNet, 90,72% на ImageNet ReaL и 77,63% на VTAB, затрачивая значительно меньше вычислительных ресурсов на претрейн, чем сопоставимые CNN.

Аннотация

Хотя архитектура Transformer стала стандартом де-факто для задач обработки естественного языка, её применение в компьютерном зрении остаётся ограниченным. В задачах зрения механизм внимания либо применяется совместно со свёрточными сетями, либо используется для замены отдельных компонентов свёрточных сетей при сохранении их общей структуры. Мы показываем, что такая зависимость от CNN не является необходимой и чистый трансформер, применяемый непосредственно к последовательностям патчей изображений, может демонстрировать отличные результаты в задачах классификации изображений. Будучи предварительно обученной на больших объёмах данных и перенесённой на множество средних или небольших бенчмарков распознавания изображений (ImageNet, CIFAR-100, VTAB и др.), модель Vision Transformer (ViT) достигает выдающихся результатов по сравнению с передовыми свёрточными сетями, требуя при этом существенно меньше вычислительных ресурсов для обучения.

Оригинальная аннотация (англ.)

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.

Разбор статьи

Проблема и мотивация

Свёрточные архитектуры (например, ResNet) долгое время оставались фундаментом современного компьютерного зрения благодаря заложенным в архитектуру индуктивным смещениям, таким как эквивариантность к сдвигу и двумерная локальность. В то время как Transformers стали стандартом в обработке естественного языка (NLP) благодаря вычислительной эффективности и масштабной масштабируемости, ранние попытки перенести механизм self-attention в зрение обычно сочетали его со свёрточным бэкбоном либо использовали специализированные паттерны локального или аксиального внимания, которые сложно эффективно масштабировать на аппаратных ускорителях. В этой статье исследуется, может ли чистая архитектура Transformer, применяемая напрямую к последовательностям патчей изображений с минимальными модификациями, конкурировать с современными CNN или превосходить их.

Ключевые идеи

  • Изображения как последовательности слов: Изображение разбивается на неперекрывающиеся патчи размера . Преобразованные в одномерный вектор патчи обрабатываются аналогично NLP-токенам.
  • Минимальное индуктивное смещение: В отличие от CNN, где пространственная локальность и трансляционная эквивариантность заложены в каждый слой, ViT использует глобальный self-attention между патчами. Двумерная структура учитывается только при нарезке патчей и при интерполяции позиционных эмбеддингов для файнтюнинга на более высоком разрешении.
  • Масштаб важнее индуктивного смещения: Без сильного индуктивного смещения ViT уступает ResNet на датасетах малого и среднего размера (таких как стандартный ImageNet без сильной регуляризации). Однако при предобучении на больших наборах данных (ImageNet-21k с 14 млн изображений или JFT-300M с 303 млн изображений) ViT не уступает или превосходит CNN, затрачивая существенно меньше FLOPs при обучении.

Метод

  1. Эмбеддинг патчей и формирование входа: При заданном размере патча изображение делится на патчей. Каждый вытянутый в вектор патч линейно проецируется матрицей в размерность . В начало последовательности добавляется обучаемый токен классификации , а затем суммируются одномерные обучаемые позиционные эмбеддинги :
  2. Слои энкодера Transformer: Последовательность проходит через идентичных блоков, чередующих multi-head self-attention (MSA) и блоки MLP с использованием pre-LayerNorm (LN) и остаточных связей (residual connections):
  3. Представление и классификационная голова: Итоговое представление извлекается из первого выходного токена: Небольшой MLP (с одним скрытым слоем) служит классификационной головой на этапе предобучения, а при файнтюнинге он заменяется единичной линейной проекцией ().
  4. Тонкая настройка на более высоком разрешении: При файнтюнинге на изображениях большего разрешения (например, или ) размер патча остаётся неизменным, что увеличивает длину последовательности . Предобученные 1D-позиционные эмбеддинги корректируются с помощью двумерной бикубической интерполяции в соответствии с их исходным расположением на пространственной сетке.

Результаты

  • Сравнение с SOTA:
    • Модель ViT-H/14, предобученная на JFT-300M, достигла 88,55% на ImageNet, 90,72% на ImageNet ReaL, 94,55% на CIFAR-100 и 77,63% на наборе из 19 задач VTAB, потребовав 2,5 тыс. TPUv3-core-days.
    • Модель ViT-L/16, предобученная на JFT-300M, показала результат 87,76% на ImageNet всего за 0,68 тыс. TPUv3-core-days, превзойдя BiT-L (ResNet152x4, 87,54%, 9,9 тыс. TPUv3-core-days) и приблизившись к Noisy Student EfficientNet-L2 (88,4/88,5%, 12,3 тыс. TPUv3-core-days).
    • Предобучение на открытых данных: ViT-L/16, обученная на ImageNet-21k, достигла 85,30% на ImageNet.
  • Компромисс между вычислениями и качеством: В экспериментах по масштабированию на JFT-300M чистый ViT доминировал над ResNet на границе Парето, требуя в раза меньше вычислительных ресурсов для достижения аналогичной точности.
  • Внутренние представления: В нижних слоях присутствуют головы внимания, охватывающие как всё изображение целиком, так и головы с малой локализованной дистанцией внимания. В целом дистанция внимания монотонно возрастает по мере увеличения глубины.

Ограничения и открытые вопросы

  • Потребность в данных (Data Hunger): ViT плохо обобщается на небольших датасетах без масштабного предобучения (ImageNet-21k или JFT-300M) либо без агрессивной регуляризации.
  • Отставание самообучения (Self-Supervised Gap): Первые эксперименты с предсказанием маскированных патчей дали 79,9% на ImageNet (ViT-B/16), сохраняя разрыв в 4% по сравнению с контролируемым обучением.
  • Применение к задачам плотного прогнозирования (Dense Prediction): Исходная работа сосредоточена исключительно на классификации; адаптация чистого патчевого трансформера к задачам плотного пространственного предсказания, таким как детекция объектов и семантическая сегментация, остаётся актуальной исследовательской задачей.

Ключевые термины

Vision Transformer (ViT)
Архитектура чистого трансформера, применяемая непосредственно к последовательностям неперекрывающихся патчей изображений для задач компьютерного зрения без свёрточного извлечения признаков.
Patch Embeddings
-мерные векторные представления, получаемые путём линейного проецирования вытянутых пиксельных патчей в латентное пространство модели.
Classification Token ([class])
Обучаемый токен, добавляемый в начало последовательности патчей, выходное состояние которого после финального слоя Transformer служит общим представлением изображения.
Inductive Bias
Встроенные априорные предположения архитектуры; в CNN к ним относятся пространственная локальность и эквивариантность к сдвигу, которые практически отсутствуют в ViT.
Position Embeddings
Одномерные обучаемые векторы, прибавляемые к эмбеддингам патчей для сохранения информации о пространственном порядке элементов в последовательности.
Attention Distance
Среднее пространственное расстояние на изображении, по которому голова внимания агрегирует информацию; концептуальный аналог размера рецептивного поля в CNN.
Hybrid Architecture
Модель, в которой линейная проекция эмбеддингов патчей применяется к картам признаков, полученным из промежуточных слоёв свёрточного бэкбона, а не к сырым пикселям изображения.
Visual Task Adaptation Benchmark (VTAB)
Бенчмарк, состоящий из 19 разнообразных задач компьютерного зрения, разбитых на группы Natural, Specialized и Structured, и оцениваемый с использованием 1000 примеров на задачу.

Вопросы

Почему ViT работает хуже, чем ResNet, на небольших датасетах вроде ImageNet-1k?

Трансформерам не хватает свойственных свёрточным сетям индуктивных смещений, таких как локальность и эквивариантность к сдвигу. На небольших данных ViT переобучается, поскольку вынужден изучать пространственные зависимости с нуля, в то время как жестко заданные индуктивные смещения ResNet обеспечивают лучшую эффективность по выборке.

Как ViT работает с изображениями другого или более высокого разрешения при файнтюнинге?

ViT сохраняет неизменным размер патча, из-за чего увеличивается общая длина последовательности. Предобученные одномерные позиционные эмбеддинги проецируются обратно на исходную 2D-сетку и интерполируются с помощью двумерной бикубической интерполяции под новый размер сетки.

Улучшают ли 2D-позиционные эмбеддинги качество ViT по сравнению со стандартными 1D-эмбеддингами?

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

В чём разница между ViT и гибридной архитектурой (Hybrid architecture)?

Чистый ViT нарезает непосредственно исходное изображение на патчи размером пикселей и применяет линейную проекцию. Гибридная модель сначала пропускает изображение через начальные слои ResNet, после чего извлекает токены патчей из полученной промежуточной карты признаков.

Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.

Читать с переводом и ИИ