Khám phá phương pháp lượng tử hóa vectơ trong nén dữ liệu và phân đoạn dữ liệu trong Học máy. Tìm hiểu cách phương pháp này tối ưu hóa các mô hình VQ-VAE, tìm kiếm vectơ và các triển khai Ultralytics .
Lượng tử hóa vectơ là một kỹ thuật nén và rời rạc hóa dữ liệu mạnh mẽ, được ứng dụng rộng rãi trong học máy (ML) và xử lý tín hiệu số hiện đại. Về cơ bản, kỹ thuật này hoạt động bằng cách chia một tập hợp lớn các điểm hoặc vectơ liên tục thành các nhóm và biểu diễn mỗi nhóm bằng một vectơ "mẫu", cùng nhau tạo thành một cấu trúc được gọi là sổ mã. Bằng cách ánh xạ các vectơ liên tục đa chiều sang các mục sổ mã rời rạc này, các hệ thống có thể giảm đáng kể việc sử dụng bộ nhớ trong khi vẫn giữ được các đặc tính ngữ nghĩa thiết yếu của dữ liệu để thực hiện giảm chiều hiệu quả.
Trong lĩnh vực học sâu (DL) hiện đại, khái niệm này đã được phổ biến rộng rãi nhờ mô hình Vector Quantized Variational Autoencoder (VQ-VAE). Khác với các mô hình autoencoder tiêu chuẩn học không gian tiềm ẩn liên tục để thực hiện trích xuất đặc trưng, VQ-VAE học một đại diện rời rạc. Điều này cho phép các mô hình tạo sinh xử lý hình ảnh, âm thanh hoặc video như một chuỗi các token rời rạc, tương tự như cách các Mô hình Ngôn ngữ Lớn (LLMs) xử lý các đầu vào văn bản . Bạn có thể khám phá các nghiên cứu cơ bản về học biểu diễn rời rạc để thấy cách các triển khai ban đầu đã mở đường cho các hệ thống thị giác dựa trên token hiện đại.
Lượng tử hóa vectơ đóng vai trò quan trọng trong nhiều ứng dụng AI thực tế, nơi hiệu suất và hiệu quả sử dụng bộ nhớ là yếu tố then chốt:
Việc nắm rõ sự khác biệt tinh tế giữa lượng tử hóa vectơ và các thuật ngữ tương tự sẽ rất hữu ích khi thiết kế một kiến trúc thị giác máy tính (CV) hiệu quả:
Để tìm hiểu cách lượng tử hóa vectơ ánh xạ các đầu vào liên tục thành các mã rời rạc trong thực tế, bạn có thể sử dụng PyTorch tính toán khoảng cách Euclid và tìm mẫu gần nhất trong một bộ mã đã được định nghĩa sẵn:
import torch
# Define a continuous input batch and a discrete codebook vocabulary
inputs = torch.randn(4, 128) # 4 input vectors of dimension 128
codebook = torch.randn(10, 128) # 10 discrete prototype vectors
# Compute distances and find the nearest codebook index for each input
distances = torch.cdist(inputs, codebook)
quantized_indices = torch.argmin(distances, dim=1)
# Retrieve the discrete quantized vectors corresponding to the inputs
quantized_vectors = codebook[quantized_indices]
Để tìm hiểu chi tiết về cách tính toán tensor theo cách bản địa và tối ưu hóa các thao tác này, vui lòng tham khảo tài liệu chính thức PyTorch .
Việc tích hợp các mô hình nhúng được tối ưu hóa vào quy trình xử lý của bạn đòi hỏi một bộ công cụ mạnh mẽ. Ultralytics cung cấp một môi trường toàn diện để quản lý dữ liệu huấn luyện và huấn luyện các mô hình thị giác tiên tiến nhất. Bằng cách tối ưu hóa việc quản lý dữ liệu và đơn giản hóa quá trình triển khai mô hình, các nhà phát triển có thể dễ dàng tạo ra các đặc trưng hình ảnh chất lượng cao phù hợp cho quá trình lượng tử hóa vectơ, từ đó giúp tăng tốc các ứng dụng phát hiện đối tượng và tìm kiếm phương tiện truyền thông quy mô lớn .
Bắt đầu hành trình của bạn với tương lai của học máy