Hướng dẫn Điều chỉnh siêu tham số của Ultralytics YOLO

Giới thiệu

Điều chỉnh siêu tham số không chỉ là một thiết lập một lần mà là một quá trình lặp đi lặp lại nhằm tối ưu hóa các chỉ số hiệu suất của mô hình machine learning, chẳng hạn như độ chính xác (accuracy), độ chính xác (precision) và độ thu hồi (recall). Trong bối cảnh của Ultralytics YOLO, các siêu tham số này có thể bao gồm từ tốc độ học (learning rate) đến các chi tiết kiến trúc, ví dụ như số lượng lớp hoặc loại hàm kích hoạt được sử dụng. Ultralytics Platform cũng hỗ trợ đào tạo trên đám mây với các siêu tham số có thể cấu hình và theo dõi chỉ số theo thời gian thực.



Watch: How to Tune Hyperparameters for Better Model Performance 🚀

Siêu tham số là gì?

Siêu tham số là các thiết lập cấu trúc, cấp cao cho thuật toán. Chúng được đặt trước giai đoạn đào tạo và giữ nguyên trong suốt quá trình đó. Dưới đây là một số siêu tham số thường được điều chỉnh trong Ultralytics YOLO:

  • Tốc độ học (Learning Rate) lr0: Xác định kích thước bước tại mỗi lần lặp trong khi di chuyển tới mức tối thiểu trong hàm mất mát.
  • Batch Size batch: Số lượng ảnh được xử lý đồng thời trong một lượt truyền tiến (forward pass).
  • Số lượng Epochs epochs: Một epoch là một lượt truyền tiến và truyền lùi hoàn chỉnh của tất cả các ví dụ đào tạo.
  • Chi tiết kiến trúc: Ví dụ như số lượng kênh, số lớp, các loại hàm kích hoạt, v.v.

Hyperparameter optimization search space visualization

Để có danh sách đầy đủ các siêu tham số tăng cường (augmentation) được sử dụng trong YOLO26, vui lòng tham khảo trang cấu hình.

Tiến hóa di truyền và Đột biến

Ultralytics YOLO sử dụng thuật toán di truyền để tối ưu hóa siêu tham số. Các thuật toán di truyền được lấy cảm hứng từ cơ chế của chọn lọc tự nhiên và di truyền học.

  • Lai ghép (Crossover): Mỗi lần lặp kết hợp các gen từ tối đa chín cấu hình có độ thích nghi cao nhất được ghi nhận cho đến nay, sử dụng phép lai BLX-α với lựa chọn cha mẹ dựa trên trọng số độ thích nghi.
  • Đột biến (Mutation): Ứng viên được tái tổ hợp sau đó được thay đổi bởi một hệ số nhân log-normal áp dụng cho từng siêu tham số (với xác suất 0.5 trên mỗi tham số). Độ mạnh của đột biến sigma giảm dần từ 0.2 xuống 0.1 trong 300 lần lặp đầu tiên, vì vậy thuật toán khám phá rộng rãi ở giai đoạn đầu và tinh chỉnh dần khi hội tụ. Lần lặp 1 không có cha mẹ để lai ghép và sử dụng các siêu tham số đào tạo mặc định làm cơ sở.

Chuẩn bị cho việc điều chỉnh siêu tham số

Trước khi bắt đầu quá trình điều chỉnh, điều quan trọng là:

  1. Xác định các chỉ số: Xác định các chỉ số bạn sẽ sử dụng để đánh giá hiệu suất của mô hình. Điều này có thể là AP50, F1-score, hoặc các chỉ số khác.
  2. Thiết lập ngân sách điều chỉnh: Xác định lượng tài nguyên tính toán bạn sẵn sàng phân bổ. Việc điều chỉnh siêu tham số có thể đòi hỏi tài nguyên tính toán lớn.

Các bước thực hiện

Khởi tạo siêu tham số

Bắt đầu với một bộ siêu tham số ban đầu hợp lý. Đây có thể là các siêu tham số mặc định được thiết lập bởi Ultralytics YOLO hoặc dựa trên kiến thức chuyên môn hoặc các thí nghiệm trước đó của bạn.

Đột biến siêu tham số

Sử dụng phương thức _mutate để tạo ra một bộ siêu tham số mới dựa trên bộ hiện có. Lớp Tuner tự động xử lý quá trình này.

Đào tạo mô hình

