Tìm hiểu về các kỷ nguyên trong học máy—cách chúng tác động đến việc đào tạo mô hình, ngăn ngừa quá khớp và tối ưu hóa hiệu suất với Ultralytics YOLO .
Trong bối cảnh đào tạo các mô hình trí tuệ nhân tạo (AI) , một kỷ nguyên (epoch) đề cập đến một lần chạy hoàn chỉnh toàn bộ tập dữ liệu đào tạo thông qua thuật toán học. Đây là đơn vị thời gian cơ bản trong đào tạo mạng nơ-ron (NN) , đánh dấu điểm mà mô hình có cơ hội học từ mọi mẫu trong dữ liệu được cung cấp đúng một lần. Vì các mô hình học sâu hiếm khi đạt hiệu suất tối ưu sau khi chỉ xem dữ liệu một lần, việc đào tạo thường bao gồm việc lặp lại quá trình này qua nhiều kỷ nguyên để giảm thiểu lỗi và tinh chỉnh các tham số nội bộ.
Mục tiêu chính trong mỗi kỷ nguyên là điều chỉnh trọng số mô hình để ánh xạ chính xác các đầu vào thành các đầu ra chính xác. Trong quá trình này, một thuật toán tối ưu hóa , chẳng hạn như Stochastic Gradient Descent ( SGD ), tính toán lỗi bằng cách sử dụng hàm mất mát cụ thể và cập nhật trạng thái bên trong của mô hình.
Học một lần thường không đủ vì tập dữ liệu chứa nhiều biến thể phức tạp và nhiễu. Bằng cách chạy nhiều chu kỳ, mô hình sẽ cải thiện khả năng thực hiện các tác vụ như phân loại hoặc phân đoạn hình ảnh theo từng giai đoạn. Sự tinh chỉnh lặp lại này cho phép mạng tổng quát hóa các mẫu từ dữ liệu huấn luyện thay vì chỉ ghi nhớ các ví dụ cụ thể. Các nền tảng học sâu như PyTorch và TensorFlow cung cấp các cơ chế tích hợp để kiểm soát vòng lặp huấn luyện qua các chu kỳ này.
Để hiểu cách vòng lặp đào tạo hoạt động hiệu quả, điều quan trọng là phải phân biệt ba thuật ngữ có liên quan chặt chẽ thường bị người mới bắt đầu nhầm lẫn:
Ví dụ, nếu bạn có tập dữ liệu gồm 10.000 hình ảnh và đặt kích thước lô là 100, sẽ mất 100 lần lặp để hoàn thành một kỷ nguyên.
Việc lựa chọn đúng số chu kỳ là một khía cạnh quan trọng của việc điều chỉnh siêu tham số . Việc huấn luyện quá ít hoặc quá nhiều chu kỳ có thể dẫn đến hiệu suất không tối ưu.
Để giảm thiểu những vấn đề này, các kỹ sư thường sử dụng kỹ thuật dừng sớm (early stopping ), một kỹ thuật dừng đào tạo khi độ lệch xác thực không còn cải thiện, bất kể tổng số epoch được chỉ định. Các công cụ trực quan hóa như TensorBoard thường được sử dụng để theo dõi các số liệu này theo thời gian thực.
Khái niệm về kỷ nguyên được áp dụng phổ biến trong nhiều lĩnh vực học máy (ML) .
Khi sử dụng ultralytics thư viện, việc chỉ định số kỷ nguyên là đơn giản.
train() phương pháp chấp nhận một epochs đối số kiểm soát số lần mô hình lặp lại dữ liệu được cung cấp.
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)
Đoạn mã này minh họa cách bắt đầu một lần chạy huấn luyện, trong đó mô hình sẽ tinh chỉnh hiểu biết của mình về tập dữ liệu "coco8" 50 lần riêng biệt. Để có những cải tiến trong tương lai, Ultralytics hiện đang phát triển YOLO26 , nền tảng sẽ hỗ trợ đào tạo toàn diện với hiệu quả cao hơn, dự kiến ra mắt vào cuối năm 2025.