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

Hard Negative Mining

Hard negative mining tìm các mẫu âm mà model dễ nhầm nhất với mẫu dương, rồi tập trung huấn luyện vào chúng để giảm false positive trong phát hiện và tìm kiếm.

Hard negative mining là chiến lược huấn luyện tìm các mẫu âm mà model phân loại sai nhiều nhất rồi tập trung quá trình học vào các mẫu đó. Mẫu âm không thuộc lớp mục tiêu; hard negative là mẫu mà model vẫn chấm điểm như mẫu dương: chẳng hạn một vùng nền mà detector đóng khung như đối tượng, hoặc một ảnh không liên quan mà model embedding đặt gần truy vấn. Hầu hết mẫu âm đều dễ; khi model đã xử lý được chúng, các mẫu này hầu như không còn cung cấp tín hiệu học, vì vậy chọn các mẫu âm khó giúp làm sắc nét ranh giới quyết định và giảm false positive.

Cách khai thác mẫu âm khó hoạt động#

Mẫu nào được xem là khó tùy thuộc vào tác vụ:

Quá trình mining có thể thực hiện offline hoặc online. Mining offline chạy model đã huấn luyện trên một tập dữ liệu lớn chỉ chứa mẫu âm, thu thập false positive của model, thêm chúng vào tập huấn luyện rồi huấn luyện lại. Các detector người đi bộ dùng cửa sổ trượt đời đầu được huấn luyện theo cách này: quét ảnh không có người để tìm cảnh báo sai rồi huấn luyện lại trên những mẫu đó. Mining online chọn mẫu khó ngay trong mỗi batch huấn luyện. SSD xếp hạng các default box âm theo loss phân loại và chỉ giữ lại những box có loss cao nhất, tối đa 3 mẫu âm cho mỗi mẫu dương; khai thác mẫu khó online (OHEM) áp dụng cùng ý tưởng cho các region proposal của detector hai giai đoạn. Việc chọn mẫu của SSD chỉ cần vài dòng:

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Simulated objectness logits for 8,400 candidate boxes: 20 cover an object, the rest are background
logits = torch.randn(8400) - 3
labels = torch.zeros(8400)
labels[:20] = 1
loss = F.binary_cross_entropy_with_logits(logits, labels, reduction="none")

# Keep every positive plus only the highest-loss negatives, at most 3 per positive
positives = labels == 1
negative_loss = loss.masked_fill(positives, 0)
hard_negatives = negative_loss.topk(3 * int(positives.sum())).indices
kept = torch.cat([positives.nonzero().squeeze(1), hard_negatives])

print(f"boxes in the loss: {len(kept)} of {len(loss)}")
print(f"mean negative loss: all {loss[~positives].mean():.3f}, mined {loss[hard_negatives].mean():.3f}")

Loss chỉ giữ lại 80 trong số 8.400 box: 20 mẫu dương và 60 mẫu âm mà model chấm điểm giống đối tượng nhất. Loss trung bình của 60 mẫu âm được khai thác này là 0.648, so với 0.075 của toàn bộ 8.380 mẫu âm; nhờ đó, gradient tập trung vào phần nền mà model thực sự nhầm lẫn.

  • Lấy mẫu âm: Chọn một tập con có kích thước phù hợp từ tất cả mẫu âm, thường bằng cách chọn ngẫu nhiên. Hard negative mining chọn những mẫu gây nhầm lẫn nhiều nhất.
  • Focal loss: Giữ mọi mẫu trong loss nhưng giảm trọng số của các mẫu được phân loại chính xác; nhờ đó, detector một giai đoạn như RetinaNet có thể huấn luyện trên toàn bộ box ứng viên mà không cần lấy mẫu tường minh.
  • Học chủ động: Chọn các mẫu chưa gán nhãn có độ bất định cao để con người gán nhãn, bao gồm cả các mẫu dương tiềm năng. Hard negative mining tập trung vào các mẫu đã được xác nhận là mẫu âm.
  • Cân bằng lại lớp: Khắc phục tần suất lớp không đồng đều bằng cách lấy mẫu giảm và tăng trọng số. Một lớp âm xuất hiện thường xuyên không nhất thiết là lớp khó.
  • Tăng cường dữ liệu: Tạo các biến thể từ mẫu hiện có nhưng không thể bổ sung một đối tượng gây nhầm lẫn mà dataset chưa từng có.

Ứng dụng thực tế#

  • Phát hiện an toàn trong kho hàng: Detector xe nâng liên tục nhận diện nhầm xe nâng pallet, phản chiếu trên kệ và xe nâng người dạng cắt kéo sẽ làm suy giảm niềm tin của người vận hành do các cảnh báo sai. Thu thập những cảnh đó thành ảnh âm rồi huấn luyện lại giúp detector học được các đặc trưng phân biệt xe nâng với thiết bị tương tự.
  • Tìm kiếm sản phẩm bằng hình ảnh: Khi tìm một đôi giày chạy bộ màu đen cụ thể nhưng kết quả xếp hạng quá cao những đôi tương tự thuộc dòng sản phẩm khác, các sản phẩm đó trở thành hard negative. Huấn luyện trên các mẫu này, chẳng hạn dùng chúng làm mẫu âm trong bộ ba anchor-positive-negative của mạng Siamese, giúp model embedding giữ được những khác biệt nhỏ như hình dáng đế, vị trí logo và chất liệu.

Quy trình mining offline#

Mỗi vòng mining offline chạy model hiện tại, xác minh những gì model đánh dấu rồi đưa các trường hợp đã xác nhận trở lại quá trình huấn luyện:

Bước rà soát rất quan trọng vì một "false positive" thường là đối tượng có thật mà người gán nhãn đã bỏ sót; thêm đối tượng đó làm mẫu âm sẽ khiến model học cách loại bỏ các lượt phát hiện đúng. Ultralytics YOLO xem ảnh huấn luyện có tệp nhãn bị thiếu hoặc rỗng là ảnh nền, vì vậy mỗi điểm neo trên ảnh nhận điểm mục tiêu bằng 0 và mọi dự đoán có độ tin cậy cao tại đó đều bị phạt; do đó, để thêm mẫu âm đã khai thác vào dataset YOLO26, chỉ cần sao chép ảnh vào mà không kèm nhãn. Tiến độ thể hiện qua precision cao hơn ở cùng mức recall, được theo dõi trên toàn bộ tập kiểm tra và một phần dữ liệu riêng dành cho hard negative.

Huấn luyện chỉ trên những mẫu âm khó nhất có thể phản tác dụng. Trong quá trình huấn luyện face embedding cho FaceNet, việc chọn hard negative khó nhất từ sớm có thể khiến model sụp đổ và ánh xạ mọi khuôn mặt về cùng một điểm; vì vậy, các tác giả huấn luyện bằng mẫu âm bán khó, nằm xa anchor hơn mẫu dương nhưng vẫn ở bên trong biên bộ ba.

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