Ссылка на мой профиль блога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 патчей составляют блок, и соотношение сторон для блока также выбирается случайным образом.
Окончательный рабочий процесс выглядит так (см. схему архитектуры)
- Изображение разделено на сетки (токен).
- Блоки токена маскируются случайным образом.
- Сведите фрагмент изображения в вектор.
- Позиционные вложения и вложения изучаются для патчей.
- Теперь эти вложения передаются через BERT-подобную архитектуру.
- Для замаскированной части модель должна предсказать токен изображения.
- Эти токены поступают из токенизатора изображений.
- Наконец, данные изображения могут быть реконструированы с использованием токенов.
После завершения предварительной подготовки ее можно применять к последующим задачам, таким как классификация ImageNet, сегментация.
Ссылка на статью: https://arxiv.org/pdf/2106.08254.pdf