Ссылка на мой профиль блогаe: https://rakshithv-deeplearning.blogspot.com/

Мы все знаем о том, насколько успешным был BERT для приложений НЛП. BERT был вдохновлен архитектурой трансформатора, и в последнее время он добился значительного успеха в Vision, Audio, а также с использованием трансформаторов. В прошлом году мы видели много работы в области Vision (DINO, изображение размером 16*16 слов и т. д.), связанное с использованием трансформеров. Одна из ключевых идей заключается в том, что использование токена изображения в качестве текстового токена аналогично НЛП.

Огромные языковые модели, такие как BERT и GPT, в значительной степени выигрывают от предварительного обучения с большим корпусом. В то время как Vision Transformers полагаются на другую версию контрастного обучения для выполнения предтренировочных задач. Хотя они приближаются к SOTA, им по-прежнему требуется гораздо больше немаркированных данных, чем обычным нейронным сетям на основе свертки. Предварительное обучение с помощью контрастного обучения имеет определенные ограничения, поскольку существует зависимость от большого количества отрицательных образцов и коллапса мод. Конечно, есть работы, которые также пытаются решить эти ограничения.

Текущая работа «BEIT: предварительное обучение BERT преобразователей изображений» представляет такой же способ предварительного обучения, как и BERT.

BERT использует MLM (моделирование маскированного языка) и NSP (предсказание следующего предложения) в качестве целевой функции для задачи перед обучением. Как следует из названия MLM, мы маскируем определенные токены и просим модель предсказать их. В то время как для NSP мы используем одно предложение в качестве входных данных и просим модель предсказать следующее предложение. Теперь, как насчет использования аналогичной целевой функции для изображения??

Таким образом, если мы замаскируем определенные фрагменты изображения и попросим модель предсказать патч, модели будет очень сложно предсказать 16*16 токенов, каждый элемент которых может принимать значение от 0 до 255. В текущей работе BEiT, авторы подошли к этой проблеме с помощью токенизаторов изображений, которые были предложены в Zero-Shot Text-to-Image Generation.

Когда мы токенизируем текст, для каждого слова, подслова или символа в зависимости от используемого алгоритма токенизации будет назначено соответствующее целое число, и для этого будут изучены вложения. В случае изображения авторы Zero-Shot Text-to-Image Generation обучили токенизатор изображения, где они преобразовали изображение 256 * 256 в токен 32 * 32, где каждый элемент может иметь значение от 0 до 8192. Это модель была обучена с использованием dVAE (дискретный вариационный кодировщик). В BEiT они не обучали свой собственный токенизатор изображений, вместо этого они использовали общедоступный токенизатор изображений, выпущенный авторами Zero-Shot Text-to-Image Generation. Это основной метод, который помог разработать целевую функцию, аналогичную MLM для зрения.

В BERT случайное N% токенов было замаскировано, но в BEiT патч изображения (токен) маскируется как блок, а не маскируется случайным образом. Таким образом, в целом 40% масок должны быть замаскированы, но в блоках. Минимум 16 патчей составляют блок, и соотношение сторон для блока также выбирается случайным образом.

Окончательный рабочий процесс выглядит так (см. схему архитектуры)

  1. Изображение разделено на сетки (токен).
  2. Блоки токена маскируются случайным образом.
  3. Сведите фрагмент изображения в вектор.
  4. Позиционные вложения и вложения изучаются для патчей.
  5. Теперь эти вложения передаются через BERT-подобную архитектуру.
  6. Для замаскированной части модель должна предсказать токен изображения.
  7. Эти токены поступают из токенизатора изображений.
  8. Наконец, данные изображения могут быть реконструированы с использованием токенов.

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

Ссылка на статью: https://arxiv.org/pdf/2106.08254.pdf