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

Training Data

Dữ liệu huấn luyện là tập hợp ví dụ mà model dùng để học các trọng số. Tìm hiểu dữ liệu này khác dữ liệu validation và dữ liệu kiểm tra như thế nào, cũng như vì sao chất lượng nhãn quan trọng ngang với số lượng dữ liệu.

Dữ liệu huấn luyện là tập hợp ví dụ mà model machine learning học từ đó. Trong quá trình huấn luyện, optimizer liên tục điều chỉnh trọng số của model để giảm lỗi trên các ví dụ này, vì vậy chính các ví dụ đó xác định model có thể học được gì. Trong học có giám sát, mỗi ví dụ ghép đầu vào với đáp án đúng, chẳng hạn ảnh đường phố đi kèm bounding box và tên lớp cho từng ô tô và người đi bộ. Học tự giám sát và học không giám sát huấn luyện trên đầu vào thô không có nhãn. Tập huấn luyện là một từ đồng nghĩa; trong hầu hết dự án, đây là phần lớn nhất trong lượng dữ liệu hiện có, thường chiếm 70 đến 80 phần trăm.

Cách model sử dụng dữ liệu huấn luyện#

Model xử lý dữ liệu huấn luyện theo batch. Với mỗi batch, model đưa ra dự đoán; hàm loss đo mức độ chênh lệch giữa dự đoán và nhãn; lan truyền ngược tính mức đóng góp của từng trọng số vào lỗi; sau đó optimizer điều chỉnh trọng số để giảm lỗi. Một lượt đi qua toàn bộ tập huấn luyện là một epoch, và quá trình huấn luyện thường chạy từ hàng chục đến hàng trăm epoch.

Vì model được tối ưu hóa trên chính những ví dụ này, điểm số trên chúng sẽ đánh giá quá cao hiệu quả của model trên dữ liệu mới. Hai tập giữ lại giúp khắc phục điều đó. Dữ liệu validation được đánh giá trong quá trình phát triển để chọn hyperparameter và checkpoint; dữ liệu test được đánh giá một lần ở cuối để ước tính hiệu năng thực tế. Chênh lệch lớn giữa điểm trên tập huấn luyện và validation là dấu hiệu overfitting, khi model ghi nhớ ví dụ huấn luyện thay vì học các mẫu có khả năng tổng quát hóa. Điểm thấp trên cả hai tập là dấu hiệu underfitting. Các tập không được dùng chung ảnh: những khung hình gần trùng lặp từ cùng một video hoặc ảnh quét của cùng một bệnh nhân xuất hiện ở cả hai phía sẽ gây rò rỉ dữ liệu, làm tăng giả tạo mọi điểm số trên tập giữ lại.

Số lượng, chất lượng và độ bao phủ#

Ba đặc tính của tập huấn luyện quyết định khả năng tổng quát hóa của model:

  • Số lượng: Có nhiều ví dụ hơn sẽ hữu ích, nhưng lợi ích giảm dần. Bắt đầu từ model pretrained thông qua transfer learning giúp giảm số lượng ví dụ cần gán nhãn cho tác vụ mới.
  • Chất lượng: Mỗi nhãn sai, thiếu hoặc được vẽ không nhất quán đều dạy model điều sai. Hướng dẫn gán nhãn dữ liệu nhất quán cũng quan trọng như số lượng nhãn.
  • Độ bao phủ: Các ví dụ phải bao quát những điều kiện mà model sẽ gặp, chẳng hạn ánh sáng, thời tiết, góc camera, nền và lớp hiếm. Detector chỉ được huấn luyện trên ảnh ban ngày sẽ thất bại vào ban đêm; nếu khoảng trống dữ liệu theo ranh giới nhân khẩu học, chẳng hạn thiếu tông màu da trong bộ dữ liệu khuôn mặt, đó sẽ trở thành thiên lệch bộ dữ liệu.

Script scikit-learn bên dưới huấn luyện cùng một bộ phân loại trên dataset chữ số viết tay có sẵn, dùng các tập huấn luyện khác nhau và đánh giá từng model trên cùng một tập test cố định:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# 1,797 labeled 8x8 digit images; hold out 30% to score every model
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)

# Reassign 30% of the training labels at random to simulate careless labeling
rng = np.random.default_rng(0)
y_noisy = y_train.copy()
flip = rng.random(len(y_train)) < 0.3
y_noisy[flip] = rng.integers(0, 10, flip.sum())

# Train the same model on three different training sets
for name, n, labels in [("50 clean", 50, y_train), ("1,257 clean", 1257, y_train), ("1,257 noisy", 1257, y_noisy)]:
    model = LogisticRegression(max_iter=5000).fit(X_train[:n], labels[:n])
    print(f"{name}: test accuracy {model.score(X_test, y_test):.3f}")

Mở rộng tập huấn luyện sạch từ 50 lên 1.257 ảnh giúp độ chính xác trên tập test tăng từ 0.863 lên 0.961. Lượt chạy có nhiễu, trong đó 315 trên 1.257 nhãn (25%) bị sai, đạt 0.861, không tốt hơn model được huấn luyện trên 50 ảnh sạch.

Xây dựng tập huấn luyện#

Các nhóm tổng hợp dữ liệu huấn luyện từ dataset công khai, camera và log nội bộ, và ngày càng sử dụng nhiều dữ liệu tổng hợp. Các benchmark công khai là điểm khởi đầu tốt: dataset COCO cung cấp 118.287 ảnh huấn luyện được gán nhãn cho phát hiện, phân đoạn và tạo chú thích. Sau đó, các bộ sưu tập thô được làm sạch dữ liệu để loại bỏ bản trùng lặp, tệp hỏng và ảnh không phù hợp mục tiêu, rồi tiến hành gán nhãn và rà soát. Tăng cường dữ liệu làm phong phú dữ liệu trong quá trình huấn luyện bằng cách lật, cắt, dịch màu và ghép mosaic. Tuy nhiên, phương pháp này chỉ có thể kết hợp lại dữ liệu đã thu thập, nên vẫn cần chụp ảnh nếu thiếu một điều kiện nào đó.

Ultralytics YOLO đọc dữ liệu huấn luyện từ đường dẫn train trong tệp YAML của dataset và ghép mỗi ảnh với tệp nhãn .txt, chứa một dòng cho mỗi đối tượng: chỉ số lớp theo sau là tâm, chiều rộng và chiều cao của box, được chuẩn hóa theo kích thước ảnh. Mọi split đều sử dụng cùng định dạng dataset YOLO, vì vậy để cân bằng lại các split cần di chuyển ảnh cùng tệp nhãn giữa các thư mục.

from ultralytics import YOLO

# Tải model YOLO26 nano đã pretrained
model = YOLO("yolo26n.pt")

# coco8.yaml liệt kê ảnh huấn luyện (train: images/train) và ảnh validation (val: images/val)
results = model.train(data="coco8.yaml", epochs=5)

Model YOLO26 được fine-tune trên bốn ảnh huấn luyện của COCO8, một mẫu rất nhỏ dùng để kiểm tra xem pipeline huấn luyện có chạy xuyên suốt từ đầu đến cuối hay không.

  • Dữ liệu validation: Một tập giữ lại dùng để định hướng các quyết định trong quá trình phát triển, chẳng hạn thời điểm dừng huấn luyện. Model không bao giờ cập nhật trọng số dựa trên tập này.
  • Dữ liệu test: Một tập giữ lại chỉ được đánh giá một lần ở cuối, vì vậy kết quả là ước tính không thiên lệch về hiệu năng trên dữ liệu mới.
  • Ground truth: Đáp án đúng được gắn với các ví dụ. Trong học có giám sát, dữ liệu huấn luyện bao gồm ground truth, nhưng mọi split đều cần ground truth để đánh giá.
  • Tập dữ liệu chuẩn: Một tập dữ liệu nhỏ được chuyên gia kiểm tra, dùng làm tham chiếu đáng tin cậy để đánh giá và kiểm tra chất lượng của người gán nhãn.
  • Tập dữ liệu benchmark: Một tập dữ liệu công khai có các phân tách cố định, dùng để so sánh model. Phân tách huấn luyện thường đồng thời là dữ liệu tiền huấn luyện, còn phân tách giữ lại trở thành bảng xếp hạng, như phân tách COCO val2017 gồm 5.000 ảnh, nơi nhiều bài báo về phát hiện đối tượng báo cáo mAP.

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