Tìm kiếm vectơ là một kỹ thuật mạnh mẽ được sử dụng trong Trí tuệ nhân tạo (AI) và Học máy (ML) để tìm các mục có ngữ nghĩa tương tự, thay vì chỉ khớp với các từ khóa. Nó hoạt động bằng cách biểu diễn các điểm dữ liệu—chẳng hạn như tài liệu văn bản, hình ảnh, clip âm thanh hoặc hồ sơ người dùng—dưới dạng các vectơ số được gọi là nhúng . Các nhúng này nắm bắt ý nghĩa hoặc đặc điểm cơ bản của dữ liệu. Sau đó, tìm kiếm vectơ tìm các vectơ trong một tập dữ liệu "gần nhất" với một vectơ truy vấn nhất định trong không gian có nhiều chiều, thường sử dụng các số liệu khoảng cách như độ tương đồng cosin hoặc khoảng cách Euclidean. Điều này cho phép tìm kiếm sắc thái hơn và có nhận thức về ngữ cảnh so với các phương pháp truyền thống.
Tìm kiếm Vector hoạt động như thế nào
Quá trình này thường bao gồm một số bước chính:
- Tạo nhúng: Dữ liệu được chuyển đổi thành các vectơ đa chiều (nhúng) bằng cách sử dụng các mô hình học sâu (DL) được đào tạo trước, chẳng hạn như BERT cho văn bản hoặc Vision Transformers (ViT) cho hình ảnh. Các mô hình này được đào tạo trên các tập dữ liệu lớn để học các biểu diễn có ý nghĩa. Ví dụ, các mô hình YOLO Ultralytics , chủ yếu được biết đến với chức năng phát hiện đối tượng , cũng tạo ra các vectơ đặc điểm có khả năng được điều chỉnh cho các tác vụ tìm kiếm trực quan.
- Lập chỉ mục: Các vectơ được tạo ra được lưu trữ và lập chỉ mục trong một cơ sở dữ liệu vectơ chuyên biệt. Các cơ sở dữ liệu này được tối ưu hóa để truy vấn hiệu quả dữ liệu có nhiều chiều, thường sử dụng các thuật toán Láng giềng gần nhất xấp xỉ (ANN) như HNSW (Hierarchical Navigable Small World) hoặc ScaNN (Scalable Nearest Neighbors) . Các kỹ thuật ANN đánh đổi một lượng nhỏ độ chính xác để cải thiện tốc độ đáng kể, giúp tìm kiếm vectơ khả thi đối với các tập dữ liệu lớn.
- Truy vấn: Khi thực hiện truy vấn tìm kiếm (ví dụ: cụm từ văn bản hoặc hình ảnh), trước tiên truy vấn đó sẽ được chuyển đổi sang cùng định dạng vector bằng cùng một mô hình nhúng.
- Tính toán độ tương đồng: Sau đó, cơ sở dữ liệu vectơ sẽ tìm kiếm chỉ mục của nó để tìm các vectơ giống nhất với vectơ truy vấn dựa trên số liệu khoảng cách đã chọn (ví dụ: độ tương đồng cosin, khoảng cách Euclid, tích vô hướng).
- Truy xuất: Các mục tương ứng với các vectơ gần nhất được trả về dưới dạng kết quả tìm kiếm.
Các khái niệm và công nghệ chính
- Nhúng vectơ: Biểu diễn số nắm bắt ý nghĩa ngữ nghĩa. Các mô hình học những điều này trong quá trình đào tạo trên các tập dữ liệu lớn như ImageNet .
- Cơ sở dữ liệu vectơ: Các hệ thống như Pinecone , Weaviate , Milvus và Chroma DB được thiết kế để lưu trữ và truy vấn vectơ.
- Chỉ số tương đồng: Các hàm toán học (ví dụ: Độ tương đồng Cosin , Khoảng cách Euclid) được sử dụng để đo "mức độ gần nhau" giữa các vectơ.
- Hàng xóm gần nhất xấp xỉ (ANN): Thuật toán tìm kiếm hiệu quả những hàng xóm gần nhất có thể , rất quan trọng đối với hiệu suất trên quy mô lớn. Các thư viện như Faiss (Facebook AI Similarity Search) cung cấp các triển khai.
- Giảm chiều: Các kỹ thuật như PCA (Phân tích thành phần chính) đôi khi có thể được sử dụng để giảm chiều vectơ, có khả năng tăng tốc tìm kiếm nhưng phải đánh đổi bằng việc mất một số thông tin.
Ứng dụng trong thế giới thực
Tìm kiếm vectơ cho phép thực hiện nhiều ứng dụng thông minh:
- Tìm kiếm ngữ nghĩa : Cung cấp năng lượng cho các công cụ tìm kiếm (như Google Search ) hoặc các cơ sở tri thức nội bộ để hiểu ý định truy vấn ngoài các từ khóa. Ví dụ: tìm kiếm "ý tưởng bữa tối lành mạnh" có thể trả về công thức nấu ăn cho món salad, gà nướng và bát quinoa, ngay cả khi những từ chính xác đó không có trong tài liệu, vì các nhúng vector của chúng có ý nghĩa gần giống nhau.
- Hệ thống đề xuất : Các nền tảng như Netflix hoặc Spotify sử dụng tìm kiếm vectơ để tìm các mục (phim, bài hát, sản phẩm) tương tự như những mục mà người dùng đã thích hoặc đã tương tác trước đó, dựa trên điểm tương đồng trong biểu diễn vectơ của chúng.
- Nhận dạng và tìm kiếm hình ảnh : Tìm kiếm hình ảnh tương tự về mặt thị giác (tìm kiếm hình ảnh ngược) hoặc xác định sản phẩm trong ảnh cho thương mại điện tử. Đây là lĩnh vực ứng dụng cốt lõi trong Computer Vision (CV) .
- Phát hiện bất thường : Xác định các điểm dữ liệu bất thường (ví dụ: giao dịch gian lận, xâm nhập mạng) có vectơ nằm xa các cụm vectơ dữ liệu bình thường.
- Xử lý ngôn ngữ tự nhiên (NLP) : Nâng cao các ứng dụng như trả lời câu hỏi , phát hiện trùng lặp và phân nhóm dữ liệu văn bản dựa trên chủ đề hoặc cảm xúc.
- Thế hệ tăng cường truy xuất (RAG) : Được sử dụng trong Mô hình ngôn ngữ lớn (LLM) để truy xuất ngữ cảnh có liên quan từ cơ sở kiến thức trước khi tạo phản hồi, cải thiện độ chính xác về mặt thực tế và giảm ảo giác .
Tìm kiếm theo vectơ so với Tìm kiếm theo từ khóa
Sự khác biệt chính nằm ở cách xác định sự tương đồng:
- Tìm kiếm từ khóa: So khớp chính xác các từ hoặc cụm từ bằng các kỹ thuật như chỉ mục đảo ngược. Nó gặp khó khăn với các từ đồng nghĩa, ngữ cảnh và các biến thể trong ngôn ngữ.
- Tìm kiếm vectơ: Phù hợp dựa trên sự tương đồng về mặt ngữ nghĩa được ghi lại trong nhúng vectơ. Nó có thể tìm thấy kết quả có liên quan ngay cả khi các từ khóa chính xác không khớp, hiểu được ý định hoặc khái niệm cơ bản.
Trong khi tìm kiếm vector cung cấp kết quả sắc thái hơn, nó đòi hỏi tài nguyên tính toán đáng kể để tạo nhúng và lập chỉ mục, thường được quản lý hiệu quả thông qua các nền tảng như Ultralytics HUB để quản lý mô hình và tập dữ liệu . Các hệ thống hiện đại thường kết hợp cả tìm kiếm từ khóa và tìm kiếm vector (tìm kiếm lai) để tận dụng thế mạnh của từng phương pháp. Bạn có thể khám phá nhiều hướng dẫn và chỉ dẫn khác nhau để hiểu cách các khái niệm liên quan như triển khai mô hình và số liệu hiệu suất áp dụng trong các hệ thống này.