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

Супы «Модель»

Узнайте, как Model Soups повышают точность и устойчивость за счет усреднения весовYOLO Ultralytics YOLO . Узнайте, как повысить производительность без увеличения задержки.

«Model Soups» — это метод машинного обучения, при котором веса нескольких нейронных сетей, настроенных на основе одной и той же предварительно обученной базовой модели с использованием различных гиперпараметров, усредняются для создания единой, более устойчивой модели. Такой подход позволяет разработчикам повысить общую точность и способность к обобщению без увеличения вычислительных затрат при инференции.

При тонкой настройке модели специалисты обычно проводят широкий прогон по настройке гиперпараметров, чтобы найти наиболее эффективную конфигурацию. Традиционно выбирается одна лучшая модель, а остальные отбрасываются. Однако создание «модельного супа» позволяет использовать разнообразные признаки, выученные всеми моделями в ходе прогона. Благодаря прямому усреднению весов моделей, полученная сеть часто превосходит по эффективности одну лучшую модель, эффективно сочетая их сильные стороны и минимизируя переобучение. Этот процесс является высокоэффективным и может легко управляться в средах совместной работы, таких как Ultralytics .

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

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

  • Видение в автономных транспортных средствах: при внедрении систем обнаружения объектов в беспилотных автомобилях модели должны обеспечивать обобщающую способность в различных условиях освещения и погоды. Путем усреднения результатов нескольких моделей, обученных с использованием различных методов дополнения данных и скоростей обучения, инженеры создают высоконадежный «суп», который обеспечивает низкую задержку при вычислении. Это гарантирует, что скорость обработки в реальном времени, имеющая решающее значение для автономной навигации, не снижается.
  • Мобильная медицинская диагностика: в приложениях периферийного ИИ, таких как классификация изображений на смартфонах для первичного дерматологического скрининга, вычислительные мощности крайне ограничены. Использование набора моделей позволяет повысить точность, необходимую для обеспечения клинической достоверности, при этом конечный объем данных легко помещается на мобильных периферийных устройствах, не разряжая аккумулятор и не требуя подключения к облаку.

Дифференциация смежных понятий

Чтобы сориентироваться в области оптимизации глубокого обучения, важно отличать «Model Soups» от схожих методов:

  • Модельный ансамбль: ансамблирование объединяет прогнозы (выходные данные) нескольких независимых моделей. Хотя это повышает точность, оно требует запуска каждой модели во время инференции, что увеличивает вычислительные затраты. В «модельных супах» веса усредняются перед инференцией, благодаря чему вычислительные затраты остаются такими же, как при использовании одной модели.
  • Объединение моделей: это более широкий термин, обозначающий объединение моделей, которые могли быть обучены на совершенно разных задачах или наборах данных. «Model Soups» — это конкретный подвид объединения, при котором все модели созданы на основе одной и той же предварительно обученной базовой архитектуры и проходят дообучение для одной и той же целевой задачи.

Пример реализации

Создание единого набора моделей предполагает доступ к словарюPyTorch , содержащему несколько обученных моделей, и математическое усреднение их тензоров. Ниже приведён краткий пример того, как это можно осуществить с помощью рабочего процесса Ultralytics , нативно поддерживаемого PyTorch .

import torch

# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()

# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}

# The resulting soup_dict can now be loaded into a new YOLO26 instance

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

Давайте вместе создадим будущее искусственного интеллекта!

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