Quá trình đào tạo được thực hiện bằng cách sử dụng bộ siêu tham số đã đột biến. Hiệu suất đào tạo sau đó được đánh giá bằng cách sử dụng các chỉ số bạn đã chọn.

Đánh giá mô hình

Sử dụng các chỉ số như AP50, F1-score, hoặc các chỉ số tùy chỉnh để đánh giá hiệu suất của mô hình. Quá trình đánh giá giúp xác định xem các siêu tham số hiện tại có tốt hơn các bộ trước đó hay không.

Ghi nhật ký kết quả

Việc ghi lại cả chỉ số hiệu suất và các siêu tham số tương ứng là rất quan trọng để tham khảo trong tương lai. Ultralytics YOLO tự động lưu các kết quả này ở định dạng NDJSON.

Lặp lại

Quá trình được lặp lại cho đến khi đạt được số lần lặp đã định hoặc chỉ số hiệu suất đạt yêu cầu. Mỗi lần lặp đều xây dựng dựa trên kiến thức thu được từ các lần chạy trước.

Mô tả không gian tìm kiếm mặc định

Bảng sau liệt kê các tham số không gian tìm kiếm mặc định để điều chỉnh siêu tham số trong YOLO26. Mỗi tham số có một phạm vi giá trị cụ thể được xác định bởi một tuple (min, max).

Tham sốLoạiPhạm vi giá trịMô tả
lr0float(1e-5, 1e-2)Tốc độ học ban đầu khi bắt đầu đào tạo. Các giá trị thấp hơn cung cấp quá trình đào tạo ổn định hơn nhưng hội tụ chậm hơn
lrffloat(0.01, 1.0)Hệ số tốc độ học cuối cùng dưới dạng một phân số của lr0. Kiểm soát mức độ giảm tốc độ học trong quá trình đào tạo
momentumfloat(0.7, 0.98)Hệ số momentum SGD. Các giá trị cao hơn giúp duy trì hướng gradient nhất quán và có thể tăng tốc độ hội tụ
weight_decayfloat(0.0, 0.001)Hệ số điều chuẩn L2 để ngăn chặn overfitting. Các giá trị lớn hơn áp dụng điều chuẩn mạnh hơn
warmup_epochsfloat(0.0, 5.0)Số lượng epoch cho quá trình khởi động (warmup) tốc độ học tuyến tính. Giúp ngăn chặn sự không ổn định khi mới bắt đầu đào tạo
warmup_momentumfloat(0.0, 0.95)Momentum ban đầu trong giai đoạn khởi động. Tăng dần đến giá trị momentum cuối cùng
boxfloat(1.0, 20.0)Trọng số mất mát bounding box trong tổng hàm mất mát. Cân bằng giữa hồi quy box và phân loại
clsfloat(0.1, 4.0)Trọng số mất mát phân loại trong tổng hàm mất mát. Các giá trị cao hơn nhấn mạnh vào việc dự đoán đúng lớp
cls_pwfloat(0.0, 1.0)Lũy thừa trọng số lớp để xử lý mất cân bằng lớp. Các giá trị cao hơn làm tăng trọng số cho các lớp hiếm
dflfloat(0.4, 12.0)Trọng số DFL (Distribution Focal Loss) trong tổng hàm mất mát. Các giá trị cao hơn nhấn mạnh vào việc định vị bounding box chính xác
hsv_hfloat(0.0, 0.1)Phạm vi tăng cường độ hue ngẫu nhiên trong không gian màu HSV. Giúp mô hình tổng quát hóa tốt hơn với các biến thể màu sắc
hsv_sfloat(0.0, 0.9)Phạm vi tăng cường độ bão hòa (saturation) ngẫu nhiên trong không gian HSV. Mô phỏng các điều kiện ánh sáng khác nhau
hsv_vfloat(0.0, 0.9)Phạm vi tăng cường giá trị (độ sáng) ngẫu nhiên. Giúp mô hình xử lý các mức độ phơi sáng khác nhau
degreesfloat(0.0, 45.0)Tăng cường xoay tối đa theo độ. Giúp mô hình trở nên bất biến với hướng của đối tượng
translatefloat(0.0, 0.9)Tăng cường tịnh tiến tối đa dưới dạng phân số của kích thước ảnh. Cải thiện độ bền vững với vị trí đối tượng
scalefloat(0.0, 0.95)Phạm vi tăng cường tỷ lệ (scaling) ngẫu nhiên. Giúp mô hình phát hiện đối tượng ở các kích thước khác nhau
shearfloat(0.0, 10.0)Tăng cường cắt (shear) tối đa theo độ. Thêm các biến dạng kiểu phối cảnh vào ảnh đào tạo
perspectivefloat(0.0, 0.001)Phạm vi tăng cường phối cảnh ngẫu nhiên. Mô phỏng các góc nhìn khác nhau
flipudfloat(0.0, 1.0)Xác suất lật ảnh theo chiều dọc trong quá trình đào tạo. Hữu ích cho hình ảnh từ trên không/flycam
fliplrfloat(0.0, 1.0)Xác suất lật ảnh theo chiều ngang. Giúp mô hình trở nên bất biến với hướng của đối tượng
bgrfloat(0.0, 1.0)Xác suất sử dụng tăng cường BGR, hoán đổi các kênh màu. Có thể giúp ích cho tính bất biến màu sắc
mosaicfloat(0.0, 1.0)Xác suất sử dụng tăng cường mosaic, kết hợp 4 ảnh. Đặc biệt hữu ích cho việc phát hiện đối tượng nhỏ
mixupfloat(0.0, 1.0)Xác suất sử dụng tăng cường mixup, pha trộn hai ảnh. Có thể cải thiện độ bền vững của mô hình
cutmixfloat(0.0, 1.0)Xác suất sử dụng tăng cường cutmix. Kết hợp các vùng ảnh trong khi vẫn duy trì các đặc trưng cục bộ
copy_pastefloat(0.0, 1.0)Xác suất sử dụng tăng cường copy-paste. Giúp cải thiện hiệu suất phân đoạn cá thể
close_mosaicfloat(0.0, 10.0)Vô hiệu hóa mosaic trong N epoch cuối để ổn định quá trình đào tạo trước khi hoàn tất

Ví dụ về không gian tìm kiếm tùy chỉnh

Dưới đây là cách xác định không gian tìm kiếm và sử dụng phương thức model.tune() để tận dụng lớp Tuner nhằm điều chỉnh siêu tham số của YOLO26n trên COCO8 trong 30 epoch với trình tối ưu hóa AdamW, đồng thời bỏ qua việc vẽ biểu đồ, checkpoint và xác thực (trừ epoch cuối cùng) để tăng tốc quá trình điều chỉnh.

Cảnh báo

Ví dụ này chỉ mang tính chất minh họa. Các siêu tham số thu được từ các lần điều chỉnh ngắn hoặc quy mô nhỏ hiếm khi tối ưu cho việc đào tạo trong thực tế. Trên thực tế, việc điều chỉnh nên được thực hiện trong các thiết lập tương tự như đào tạo đầy đủ — bao gồm các tập dữ liệu, số epoch và tăng cường tương đương — để đảm bảo kết quả đáng tin cậy và có thể chuyển giao. Việc điều chỉnh nhanh có thể làm chệch các tham số hướng tới sự hội tụ nhanh hơn hoặc đạt được lợi ích xác thực ngắn hạn không mang tính tổng quát.

Ví dụ
from ultralytics import YOLO

# Initialize the YOLO model
model = YOLO("yolo26n.pt")

# Define search space
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# Tune hyperparameters on COCO8 for 30 epochs
model.tune(
    data="coco8.yaml",
    epochs=30,
    iterations=300,
    optimizer="AdamW",
    space=search_space,
    plots=False,
    save=False,
    val=False,
)

Tiếp tục một phiên điều chỉnh siêu tham số bị gián đoạn

Bạn có thể tiếp tục một phiên điều chỉnh siêu tham số bị gián đoạn bằng cách truyền resume=True. Bạn có thể tùy chọn truyền tên thư mục name được sử dụng trong runs/{task} để tiếp tục. Nếu không, nó sẽ tiếp tục phiên gián đoạn gần nhất. Bạn cũng cần cung cấp tất cả các đối số đào tạo trước đó bao gồm data, epochs, iterationsspace.

Sử dụng `resume=True` với `model.tune()`
from ultralytics import YOLO

# Define a YOLO model
model = YOLO("yolo26n.pt")

# Define search space
search_space = {
    "lr0": (1e-5, 1e-2),
    "degrees": (0.0, 45.0),
}

# Resume previous run
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, resume=True)

# Resume tuning run with name 'tune_exp'
results = model.tune(data="coco8.yaml", epochs=50, iterations=300, space=search_space, name="tune_exp", resume=True)

Kết quả (Results)

Sau khi bạn đã hoàn thành thành công quá trình điều chỉnh siêu tham số, bạn sẽ nhận được một số tệp và thư mục chứa kết quả của quá trình điều chỉnh. Phần sau đây mô tả từng mục:

Cấu trúc tệp

Dưới đây là hình thức cấu trúc thư mục của các kết quả. Các thư mục đào tạo như train1/ chứa các lần lặp điều chỉnh riêng lẻ, tức là một mô hình được đào tạo với một bộ siêu tham số. Thư mục tune/ chứa các kết quả điều chỉnh từ tất cả các lần đào tạo mô hình riêng lẻ:

runs/
└── detect/
    ├── train1/
    ├── train2/
    ├── ...
    └── tune/
        ├── best_hyperparameters.yaml
        ├── tune_fitness.png
        ├── tune_results.ndjson
        ├── tune_scatter_plots.png
        └── weights/
            ├── last.pt
            └── best.pt

Mô tả tệp

best_hyperparameters.yaml

Tệp YAML này chứa các siêu tham số (hyperparameters) hiệu quả nhất được tìm thấy trong quá trình tinh chỉnh. Bạn có thể sử dụng tệp này để khởi tạo các quá trình huấn luyện trong tương lai với những thiết lập đã được tối ưu hóa này.

  • Định dạng: YAML

  • Cách sử dụng: Kết quả siêu tham số

  • Ví dụ:

    # 558/900 iterations complete ✅ (45536.81s)
    # Results saved to /usr/src/ultralytics/runs/detect/tune
    # Best fitness=0.64297 observed at iteration 498
    # Best fitness metrics are {'metrics/precision(B)': 0.87247, 'metrics/recall(B)': 0.71387, 'metrics/mAP50(B)': 0.79106, 'metrics/mAP50-95(B)': 0.62651, 'val/box_loss': 2.79884, 'val/cls_loss': 2.72386, 'val/dfl_loss': 0.68503, 'fitness': 0.64297}
    # Best fitness model is /usr/src/ultralytics/runs/detect/train498
    # Best fitness hyperparameters are printed below.
    
    lr0: 0.00269
    lrf: 0.00288
    momentum: 0.73375
    weight_decay: 0.00015
    warmup_epochs: 1.22935
    warmup_momentum: 0.1525
    box: 18.27875
    cls: 1.32899
    dfl: 0.56016
    hsv_h: 0.01148
    hsv_s: 0.53554
    hsv_v: 0.13636
    degrees: 0.0
    translate: 0.12431
    scale: 0.07643
    shear: 0.0
    perspective: 0.0
    flipud: 0.0
    fliplr: 0.08631
    mosaic: 0.42551
    mixup: 0.0
    copy_paste: 0.0

tune_fitness.png

Đây là biểu đồ hiển thị độ phù hợp (fitness) so với số lần lặp. Nó giúp bạn trực quan hóa cách thuật toán di truyền đã hoạt động theo thời gian.

  • Định dạng: PNG
  • Cách sử dụng: Trực quan hóa hiệu suất

Hyperparameter Tuning Fitness vs Iteration

Biểu đồ bao gồm:

  • Một điểm đánh dấu cho mỗi lần lặp trên mỗi tập dữ liệu, do đó một lần chạy trên tập dữ liệu đơn lẻ sẽ hiển thị một điểm cho mỗi lần lặp, và một lần chạy trên tập dữ liệu đa dạng sẽ hiển thị một điểm cho mỗi tập dữ liệu trong mỗi lần lặp.
  • Một đường "trung bình làm mượt" nét đứt được tính toán dưới dạng làm mượt Gaussian (sigma=3) trên các giá trị độ phù hợp cấp cao nhất theo từng lần lặp.

tune_results.ndjson

Một tệp NDJSON chứa các kết quả chi tiết của mỗi lần lặp tinh chỉnh. Mỗi dòng là một đối tượng JSON với độ phù hợp tổng hợp, các siêu tham số đã được tinh chỉnh, và các chỉ số theo từng tập dữ liệu. Việc tinh chỉnh trên tập dữ liệu đơn lẻ và đa tập dữ liệu sử dụng cùng một định dạng tệp.

  • Định dạng: NDJSON
  • Cách sử dụng: Theo dõi kết quả theo từng lần lặp.
  • Ví dụ:

Một ví dụ được định dạng đẹp mắt được hiển thị bên dưới để dễ đọc. Trong tệp .ndjson thực tế, mỗi đối tượng được lưu trữ trên một dòng duy nhất.

{
    "iteration": 1,
    "fitness": 0.48628,
    "hyperparameters": {
        "lr0": 0.01,
        "lrf": 0.01,
        "momentum": 0.937,
        "weight_decay": 0.0005
    },
    "datasets": {
        "coco8": {
            "metrics/precision(B)": 0.65666,
            "metrics/recall(B)": 0.85,
            "metrics/mAP50(B)": 0.85086,
            "metrics/mAP50-95(B)": 0.64104,
            "val/box_loss": 1.57958,
            "val/cls_loss": 1.04986,
            "val/dfl_loss": 1.32641,
            "fitness": 0.64104
        },
        "coco8-grayscale": {
            "metrics/precision(B)": 0.6582,
            "metrics/recall(B)": 0.51667,
            "metrics/mAP50(B)": 0.59106,
            "metrics/mAP50-95(B)": 0.33152,
            "val/box_loss": 1.95424,
            "val/cls_loss": 1.64059,
            "val/dfl_loss": 1.70226,
            "fitness": 0.33152
        }
    },
    "save_dirs": {
        "coco8": "runs/detect/coco8",
        "coco8-grayscale": "runs/detect/coco8-grayscale"
    }
}

Giá trị fitness cấp cao nhất là trung bình cộng của các giá trị fitness theo từng tập dữ liệu. Đối với việc tinh chỉnh tập dữ liệu đơn lẻ, từ điển datasets có một mục mà giá trị fitness của nó bằng với fitness cấp cao nhất. Một đối tượng JSON được ghi lại cho mỗi lần lặp hoàn tất. Các đường dẫn save_dirs thực tế là đường dẫn tuyệt đối; chúng được viết tắt ở trên để dễ đọc.

tune_scatter_plots.png

Tệp này chứa các biểu đồ phân tán được tạo từ tune_results.ndjson, giúp bạn trực quan hóa mối quan hệ giữa các siêu tham số khác nhau và các chỉ số hiệu suất. Các siêu tham số có giá trị mặc định là 0 (ví dụ: degreesshear bên dưới) có thể chỉ tiến hóa chậm từ giá trị khởi tạo ban đầu vì hệ số đột biến nhân có rất ít không gian để mở rộng từ một giá trị gần bằng 0.

  • Định dạng: PNG
  • Cách sử dụng: Phân tích dữ liệu khám phá

Hyperparameter tuning results scatter plot analysis

weights/

Thư mục này chứa các mô hình PyTorch đã lưu cho lần lặp cuối cùng và tốt nhất trong quá trình tinh chỉnh siêu tham số.

  • last.pt: last.pt là trọng số từ kỷ nguyên (epoch) huấn luyện cuối cùng.
  • best.pt: best.pt là các trọng số cho lần lặp đạt được điểm số fitness tốt nhất.

Sử dụng các kết quả này, bạn có thể đưa ra các quyết định sáng suốt hơn cho các lần huấn luyện và phân tích mô hình trong tương lai của mình. Hãy thoải mái tham khảo các kết quả này để hiểu mô hình của bạn đã hoạt động tốt như thế nào và làm thế nào bạn có thể cải thiện nó hơn nữa.

Kết luận

Quá trình tinh chỉnh siêu tham số trong Ultralytics YOLO được đơn giản hóa nhưng vẫn rất mạnh mẽ, nhờ vào phương pháp tiếp cận dựa trên thuật toán di truyền kết hợp lai ghép BLX-α với đột biến log-normal. Việc làm theo các bước được nêu trong hướng dẫn này sẽ hỗ trợ bạn tinh chỉnh mô hình một cách có hệ thống để đạt được hiệu suất tốt hơn.

Đọc thêm

  1. Tối ưu hóa siêu tham số trên Wikipedia
  2. Hướng dẫn phát triển siêu tham số YOLOv5
  3. Tinh chỉnh siêu tham số hiệu quả với Ray Tune và YOLO26

Để có thông tin chuyên sâu hơn, bạn có thể khám phá mã nguồn lớp Tuner và tài liệu đi kèm. Nếu bạn có bất kỳ câu hỏi, yêu cầu tính năng nào hoặc cần hỗ trợ thêm, đừng ngần ngại liên hệ với chúng tôi trên GitHub hoặc Discord.

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

Làm thế nào để tôi tối ưu hóa tốc độ học cho Ultralytics YOLO trong quá trình tinh chỉnh siêu tham số?

