Embeddings
Khám phá cách embeddings kết nối dữ liệu con người và logic máy tính. Tìm hiểu cách tạo biểu diễn vector cho các tác vụ AI sử dụng Ultralytics YOLO26 và khám phá Ultralytics Platform.
Embeddings là các biểu diễn vector liên tục, số chiều thấp, dày đặc của các biến rời rạc, đóng vai trò là một bộ dịch nền tảng giữa dữ liệu con người và logic máy tính. Trong lĩnh vực Trí tuệ Nhân tạo (AI), máy tính không thể trực tiếp hiểu được dữ liệu lộn xộn, không có cấu trúc như văn bản, hình ảnh hoặc âm thanh. Embeddings giải quyết vấn đề này bằng cách chuyển đổi các đầu vào này thành danh sách các số thực, được gọi là vector, tồn tại trong một không gian toán học có số chiều cao. Khác với các mã hóa truyền thống có thể chỉ gán một ID ngẫu nhiên cho một đối tượng, embeddings được học thông qua quá trình huấn luyện, đảm bảo rằng các mục có ý nghĩa ngữ nghĩa tương tự nhau—như các từ "king" và "queen", hoặc hình ảnh của hai con mèo khác nhau—được đặt gần nhau trong không gian vector.
Cách thức hoạt động của Embeddings#
Việc tạo ra một embedding liên quan đến việc đưa dữ liệu thô vào một mạng nơ-ron được thiết kế để trích xuất đặc trưng. Trong quá trình huấn luyện, model học cách nén các đặc điểm thiết yếu của đầu vào thành một dạng số gọn gàng. Ví dụ, một model Computer Vision (CV) phân tích một bức ảnh không chỉ nhìn thấy các pixel; nó ánh xạ các hình dạng, kết cấu và màu sắc thành một tọa độ cụ thể trong biểu đồ đa chiều. Khi đo lường độ tương đồng, các hệ thống tính toán khoảng cách giữa các tọa độ này bằng cách sử dụng các số liệu như độ tương đồng cô-sin hoặc khoảng cách Euclid. Sự gần gũi về toán học này cho phép các thuật toán thực hiện các tác vụ phức tạp như phân loại và phân cụm với hiệu suất cao.
Các ứng dụng trong thực tế#
Embeddings đóng vai trò như công cụ cho nhiều tính năng thông minh được sử dụng trong các sản phẩm phần mềm hiện đại.
- Tìm kiếm Ngữ nghĩa: Các công cụ tìm kiếm truyền thống thường dựa vào khớp từ khóa chính xác, điều này thất bại nếu người dùng truy vấn "auto" nhưng tài liệu lại chứa "car". Embeddings nắm bắt ý nghĩa đằng sau các từ. Bằng cách biểu diễn truy vấn tìm kiếm và các tài liệu cơ sở dữ liệu dưới dạng vector, hệ thống có thể truy xuất các kết quả phù hợp với ý định của người dùng, ngay cả khi các từ cụ thể khác nhau.
- Hệ thống Gợi ý: Các dịch vụ phát streaming và trang web thương mại điện tử sử dụng embeddings để cá nhân hóa trải nghiệm người dùng. Nếu một người dùng xem một bộ phim khoa học viễn tưởng, hệ thống sẽ xác định vector embedding của bộ phim đó và tìm kiếm các bộ phim khác có vector lân cận trong cơ sở dữ liệu. Điều này cho phép đưa ra các gợi ý chính xác dựa trên độ tương đồng nội dung thay vì chỉ dựa vào các thẻ hoặc danh mục thủ công.
- Zero-Shot Learning: Các model nâng cao sử dụng joint embeddings để liên kết các phương thức khác nhau, chẳng hạn như văn bản và hình ảnh. Điều này cho phép một hệ thống nhận dạng các đối tượng mà nó chưa bao giờ nhìn thấy một cách rõ ràng trong quá trình huấn luyện bằng cách liên kết embedding hình ảnh với embedding văn bản của tên đối tượng.
Tạo Embeddings với Python#
State-of-the-art models like YOLO26 can be used to generate robust image embeddings efficiently. The following example demonstrates how to extract a feature vector from an image using the ultralytics Python package.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")Embeddings so với các khái niệm liên quan#
Để triển khai hiệu quả các giải pháp AI, việc phân biệt embeddings với các thuật ngữ kỹ thuật liên quan chặt chẽ là rất hữu ích.
- Embeddings so với Tìm kiếm Vector: Embedding chính là bản thân biểu diễn dữ liệu (danh sách các số). Tìm kiếm vector là quá trình tiếp theo của việc truy vấn cơ sở dữ liệu để tìm các láng giềng gần nhất với embedding đó. Các công cụ chuyên dụng được gọi là cơ sở dữ liệu vector thường được sử dụng để lưu trữ và tìm kiếm các embeddings này ở quy mô lớn.
- Embeddings so với Token hóa: Trong Xử lý Ngôn ngữ Tự nhiên (NLP), token hóa là bước sơliminary chia nhỏ văn bản thành các phần nhỏ hơn (token). Các token này sau đó được ánh xạ tới embeddings. Do đó, token hóa chuẩn bị dữ liệu, trong khi embeddings biểu diễn ý nghĩa của dữ liệu.
- Embeddings so với Deep Learning: Deep learning là lĩnh vực rộng lớn hơn của machine learning dựa trên mạng nơ-ron. Embeddings là một đầu ra hoặc lớp cụ thể trong một kiến trúc deep learning, thường đóng vai trò là cầu nối giữa các đầu vào thô và các lớp ra quyết định của model.
Developers looking to manage the lifecycle of their datasets, including annotation and model training for generating custom embeddings, can utilize the Ultralytics Platform. This comprehensive tool simplifies the workflow from data management to deployment, ensuring that the embeddings powering your applications are derived from high-quality, well-curated data. Whether using frameworks like PyTorch or TensorFlow, mastering embeddings is a crucial step in building sophisticated pattern recognition systems.






