CLIP (Contrastive Language-Image Pre-training)
Khám phá CLIP (Contrastive Language-Image Pre-training) để kết nối giữa thị giác và ngôn ngữ. Tìm hiểu cách nó cho phép học zero-shot và hỗ trợ Ultralytics YOLO26.
CLIP (Contrastive Language-Image Pre-training) là một kiến trúc neural network mang tính cách mạng được OpenAI phát triển nhằm thu hẹp khoảng cách giữa dữ liệu hình ảnh và ngôn ngữ tự nhiên. Không giống như các hệ thống computer vision (CV) truyền thống vốn yêu cầu công việc data labeling tốn nhiều công sức cho một tập hợp các danh mục cố định, CLIP học cách hiểu hình ảnh thông qua việc huấn luyện trên hàng triệu cặp ảnh-văn bản thu thập từ internet. Cách tiếp cận này cho phép mô hình thực hiện zero-shot learning, nghĩa là nó có thể nhận diện các đối tượng, khái niệm hoặc phong cách mà nó chưa từng thấy rõ ràng trong quá trình huấn luyện, chỉ bằng cách đọc mô tả văn bản. Bằng cách ánh xạ thông tin hình ảnh và ngôn ngữ vào một không gian đặc trưng chung, CLIP đóng vai trò là một foundation model mạnh mẽ cho nhiều nhiệm vụ hạ nguồn khác nhau mà không cần phải fine-tuning chuyên biệt cho từng nhiệm vụ.
Link to this sectionKiến trúc hoạt động như thế nào#
Cơ chế cốt lõi của CLIP bao gồm hai bộ mã hóa song song: một bộ mã hóa hình ảnh, thường dựa trên Vision Transformer (ViT) hoặc ResNet, và một bộ mã hóa văn bản Transformer tương tự như các bộ mã hóa được sử dụng trong các large language models (LLMs) hiện đại. Thông qua một quy trình được gọi là contrastive learning, hệ thống được huấn luyện để dự đoán đoạn văn bản nào khớp với hình ảnh nào trong một lô dữ liệu.
Trong quá trình huấn luyện, mô hình tối ưu hóa các tham số của nó để kéo các vectơ embeddings của các cặp ảnh-văn bản khớp với nhau lại gần hơn, đồng thời đẩy các cặp không khớp ra xa nhau. Điều này tạo ra một latent space đa phương thức, nơi biểu diễn toán học của một hình ảnh "chú chó golden retriever" nằm gần về mặt không gian với nhúng văn bản cho "một bức ảnh về một chú chó." Bằng cách tính toán cosine similarity giữa các vectơ này, mô hình có thể định lượng mức độ phù hợp của một hình ảnh với một câu lệnh ngôn ngữ tự nhiên, cho phép thực hiện image classification và truy xuất linh hoạt.
Link to this sectionCác ứng dụng trong thực tế#
Khả năng liên kết giữa tầm nhìn và ngôn ngữ đã biến CLIP thành một công nghệ nền tảng trong các ứng dụng AI hiện đại:
- Semantic Search thông minh: CLIP cho phép người dùng tìm kiếm trong các cơ sở dữ liệu hình ảnh lớn bằng cách sử dụng các truy vấn natural language processing (NLP) phức tạp. Ví dụ, trong AI in retail, người mua sắm có thể tìm kiếm "váy hoa mùa hè cổ điển" và nhận được các kết quả chính xác về mặt hình ảnh mà không cần các hình ảnh đó phải có các thẻ siêu dữ liệu cụ thể. Điều này thường được vận hành bởi các vector databases hiệu năng cao.
- Kiểm soát Generative AI: Các mô hình như Stable Diffusion dựa vào CLIP để diễn giải câu lệnh của người dùng và hướng dẫn quá trình tạo nội dung. CLIP đóng vai trò là một bộ chấm điểm, đánh giá mức độ phù hợp của đầu ra hình ảnh được tạo với mô tả văn bản, điều này rất quan trọng đối với quá trình tổng hợp text-to-image chất lượng cao.
- Object Detection với từ vựng mở: Các kiến trúc tiên tiến như YOLO-World tích hợp các nhúng CLIP để phát hiện các đối tượng dựa trên đầu vào văn bản tùy ý. Điều này cho phép phát hiện động trong các lĩnh vực như AI in healthcare, nơi việc xác định các thiết bị mới lạ hoặc các bất thường là cần thiết mà không cần huấn luyện lại.
Link to this sectionSử dụng các tính năng của CLIP với Ultralytics#
Trong khi các trình phát hiện đối tượng tiêu chuẩn bị giới hạn bởi các lớp huấn luyện của chúng, việc sử dụng các tính năng dựa trên CLIP cho phép phát hiện với từ vựng mở. Đoạn mã Python sau đây trình bày cách sử dụng gói ultralytics để phát hiện đối tượng bằng các câu lệnh văn bản tùy chỉnh:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()Link to this sectionPhân biệt các khái niệm liên quan#
Việc phân biệt CLIP với các mô hình AI phổ biến khác là rất hữu ích để hiểu được tính hữu dụng cụ thể của nó:
- CLIP so với Supervised Learning: Các mô hình giám sát truyền thống yêu cầu các định nghĩa nghiêm ngặt và các ví dụ được gán nhãn cho mọi danh mục (ví dụ: "mèo", "xe hơi"). CLIP học từ các cặp văn bản-hình ảnh thô được tìm thấy trên web, mang lại sự linh hoạt cao hơn và loại bỏ nút thắt cổ chai của việc chú thích thủ công vốn thường được quản lý thông qua các công cụ như Ultralytics Platform.
- CLIP so với YOLO26: Trong khi CLIP cung cấp sự hiểu biết tổng quát về các khái niệm, YOLO26 là một trình phát hiện đối tượng thời gian thực chuyên biệt được tối ưu hóa cho tốc độ và khả năng định vị chính xác. CLIP thường được sử dụng như một bộ trích xuất đặc trưng hoặc trình phân loại zero-shot, trong khi YOLO26 là động cơ cho real-time inference tốc độ cao trong các môi trường sản xuất.
- CLIP so với Contrastive Learning tiêu chuẩn: Các phương pháp như SimCLR thường so sánh hai góc nhìn tăng cường của cùng một hình ảnh để học các đặc trưng. CLIP đối chiếu một hình ảnh với một mô tả văn bản, thu hẹp khoảng cách giữa hai phương thức dữ liệu riêng biệt thay vì chỉ một.






