Узнайте об эпохах в машинном обучении - как они влияют на обучение модели, предотвращают перебор и оптимизируют производительность с помощью Ultralytics YOLO.
В контексте обучения моделей искусственного интеллекта (ИИ), эпоха эпоха - это один полный проход всего обучающего набора данных через алгоритм обучения. Это фундаментальная единица времени в обучении нейронных сетей (НС), обозначающая момент, когда модель имела возможность обучаться на каждом образце из предоставленных данных ровно один раз. Поскольку глубокое обучение модели редко достигают оптимальной производительности после однократного просмотра данных, обучение обычно включает в себя повторение этого процесса в течение многих эпох для минимизации ошибок и уточнения внутренних параметров.
Основной задачей во время эпохи является настройка весов модели, чтобы сопоставить входные данные с правильными выходными данными точно. Во время этого процесса алгоритм оптимизации, такой как стохастический градиентный спускSGD), вычисляет ошибку, используя определенную функции потерь и обновляет внутреннее состояние модели.
Однопроходное обучение часто оказывается недостаточным, поскольку наборы данных содержат сложные вариации и шум. Запуская несколько эпох, модель итеративно улучшает свою способность выполнять такие задачи, как классификация или сегментация изображений. Это итеративное совершенствование позволяет сети обобщать паттерны из обучающих данных, а не просто запоминать конкретные примеры. Фреймворки глубокого обучения, такие как PyTorch и TensorFlow предоставляют встроенные механизмы для управления циклом обучения в этих циклах.
Чтобы понять, как эффективно функционируют тренировочные петли, важно различать три тесно связанных между собой термина. терминами, которые часто путают новички:
Например, если у вас есть набор данных из 10 000 изображений и задан размер партии 100, то для завершения одной эпохи потребуется 100 итераций. чтобы завершить одну эпоху.
Выбор правильного количества эпох является критически важным аспектом настройки гиперпараметров. Обучение в течение слишком малого или слишком много циклов может привести к неоптимальной производительности.
Чтобы смягчить эти проблемы, инженеры часто используют раннюю остановку- технику, которая прекращает обучение, когда потери при проверке перестают улучшаться, независимо от заданного количества эпох. Инструменты визуализации, такие как TensorBoard, часто используются для мониторинга этих показателей в в режиме реального времени.
Понятие эпохи является универсальным для различных доменах машинного обучения (ML).
При использовании ultralytics библиотеке, указание количества эпох является простым. Адрес
train() метод принимает epochs аргумент, который управляет тем, сколько раз модель итерируется
над предоставленными данными.
from ultralytics import YOLO
# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")
# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
Этот фрагмент демонстрирует, как запустить тренировочный прогон, в ходе которого модель будет уточнять свое понимание набора данных "coco8" 50 раз. Для будущих усовершенствований Ultralytics в настоящее время разрабатывает YOLO26, которая будет поддерживать сквозное обучение с еще большей эффективностью, запуск которой ожидается в в конце 2025 года.