Model Weights
Узнай, как веса модели выступают в роли знаний ИИ. Изучи, как Ultralytics YOLO26 использует оптимизированные веса для более быстрого и точного обучения и инференса.
Веса модели — это обучаемые параметры внутри модели машинного обучения, которые преобразуют входные данные в прогнозируемые результаты. В нейронной сети эти веса представляют силу связей между нейронами в разных слоях. Когда модель инициализируется, эти веса обычно устанавливаются в случайные малые значения, что означает, что модель ничего не «знает». В ходе процесса, называемого обучением, модель итеративно корректирует эти веса на основе допускаемых ошибок, постепенно обучаясь распознавать паттерны, признаки и связи в данных. Ты можешь рассматривать веса модели как «память» или «знания» ИИ; они хранят то, чему система научилась из своих данных обучения.
Роль весов в обучении#
Основная цель обучения нейронной сети заключается в поиске оптимального набора весов модели, который минимизирует ошибку между прогнозами модели и фактической истиной. Этот процесс включает передачу данных через сеть — шаг, известный как прямой проход (forward pass), — и последующее вычисление значения потерь с использованием специфической функции потерь. Если прогноз неверчен, алгоритм оптимизации, такой как Stochastic Gradient Descent (SGD) или более новый оптимизатор Muon, используемый в YOLO26, вычисляет, насколько каждый вес внес вклад в ошибку.
С помощью техники, называемой обратным распространением ошибки, алгоритм немного обновляет веса, чтобы уменьшить ошибку в следующий раз. Этот цикл повторяется тысячи или миллионы раз, пока веса модели не стабилизируются и система не достигнет высокой точности. После завершения обучения веса «замораживаются» и сохраняются, что позволяет развернуть модель для инференса на новых, ранее не встречавшихся данных.
Веса модели против смещений#
Важно различать веса и смещения, поскольку они работают вместе, но служат разным целям. В то время как веса модели определяют силу и направление связи между нейронами (управляя крутизной активации), смещения позволяют сдвигать функцию активации влево или вправо. Это смещение гарантирует, что модель сможет лучше подогнать данные, даже если все входные признаки равны нулю. Вместе веса и смещения образуют обучаемые параметры, определяющие поведение таких архитектур, как Convolutional Neural Networks (CNNs).
Реальные приложения#
Веса модели — это основной компонент, который позволяет системам ИИ функционировать в различных отраслях. Вот два конкретных примера того, как они применяются:
- Компьютерное зрение в ритейле: В системе умного супермаркета модель, такая как YOLO26, использует свои обученные веса для идентификации товаров на полке. Веса «изучили» визуальные признаки — такие как форма коробки хлопьев или цвет банки газировки, — что позволяет системе эффективно обнаруживать предметы, управлять инвентарем и даже способствовать процессам автоматизированной оплаты.
- Анализ медицинских изображений: В здравоохранении модели глубокого обучения используют специализированные веса для анализа рентгенограмм или МРТ-сканирований. Например, модель, обученная для обнаружения опухолей, использует свои веса для разграничения здоровой ткани и потенциальных аномалий. Эти веса фиксируют сложные нелинейные паттерны в пиксельных данных, которые могут быть незаметны для человеческого глаза, помогая радиологам ставить более быстрые диагнозы.
Сохранение и загрузка весов#
На практике работа с весами модели включает сохранение обученных параметров в файл и их последующую загрузку для прогнозирования или тонкой настройки. В экосистеме Ultralytics они обычно сохраняются в виде файлов .pt (PyTorch).
Вот простой пример того, как загрузить предварительно обученные веса в модель YOLO и запустить предсказание:
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")Перенос обучения и тонкая настройка#
Одним из самых мощных аспектов весов модели является их переносимость. Вместо обучения модели с нуля, что требует огромных наборов данных и значительной вычислительной мощности, разработчики часто используют трансферное обучение. Это предполагает взятие модели с весами, предварительно обученными на большом наборе данных, таком как COCO или ImageNet, и ее адаптацию к конкретной задаче.
Например, ты можешь взять веса общего детектора объектов и настроить их на меньшем наборе данных солнечных панелей. Поскольку предварительно обученные веса уже понимают границы, формы и текстуры, модель сходится гораздо быстрее и требует меньше размеченных данных. Такие инструменты, как Ultralytics Platform, упрощают этот процесс, позволяя командам управлять наборами данных, обучать модели в облаке и бесшовно развертывать оптимизированные веса на периферийных устройствах.
Сжатие и оптимизация#
Современные исследования в области ИИ часто сосредоточены на уменьшении размера файла весов модели без ущерба для производительности, процесс, известный как квантование модели. Уменьшая точность весов (например, с 32-битных чисел с плавающей запятой до 8-битных целых чисел), разработчики могут значительно снизить использование памяти и повысить скорость инференса. Это крайне важно для развертывания моделей на оборудовании с ограниченными ресурсами, таком как мобильные телефоны или устройства Raspberry Pi. Кроме того, такие методы, как прунинг, удаляют веса, которые вносят небольшой вклад в результат, что еще больше оптимизирует модель для приложений реального времени.






