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, mật độ cao, số chiều thấp của các biến rời rạc, đóng vai trò như một bộ chuyển đổi nền tảng giữa dữ liệu con người và logic máy tính. Trong lĩnh vực Artificial Intelligence (AI), máy tính không thể hiểu một cách trực quan các unstructured data phức tạp 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 đó thành các danh sách 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, embeddings được học thông qua quá trình huấn luyện, đảm bảo rằng các mục tương tự nhau về mặt ngữ nghĩa—như từ "king" và "queen", hoặc hình ảnh của hai con mèo khác nhau—được đặt gần nhau trong vector space.
Link to this sectionCách thức hoạt động của Embeddings#
Việc tạo ra một embedding liên quan đến việc nạp dữ liệu thô vào một neural network được thiết kế cho feature extraction. 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 Computer Vision (CV) phân tích một bức ảnh không chỉ nhìn vào các điểm ảnh; nó ánh xạ hình dạng, kết cấu và màu sắc vào một tọa độ cụ thể trong biểu đồ đa chiều. Khi đo lường sự 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 chỉ số như cosine similarity hoặc Euclidean distance. Sự gần gũi về mặt 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.
Link to this sectionCá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.
- Semantic Search: Các công cụ tìm kiếm truyền thống thường dựa vào keyword matching chính xác, vốn sẽ 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ừ ngữ. 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ả khớp với ý định của người dùng, ngay cả khi các từ cụ thể khác biệt.
- Recommendation Systems: Các dịch vụ phát trực tuyến 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 gầ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 sự tương đồng về nội dung thay vì chỉ dựa trên các thẻ hoặc danh mục thủ công.
- Zero-Shot Learning: Các model tiên tiến 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 diện các đối tượng mà nó chưa từng 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 đó.
Link to this sectionTạo Embeddings với Python#
Các model hiện đại như YOLO26 có thể được sử dụng để tạo các image embeddings mạnh mẽ một cách hiệu quả. Ví dụ sau đây minh họa cách trích xuất một feature vector từ một hình ảnh bằng cách sử dụng gói ultralytics cho Python.
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}")Link to this sectionEmbeddings 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 Vector Search: Embedding chính là bản thân việc biểu diễn dữ liệu (danh sách các con số). Vector search là quá trình truy vấn tiếp theo trong 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à vector database thường được sử dụng để lưu trữ và tìm kiếm các embeddings này trên quy mô lớn.
- Embeddings so với Tokenization: Trong Natural Language Processing (NLP), tokenization là bước sơ bộ để chia văn bản thành các phần nhỏ hơn (tokens). Các tokens này sau đó được ánh xạ sang embeddings. Do đó, tokenization 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 hơn của machine learning dựa trên các mạng neural. 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.
Các nhà phát triển muốn quản lý vòng đời của tập dữ liệu của họ, bao gồm việc chú thích và huấn luyện model để tạo các custom embeddings, có thể sử dụng Ultralytics Platform. Công cụ toàn diện này đơn giản hóa quy trình từ quản lý dữ liệu đến triển khai, đảm bảo rằng các embeddings cung cấp năng lượng cho ứ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 hay TensorFlow, việc làm chủ embeddings là một bước quan trọng trong việc xây dựng các hệ thống pattern recognition tinh vi.






