Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Автокодеры с масками (MAE)

Узнайте, как маскированные автоэнкодеры (MAE) революционизируют самообучение. Узнайте, как реконструкция с помощью MAE повышает производительность и эффективность Ultralytics .

Маскированные автокодировщики (MAE) представляют собой высокоэффективный и масштабируемый подход к самообучению в рамках более широкой области компьютерного зрения. Введенные в качестве метода обучения сильно параметризованных нейронных сетей без необходимости использования обширных наборов данных с метками, MAE работают путем намеренного скрытия большой случайной части входного изображения и обучения модели реконструкции пропущенных пикселей. Успешно предсказывая скрытую визуальную информацию, сеть по сути приобретает глубокое семантическое понимание форм, текстур и пространственных отношений.

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

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

Основная инновация MAE заключается в эффективности обработки. Во время обучения входное изображение делится на сетку фрагментов. Значительная часть этих фрагментов (часто до 75%) случайным образом маскируется и отбрасывается. Кодер, как правило, представляющий собой Vision Transformer (ViT), обрабатывает только видимые, немаскированные фрагменты. Поскольку кодер полностью пропускает замаскированные участки, он требует значительно меньше вычислительных ресурсов и памяти, что делает процесс обучения чрезвычайно быстрым.

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

Различение смежных терминов

Чтобы полностью понять MAE, полезно понять, чем они отличаются от более старых или более общих концепций глубокого обучения:

  • Автокодер: Традиционный автокодер сжимает весь входной сигнал в более компактное латентное пространство, а затем реконструирует его, чтобы научиться эффективному кодированию данных. Однако показатель MAE заставляет сеть прогнозировать отсутствующие данные, а не просто сжимать и распаковывать весь входной сигнал.
  • Самообучение: Это общая парадигма обучения, при которой модель обучается на данных без аннотаций, внесенных человеком. MAE представляет собой конкретную архитектурную реализацию этой концепции.
  • Базовые модели: модели MAE часто используются для предварительного обучения визуальных базовых моделей, которые затем проходят дообучение для решения специализированных задач.

Применение в реальном мире

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

  • Предварительное обучение для усовершенствованного обнаружения объектов: широкие возможности извлечения признаков, освоенные в ходе предварительного обучения с использованием MAE, могут значительно повысить эффективность последующих систем обнаружения объектов. Например, признаки, обученные с помощью MAE, можно использовать при обучении таких моделей, как Ultralytics , на специализированных нишевых наборах данных, где меченых данных мало.
  • Анализ медицинских изображений: В таких областях, как радиология, сбор обширных наборов данных с аннотированными снимками МРТ или КТ является дорогостоящим и ограничивается законодательством о защите персональных данных. Исследователи используют модели с предварительным обучением (MAE) для предварительной подготовки моделей на больших наборах немеченых медицинских изображений, опубликованных в недавних научных работах на arXiv, а затем проводят их тонкую настройку для detect или аномалий, используя лишь небольшое количество меченых примеров.

Управление данными и развертыванием

После предварительного обучения базовой модели с использованием подхода MAE следующим шагом становится ее тонкая настройка и развертывание для конкретных задач, таких как классификация изображений или сегментация изображений. Современные облачные экосистемы делают этот переход беспроблемным. Например, команды могут использовать Ultralytics для простого аннотирования наборов данных для конкретных задач, организации обучения в облаке и развертывания полученных готовых к производственному использованию моделей на периферийных устройствах или серверах. Это избавляет от большей части рутинной работы по настройке инфраструктуры, обычно связанной с операциями машинного обучения (MLOps).

Пример кода: моделирование маскирования участков

Хотя для обучения полноценной модели MAE требуется полная трансформаторная архитектура, основную концепцию маскирования участков можно легко наглядно продемонстрировать с помощью tensor PyTorch . Этот простой фрагмент кода показывает, как можно случайным образом выбирать видимые участки из входного tensor.

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 также предоставляют надежные экосистемы для внедрения передовых исследований в области машинного обучения в масштабируемые производственные среды.

Зарядитесь энергией с помощью Ultralytics YOLO

Получите передовое AI-зрение для ваших проектов. Найдите подходящую лицензию для ваших целей уже сегодня.

Изучите варианты лицензирования