Contrastive Learning
Khám phá contrastive learning trong machine learning. Tìm hiểu cách phương pháp này sử dụng dữ liệu tự giám sát để xây dựng các feature AI mạnh mẽ cho Ultralytics YOLO26 và thị giác máy tính.
Học tương phản là một mô hình học máy, trong đó các model được dạy hiểu dữ liệu bằng cách so sánh các mẫu tương đồng và khác biệt. Không giống học có giám sát truyền thống, vốn phụ thuộc nhiều vào các tập dữ liệu được gán nhãn thủ công, học tương phản thường được sử dụng trong bối cảnh học tự giám sát. Ý tưởng cốt lõi đơn giản nhưng mạnh mẽ: model học cách kéo các biểu diễn của những mục có liên quan (cặp dương) lại gần nhau hơn trong không gian vector, đồng thời đẩy các mục không liên quan (cặp âm) ra xa nhau hơn. Quy trình này cho phép các thuật toán xây dựng những đặc trưng mạnh mẽ, có khả năng khái quát hóa từ lượng lớn dữ liệu chưa gán nhãn, điều rất quan trọng để mở rộng quy mô các hệ thống trí tuệ nhân tạo (AI).
Cơ chế của học tương phản#
Cốt lõi của học tương phản là khái niệm học thông qua so sánh. Thay vì ghi nhớ rằng một hình ảnh cụ thể là "mèo", model học rằng hai bức ảnh khác nhau về một con mèo giống nhau hơn so với một bức ảnh về chó. Điều này thường đạt được thông qua tăng cường dữ liệu. Một hình ảnh đầu vào, thường được gọi là "mỏ neo", được biến đổi thành hai phiên bản khác nhau bằng các kỹ thuật như cắt, lật hoặc làm nhiễu màu. Hai phiên bản này tạo thành một cặp dương. Sau đó, model được huấn luyện để giảm khoảng cách giữa các embedding của chúng, đồng thời tăng khoảng cách với những hình ảnh ngẫu nhiên khác (các mẫu âm) trong batch.
Phương pháp này giúp mạng nơ-ron tập trung vào các đặc trưng ngữ nghĩa cấp cao thay vì các chi tiết pixel cấp thấp. Chẳng hạn, dù một chiếc xe có màu đỏ hay xanh, quay sang trái hay phải, khái niệm nền tảng về "xe" vẫn không thay đổi. Bằng cách bỏ qua những biến thể bề mặt này, model phát triển khả năng hiểu sâu hơn về thế giới trực quan, qua đó mang lại lợi ích đáng kể cho các tác vụ hạ nguồn như phát hiện đối tượng và phân loại.
Các ứng dụng trong thực tế#
Học tương phản đã trở thành nền tảng của nhiều ứng dụng AI tiên tiến nhất, đặc biệt trong những trường hợp dữ liệu được gán nhãn khan hiếm hoặc tốn kém để thu thập.
-
Phân loại hình ảnh zero-shot: Các model như CLIP (Tiền huấn luyện ngôn ngữ-hình ảnh tương phản) sử dụng học tương phản để căn chỉnh hình ảnh và văn bản trong một không gian đặc trưng chung. Bằng cách huấn luyện trên hàng triệu cặp hình ảnh-văn bản, model học cách liên kết các khái niệm trực quan với các mô tả bằng ngôn ngữ tự nhiên. Điều này cho phép học zero-shot, trong đó model có thể phân loại hình ảnh vào các danh mục chưa từng xuất hiện trong quá trình huấn luyện, chỉ bằng cách đối chiếu hình ảnh với một prompt dạng văn bản.
-
Tiền huấn luyện mạnh mẽ cho ảnh y tế: Trong lĩnh vực chăm sóc sức khỏe, việc thu thập các ảnh chụp y tế được chuyên gia gán nhãn rất tốn kém và mất thời gian. Các nhà nghiên cứu sử dụng học tương phản để tiền huấn luyện model trên các cơ sở dữ liệu lớn gồm ảnh X-quang hoặc ảnh MRI chưa gán nhãn. Quá trình tiền huấn luyện không giám sát này tạo ra một backbone mạnh mẽ, có thể được fine-tune bằng một số lượng nhỏ ví dụ đã gán nhãn để phát hiện các bệnh như viêm phổi hoặc khối u với độ chính xác cao. Kỹ thuật này tận dụng học chuyển giao để cải thiện các công cụ chẩn đoán trong AI trong chăm sóc sức khỏe.
Phân biệt các khái niệm liên quan#
Để hiểu rõ vai trò riêng của học tương phản trong bối cảnh học máy (ML), việc phân biệt phương pháp này với các kỹ thuật tương tự là rất hữu ích.
- So với Autoencoder: Mặc dù cả hai đều là các phương pháp không giám sát, autoencoder hướng đến việc tái tạo dữ liệu đầu vào theo từng pixel, nén dữ liệu vào một lớp nút thắt cổ chai. Ngược lại, học tương phản không cố gắng tái tạo hình ảnh mà chỉ tập trung học các biểu diễn có tính phân biệt để tách biệt những khái niệm khác nhau.
- So với Mạng đối sinh (GANs): GANs bao gồm một generator tạo dữ liệu giả và một discriminator cố gắng phát hiện dữ liệu đó. Học tương phản tập trung vào việc học biểu diễn thay vì tạo dữ liệu, vì vậy phù hợp hơn với các tác vụ như tìm kiếm, truy xuất và phân loại.
- So với Triplet Loss: Triplet loss truyền thống yêu cầu rõ ràng một mỏ neo, một mẫu dương và một mẫu âm. Các phương pháp tương phản hiện đại như SimCLR hoặc MoCo khái quát hóa cách tiếp cận này bằng cách đồng thời so sánh một mỏ neo với nhiều mẫu âm trong cùng một batch, thường sử dụng một hàm loss cụ thể như InfoNCE.
Ví dụ thực tế với Embedding#
Mặc dù huấn luyện một model tương phản từ đầu đòi hỏi nhiều tài nguyên, bạn vẫn có thể dễ dàng sử dụng các model đã được tiền huấn luyện để trích xuất đặc trưng. Ví dụ sau minh họa cách tải một model và trích xuất vector đặc trưng (embedding) cho một hình ảnh bằng package ultralytics. Embedding này biểu diễn nội dung ngữ nghĩa được học thông qua các kỹ thuật tương tự tiền huấn luyện tương phản.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")Khả năng trích xuất các đặc trưng phong phú và có ý nghĩa này khiến học tương phản trở nên thiết yếu trong việc xây dựng các hệ thống thị giác máy tính (CV), cho phép tìm kiếm hình ảnh hiệu quả và phân tích nâng cao. Để quản lý tập dữ liệu và huấn luyện các model tùy chỉnh hưởng lợi từ những kiến trúc tiên tiến này, Ultralytics Platform cung cấp một môi trường hợp lý hóa cho việc triển khai và giám sát.









