Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Masked Autoencoders (MAE)

Маскированные автокодировщики скрывают большую часть фрагментов изображения и обучают сеть восстанавливать пропущенные пиксели, благодаря чему она учится извлекать признаки без меток. Включает код для маскирования.

Маскированные автоэнкодеры (MAE) — метод обучения без учителя для изображений: модель скрывает большую случайную долю патчей изображения, обычно 75%, и учится восстанавливать отсутствующие пиксели по остальным, видимым. Каймин Хэ и его коллеги из Meta AI представили этот метод в статье 2021 года Masked Autoencoders Are Scalable Vision Learners, адаптировав предсказание замаскированных слов из BERT для визуальных трансформеров. Поскольку энкодер обрабатывает только видимые патчи, предварительное обучение MAE проходило как минимум в 3 раза быстрее, чем обработка каждого патча, а модель ViT-Huge, обученная таким способом, достигла точности 87.8% на ImageNet — лучшего на тот момент результата среди методов, использовавших только данные ImageNet-1K. Затем предварительно обученный энкодер служит бэкбоном для классификации, обнаружения и сегментации.

Как работают маскированные автоэнкодеры#

MAE делит изображение на сетку неперекрывающихся патчей — 196 патчей размером 16x16 пикселей для входного изображения 224x224 — и случайным образом скрывает большинство из них. Энкодер и декодер намеренно устроены по-разному. Энкодер, стандартный ViT, обрабатывает только видимые патчи, сокращая вычисления и расход памяти примерно до четверти. Лёгкий декодер, по умолчанию состоящий из 8 блоков трансформера и требующий менее 10% вычислений энкодера на токен, получает закодированные видимые патчи и общий обучаемый токен маски для каждой скрытой позиции, а затем предсказывает значения пикселей каждого скрытого патча. Функция потерь — это среднеквадратичная ошибка только на скрытых патчах; использование нормализованных по патчам пикселей в качестве целевых значений дополнительно улучшило выученные признаки. После предварительного обучения декодер отбрасывается:

Высокая доля маскирования делает задачу полезной. Соседние патчи изображения сильно дублируют друг друга, поэтому, если скрыто всего несколько патчей, модель может заполнить каждую пропущенную область интерполяцией по соседним патчам. Если скрыто 75%, ей приходится выводить целые объекты и сцены по фрагментам, что заставляет её учиться распознавать формы, части и контекст. Для сравнения, BERT маскирует только 15% слов, потому что каждое слово уже несёт много смысла.

Ключевой этап MAE — маскирование. Ниже он показан на PyTorch для пакета из четырёх изображений:

import torch

torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)  # a batch of 4 RGB images

# Patchify: each 224x224 image becomes 196 patches of 16x16 pixels, flattened to 768 values
patches = images.unfold(2, 16, 16).unfold(3, 16, 16).permute(0, 2, 3, 1, 4, 5).reshape(4, 196, 768)

# Random masking as in the MAE reference code: rank patches by random noise and keep the first 25%
keep = int(196 * (1 - 0.75))
ids_keep = torch.argsort(torch.rand(4, 196), dim=1)[:, :keep]
visible = torch.gather(patches, 1, ids_keep.unsqueeze(-1).expand(-1, -1, 768))

# Mask of hidden patches (1 = hidden): the decoder predicts these, and the loss is averaged over them only
mask = torch.ones(4, 196).scatter(1, ids_keep, 0)
print(f"Encoder input: {visible.shape[1]} of {patches.shape[1]} patches per image")
print(f"Reconstruction targets: {int(mask[0].sum())} hidden patches per image")

Выводятся Encoder input: 49 of 196 patches per image и Reconstruction targets: 147 hidden patches per image. Поэтому слои трансформера энкодера обрабатывают последовательность вчетверо короче полного изображения, а поскольку механизм внимания сравнивает каждый токен со всеми остальными, матрица оценок внимания в шестнадцать раз меньше, чем для всех 196 патчей.

Результаты и варианты#

Признаки MAE лучше всего проявляют себя после дообучения. При линейном зондировании энкодер ViT-L, предварительно обученный с MAE, достиг точности 73.5% на ImageNet, уступив контрастивным методам. Однако после дообучения и переноса на задачи обнаружения объектов и сегментации на COCO предварительное обучение MAE превзошло обучение с учителем. Этот подход успешно адаптировали для задач, выходящих далеко за пределы статичных изображений: VideoMAE маскирует 90% или больше пространственно-временных патчей видеоклипа видео, SatMAE предварительно обучается на спутниковых снимках, а ConvNeXt V2 использует маскированное автокодирование в свёрточных сетях с разреженными свёртками.

Маскированное предварительное обучение лежит в основе и широко используемых фундаментальных моделей. Segment Anything Model (SAM) от Meta, доступная в пакете Ultralytics, использует для энкодера изображений ViT, предварительно обученный с MAE, а её версия ViT-B, sam_b.pt, — это модель масок по умолчанию в Ultralytics auto_annotate, которая преобразует рамки детектора YOLO26 в метки сегментации.

  • Автоэнкодер: сжимает весь вход в компактный код и восстанавливает его. MAE получает неполный вход и должен предсказать части, которых он никогда не видел; выход энкодера при этом содержит по одному вектору на каждый видимый патч.
  • Моделирование маскированных изображений: более широкое семейство методов, к которому относится MAE. BEiT предсказывает дискретные визуальные токены для замаскированных патчей, а SimMIM передаёт токены маски через энкодер; MAE же предсказывает пиксели и не подаёт токены маски в энкодер.
  • Контрастивное обучение: обучает модель сопоставлять аугментированные представления одного изображения, не используя декодер. Полученные признаки лучше работают без дообучения, тогда как признаки MAE сильнее улучшаются после дообучения.
  • Предиктивная архитектура с совместными эмбеддингами (JEPA): также скрывает области изображения, но предсказывает их эмбеддинги, а не пиксели, не позволяя модели тратить ресурсы на детали текстуры.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения