Tìm kiếm Vector
Khám phá cách tìm kiếm vector sử dụng embedding để tìm dữ liệu tương tự. Học cách tạo ra các vector chất lượng cao với Ultralytics YOLO26 giúp truy xuất thông tin chính xác.
Tìm kiếm vector là một phương pháp truy xuất thông tin tinh vi, xác định các mục tương tự trong một tập dữ liệu dựa trên các đặc điểm toán học của chúng thay vì sự trùng khớp chính xác với từ khóa. Không giống như tìm kiếm từ khóa truyền thống, dựa vào việc tìm kiếm các chuỗi ký tự cụ thể, tìm kiếm vector phân tích ý nghĩa ngữ nghĩa tiềm ẩn của dữ liệu. Kỹ thuật này là nền tảng cho các ứng dụng trí tuệ nhân tạo (AI) hiện đại vì nó cho phép máy tính hiểu được mối quan hệ giữa các khái niệm trừu tượng, xử lý dữ liệu phi cấu trúc như hình ảnh, tệp âm thanh và văn bản ngôn ngữ tự nhiên với độ chính xác đáng kể.
Tìm kiếm Vector hoạt động như thế nào
Cốt lõi của tìm kiếm vector liên quan đến việc chuyển đổi dữ liệu thô thành các vector số đa chiều được gọi là embedding . Quá trình này ánh xạ các mục đến các điểm trong không gian đa chiều, nơi các mục có khái niệm tương tự được đặt gần nhau.
-
Vector hóa : Một mô hình học sâu (DL) xử lý dữ liệu đầu vào—ví dụ, hình ảnh một con chó—và xuất ra một vectơ đặc trưng. Các mô hình tiên tiến như YOLO26 thường được sử dụng để tạo ra các biểu diễn đặc trưng phong phú này một cách hiệu quả.
-
Lập chỉ mục : Để thực hiện tìm kiếm nhanh chóng, các vectơ này được sắp xếp bằng các thuật toán chuyên dụng, thường được lưu trữ trong một cơ sở dữ liệu vectơ chuyên dụng.
-
Tính toán độ tương đồng : Khi người dùng gửi một truy vấn, hệ thống sẽ chuyển đổi truy vấn đó thành một vectơ và đo khoảng cách đến các vectơ đã lưu trữ bằng cách sử dụng các chỉ số như độ tương đồng cosin hoặc khoảng cách Euclidean .
-
Truy xuất : Hệ thống trả về các "láng giềng gần nhất", đại diện cho các kết quả phù hợp nhất với ngữ cảnh.
Python Ví dụ: Tạo nhúng
Để thực hiện tìm kiếm vector, trước tiên bạn phải chuyển đổi dữ liệu của mình thành vector. Đoạn mã sau đây minh họa cách tạo ra vector. bản đồ đặc trưng và nhúng dữ liệu từ hình ảnh bằng cách sử dụng ultralytics gói phần mềm và mô hình YOLO26 đã được huấn luyện trước.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Các Ứng dụng Thực tế
Tìm kiếm vector là động lực đằng sau nhiều tính năng trực quan trong hệ sinh thái phần mềm hiện nay, thu hẹp khoảng cách giữa thị giác máy tính (CV) và ý định của người dùng.
-
Hệ thống đề xuất hình ảnh : Trong lĩnh vực trí tuệ nhân tạo ứng dụng trong bán lẻ , tìm kiếm vector hỗ trợ các tính năng "mua sắm theo phong cách". Nếu khách hàng thích một chiếc túi xách cụ thể, hệ thống sẽ tìm các sản phẩm có vector hình ảnh tương tự—phù hợp về hình dạng, chất liệu và kiểu dáng—tạo ra một hệ thống đề xuất được cá nhân hóa.
-
Tạo lập tăng cường bằng truy xuất (RAG) : Để nâng cao hiệu quả của các Mô hình Ngôn ngữ Lớn (LLM) , các nhà phát triển sử dụng tìm kiếm vector để truy xuất các tài liệu liên quan từ cơ sở tri thức. Điều này cung cấp ngữ cảnh cho AI, giảm thiểu sự ảo tưởng và cải thiện độ chính xác trong tương tác chatbot .
-
Phát hiện bất thường : Bằng cách phân cụm các vectơ hoạt động "bình thường", hệ thống có thể xác định các điểm bất thường nằm ngoài cụm. Điều này rất quan trọng đối với việc phát hiện bất thường trong kiểm soát chất lượng sản xuất và bảo mật dữ liệu .
Phân biệt các khái niệm liên quan
Việc phân biệt tìm kiếm vectơ với các thuật ngữ tương tự là rất hữu ích để hiểu toàn bộ quy trình học máy (ML) .
-
Tìm kiếm vectơ so với tìm kiếm ngữ nghĩa : Tìm kiếm ngữ nghĩa là ứng dụng rộng hơn của việc hiểu ý định của người dùng ("cái gì"). Tìm kiếm vectơ là phương pháp thuật toán cụ thể được sử dụng để đạt được điều này bằng cách tính toán độ gần của vectơ ("như thế nào").
-
Tìm kiếm vector so với cơ sở dữ liệu vector : Cơ sở dữ liệu vector là cơ sở hạ tầng được thiết kế để lưu trữ và quản lý các vector nhúng ở quy mô lớn. Tìm kiếm vector là quá trình truy vấn cơ sở dữ liệu đó để lấy thông tin.
-
Tìm kiếm theo vector so với tìm kiếm theo từ khóa : Tìm kiếm theo từ khóa khớp chính xác với chuỗi văn bản (ví dụ: "apple" khớp với "apple"). Tìm kiếm theo vector khớp với ý nghĩa, vì vậy "apple" có thể khớp với "fruit" hoặc "red," ngay cả khi các từ khác nhau.
Tích hợp với Ultralytics Nền tảng
Đối với các nhóm xây dựng hệ thống tìm kiếm tương đồng , quản lý tập dữ liệu và huấn luyện mô hình nhúng là bước đầu tiên vô cùng quan trọng. Nền tảng Ultralytics đơn giản hóa quy trình này bằng cách cung cấp các công cụ quản lý dữ liệu, huấn luyện trên đám mây và triển khai mô hình. Bằng cách đảm bảo các mô hình cơ bản của bạn—cho dù là để phát hiện đối tượng hay phân loại—có hiệu suất cao, bạn đảm bảo các vectơ kết quả cung cấp kết quả tìm kiếm chính xác và có ý nghĩa.