Embeddings
Khám phá cách embeddings kết nối dữ liệu con người với logic máy. Tìm hiểu cách tạo các biểu diễn vector cho các tác vụ AI bằng Ultralytics YOLO26 và khám phá Ultralytics Platform.
Embedding là các biểu diễn vector liên tục, dày đặc và có số chiều thấp của các biến rời rạc, đóng vai trò như một bộ phiên dịch nền tảng giữa dữ liệu con người và logic máy. 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ác dữ liệu phi cấu trúc lộn xộn như văn bản, hình ảnh hoặc âm thanh. Embedding giải quyết vấn đề này bằng cách chuyển đổi các đầu vào đó 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 nhiều chiều. Không giống như các phương pháp 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, embedding được học thông qua quá trình huấn luyện, bảo đảm rằng các thành phần tương đồng về ngữ nghĩa—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 Embedding hoạt động#
Việc tạo embedding bao gồm đưa dữ liệu thô vào một mạng neural đượ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ố nhỏ gọn. Ví dụ, một model Thị giác máy tính (CV) phân tích một bức ảnh không chỉ nhìn thấy các pixel; model ánh xạ hình dạng, kết cấu và màu sắc vào một tọa độ cụ thể trong một đồ thị đa chiều. Khi đo độ tương đồng, các hệ thống tính khoảng cách giữa những tọa độ này bằng các metric như độ tương đồng cosine hoặc khoảng cách Euclid. Độ gần nhau về mặt toán học này cho phép các thuật toán thực hiện hiệu quả cao những tác vụ phức tạp như phân loại và phân cụm.
Các ứng dụng trong thực tế#
Embedding đóng vai trò là độ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 đối sánh từ khóa chính xác, nên không hoạt động hiệu quả nếu người dùng truy vấn "auto" nhưng tài liệu chứa "car." Embedding 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 trong 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 đề xuất: Các dịch vụ streaming và trang thương mại điện tử sử dụng embedding để cá nhân hóa trải nghiệm người dùng. Nếu người dùng xem một bộ phim khoa học viễn tưởng, hệ thống 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 đề xuất chính xác dựa trên độ tương đồng về nội dung thay vì chỉ dựa vào tag hoặc danh mục được gán thủ công.
- Học zero-shot: Các model nâng cao sử dụng embedding kết hợp để 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 hệ thống nhận diện các đối tượng mà hệ thống chưa từng thấy rõ ràng trong quá trình huấn luyện bằng cách liên kết embedding của hình ảnh với embedding văn bản chứa tên của đối tượng.
Tạo Embedding bằng Python#
Các model hiện đại như YOLO26 có thể được sử dụng để tạo embedding hình ảnh mạnh mẽ một cách hiệu quả. Ví dụ sau minh họa cách trích xuất một vector đặc trưng từ hình ảnh bằng package Python ultralytics.
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}")Embedding và 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 embedding với các thuật ngữ kỹ thuật liên quan là rất hữu ích.
- Embedding và Tìm kiếm vector: Embedding chính là 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, trong đó 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 embedding ở quy mô lớn.
- Embedding và Tokenization: Trong Xử lý ngôn ngữ tự nhiên (NLP), tokenization là bước sơ bộ để chia văn bản thành các đoạn nhỏ hơn (token). Sau đó, các token này được ánh xạ thành embedding. Do đó, tokenization chuẩn bị dữ liệu, còn embedding biểu diễn ý nghĩa của dữ liệu.
- Embedding và Deep Learning: Deep learning là lĩnh vực rộng hơn của machine learning, dựa trên các mạng neural. Embedding là một đầu ra hoặc layer cụ thể trong kiến trúc deep learning, thường đóng vai trò cầu nối giữa đầu vào thô và các layer ra quyết định của model.
Các developer muốn quản lý vòng đời của dataset, bao gồm việc gán nhãn và huấn luyện model để tạo embedding tùy chỉnh, có thể sử dụng Ultralytics Platform. Công cụ toàn diện này đơn giản hóa workflow từ quản lý dữ liệu đến triển khai, bảo đảm rằng các embedding vận hành ứng dụng của bạn được tạo ra từ dữ liệu chất lượng cao và được tuyển chọn kỹ lưỡng. Dù sử dụng các framework như PyTorch hoặc TensorFlow, việc làm chủ embedding là một bước quan trọng trong xây dựng các hệ thống nhận dạng mẫu tinh vi.









