Chuyển đến nội dung

Công thức luyện tập YOLO26

Giới thiệu

Hướng dẫn này ghi lại chính xác... huấn luyện công thức được sử dụng để sản xuất sản phẩm chính thức YOLO26 các điểm kiểm tra được đào tạo trước trên COCO. Mọi siêu tham số Hình ảnh hiển thị ở đây đã được nhúng vào phiên bản đã phát hành. .pt Trọng lượng và có thể được kiểm tra bằng lập trình.

Hiểu cách các mô hình cơ bản được huấn luyện sẽ giúp bạn đưa ra quyết định tốt hơn khi tinh chỉnh : nên giữ lại những phần bổ sung dữ liệu nào, nên điều chỉnh trọng số hàm mất mát nào và cài đặt trình tối ưu hóa nào hoạt động tốt nhất cho kích thước tập dữ liệu của bạn.

Hướng dẫn này dành cho ai?

Hướng dẫn này dành cho những người thực hành muốn hiểu rõ những yếu tố nào đã tạo nên các điểm kiểm tra chính thức của YOLO26 — không chỉ kiến ​​trúc, mà còn cả lịch trình tốc độ học , các đường dẫn tăng cường và trọng số mất mát đã định hình hiệu suất của chúng. Hãy sử dụng thông tin này để đưa ra những lựa chọn sáng suốt khi tinh chỉnh trên dữ liệu của riêng bạn.

Kiểm tra huấn luyện Args

Mọi Ultralytics Checkpoint lưu trữ toàn bộ cấu hình huấn luyện được sử dụng để tạo ra nó. Bạn có thể kiểm tra các cài đặt này bất cứ lúc nào:

Kiểm tra các tham số huấn luyện điểm kiểm tra

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])
import torch

# Load any official checkpoint
ckpt = torch.load("yolo26n.pt", map_location="cpu", weights_only=False)

# Print all training arguments
for k, v in sorted(ckpt["train_args"].items()):
    print(f"{k}: {v}")

Điều này có tác dụng với bất kỳ ai .pt Điểm kiểm tra — bao gồm cả các bản phát hành chính thức và các mô hình được tinh chỉnh của riêng bạn. Để xem danh sách đầy đủ các tham số huấn luyện có thể cấu hình, hãy xem phần [liên kết]. Tài liệu tham khảo cấu hình đào tạo.

Tổng quan về đào tạo

Tất cả các mô hình cơ bản của YOLO26 đều được huấn luyện trên COCO Ở độ phân giải 640x640 sử dụng trình tối ưu hóa MuSGD với kích thước batch là 128. Các mô hình được khởi tạo từ trọng số trung gian đã được huấn luyện trước và được tinh chỉnh bằng các siêu tham số tìm thấy thông qua tìm kiếm tiến hóa. Nhật ký huấn luyện đầy đủ và các số liệu cho mỗi kích thước mô hình đều có sẵn trên Nền tảng Ultralytics :

Các lựa chọn thiết kế chính áp dụng cho mọi kích cỡ:

  • Đào tạo toàn diện từ đầu đến cuối (end2end=True) với NMS - Tư vấn riêng miễn phí
  • Bộ tối ưu hóa MuSGD kết hợp SGD với các cập nhật trực giao kiểu Muon cho trọng số tích chập
  • Tăng cường khảm nặng (Xác suất ~0,9-1,0) bị vô hiệu hóa trong 10 kỷ nguyên gần đây (close_mosaic=10)
  • Tăng tỷ lệ thu phóng mạnh (0,56-0,95) để xử lý các đối tượng có kích thước khác nhau.
  • Giảm thiểu sự xoay/biến dạng đối với hầu hết các kích thước, giúp giữ cho sự biến dạng hình học ở mức thấp.

Số lượng siêu tham số trên mỗi kích thước mô hình

Bộ tối ưu hóa và tốc độ học

Thiết lậpNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640

chiến lược tốc độ học

