Contrastive Learning
Khám phá contrastive learning trong machine learning. Tìm hiểu cách nó sử dụng dữ liệu tự giám sát để xây dựng các đặc trưng AI mạnh mẽ cho Ultralytics YOLO26 và computer vision.
Học đối lập là một mô hình machine learning giúp huấn luyện các model 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 như học có giám sát truyền thống vốn phụ thuộc nhiều vào các bộ dữ liệu được gắn nhãn thủ công, học đối lập thường được sử dụng trong các bối cảnh học tự giám sát. Ý tưởng cốt lõi rất đơn giản nhưng hiệu quả: model học cách kéo các biểu diễn của các mục liên quan (cặp dương) lại gần nhau hơn trong không gian vector trong khi đẩy các mục không liên quan (cặp âm) ra xa nhau. Quá trình này cho phép các thuật toán xây dựng các đặc trưng mạnh mẽ và có khả năng tổng quát hóa từ lượng lớn dữ liệu không nhãn, điều này rất quan trọng để mở rộng quy mô các hệ thống trí tuệ nhân tạo (AI).
Link to this sectionCơ chế của Học đối lập#
Trọng tâm của học đối lập 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à "con mèo", model học được rằng hai bức ảnh khác nhau của cùng một con mèo giống nhau hơn so với việc so sánh một trong hai bức ảnh đó với ảnh của một con 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à "neo" (anchor), đượ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 thay đổi màu sắc. 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 thiểu khoảng cách giữa các embedding của chúng trong khi tối đa hóa khoảng cách với các hình ảnh ngẫu nhiên khác (mẫu âm) trong batch.
Phương pháp này giúp neural network tập trung vào các đặc trưng ngữ nghĩa cấp cao thay vì chi tiết pixel cấp thấp. Ví dụ, bất kể một chiếc xe màu đỏ hay xanh, hoặc đang hướng sang trái hay phải, khái niệm cơ bản về "xe" vẫn không đổi. Bằng cách bỏ qua các biến thể bề ngoài này, model phát triển sự hiểu biết sâu sắc hơn về thế giới thị giác, 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.
Link to this sectionCác ứng dụng trong thực tế#
Học đối lập đã trở thành nền tảng cho nhiều ứng dụng AI tiên tiến, đặc biệt là ở những nơi dữ liệu có 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 (Contrastive Language-Image Pre-training) sử dụng học đối lập để 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 thị giác với các mô tả bằng ngôn ngữ tự nhiên. Điều này cho phép zero-shot learning, nơi model có thể phân loại hình ảnh vào các danh mục chưa từng thấy trong quá trình huấn luyện chỉ bằng cách khớp hình ảnh với một prompt văn bản.
-
Tiền huấn luyện mạnh mẽ cho Hình ảnh Y tế: Trong chăm sóc sức khỏe, việc lấy các bản quét 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 đối lập để tiền huấn luyện các model trên các cơ sở dữ liệu lớn gồm ảnh X-quang hoặc ảnh cộng hưởng từ (MRI) chưa gắn nhãn. Việc 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 tinh chỉnh (fine-tune) với một số lượng nhỏ các ví dụ có 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 transfer learning để cải thiện các công cụ chẩn đoán trong lĩnh vực AI trong chăm sóc sức khỏe.
Link to this sectionPhân biệt các khái niệm liên quan#
Việc phân biệt học đối lập với các kỹ thuật tương tự rất hữu ích để hiểu vai trò độc đáo của nó trong bối cảnh machine learning (ML).
- vs. Autoencoder: Mặc dù cả hai đều là các phương pháp không giám sát, autoencoder nhằm mục đích tái tạo dữ liệu đầu vào từng pixel một, nén nó vào một lớp bottleneck. Ngược lại, học đối lập không cố gắng tái tạo hình ảnh mà chỉ tập trung vào việc học các biểu diễn phân biệt giúp tách biệt các khái niệm khác nhau.
- vs. Generative Adversarial Networks (GANs): GANs bao gồm một generator tạo ra dữ liệu giả và một discriminator cố gắng phát hiện nó. Học đối lập tập trung vào việc học biểu diễn thay vì tạo dữ liệu, giúp nó phù hợp hơn cho các tác vụ như tìm kiếm, truy xuất và phân loại.
- vs. Triplet Loss: Triplet loss truyền thống yêu cầu một mẫu neo, một mẫu dương và một mẫu âm một cách rõ ràng. Các phương pháp đối lập hiện đại, chẳng hạn như SimCLR hoặc MoCo, khái quát hóa điều này bằng cách so sánh một mẫu neo với nhiều mẫu âm cùng một lúc trong một batch, thường sử dụng một hàm mất mát cụ thể như InfoNCE.
Link to this sectionVí dụ thực tế với Embeddings#
Mặc dù việc huấn luyện một model đối lập từ đầu rất tốn kém tài nguyên, bạn có thể dễ dàng sử dụng các model đã được huấn luyện trước để trích xuất đặc trưng. Ví dụ sau đây minh họa cách load một model và trích xuất vector đặc trưng (embedding) cho một hình ảnh bằng cách sử dụng gói ultralytics. Embedding này đại diện cho nội dung ngữ nghĩa được học thông qua các kỹ thuật tương tự như tiền huấn luyện đối lập.
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ú, có ý nghĩa này khiến học đối lập trở nên thiết yếu để xây dựng các hệ thống computer vision (CV) hiện đại, cho phép tìm kiếm hình ảnh hiệu quả và phân tích nâng cao. Để quản lý các tập dữ liệu và huấn luyện các model tùy chỉnh hưởng lợi từ các 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.






