Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Test Data

Dữ liệu kiểm tra là một tập dữ liệu tách riêng, chỉ được chấm điểm một lần sau khi hoàn tất huấn luyện và tinh chỉnh, nhằm ước lượng hiệu năng trên dữ liệu mới. Tìm hiểu cách chia tập, xác định kích thước, các hạn chế và code.

Dữ liệu kiểm thử, còn gọi là tập kiểm thử hoặc tập holdout, là phần dữ liệu được dành riêng để đo lường model machine learning (ML) đã hoàn thiện. Dữ liệu này không tham gia vào quá trình khớp trọng số model hay bất kỳ quyết định phát triển nào, chẳng hạn như kiến trúc, hyperparameter, checkpoint hoặc ngưỡng confidence, và chỉ được chấm điểm sau khi các quyết định đó đã hoàn tất. Vì model và người phát triển chưa từng điều chỉnh dựa trên dữ liệu này, độ chính xác, recall hoặc độ chính xác trung bình (mAP) trên dữ liệu kiểm thử là ước tính không thiên lệch về hiệu suất của model trên dữ liệu mới cùng phân phối; đây là con số các nhóm dùng để quyết định model đã sẵn sàng triển khai hay chưa.

Phân chia tập huấn luyện, validation và kiểm thử#

Một tập dữ liệu thường được chia thành ba tập con tách biệt, mỗi tập có nhiệm vụ riêng:

  • Dữ liệu huấn luyện: Các mẫu mà optimizer học từ đó bằng cách điều chỉnh trọng số để giảm loss.
  • Dữ liệu validation: Được chấm điểm nhiều lần trong quá trình phát triển để so sánh hyperparameter, dừng huấn luyện sớm và chọn checkpoint tốt nhất.
  • Dữ liệu kiểm thử: Được chấm điểm một lần vào cuối quá trình để báo cáo metric dùng đánh giá dự án.

Tỷ lệ chia 80/10/10 hoặc 70/15/15 thường được dùng cho tập dữ liệu có hàng nghìn mẫu, trong khi tập dữ liệu hàng triệu mẫu có thể chỉ cần giữ lại vài phần trăm. Kích thước cần thiết của tập kiểm thử phụ thuộc vào độ chính xác yêu cầu: sai số chuẩn của độ chính xác p đo trên n mẫu bằng căn bậc hai của p(1 − p)/n; do đó, 1.000 ảnh kiểm thử với độ chính xác 90% cho khoảng tin cậy 95% xấp xỉ ±1.9 điểm phần trăm, còn 10.000 ảnh thu hẹp khoảng này xuống khoảng ±0.6. Tên gọi khác nhau giữa các lĩnh vực, và nhiều bài báo báo cáo kết quả ImageNet cuối cùng trên tập validation chính thức vì nhãn kiểm thử của ImageNet không được công khai. Trong Ultralytics YOLO, YAML của tập dữ liệu yêu cầu đường dẫn train và val, đồng thời chấp nhận đường dẫn test tùy chọn; quá trình huấn luyện chấm điểm val sau mỗi epoch để chọn best.pt, còn model.val(data="data.yaml", split="test") chấm điểm model đã hoàn thiện trên các ảnh giữ lại bằng chế độ validation.

Vì sao không được động đến tập kiểm thử#

Mỗi quyết định dựa trên điểm số đều khiến model khớp với dữ liệu đó thêm một chút. Khi nhiều cấu hình cạnh tranh trên tập validation, cấu hình chiến thắng một phần là do may mắn với chính những mẫu đó, nên điểm validation của nó đánh giá quá cao hiệu suất trên dữ liệu khác. Thí nghiệm scikit-learn sau đây chọn số lượng láng giềng tốt nhất cho bộ phân loại k láng giềng gần nhất trên tập dữ liệu nhỏ, nhiễu, rồi so sánh độ chính xác validation và kiểm thử của cấu hình chiến thắng trên 30 tập dữ liệu ngẫu nhiên:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

val_scores, test_scores = [], []
for seed in range(30):
    # A small, noisy dataset split 60/20/20 into train, validation, and test
    X, y = make_classification(n_samples=400, n_features=20, n_informative=4, flip_y=0.2, random_state=seed)
    X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=seed)
    X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=seed)

    # Model selection: keep the neighbor count with the best validation accuracy
    scores = {k: KNeighborsClassifier(k).fit(X_train, y_train).score(X_val, y_val) for k in range(1, 51)}
    best_k = max(scores, key=scores.get)
    val_scores.append(scores[best_k])

    # The test set is scored once, after the choice is final
    test_scores.append(KNeighborsClassifier(best_k).fit(X_train, y_train).score(X_test, y_test))

print(f"Chosen model, mean of 30 runs: validation {np.mean(val_scores):.3f}, test {np.mean(test_scores):.3f}")

Các model được chọn đạt trung bình 0.805 trên validation và 0.758 trên kiểm thử, nghĩa là việc lựa chọn trong số 50 ứng viên đã làm mức ước tính validation tăng gần năm điểm. Tinh chỉnh dựa trên tập kiểm thử sẽ che khuất khoảng cách đó và đưa cùng sự lạc quan sai lệch vào kết quả được báo cáo; đây là một dạng rò rỉ dữ liệu. Các benchmark công khai ngăn tình trạng này bằng cách giữ kín nhãn: kết quả kiểm thử COCO test-dev được tính bằng cách gửi dự đoán lên server đánh giá. Đối với mô hình ngôn ngữ lớn (LLM), các câu hỏi kiểm thử xuất hiện trong dữ liệu tiền huấn luyện quy mô web sẽ làm nhiễm benchmark; đó là lý do LiveCodeBench liên tục bổ sung bài toán thi mới và chấm điểm mỗi model trên các bài được công bố sau thời điểm model kết thúc huấn luyện.

Xây dựng tập kiểm thử đáng tin cậy#

Điểm kiểm thử chỉ dự đoán được hiệu suất thực tế khi tập kiểm thử tương tự dữ liệu mà model sẽ gặp, dù đó là cảnh đường phố cho xe tự hành hay ảnh quét cho phân tích ảnh y tế:

  • Khớp với điều kiện triển khai: Camera, ánh sáng, mùa, địa lý và phân bố lớp cần phản ánh môi trường production. Bộ phát hiện phương tiện cần có cảnh ban đêm, mưa và tuyết trong tập kiểm thử, ngay cả khi phần lớn hoạt động lái xe diễn ra trong thời tiết quang đãng.
  • Giữ các tập độc lập: Khung hình từ cùng video, ảnh quét của cùng bệnh nhân và ảnh chụp cùng cảnh phải thuộc cùng một split. Dữ liệu theo thứ tự thời gian được chia theo ngày, nhờ đó model được kiểm thử trên dữ liệu tương lai.
  • Kiểm thử trên nhiều nguồn: Trong chẩn đoán hình ảnh, validation bên ngoài với ảnh quét từ các bệnh viện và model máy quét khác nhau cho biết model học được giải phẫu hay chỉ học thiết bị của một cơ sở.
  • Làm sạch nhãn: Nhãn kiểm thử sai giới hạn độ chính xác có thể đo được và làm thay đổi thứ hạng model, vì vậy cần rà soát nhãn kiểm thử cẩn thận nhất.
  • Báo cáo theo từng phân đoạn: Metric theo lớp và theo điều kiện giúp phát hiện lỗi mà một giá trị trung bình duy nhất che khuất.

Ngay cả khi xây dựng lại tập kiểm thử cẩn thận, kết quả vẫn có thể thay đổi: khi các nhà nghiên cứu tái tạo tập kiểm thử ImageNet theo quy trình thu thập ban đầu, độ chính xác giảm từ 11 đến 14 điểm phần trăm trên nhiều model, dù các cải thiện trên tập kiểm thử gốc vẫn được duy trì; các tác giả cho rằng mức giảm này xuất phát từ việc ảnh khó hơn đôi chút chứ không phải do tập kiểm thử đã được tái sử dụng nhiều năm.

  • Cross-validation: Luân phiên phần dữ liệu phát triển được dùng làm validation để đưa ra ước tính ổn định hơn khi chọn model. Tập kiểm thử riêng vẫn cung cấp kết quả cuối cùng.
  • Tập dữ liệu benchmark: Tập kiểm thử công khai được chia sẻ trong một lĩnh vực nghiên cứu. Vì các nhóm đều đánh giá trên tập này trong nhiều năm, dữ liệu dần không còn là dữ liệu chưa từng thấy.
  • Tập dữ liệu chuẩn: Tập tham chiếu được tuyển chọn, có chất lượng cao và đáp án đã được kiểm tra; thường được dùng làm tập kiểm thử cố định cho kiểm thử hồi quy các ứng dụng LLM.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning