[IT-компании, Алгоритмы, Искусственный интеллект, Машинное обучение] Обзор на статью Visual Transformers — новый подход к тренировке моделей компьютерного зрения на основе visual tokens
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Этаработа интересна тем, что авторы в ней предлагают новый подход к тренировке моделей на изображениях — использовать не только пиксели и конволюции, но ещё и представлять изображения в виде визуальных токенов и тренировать на них трансформеры. По сравнению с использованием просто архитектуры ResNet предложенный подход уменьшает MAC (multiply and accumulate operations) в 6,9 раз и увеличивает топ-1 точность на 4,53 пункта на задаче классификации ImageNet.
Мотивация подхода
Общепринятый подход к задачам компьютерного зрения — использовать картинки как 3D array (высота, ширина, количество каналов) и применять к ним конволюции. У такого подхода есть ряд недостатков:
- не все пиксели одинаково полезны. Например, если у нас задача классификации, то нам важнее сам объект, чем фон. Интересно, что авторы не говорят о том, что Attention уже пробуют применять в задачах компьютерного зрения;
- Конволюции не достаточно хорошо работают с пикселями, находящимися далеко друг от друга. Есть подходы с dilated convolutions и global average pooling, но они не решают саму проблему;
- Конволюции недостаточно эффективны в очень глубоких нейронных сетях.
В результате авторы предлагают следующее: конвертировать изображения в некие визуальные токены и подавать их в трансформер.
- Вначале используется обычный backbone для получения feature maps
- Далее feature map конвертируется в визуальные токены
- Токены подаются в трансформеры
- Выход трансформера может использоваться для задач классификации
- А если объединить выход трансформера с feature map, то можно получить предсказания для задач сегментации
Среди работ в схожих направлениях авторы все же упоминают Attention, но замечают, что обычно Attention применяется к пикселям, поэтому сильно увеличивает вычислительную сложность. Говорят и о работах по улучшению эффективности нейронных сетей, но считают, что они в последние годы дают все меньшие и меньшие улучшения, поэтому надо искать другие подходы.
Visual transformer
Теперь рассмотрим работу модели подробнее.
Как уже говорилось выше, backbone извлекает feature maps, а они передаются в слои visual transformer.
Каждый visual transformer состоит из трёх частей: токенизатор, трансформер, проектор (projector).
Токенизатор
Токенизатор извлекает визуальные токены. По сути мы берем feature map, делаем reshape в (H * W, C) и из этого получаем токены
Визуализация коэффициентов при токенах выглядит вот так:
Position encoding
Как обычно, трансформерам нужны не только токены, но ещё и информация об их позиции.
Вначале мы делаем downsample, потом домножаем на тренируемые веса и конкатенируем с токенами. Для корректировки количества каналов можно добавить 1D конволюцию.
Transformer
Наконец, сам трансформер.
Объединение visual tokens и feature map
Это делает projector.
Динамическая токенизация
После первого слоя трансформеров мы можем не только извлекать новые visual tokens, но и использовать извлеченные с предыдущих шагов. Для их объединения используются тренируемые веса:
Использование visual transformers для построения моделей компьютерного зрения
Дальше авторы рассказывают как именно применяется модель к задачам компьютерного зрения. Блоки трансформера имеют три гиперпараметра: количество каналов в feature map C, количество каналов в visual token Ct, количество visual tokens L.
Если при переходе между блоками модели количество каналов оказывается неподходящим, то используются 1D и 2D конволюции для получения необходимого количества каналов.
Для ускорения расчетов и уменьшения размера модели используют group convolutions.
Авторы в статье прикладывают **псевдокод** блоков. Полноценный код обещают выложить в будущем.
Классификация изображений
Берем ResNet и на его основе создаем visual-transformer-ResNets (VT-ResNet).
Оставляем stage 1-4, лишь вместо последней ставим visual transformers.
Выход из backbone — 14 x 14 feature map, количество каналов 512 или 1024 в зависимости от глубины VT-ResNet. Из feature map создаются 8 visual tokens на 1024 канала. Выход трансформера идёт в голову для классификации.
Семантическая сегментация
Для этой задачи в качестве базовой модели берут panoptic feature pyramid networks (FPN).
В FPN конволюции работают на изображениях с высоким разрешением, поэтому модель тяжелая. Авторы заменяют эти операции на visual transformer. Опять же 8 токенов и 1024 канала.
Эксперименты
Классификация на ImageNet
Тренируют 400 эпох с RMSProp. Начинают с learning rate 0,01, в течение 5 эпох разогрева увеличивают до 0,16, а потом каждую эпоху домножают на 0,9875. Используют batch normalization и размер батча 2048. Label smoothing, AutoAugment, stochastic depth survival probability 0,9, dropout 0.2, EMA 0,99985.
Это ж сколько экспериментов пришлось прогнать, чтобы все это подобрать…
На этом графике можно увидеть, что подход даёт более высокое качество при уменьшенном количестве вычислений и размерах модели.
Названия статей для сравниваемых моделей:
ResNet + CBAM — Convolutional block attention module
ResNet + SE — Squeeze-and-excitation networks
LR-ResNet — Local relation networks for image recognition
StandAlone — Stand-alone self-attention in vision models
AA-ResNet — Attention augmented convolutional networks
SAN — Exploring self-attention for image recognition
Ablation study
Для ускорения экспериментов брали VT-ResNet-{18, 34} и тренировали 90 эпох.
Использование трансформеров вместо конволюций даёт самый большой прирост. Динамическая токенизация вместо статической также дает большой прирост. Энкодинг позиции дает лишь небольшое улучшение.
Результаты сегментации
Как видим, метрика выросла лишь чуть-чуть, но модель потребляет в 6,5 раз меньше MAC.
Потенциальное будущее подхода
Эксперименты показали, что предложенный подход позволяет создавать более эффективные модели (в плане вычислительных затрат), которые при этом достигают лучшего качества. Предложенная архитектура успешно работает для разных задач computer vision, и можно надеяться, что её применение поможет улучшить симтемы, использующие comuter vision — AR/VR, автономные автомобили и другие.
Обзор подготовил ведущий разработчик МТС Андрей Лукьяненко.
===========
Источник:
habr.com
===========
Похожие новости:
- [Биотехнологии, Здоровье, Научно-популярное, Химия] Хлопковая нить, биолюминесценция и смартфон: анализ крови на антитела за 5 минут
- [Высокая производительность, Искусственный интеллект, Суперкомпьютеры, Учебный процесс в IT] NVIDIA разработает для Университета Флориды суперкомпьютер производительностью 700 петафлопс
- [IT-компании, Производство и разработка электроники, Процессоры] Nvidia заинтересовалась покупкой ARM Ltd. Это может стать крупнейшей сделкой в истории рынка микроэлектроники
- [Kubernetes, Интервью, Серверное администрирование, Системное администрирование] Закулисье. Как рождаются курсы?
- [Agile, Локализация продуктов, Управление продуктом, Управление разработкой] Гибкая локализация: как применить agile к проекту по переводу
- [MySQL, SQL] Применение оконных функций и CTE в MySQL 8.0 для реализации накопительного итога без хаков (перевод)
- [Информационная безопасность, Сетевое оборудование, Сетевые технологии, Системное администрирование] 3. NGFW для малого бизнеса. Беспроводная передача данных: WiFi и LTE
- [Научно-популярное, Профессиональная литература] Проблемы научных публикаций
- [Java] IntelliJ IDEA: Structural Search and Replace (перевод)
- [Венчурные инвестиции] Про четыре сословия в 21 веке
Теги для поиска: #_itkompanii (IT-компании), #_algoritmy (Алгоритмы), #_iskusstvennyj_intellekt (Искусственный интеллект), #_mashinnoe_obuchenie (Машинное обучение), #_mts (мтс), #_deep_learning, #_transformers, #_semantic_segmentation, #_computer_vision, #_ii (ии), #_mashinnoe_obuchenie (машинное обучение), #_nejronnye_seti (нейронные сети), #_blog_kompanii_mts (
Блог компании МТС
), #_itkompanii (
IT-компании
), #_algoritmy (
Алгоритмы
), #_iskusstvennyj_intellekt (
Искусственный интеллект
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:35
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Этаработа интересна тем, что авторы в ней предлагают новый подход к тренировке моделей на изображениях — использовать не только пиксели и конволюции, но ещё и представлять изображения в виде визуальных токенов и тренировать на них трансформеры. По сравнению с использованием просто архитектуры ResNet предложенный подход уменьшает MAC (multiply and accumulate operations) в 6,9 раз и увеличивает топ-1 точность на 4,53 пункта на задаче классификации ImageNet. Мотивация подхода Общепринятый подход к задачам компьютерного зрения — использовать картинки как 3D array (высота, ширина, количество каналов) и применять к ним конволюции. У такого подхода есть ряд недостатков:
В результате авторы предлагают следующее: конвертировать изображения в некие визуальные токены и подавать их в трансформер.
Среди работ в схожих направлениях авторы все же упоминают Attention, но замечают, что обычно Attention применяется к пикселям, поэтому сильно увеличивает вычислительную сложность. Говорят и о работах по улучшению эффективности нейронных сетей, но считают, что они в последние годы дают все меньшие и меньшие улучшения, поэтому надо искать другие подходы. Visual transformer Теперь рассмотрим работу модели подробнее. Как уже говорилось выше, backbone извлекает feature maps, а они передаются в слои visual transformer. Каждый visual transformer состоит из трёх частей: токенизатор, трансформер, проектор (projector). Токенизатор Токенизатор извлекает визуальные токены. По сути мы берем feature map, делаем reshape в (H * W, C) и из этого получаем токены Визуализация коэффициентов при токенах выглядит вот так: Position encoding Как обычно, трансформерам нужны не только токены, но ещё и информация об их позиции. Вначале мы делаем downsample, потом домножаем на тренируемые веса и конкатенируем с токенами. Для корректировки количества каналов можно добавить 1D конволюцию. Transformer Наконец, сам трансформер. Объединение visual tokens и feature map Это делает projector. Динамическая токенизация После первого слоя трансформеров мы можем не только извлекать новые visual tokens, но и использовать извлеченные с предыдущих шагов. Для их объединения используются тренируемые веса: Использование visual transformers для построения моделей компьютерного зрения Дальше авторы рассказывают как именно применяется модель к задачам компьютерного зрения. Блоки трансформера имеют три гиперпараметра: количество каналов в feature map C, количество каналов в visual token Ct, количество visual tokens L. Если при переходе между блоками модели количество каналов оказывается неподходящим, то используются 1D и 2D конволюции для получения необходимого количества каналов. Для ускорения расчетов и уменьшения размера модели используют group convolutions. Авторы в статье прикладывают **псевдокод** блоков. Полноценный код обещают выложить в будущем. Классификация изображений Берем ResNet и на его основе создаем visual-transformer-ResNets (VT-ResNet). Оставляем stage 1-4, лишь вместо последней ставим visual transformers. Выход из backbone — 14 x 14 feature map, количество каналов 512 или 1024 в зависимости от глубины VT-ResNet. Из feature map создаются 8 visual tokens на 1024 канала. Выход трансформера идёт в голову для классификации. Семантическая сегментация Для этой задачи в качестве базовой модели берут panoptic feature pyramid networks (FPN). В FPN конволюции работают на изображениях с высоким разрешением, поэтому модель тяжелая. Авторы заменяют эти операции на visual transformer. Опять же 8 токенов и 1024 канала. Эксперименты Классификация на ImageNet Тренируют 400 эпох с RMSProp. Начинают с learning rate 0,01, в течение 5 эпох разогрева увеличивают до 0,16, а потом каждую эпоху домножают на 0,9875. Используют batch normalization и размер батча 2048. Label smoothing, AutoAugment, stochastic depth survival probability 0,9, dropout 0.2, EMA 0,99985. Это ж сколько экспериментов пришлось прогнать, чтобы все это подобрать… На этом графике можно увидеть, что подход даёт более высокое качество при уменьшенном количестве вычислений и размерах модели. Названия статей для сравниваемых моделей: ResNet + CBAM — Convolutional block attention module ResNet + SE — Squeeze-and-excitation networks LR-ResNet — Local relation networks for image recognition StandAlone — Stand-alone self-attention in vision models AA-ResNet — Attention augmented convolutional networks SAN — Exploring self-attention for image recognition Ablation study Для ускорения экспериментов брали VT-ResNet-{18, 34} и тренировали 90 эпох. Использование трансформеров вместо конволюций даёт самый большой прирост. Динамическая токенизация вместо статической также дает большой прирост. Энкодинг позиции дает лишь небольшое улучшение. Результаты сегментации Как видим, метрика выросла лишь чуть-чуть, но модель потребляет в 6,5 раз меньше MAC. Потенциальное будущее подхода Эксперименты показали, что предложенный подход позволяет создавать более эффективные модели (в плане вычислительных затрат), которые при этом достигают лучшего качества. Предложенная архитектура успешно работает для разных задач computer vision, и можно надеяться, что её применение поможет улучшить симтемы, использующие comuter vision — AR/VR, автономные автомобили и другие. Обзор подготовил ведущий разработчик МТС Андрей Лукьяненко. =========== Источник: habr.com =========== Похожие новости:
Блог компании МТС ), #_itkompanii ( IT-компании ), #_algoritmy ( Алгоритмы ), #_iskusstvennyj_intellekt ( Искусственный интеллект ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:35
Часовой пояс: UTC + 5