Vector Quantization
探索用于机器学习数据压缩和离散化的向量量化。了解它如何优化 VQ-VAE、向量搜索和 Ultralytics YOLO26 的部署。
向量量化是一种强大的数据压缩和离散化技术,广泛应用于现代 机器学习 (ML) 和 数字信号处理 领域。其核心工作原理是将大量连续的点或向量划分为若干组,并用单个“原型”向量代表每一组,共同构成一种称为码本(codebook)的结构。通过将连续的高维向量映射到这些离散的码本条目中,系统可以在大幅降低内存占用的同时,保留数据关键的语义特征,从而实现有效的 降维。
Link to this section离散化在深度学习中的角色#
In contemporary deep learning (DL), this concept was famously popularized by the Vector Quantized Variational Autoencoder (VQ-VAE). Unlike standard autoencoders that learn a continuous latent space to perform feature extraction, VQ-VAEs learn a discrete representation. This allows generative models to treat images, audio, or video as a sequence of discrete tokens, similar to how Large Language Models (LLMs) process text inputs. You can explore foundational research on discrete representation learning to see how early implementations paved the way for modern token-based vision systems.
Link to this section实际应用#
向量量化在许多对性能和内存效率要求极高的现实 AI 应用中发挥着关键作用:
- 生成式 AI 与媒体压缩:通过将复杂的视觉数据压缩为离散的潜在编码,向量量化实现了高效的图像和视频生成。将连续像素映射为离散标记的模型大大降低了计算开销,从而辅助了像 潜扩散模型 这样的先进架构。
- 高速向量检索:为了执行快速的 相似性搜索,现代系统必须查询数百万个 嵌入 (embeddings)。向量量化压缩了这些海量数据集,使检索引擎能够执行快速的近似最近邻 (ANN) 搜索,这对 零售业中的 AI 和产品推荐系统非常有益。查阅 OpenAI 的嵌入指南 以获取关于高维数据处理的更多背景信息。
Link to this section区分相关概念#
了解向量量化与类似术语之间的细微差别,有助于设计高效的 计算机视觉 (CV) 架构:
- 向量量化 vs. 模型量化:模型量化通常是指降低神经网络权重的数值精度(例如从 32 位浮点数降低到 8 位整数),以加速 Ultralytics YOLO26 等模型在硬件上的部署推理。而向量量化是将数据向量聚类为固定的离散原型词汇表。
- 向量量化 vs. 向量数据库:向量数据库是存储高维数据的实际基础设施。向量量化是这些数据库通常采用的一种底层算法技术,旨在最小化其内存占用,详见 Qdrant 关于向量处理的解释。
- 向量量化 vs. 向量搜索:向量搜索是基于向量邻近度查找相似项的主动过程。量化则作为一种结构优化层,使得这种搜索在大规模尺度下在计算上变得可行。
Link to this section基础实现示例#
为了了解向量量化如何在实践中将连续输入映射为离散标记,你可以使用 PyTorch 计算欧几里得距离并在预定义的码本中找到最接近的原型:
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]如需深入了解如何原生计算张量距离并优化这些操作,请参阅官方 PyTorch cdist 文档。
Link to this section利用 Ultralytics 平台增强工作流#
将优化后的嵌入集成到你的流水线中需要稳健的工具。 Ultralytics 平台 提供了一个端到端的环境,用于管理 训练数据 和训练最先进的视觉模型。通过简化数据管理并简化 模型部署,开发者可以轻松生成适用于向量量化的高质量视觉特征,从而加快 目标检测 和大规模媒体检索应用的开发速度。






