Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Embeddings

Embedding là các vector được học để đặt văn bản, ảnh hoặc mục tương tự gần nhau. Nội dung đề cập đến cách tạo, so sánh và tìm kiếm embedding ở quy mô lớn.

Embedding là một vector số được học để biểu diễn một mục, chẳng hạn từ, hình ảnh, sản phẩm hoặc người dùng, sao cho các mục có ý nghĩa hoặc nội dung tương tự sẽ có vector nằm gần nhau. Khoảng cách trong không gian vector này trở thành thước đo độ tương đồng, cho phép phần mềm tìm kiếm, phân cụm, đề xuất và phân loại bằng cách so sánh vector thay vì pixel hoặc chuỗi thô. Embedding cũng là biểu diễn được sử dụng bên trong mạng nơ-ron: mô hình ngôn ngữ lớn (LLM) chuyển từng token thành embedding trước lớp transformer đầu tiên, còn model thị giác chuyển hình ảnh thành các vector đặc trưng thông qua backbone. Embedding dùng cho tìm kiếm thường có vài trăm đến vài nghìn chiều, ít hơn nhiều so với số giá trị của đầu vào thô.

Cách tạo embedding#

Embedding được tạo từ hai loại thành phần đã học:

  • Bảng tra cứu: Với các mục rời rạc như token, ID sản phẩm hoặc ID người dùng, một lớp embedding lưu một hàng có thể học cho mỗi mục; tra cứu một mục sẽ trả về hàng tương ứng. nn.Embedding của PyTorch là một bảng như vậy. Các hàng ban đầu có giá trị ngẫu nhiên và được cập nhật bằng lan truyền ngược cùng với phần còn lại của model, vì vậy những mục có vai trò tương tự trong tác vụ huấn luyện sẽ dần có các vector tương tự nhau.
  • Encoder: Với hình ảnh, âm thanh và văn bản tự do, một mạng ánh xạ toàn bộ đầu vào thành một vector, thường bằng cách pooling các feature map của CNN hoặc đọc các token đầu ra của transformer. Encoder được huấn luyện cho một tác vụ như phân loại tạo ra embedding hữu ích như một sản phẩm phụ; encoder được huấn luyện bằng học tương phản định hình trực tiếp không gian embedding, như CLIP thực hiện bằng cách đặt hình ảnh và chú thích tương ứng vào cùng một không gian chung.

Word2vec, do Tomas Mikolov và các cộng sự tại Google công bố năm 2013, cho thấy kiểu huấn luyện này nắm bắt được cấu trúc phong phú đến mức nào. Trong các vector từ của Word2vec, vector("King") − vector("Man") + vector("Woman") gần với vector("Queen") nhất; vector Google News được huấn luyện trước mà Word2vec phát hành bao gồm 3 triệu từ và cụm từ trong không gian 300 chiều.

So sánh embedding#

Độ tương đồng cosine so sánh hướng của hai vector và có giá trị từ −1 đến 1. Tích vô hướng cũng tính đến độ dài của chúng, còn khoảng cách Euclid đo khoảng cách đường thẳng giữa hai vector. Nhiều hệ thống chuẩn hóa embedding về độ dài đơn vị, khiến độ tương đồng cosine và tích vô hướng trở nên giống nhau, đồng thời xếp hạng các vector lân cận theo cùng thứ tự với khoảng cách Euclid. Các model YOLO26 tạo embedding hình ảnh thông qua embed(); cách này bỏ qua head dự đoán và trả về một vector cho mỗi hình ảnh bằng cách average-pooling đầu ra của lớp áp chót của model:

import torch.nn.functional as F
from ultralytics import YOLO
from ultralytics.utils import ASSETS

# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")

# embed() returns one pooled feature vector per image instead of predictions
bus, zidane = model.embed([ASSETS / "bus.jpg", ASSETS / "zidane.jpg"])
print(f"Embedding length: {bus.shape[0]}")

# Higher cosine similarity means the model sees more similar content
print(f"Cosine similarity: {F.cosine_similarity(bus, zidane, dim=0).item():.3f}")