Mô hình N sử dụng tốc độ học ban đầu cao hơn với sự suy giảm mạnh (lrf=0.0495), trong khi các mô hình S/M/L/X sử dụng LR ban đầu thấp hơn nhiều với lịch trình nhẹ nhàng hơn (lrf=0.882Điều này phản ánh sự khác biệt về động lực hội tụ giữa các mô hình nhỏ và lớn — các mô hình nhỏ cần cập nhật mạnh mẽ hơn để học hỏi hiệu quả.

Giảm cân

Thiết lậpNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

Mô hình N ưu tiên tổn thất DFL, trong khi các mô hình S/M/L/X chuyển trọng tâm sang hồi quy hộp giới hạn. Tổn thất phân loại vẫn tương đối nhất quán trên tất cả các kích thước.

Đường ống tăng cường

Để có giải thích chi tiết về từng kỹ thuật, hãy xem hướng dẫn Tăng cường dữ liệu YOLO .

Thiết lậpNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Các mô hình lớn hơn sử dụng phương pháp tăng cường mạnh mẽ hơn nói chung ( mức độ trộn , sao chép-dántỷ lệ cao hơn), vì chúng có dung lượng lớn hơn và được hưởng lợi từ việc điều chỉnh mạnh mẽ hơn. Mô hình N là kích thước duy nhất có sự tăng cường xoay , biến dạngBGR có ý nghĩa.

Các thông số đào tạo nội bộ

Nâng cao: các tham số đường ống nội bộ

Các điểm kiểm tra cũng chứa các tham số được sử dụng trong quy trình huấn luyện nội bộ nhưng là không được hiển thị dưới dạng cài đặt do người dùng cấu hình trong default.yaml:

Thiết lậpMô tảNSMLX
muon_wTrọng lượng cập nhật Muon trong MuSGD0.5280.4360.4360.4360.436
sgd_wSGD cập nhật trọng số trong MuSGD0.6740.4790.4790.4790.479
cls_wTrọng lượng phân loại nội bộ2.743.483.483.483.48
o2mGiảm cân từ một đến nhiều đầu1.00.7050.7050.7050.705
topkGán nhãn Top-k85555

Các thông số này được ghi lại để đảm bảo tính khả thi nhưng không cần thiết phải thiết lập lại khi tinh chỉnh. Xem phần Câu hỏi thường gặp để biết thêm chi tiết.

Hướng dẫn tinh chỉnh

Khi tinh chỉnh YOLO26 trên tập dữ liệu của riêng bạn, bạn không cần phải sao chép toàn bộ quy trình huấn luyện trước. Các trọng số được huấn luyện trước đã mã hóa kiến ​​thức về tăng cường và tối ưu hóa từ đó. COCO đào tạo. Để biết thêm các phương pháp đào tạo tốt nhất nói chung, hãy xem Mẹo đào tạo mô hình .

Hãy bắt đầu đơn giản

Tinh chỉnh bằng các thiết lập mặc định

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
yolo train model=yolo26n.pt data=your-dataset.yaml epochs=100 imgsz=640

Việc tinh chỉnh với các thiết lập mặc định là một điểm khởi đầu tốt. Chỉ điều chỉnh các siêu tham số nếu bạn có lý do cụ thể.

Khi nào cần điều chỉnh

Small datasets (< 1,000 images):

  • Giảm cường độ tăng cường: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Tốc độ học tập thấp hơn: lr0=0.001
  • Sử dụng ít hơn epochs Với sự kiên nhẫn: epochs=50, patience=20
  • Hãy cân nhắc việc đóng băng các lớp xương sống: freeze=10

Bộ dữ liệu lớn (> 50.000 hình ảnh):

  • Hãy điều chỉnh công thức huấn luyện trước sao cho phù hợp hơn.
  • Coi như optimizer=MuSGD cho những lần chạy dài hơn
  • Tăng cường khả năng khuếch đại: mosaic=1.0, mixup=0.3, scale=0.9

Hình ảnh chuyên biệt theo từng lĩnh vực (trên không, y tế, dưới nước):

  • Tăng flipud=0.5 nếu hướng thẳng đứng thay đổi
  • Tăng degrees nếu các đối tượng xuất hiện ở các góc xoay tùy ý
  • Điều chỉnh hsv_shsv_v nếu điều kiện chiếu sáng khác biệt đáng kể so với COCO

Để tối ưu hóa siêu tham số tự động, hãy xem hướng dẫn Điều chỉnh siêu tham số .

Lựa chọn kích thước mô hình

Mô hìnhTốt nhất choHướng dẫn về kích thước lô
YOLO26nCác thiết bị biên, thiết bị di động, thời gian thực trên CPUXử lý hàng loạt lớn (64-128) trên GPU dành cho người tiêu dùng
YOLO26sTốc độ và độ chính xác được cân bằng.Số lượng trung bình (32-64)
YOLO26mĐộ chính xác cao hơn với mức tính toán vừa phảiSố lượng mỗi lô nhỏ hơn (16-32)
YOLO26lĐộ chính xác cao khi GPU có sẵnSố lượng nhỏ (8-16) hoặc nhiều GPU
YOLO26xĐộ chính xác tối đa, triển khai máy chủSố lượng nhỏ (4-8) hoặc nhiều GPU

Để biết các tùy chọn xuất và triển khai, hãy xem hướng dẫn XuấtTùy chọn triển khai mô hình .

Câu hỏi thường gặp

Làm sao tôi có thể xem chính xác các siêu tham số được sử dụng cho mỗi điểm kiểm tra?

Tải điểm kiểm tra với torch.load() và truy cập vào train_args khóa, hoặc sử dụng model.ckpt["train_args"] với Ultralytics API. Xem Kiểm tra huấn luyện Args Để xem các ví dụ đầy đủ.

Tại sao số lượng epoch lại khác nhau đối với mỗi kích thước mô hình?

Các mô hình lớn hơn hội tụ nhanh hơn. COCO Bởi vì chúng có dung lượng lớn hơn. Mô hình N cần 245 epoch trong khi mô hình X chỉ cần 40 epoch. Khi tinh chỉnh trên tập dữ liệu của riêng bạn, số lượng epoch tối ưu phụ thuộc vào kích thước và độ phức tạp của tập dữ liệu, chứ không phải kích thước của mô hình. Sử dụng dừng sớm (early stopping)patience) để tự động tìm điểm dừng phù hợp.

