«Изображение стоит слов 16x16: трансформеры для распознавания изображений в масштабе» может стать еще одним прорывом в компьютерном зрении

Жизни на Земле сталкиваются с циклом взлетов и падений. Это применимо не только к существам, но и к технологиям. Технологии в науке о данных полны шумихи и предвзятых историй успеха. При этом существуют технологии, которые привели к развитию науки о данных: сверточная нейронная сеть (CNN). Начиная с AlexNet в 2012 году, различные архитектуры CNN внесли огромный вклад в реальные бизнес-операции и академические исследования. Остаточные сети (ResNet) от Microsoft Research в 2015 году сделали настоящий прорыв в создании глубоких CNN; тем не менее, приближается почетный отказ от этой технологии. Джеффри Хинтон, отец нейронной сети и один из лауреатов премии Тьюринга 2018 года, много лет упоминал о недостатках CNN. Вы можете найти один из его семинаров « Что не так со сверточными нейронными сетями ?» в 2017 году. Главный недостаток CNN существует в слоях объединения, потому что он теряет много ценной информации и игнорирует отношения между частью образов и целым. Вместо CNN Джеффри Хинтон и его команда опубликовали статью о Capsule Nets в 2018 году; однако он еще не заменил CNN.

Оглавление

  1. Вступление к изображению стоит 16x16 слов: трансформеры для распознавания изображений в масштабе
  2. Почему важен Vision Transformer (ViT)?
  3. Закрытие
  4. Материалы для дальнейшего изучения

Вступление к изображению стоит 16x16 слов: трансформеры для распознавания изображений в масштабе

Я узнал об этой статье из твита Андрея Карпати от 3 октября 2020 года.

Андрей Карпати является старшим директором отдела искусственного интеллекта в Tesla. В 2016 году он преподавал курс CS231n, посвященный темам компьютерного зрения в Стэнфордском университете. Несмотря на то, что содержание было устаревшим, он продемонстрировал большое умение излагать сложные концепции простыми словами. Я многому научился у него в классе.

Цель этого поста - предупредить инженеров по машинному обучению и специалистов по обработке данных, которые не понимают Transformer, о необходимости подготовиться к тому, как «инновационная технологическая компания» запустит репозиторий GitHub для Vision Transformer.

Кто написал этот доклад?

Я обычно проверяю имена авторов / организаций, чтобы определить достоверность статей перед чтением. Эта статья Изображение стоит 16x16 слов: трансформеры для распознавания изображений в масштабе была отправлена ​​28 сентября 2020 г., и имена авторов еще не разглашаются, так как статья находится в двойном рубрике. слепой обзор. Я бы не стал прямо упоминать название компании. Однако вы сможете сделать обоснованное предположение, кто может позволить себе потратить 2500 дней TPU на обучение модели (выделено ниже), и есть еще один признак того, что модель была обучена на JFT-300M, частном наборе данных из 300 миллионов изображений. .

Почему важен Vision Transformer (ViT)?

Это не первая статья о применении Transformer к компьютерному зрению. Facebook выпустил Трансформаторы обнаружения (DETR) в мае 2020 года; однако DETR использовала Transformer совместно с CNN. ViT - наиболее успешное приложение Transformer for Computer Vision, и считается, что это исследование внесло три вклада.

Высокая точность с меньшим временем вычислений для обучения

ViT сократил время обучения на 80% по сравнению с Noisy Student (опубликовано Google в июне 2020 г.), хотя ViT достиг примерно такой же точности, как показано в таблице 2 на бумаге (выше). Noisy Student принял архитектуру EfficientNet, и я напишу еще один пост в блоге об EfficientNet, чтобы помочь читателям увидеть, как далеко продвинулись CNN со времен ResNet в ближайшем будущем.

Модельная архитектура без сверточной сети

Основным механизмом архитектуры Transformer является Самовнимание. Это дает возможность понять связь между входами. Когда Transformers применяются для NLP, он вычисляет отношения между словами двунаправленным образом, что означает, что порядок ввода не имеет значения, в отличие от RNN. Модель с архитектурой Transformer обрабатывает входные данные переменного размера, используя стеки слоев Self-Attention вместо CNN и RNN. Вы можете узнать больше о Transformer в моем последнем посте, написанном простым языком для деловых людей, Минимальные требования, чтобы притвориться, что вы знакомы с BERT.

Основная проблема применения трансформаторов без CNN к изображениям - это применение самовнимания между пикселями. Если размер входного изображения 640x640, модели необходимо вычислить самовнимание для 409K комбинаций. Кроме того, вы можете представить, что маловероятно, что пиксель в углу изображения будет иметь значимую связь с другим пикселем в другом углу изображения. ViT преодолел эту проблему, сегментируя изображения на небольшие участки (например, 16x16). Атом предложения - это слово, и это исследование определило патч как атом изображения, а не пиксель, чтобы эффективно выделять шаблоны.

Эффективность трансформатора с небольшими заплатами

В статье проанализированы внутренние представления ViT путем анализа промежуточных результатов Multi-Head Attention. В статье было обнаружено, что модель способна кодировать расстояние пятен по подобию вложений позиций. Еще одно открытие заключается в том, что в документе было обнаружено, что ViT объединяет информацию по всему изображению даже на самых нижних уровнях Transformers. Напомним, что ViT-Large имеет 24 слоя со скрытым размером 1024 и 16 голов внимания. Цитата из статьи: «Мы обнаружили, что некоторые головы обращаются к большей части изображения уже на самых нижних уровнях, показывая, что способность интегрировать информацию в глобальном масштабе действительно используется моделью».

Качественный анализ производительности модели часто так же важен, как и количественный анализ, чтобы понять надежность прогнозов. Я обычно использую карту активации классов (от MIT в 2015 г.) для проверки надежности работы модели путем просмотра карт активации классов на изображениях с правильными прогнозами, ложноположительными и ложноотрицательными результатами для создания и проверить разные гипотезы.

Закрытие

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

Обновление: 4 декабря 2020 г.

Официальный репозиторий Vision Transformer готов. Наслаждайтесь жизнью с ViT!

Материалы для дальнейшего изучения

  1. Вы можете прочитать представленную статью Google Изображение стоит 16x16 слов: преобразователи для распознавания изображений в масштабе на OpenReivew.net.
  2. Иллюстрированный трансформер от Джея Аламера - лучший пошаговый материал для понимания того, как работает Трансформер, с чрезвычайно полезными изображениями.
  3. Если вы хотите разобраться в применении Transformer без математических вычислений, моя запись в блоге Минимальные требования, чтобы притвориться, что вы знакомы с BERT поможет вам, так как я ориентировал читателей на деловых людей и специалистов по анализу данных младшего уровня.
  4. Если вас интересует современная модель компьютерного зрения с использованием CNN, разработанная командами Google Brain и Research (по состоянию на февраль 2021 г.) до того, как Vision Transformer станет доминировать в этой области, вы можете увидеть анатомию без математических расчетов в статье Простое копирование-вставка - это Game Changer для проблем компьютерного зрения .
  5. Последний материал не имеет прямого отношения к изучению концепции Transformer, но читатели спросили меня, как реализовать Transformers. Если у вас уже есть базовое понимание Transformers, сначала вы можете узнать о том, как использовать PyTorch, из этого поста Понимание PyTorch на примере: пошаговое руководство, а затем вы можете пройти через Быстрый старт HuggingFace чтобы создать свою первую модель трансформатора. Наслаждайтесь трансформерами!