Transfer Learning
Исследуй трансферное обучение для тренировки высокоточного ИИ с меньшим объемом данных. Узнай, как использовать предварительно обученные веса Ultralytics YOLO26 для ускорения своих проектов по компьютерному зрению.
Обучение с переносом знаний — это мощный метод в машинном обучении (ML), при котором модель, разработанная для конкретной задачи, повторно используется в качестве отправной точки для решения второй, связанной с ней задачи. Вместо обучения нейронной сети с нуля, что требует огромных наборов данных и значительных вычислительных мощностей, разработчики используют знания, которые ИИ уже получил. Этот подход имитирует процесс обучения человека: например, умение играть на пианино значительно облегчает обучение игре на органе, так как базовое понимание теории музыки и ловкость пальцев переносятся на новый инструмент. В контексте глубокого обучения это означает, что модель может достичь высокой точности в решении новой проблемы с гораздо меньшими затратами данных и времени.
Link to this sectionКак работает обучение с переносом знаний#
Эффективность обучения с переносом знаний заключается в иерархической природе извлечения признаков. Модели глубокого обучения, особенно используемые в компьютерном зрении, учатся распознавать закономерности по слоям. Начальные слои бэкбона обнаруживают простые универсальные признаки, такие как края, кривые и текстуры. Эти низкоуровневые признаки применимы практически к любой визуальной задаче.
Процесс обычно включает две основные фазы:
-
Предварительное обучение: Модель обучается на крупномасштабном эталонном наборе данных, таком как ImageNet, для изучения общих визуальных представлений. В результате получается набор весов модели, которые уже понимают визуальную структуру.
-
Адаптация: Затем предобученная модель адаптируется к конкретной нишевой задаче. Это часто делается путем «замораживания» ранних слоев (веса остаются фиксированными) и дообучения только последних слоев или головы детекции на меньшем, специализированном наборе данных.
Link to this sectionРеальные приложения#
Обучение с переносом знаний демократизировало ИИ, позволив создавать специализированные решения без ресурсов Big Tech.
- ИИ в здравоохранении: Сложно собрать миллионы аннотированных медицинских изображений для каждой отдельной болезни. Однако исследователи могут взять модель, предобученную на повседневных объектах, и применить ее к анализу медицинских изображений. Модель переносит свою способность обнаруживать формы и аномалии, чтобы идентифицировать опухоли на рентгеновских снимках или МРТ с высокой точностью.
- ИИ в производстве: В промышленных условиях системы визуального контроля должны быстро адаптироваться к новым линейкам продукции. Обобщенная модель обнаружения дефектов может быть быстро обновлена для выявления брака в конкретном новом компоненте, например в микрочипе, используя рабочие процессы интеллектуального производства, чтобы минимизировать время простоя.
Link to this sectionСвязь с другими концепциями#
Полезно отличать обучение с переносом знаний от близких понятий:
- vs. Тонкая настройка: Тонкая настройка — это специфический метод реализации обучения с переносом знаний. В то время как обучение с переносом знаний является общим концептом повторного использования знаний, тонкая настройка относится к техническому процессу размораживания частей модели и их обучения на новых данных с более низким скоростью обучения.
- vs. Обучение с нулевым выстрелом (Zero-Shot): Обучение с переносом знаний требует фазы обучения с некоторым количеством размеченных данных для новой задачи. Напротив, обучение с нулевым выстрелом пытается классифицировать объекты, которые модель никогда раньше не видела, часто полагаясь на семантические описания, а не на визуальные примеры.
Link to this sectionПрактический пример#
Следующий фрагмент кода на 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 Platform, оптимизируют рабочий процесс, позволяя командам совместно работать над аннотированием данных и эффективно развертывать модели, обученные с переносом знаний.
Для более глубокого погружения в академическую теорию заметки Stanford CS231n предлагают отличный обзор, а руководство PyTorch по обучению с переносом знаний предоставляет исчерпывающие технические детали для реализации.