Tôi có nên sử dụng MuSGD để tinh chỉnh không?

Khi optimizer=auto (mặc định), Ultralytics tự động chọn MuSGD cho các lần chạy huấn luyện dài hơn (>10.000 lần lặp) và AdamW Đối với những đoạn ngắn hơn. Bạn có thể thiết lập một cách rõ ràng. optimizer=MuSGD Nếu bạn muốn. Để biết thêm thông tin về lựa chọn trình tối ưu hóa, hãy xem phần... tài liệu đào tạo.

Đó là gì? muon_w, sgd_w, cls_w, o2m, và topk Tại trạm kiểm soát?

Đây là các tham số nội bộ từ quy trình huấn luyện đã tạo ra các điểm kiểm tra cơ bản. Chúng được lưu trữ để đảm bảo tính khả thi nhưng... không cài đặt do người dùng cấu hình trong default.yamlBạn không cần phải thiết lập chúng khi tinh chỉnh. Xem Các thông số đào tạo nội bộ để biết chi tiết.

Tôi có thể tạo lại chính xác quá trình huấn luyện trước đó từ đầu không?

Các điểm kiểm tra được tạo ra bằng cách sử dụng một nhánh đào tạo nội bộ với các tính năng bổ sung không có trong mã nguồn công khai (như có thể cấu hình) o2m trọng lượng và cls_wBạn có thể đạt được kết quả rất gần bằng cách sử dụng các siêu tham số được ghi lại trên trang này với phiên bản công khai. Ultralytics gói này, nhưng để tái tạo chính xác cần phải sử dụng nhánh nội bộ.



📅 Được tạo 0 ngày trước ✏️ Cập nhật 0 ngày trước
raimbekovm

Bình luận