Узнайте о важности весов моделей в машинном обучении, их роли в прогнозировании и о том, как Ultralytics YOLO упрощает их использование для задач ИИ.
Веса модели — это обучаемые параметры в модели машинного обучения, которые преобразуют входные данные в прогнозируемые выходные данные. В нейронной сети эти веса представляют силу связей между нейронами в разных слоях. При инициализации модели эти веса обычно устанавливаются на случайные небольшие значения, что означает, что модель ничего не «знает». В процессе, называемом обучением, модель итеративно корректирует эти веса на основе совершаемых ею ошибок, постепенно обучаясь распознавать паттерны, особенности и взаимосвязи в данных. Можно считать веса модели «памятью» или «знаниями» ИИ; они хранят то, чему система научилась из своих обучающих данных.
Основная цель обучения нейронной сети — найти оптимальный набор весов модели, который минимизирует ошибку между прогнозами модели и фактическими данными. Этот процесс включает в себя прохождение данных через сеть — этап, известный как прямой проход — и затем вычисление значения потери с использованием определенной функции потери. Если прогноз неверный, алгоритм оптимизации, такой как стохастический градиентный спуск (SGD) или более новый оптимизатор Muon, используемый в YOLO26, вычисляет, насколько каждый вес повлиял на ошибку.
С помощью метода, называемого обратным распространением, алгоритм слегка обновляет веса, чтобы уменьшить ошибку в следующий раз. Этот цикл повторяется тысячи или миллионы раз, пока веса модели не стабилизируются и система не достигнет высокой точности. После завершения обучения веса «замораживаются» и сохраняются, что позволяет развернуть модель для вывода по новым, невиданным данным.
Важно различать weights and biases, поскольку они работают вместе, но служат разным целям. В то время как веса модели определяют силу и направление связи между нейронами (контролируя наклон активации), смещения позволяют сдвигать функцию активации влево или вправо. Это смещение гарантирует, что модель может лучше подходить к данным, даже когда все входные характеристики равны нулю. Вместе веса и смещения образуют обучаемые параметры, которые определяют поведение архитектур, таких как сверточные нейронные сети (CNN).
Веса моделей являются ключевым компонентом, который позволяет системам искусственного интеллекта функционировать в различных отраслях. Вот два конкретных примера их применения:
На практике работа с весами модели включает в себя сохранение обученных параметров в файл и их последующую загрузку для
прогнозирования или точная настройка. В экосистеме 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 , упрощают этот процесс, позволяя командам управлять наборами данных, обучать модели в облаке и беспрепятственно развертывать оптимизированные веса на пограничных устройствах.
Современные исследования в области искусственного интеллекта часто сосредоточены на уменьшении размера файла весов модели без потери производительности, что известно как квантование модели. Уменьшая точность весов (например, с 32-разрядных чисел с плавающей запятой до 8-разрядных целых чисел), разработчики могут значительно сократить использование памяти и повысить скорость вывода. Это имеет решающее значение для развертывания моделей на аппаратном обеспечении с ограниченными ресурсами, таком как мобильные телефоны или устройства Raspberry Pi. Кроме того, такие методы, как обрезка, удаляют веса, которые вносят незначительный вклад в выходные данные, что еще больше оптимизирует модель для приложений реального времени.