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

Трансферное обучение

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

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

Как работает Transfer Learning

Эффективность переноса обучения заключается в иерархическом характере извлечения признаков. Модели глубокого обучения, особенно те, которые используются в компьютерном зрении, учатся распознавать паттерны в слоях. Начальные слои основной сети detect , универсальные признаки, такие как края, кривые и текстуры. Эти низкоуровневые признаки применимы практически к любой визуальной задаче.

Этот процесс обычно состоит из двух основных этапов:

  1. Предварительное обучение: модель обучается на крупномасштабном эталонном наборе данных, таком как ImageNet, для изучения общих визуальных представлений. В результате получается набор весов модели, которые уже понимают визуальную структуру.
  2. Адаптация: Затем предварительно обученная модель адаптируется к конкретной нишевой задаче. Часто это делается путем «замораживания» ранних слоев (сохранение их весов неизменными) и переобучения только конечных слоев или детектирующей головки на меньшем наборе данных, созданном специально для этой задачи.

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

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

  • ИИ в здравоохранении: Сложно собрать миллионы аннотированных медицинских изображений для каждого конкретного заболевания. Однако исследователи могут взять модель, предварительно обученную на повседневных объектах, и применить ее к анализу медицинских изображений. Модель переносит свою способность detect и аномалии для идентификации опухолей на рентгеновских снимках или МРТ-сканах с высокой точностью.
  • ИИ в производстве: в промышленных условиях системы визуального контроля должны быстро адаптироваться к новым линейкам продуктов. Обобщенная модель обнаружения дефектов может быть быстро обновлена для выявления недостатков в конкретном новом компоненте, таком как микрочип, с использованием интеллектуальных производственных процессов для минимизации простоев.

Связь с другими концепциями

Полезно отличать трансферное обучение от близкородственных терминов:

  • vs. Точная настройка: Точная настройка — это специфический метод реализации переноса обучения. В то время как перенос обучения — это всеобъемлющая концепция повторного использования знаний, точная настройка относится к механическому процессу размораживания частей модели и их обучения на новых данных с более низкой скоростью обучения.
  • vs. Zero-Shot Learning: Transfer learning требует этапа обучения с некоторыми помеченными данными для новой задачи. В отличие от этого, zero-shot learning пытается classify , которые модель никогда раньше не видела, часто полагаясь на семантические описания, а не на визуальные примеры.

Практический пример

Следующие Python фрагмент демонстрирует перенос обучения с использованием ultralytics библиотеку. Мы загружаем YOLO26 модель, которая поставляется с предварительно обученными весами, полученными из COCO . Когда мы начинаем обучение на новом наборе данных, модель автоматически переносит свои предварительно обученные особенности на новую задачу.

from ultralytics import YOLO

# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")

# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)

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

Для более глубокого погружения в академическую теорию конспекты курса CS231n Стэнфордского университета предлагают отличный обзор, а учебникPyTorch обученияPyTorch содержит подробные технические сведения по реализации.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас