Tăng Cường Dữ Liệu
Nâng cao mô hình máy học của bạn bằng cách tăng cường dữ liệu. Khám phá các kỹ thuật để tăng độ chính xác, giảm tình trạng overfitting và cải thiện độ mạnh mẽ.
Tăng cường dữ liệu là một kỹ thuật chiến lược trong học máy (ML) được sử dụng để nhân tạo mở rộng quy mô và tính đa dạng của tập dữ liệu huấn luyện mà không cần thu thập dữ liệu thô mới. Bằng cách áp dụng các phép biến đổi khác nhau vào các mẫu dữ liệu hiện có, các nhà phát triển có thể tạo ra các phiên bản hình ảnh, văn bản hoặc âm thanh đã được chỉnh sửa nhưng vẫn chân thực. Quá trình này rất cần thiết để giảm hiện tượng quá khớp (overfitting) , một vấn đề phổ biến khi mô hình ghi nhớ các ví dụ huấn luyện thay vì học các mẫu có thể khái quát hóa. Cuối cùng, việc tăng cường hiệu quả sẽ dẫn đến độ chính xác cao hơn và đảm bảo mô hình hoạt động mạnh mẽ khi tiếp xúc với dữ liệu chưa được biết đến trong môi trường thực tế.
Kỹ thuật và phương pháp cốt lõi
Trong lĩnh vực thị giác máy tính (CV) , tăng cường liên quan đến việc thao tác hình ảnh đầu vào để mô phỏng các điều kiện khác nhau. Những phép biến đổi này giúp mô hình trở nên bất biến với những thay đổi về hướng, ánh sáng và tỷ lệ.
-
Biến đổi hình học: Các phép biến đổi này thay đổi bố cục không gian của ảnh. Các thao tác phổ biến bao gồm xoay ngẫu nhiên, lật ngang, cắt xén và thay đổi tỷ lệ. Ví dụ, sử dụng biến đổi hình học OpenCV cho phép mô hình nhận dạng vật thể bất kể vật thể đó bị lật ngược hay nghiêng.
-
Biến đổi quang trắc: Điều chỉnh giá trị pixel để thay đổi hình ảnh trực quan mà không làm thay đổi hình học. Việc điều chỉnh độ sáng, độ tương phản, độ bão hòa và thêm nhiễu Gaussian giúp mô hình xử lý các điều kiện ánh sáng khác nhau.
-
Trộn nâng cao: Các khuôn khổ phát hiện đối tượng hiện đại thường sử dụng các kỹ thuật phức tạp như Mosaic, MixUp và CutMix. Các phương pháp này kết hợp nhiều hình ảnh thành một mẫu huấn luyện duy nhất, khuyến khích mô hình học các mối quan hệ theo ngữ cảnh. Bạn có thể khám phá cách triển khai chúng thông qua tích hợp Ultralytics Albumentations .
Các Ứng dụng Thực tế
Việc tăng cường dữ liệu là điều không thể thiếu trong các ngành công nghiệp mà dữ liệu chất lượng cao khan hiếm hoặc tốn kém để có được.
-
Chụp ảnh y tế: Trong phân tích hình ảnh y tế , luật riêng tư và tính hiếm gặp của các tình trạng bệnh lý cụ thể hạn chế kích thước tập dữ liệu. Bằng cách tăng cường chụp X-quang hoặc MRI bằng các phép quay và biến dạng đàn hồi, các nhà nghiên cứu có thể đào tạo các mô hình mạnh mẽ để phát hiện khối u , đảm bảo AI có thể xác định các bất thường bất kể vị trí bệnh nhân hay hiệu chuẩn máy.
-
Lái xe tự động: Xe tự lái phải di chuyển trong môi trường khắc nghiệt. Việc thu thập dữ liệu cho mọi điều kiện thời tiết là bất khả thi. Các kỹ sư sử dụng công nghệ tăng cường để mô phỏng mưa, sương mù hoặc các tình huống thiếu sáng trên hình ảnh ban ngày. Điều này giúp xe tự hành phản ứng an toàn trong điều kiện thời tiết xấu, cải thiện đáng kể các tiêu chuẩn an toàn được các tổ chức như NHTSA đề ra.
Triển khai Augmentation trong Ultralytics YOLO
Các ultralytics thư viện đơn giản hóa việc áp dụng các phép tăng cường trực tiếp trong
huấn luyện mô hình (model training) đường ống. Bạn có thể điều chỉnh siêu tham số để kiểm soát cường độ và xác suất của các phép biến đổi.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model with custom data augmentation parameters
# These arguments modify the training data on-the-fly
model.train(
data="coco8.yaml",
epochs=5,
degrees=30.0, # Apply random rotations between -30 and +30 degrees
fliplr=0.5, # 50% probability of flipping images horizontally
mosaic=1.0, # Use Mosaic augmentation (combining 4 images)
mixup=0.1, # Apply MixUp augmentation with 10% probability
)
Phân biệt các khái niệm liên quan
Điều quan trọng là phải phân biệt việc tăng cường dữ liệu với các chiến lược dữ liệu tương tự:
-
so với Dữ liệu Tổng hợp: Trong khi tăng cường sửa đổi dữ liệu thực tế hiện có , dữ liệu tổng hợp được tạo hoàn toàn từ đầu bằng mô phỏng máy tính hoặc AI tạo sinh . Tăng cường bổ sung sự đa dạng cho những gì bạn có; dữ liệu tổng hợp tạo ra những gì bạn không có.
-
so với Tiền xử lý dữ liệu: Tiền xử lý dữ liệu bao gồm việc làm sạch và định dạng dữ liệu (ví dụ: thay đổi kích thước, chuẩn hóa) để phù hợp với mô hình. Việc tăng cường diễn ra sau khi tiền xử lý và tập trung vào việc mở rộng tính đa dạng của tập dữ liệu hơn là định dạng của nó.
-
so với Học Chuyển Giao: Học chuyển giao tận dụng kiến thức từ một mô hình được đào tạo trước (ví dụ: được đào tạo trên ImageNet ) để giải quyết một nhiệm vụ mới. Mặc dù thường được sử dụng kết hợp, học chuyển giao liên quan đến trọng số mô hình, trong khi tăng cường liên quan đến dữ liệu đầu vào.
Để tìm hiểu sâu hơn về các thư viện tăng cường hiện đại, tài liệu Albumentations cung cấp danh sách mở rộng các phép biến đổi có sẵn tương thích với PyTorch Và YOLO11 .