[Примечания к статье] Swin Transformer: превосходная магистральная сеть компьютерного зрения

компьютерное зрение
[Примечания к статье] Swin Transformer: превосходная магистральная сеть компьютерного зрения

Это первый день моего участия в первом испытании обновлений 2022. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г.

Deep Learning Xiaobai впервые пишет заметки по чтению диссертации.Может быть много ошибок и упущений.Пожалуйста, простите меня.
Я с нетерпением жду прогресса в процессе непрерывного вывода и обмена с вами более ценным контентом.

Оригинальная ссылка:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

Motivation

  1. Прошлые визуальные преобразователи, такие какViTВыполняются только задачи классификации, без обнаружения и сегментации и т. д.Swin TransformerДоказано, что Transformer можно использовать в качестве универсальной магистральной сети компьютерного зрения.
  2. Трансформатор используется в CV двумя способами:
    • Проблема масштаба: разница в размерах одного и того же визуального объекта на разных изображениях может быть очень большой, и этой проблемы в НЛП не существует;
    • Разрешение изображения слишком велико: если пиксели используются непосредственно в качестве входной последовательности, длина слишком велика.
    Swin Transformer предлагает новую схему, а именно перемещение окна, что снижает вычислительную сложность и обеспечивает возможность глобального моделирования.

Related Works

  1. ViTРазмер каждого слоя токена составляет 16-кратную скорость понижения дискретизации, что может обеспечить возможность глобального моделирования через глобальную SA, но понимание многомасштабных функций слабое, и он не подходит для решения задач плотного распознавания;
  2. ViTСамостоятельное внимание всегда выполняется на всем изображении (глобальное моделирование), и сложность возрастает пропорционально размеру изображения.

1.png

Ideas

переместить окно

  1. Иерархическая структура может предоставлять информацию о функциях в различных масштабах, что может быть лучше применено к последующим задачам;
  2. SA вычисляется в маленьком окне, и вычислительная сложность растет линейно с размером изображения, а не прямоугольно;
  3. Благодаря движению окна происходит взаимодействие между двумя соседними окнами, и между верхним и нижним слоями может быть перекрестное оконное соединение для достижения замаскированных возможностей глобального моделирования.

2.png

Model

Структура модели

3.png

  1. Патч-раздел: сначала введите ввод в4×44\times4патч, например224×224×3224\times224\times3изображение, после первого слоя размер становится56×56×4856\times56\times48.
  2. Этап 1:
    • Сначала пройдите слой Linear Embedding, чтобы преобразовать патчи изображения во входные данные преобразователя,56×5656\times56будет растянут на длину31363136Линейная последовательность , а по количеству каналов, как показано, константаCCЗависит от ограничения трансформатора на входе, здесь9696, поэтому после линейного встраивания размер ввода становится3136×963136\times96;
    • Следует отметить, что это3136×963136\times96Матрица напрямую не используется как вход блока Swin Transformer, но исходя из идеи перемещения окна в этой статье, она делится на7×77\times7Размер окна, длина каждого патча только4949;
    • Сам трансформатор не меняет размерность входа.
  3. Этап 2: слияние патчей предназначено для дальнейшей деформации выходного сигнала преобразователя на этапе 1, и последняя операция чем-то похожа на CNN. Слияние патчей — это повышение частоты дискретизации предыдущего вывода,56×56×9656\times56\times96разделить на четыре28×28×9628\times28\times96, и объединены в28×28×38428\times28\times384, после другого1×1×384×1921\times1\times384\times192Фильтр (свертка) , дает28×28×19228\times28\times192.
  4. Stage3 и stage4 такие же, как и stage2, оба уменьшают размер тензора (каждый раз уменьшают на 1/4), чтобы получить больше каналов (увеличивают в 4 раза). Чтобы соответствовать CNN, то есть после операции объединения количество каналов удваивается, а не в 4 раза по сравнению с исходным, поэтому использование1×11\times1Ядро свертки изменяет количество каналов с 4x на 2x. После окончания этапа 4 размер вывода равен7×7×7687\times7\times768.

окно

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

6.png

Однако, если имеется только оконный механизм, самостоятельный поиск между окнами невозможен, и глобальное моделирование не может быть выполнено. Поэтому вводится мобильное окно, а в верхнем и нижнем слоях вводится механизм смещенных окон, который может реализовать связь между окнами.
В блоке Swin Transformer этой статьи сначала выполните многоголовое самовнимание на основе окна (W-MSA), а затем выполните многоголовое самовнимание на основе движущегося окна (SW-MSA), как показано на рис. фигура.

4.png

Experiments

  1. Задача классификации изображений в ImageNet
  2. Обнаружение объектов на COCO
  3. Семантическая сегментация на ADE20K
  4. Эксперименты по абляции (изучение влияния движущихся окон и кодирования абсолютного/относительного положения на производительность модели)

5.png

Limitations

В заключении статьи упоминается, что само-внимание, основанное на смещенных окнах, как ключевая идея этой статьи, может быть использовано только в поле изображения, но не в поле НЛП. На самом деле, по сравнению сViT,Swin TransformerХотя он дает лучшие результаты, последний более склонен к работе, специально разработанной для изображений, и использует некоторые предварительные знания в области зрения, поэтому разумно улучшить эффект. иViTОн заключается в непосредственном использовании самого примитивного Трансформера, и он хорошо работает как в CV, так и в области НЛП. Единая модель способствует совместному развитию двух областей, чтоSwin Transformerтекущие ограничения, и пустьSwin TransformerЕго также можно использовать в области НЛП, что также является одним из направлений, в котором автор надеется приложить дальнейшие усилия.