Masked Autoencoders (MAE)
Узнай, как маскированные автоэнкодеры (MAE) преобразуют обучение без учителя. Познакомься с тем, как реконструкция MAE повышает производительность и эффективность Ultralytics YOLO26.
Маскированные автоэнкодеры (MAE) представляют собой высокоэффективный и масштабируемый подход к самостоятельному обучению в более широкой области компьютерного зрения. Этот метод был представлен для обучения нейронных сетей с большим количеством параметров без необходимости в обширных размеченных наборах данных. MAE намеренно скрывает большую случайную часть входного изображения и обучает модель восстанавливать пропущенные пиксели. Успешно предсказывая скрытую визуальную информацию, сеть естественным образом формирует глубокое семантическое понимание форм, текстур и пространственных взаимосвязей.
Эта методика во многом вдохновлена успехом маскированного языкового моделирования в текстовых системах, но адаптирована к многомерной природе изображений. Архитектура опирается на широко распространённый фреймворк трансформеров и использует асимметричную структуру энкодера и декодера.
Как работают маскированные автоэнкодеры#
Ключевая инновация MAE заключается в эффективности обработки. Во время обучения входное изображение разделяется на сетку патчей. Большая доля этих патчей (часто до 75%) случайным образом маскируется и удаляется. Энкодер, обычно представляющий собой визуальный трансформер (ViT), обрабатывает только видимые, немаскированные патчи. Поскольку энкодер полностью пропускает замаскированные области, ему требуется значительно меньше вычислительных ресурсов и памяти, благодаря чему процесс обучения становится исключительно быстрым.
После того как энкодер создаёт латентные представления видимых патчей, работу продолжает облегчённый декодер. Декодер получает закодированные видимые патчи вместе с «токенами маски» (заполнителями для отсутствующих данных) и пытается восстановить исходное изображение. Поскольку декодер используется только на этапе предварительного обучения, его можно сделать очень компактным, ещё больше снизив вычислительные затраты. После завершения предварительного обучения декодер удаляется, а мощный энкодер сохраняется для последующих приложений.
Различия между связанными терминами#
Чтобы полностью понять MAE, полезно разобраться, чем они отличаются от более старых или более общих концепций глубокого обучения:
- Автоэнкодер: Традиционный автоэнкодер сжимает весь вход во всё меньшее латентное пространство, а затем восстанавливает его, чтобы научиться формировать эффективные представления данных. MAE, напротив, заставляет сеть предсказывать пропущенные данные, а не просто сжимать и распаковывать весь вход.
- Самостоятельное обучение: Это общая парадигма обучения, в рамках которой модель учится на самих данных без аннотированных человеком меток. MAE — это конкретная архитектурная реализация этой концепции.
- Фундаментальная модель: MAE часто используются для предварительного обучения визуальных фундаментальных моделей, которые затем дообучаются для специализированных задач.
Практические применения#
Поскольку MAE формируют исключительно устойчивые представления визуальных данных, они служат идеальной отправной точкой для сложных систем искусственного интеллекта, работающих в реальных условиях.
- Предварительное обучение для продвинутого обнаружения объектов: Богатые возможности извлечения признаков, приобретённые в ходе предварительного обучения MAE, могут значительно повысить эффективность последующих систем обнаружения объектов. Например, признаки, изученные с помощью MAE, можно использовать при обучении таких моделей, как Ultralytics YOLO26, на специализированных наборах данных, где размеченных данных мало.
- Анализ медицинских изображений: В таких областях, как радиология, сбор больших наборов данных с аннотированными МРТ- или КТ-сканами обходится дорого и ограничен законами о конфиденциальности. Исследователи используют MAE для предварительного обучения моделей на больших массивах неразмеченных медицинских изображений, опубликованных в недавних научных работах на arXiv, а затем дообучают их для обнаружения опухолей или аномалий на очень небольшом количестве размеченных примеров.
Управление данными и развёртывание#
После предварительного обучения бэкбона с использованием подхода MAE следующим шагом становится дообучение и развёртывание модели для конкретных задач, таких как классификация изображений или сегментация изображений. Современные облачные экосистемы делают этот переход плавным. Например, команды могут использовать Ultralytics Platform, чтобы легко размечать специализированные наборы данных, организовывать облачное обучение и развёртывать полученные готовые к эксплуатации модели на периферийных устройствах или серверах. Это избавляет от значительной части стандартной инфраструктурной работы, обычно связанной с операциями машинного обучения (MLOps).
Пример кода: имитация маскирования патчей#
Хотя для обучения полноценной MAE требуется завершённая архитектура трансформера, основную концепцию маскирования патчей легко визуализировать с помощью операций с тензорами PyTorch. Этот простой фрагмент показывает, как можно случайным образом выбрать видимые патчи из входного тензора.
import torch
def create_random_mask(batch_size, num_patches, mask_ratio=0.75):
"""Generates a random mask to simulate MAE patch dropping."""
# Calculate how many patches to keep visible
num_keep = int(num_patches * (1 - mask_ratio))
# Generate random noise to determine patch shuffling
noise = torch.rand(batch_size, num_patches)
# Sort noise to get random indices
ids_shuffle = torch.argsort(noise, dim=1)
# Select the indices of the patches that remain visible
ids_keep = ids_shuffle[:, :num_keep]
return ids_keep
# Simulate a batch of 4 images, each divided into 196 patches
visible_patches = create_random_mask(batch_size=4, num_patches=196)
print(f"Visible patch indices shape: {visible_patches.shape}")Разработчикам, которые хотят интегрировать мощные предварительно обученные возможности компьютерного зрения в свои рабочие процессы, не создавая архитектуры с нуля, отличной отправной точкой станет изучение обширной документации Ultralytics, посвящённой применению современных моделей компьютерного зрения для решения уникальных задач. Кроме того, такие основные фреймворки, как TensorFlow, также предоставляют развитые экосистемы для внедрения передовых исследований в области машинного обучения в масштабируемые производственные среды.