Để tối ưu hóa tốc độ học cho Ultralytics YOLO, hãy bắt đầu bằng cách đặt tốc độ học ban đầu bằng tham số lr0. Các giá trị phổ biến nằm trong khoảng từ 0.001 đến 0.01. Trong quá trình tinh chỉnh siêu tham số, giá trị này sẽ bị đột biến để tìm ra thiết lập tối ưu. Bạn có thể sử dụng phương thức model.tune() để tự động hóa quá trình này. Ví dụ:

Ví dụ
from ultralytics import YOLO

# Initialize the YOLO model
model = YOLO("yolo26n.pt")

# Tune hyperparameters on COCO8 for 30 epochs
model.tune(data="coco8.yaml", epochs=30, iterations=300, optimizer="AdamW", plots=False, save=False, val=False)

Để biết thêm chi tiết, hãy kiểm tra trang cấu hình Ultralytics YOLO.

Lợi ích của việc sử dụng thuật toán di truyền để tinh chỉnh siêu tham số trong YOLO26 là gì?

Các thuật toán di truyền trong Ultralytics YOLO26 cung cấp một phương pháp mạnh mẽ để khám phá không gian siêu tham số, dẫn đến hiệu suất mô hình được tối ưu hóa cao. Các lợi ích chính bao gồm:

  • Tìm kiếm hiệu quả: Lai ghép BLX-α kết hợp các gen từ các cha mẹ có độ phù hợp cao nhất, trong khi đột biến log-normal làm nhiễu kết quả để khám phá các ứng viên mới.
  • Tránh các cực tiểu cục bộ: Bằng cách giới thiệu tính ngẫu nhiên, chúng giúp tránh các cực tiểu cục bộ, đảm bảo tối ưu hóa toàn cục tốt hơn.
  • Chỉ số hiệu suất: Chúng thích ứng dựa trên điểm fitness đặc thù cho tác vụ (mAP50-95 cho phát hiện).

Để xem thuật toán di truyền có thể tối ưu hóa siêu tham số như thế nào, hãy xem hướng dẫn phát triển siêu tham số.

Quá trình tinh chỉnh siêu tham số cho Ultralytics YOLO mất bao lâu?

Thời gian cần thiết cho việc tinh chỉnh siêu tham số với Ultralytics YOLO phụ thuộc phần lớn vào một số yếu tố như kích thước tập dữ liệu, độ phức tạp của kiến trúc mô hình, số lần lặp và tài nguyên tính toán sẵn có. Ví dụ, việc tinh chỉnh YOLO26n trên một tập dữ liệu như COCO8 trong 30 kỷ nguyên có thể mất từ vài giờ đến vài ngày, tùy thuộc vào phần cứng.

Để quản lý thời gian tinh chỉnh hiệu quả, hãy xác định ngân sách tinh chỉnh rõ ràng trước đó (liên kết phần nội bộ). Điều này giúp cân bằng việc phân bổ tài nguyên và các mục tiêu tối ưu hóa.

Tôi nên sử dụng các chỉ số nào để đánh giá hiệu suất mô hình trong quá trình tinh chỉnh siêu tham số trong YOLO?

Khi đánh giá hiệu suất mô hình trong quá trình tinh chỉnh siêu tham số trong YOLO, bạn có thể sử dụng một số chỉ số chính:

  • AP50: Độ chính xác trung bình (Average Precision) tại ngưỡng IoU là 0.50.
  • F1-Score: Trung bình điều hòa của precision và recall.
  • Precision và Recall: Các chỉ số riêng biệt cho biết độ chính xác của mô hình trong việc xác định các dự đoán dương tính đúng so với dương tính giả và âm tính giả.

Các chỉ số này giúp bạn hiểu các khía cạnh khác nhau về hiệu suất mô hình của mình. Tham khảo hướng dẫn chỉ số hiệu suất Ultralytics YOLO để có cái nhìn tổng quan toàn diện.

Tôi có thể sử dụng Ray Tune để tối ưu hóa siêu tham số nâng cao với YOLO26 không?

Có, Ultralytics YOLO26 tích hợp với Ray Tune để tối ưu hóa siêu tham số nâng cao. Ray Tune cung cấp các thuật toán tìm kiếm phức tạp như Tối ưu hóa Bayesian và Hyperband, cùng với khả năng thực thi song song để tăng tốc quá trình tinh chỉnh.

Để sử dụng Ray Tune với YOLO26, chỉ cần đặt tham số use_ray=True trong lệnh gọi phương thức model.tune() của bạn. Để biết thêm chi tiết và ví dụ, hãy xem hướng dẫn tích hợp Ray Tune.

Bình luận