Với YOLO26n-cls, embedding là vector 256 chiều, đầu ra đã pooling của khối attention ở cuối backbone; dòng thứ hai in độ tương đồng cosine giữa hai ảnh mẫu đi kèm. Chạy phép so sánh tương tự với embedding đã lưu của cả bộ sưu tập là cách tìm kiếm ảnh tương đồng xếp hạng kết quả.

Tìm kiếm embedding ở quy mô lớn#

So sánh một truy vấn với hàng triệu vector đã lưu lần lượt từng vector quá chậm, vì vậy cơ sở dữ liệu vector xây dựng chỉ mục láng giềng gần nhất xấp xỉ, chẳng hạn chỉ mục HNSW dựa trên đồ thị hoặc chỉ mục tệp đảo, để tìm các kết quả khớp gần nhất trong khi chỉ kiểm tra một phần nhỏ của bộ sưu tập. Bộ sưu tập được chuyển thành embedding một lần; mỗi truy vấn được chuyển thành embedding tại thời điểm tìm kiếm bằng cùng encoder, hoặc bằng encoder văn bản tương ứng khi tìm kiếm hình ảnh bằng văn bản:

Thiết kế lưu trữ cũng định hình hệ thống không kém gì độ chính xác. Học biểu diễn Matryoshka huấn luyện embedding sao cho các chiều đầu tiên có thể hoạt động độc lập, nhờ đó có thể cắt ngắn vector để tiết kiệm dung lượng; lượng tử hóa vector nén mỗi vector thành vài byte. Tìm kiếm lai kết hợp độ tương đồng embedding với đối sánh từ khóa.

Ứng dụng#

  • Tìm kiếm ngữ nghĩa và tạo sinh tăng cường truy xuất (RAG): Embedding văn bản truy xuất các đoạn văn theo ý nghĩa, vì vậy truy vấn về "yêu cầu bồi thường bảo hiểm ô tô" cũng tìm thấy tài liệu có nội dung "chính sách bảo hiểm xe hơi"; RAG chuyển các đoạn văn đã truy xuất cho LLM làm ngữ cảnh.
  • Hệ thống gợi ý: Người dùng và mục được embedding trong cùng một không gian; các mục gần vector của người dùng nhất sẽ trở thành ứng viên được đề xuất.
  • Phân loại zero-shot: Model có không gian hình ảnh-văn bản chung phân loại hình ảnh bằng cách so sánh embedding của hình ảnh với embedding của tên lớp được viết dưới dạng văn bản.
  • Tái nhận dạng đối tượng: Embedding ngoại hình liên kết cùng một người hoặc phương tiện giữa các camera và qua các khoảng ngắt trong track.
  • Khám phá dataset: Chiếu embedding xuống hai chiều bằng t-SNE hoặc UMAP giúp phát hiện cụm, ảnh gần trùng lặp và ngoại lệ trong dataset, như bảng Clustering thực hiện với dataset trên Ultralytics Platform.
  • Không gian tiềm ẩn: Không gian vector chứa các embedding. "Biểu diễn tiềm ẩn" và "embedding" thường được dùng như từ đồng nghĩa.
  • Trích xuất đặc trưng: Bất kỳ quy trình nào chuyển dữ liệu thô thành đặc trưng. Embedding là một vector đặc trưng được học sao cho khoảng cách giữa các vector mang ý nghĩa.
  • Tokenization: Chia văn bản thành các token và ánh xạ mỗi token thành một ID số nguyên. Sau đó, lớp embedding ánh xạ mỗi ID thành một vector.
  • Mã hóa one-hot: Biểu diễn mục i trong từ vựng dưới dạng vector toàn số 0, ngoại trừ giá trị 1 ở vị trí i; vì vậy, mọi cặp mục đều cách đều nhau và cách mã hóa này không biểu đạt độ tương đồng. Nhân vector one-hot với ma trận trọng số của bảng embedding sẽ chọn chính xác một hàng; đó cũng là kết quả mà thao tác tra cứu embedding trả về mà không cần thực hiện phép nhân.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning