Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Cuantificación vectorial

Descubre la cuantificación vectorial para la compresión de datos y la discretización en el aprendizaje automático. Descubre cómo optimiza las implementaciones de VQ-VAE, la búsqueda vectorial y Ultralytics .

La cuantificación vectorial es una potente técnica de compresión y discretización de datos que se utiliza ampliamente en el aprendizaje automático (ML) moderno y en el procesamiento de señales digitales. En esencia, funciona dividiendo un gran conjunto de puntos o vectores continuos en grupos y representando cada grupo mediante un único vector «prototipo», formando colectivamente una estructura conocida como libro de códigos. Al asignar vectores continuos de alta dimensión a estas entradas discretas del libro de códigos, los sistemas pueden reducir drásticamente el uso de memoria al tiempo que conservan las características semánticas esenciales de los datos para una reducción de la dimensionalidad eficaz.

El papel de la discretización en el aprendizaje profundo

En el aprendizaje profundo (DL) contemporáneo, este concepto se popularizó gracias al autoencoder variacional cuantificado por vectores (VQ-VAE). A diferencia de los autoencoders estándar, que aprenden un espacio latente continuo para realizar la extracción de características, los VQ-VAE aprenden una representación discreta. Esto permite a los modelos generativos tratar imágenes, audio o vídeo como una secuencia de tokens discretos, de forma similar a como los grandes modelos de lenguaje (LLM) procesan las entradas de texto . Puedes explorar la investigación fundamental sobre el aprendizaje de representaciones discretas para ver cómo las primeras implementaciones allanaron el camino para los modernos sistemas de visión basados en tokens.

Aplicaciones en el mundo real

La cuantificación vectorial desempeña un papel fundamental en varias aplicaciones de IA del mundo real en las que el rendimiento y la eficiencia de la memoria son fundamentales:

Distinguir conceptos relacionados

Comprender las diferencias sutiles entre la cuantificación vectorial y otros términos similares resulta útil a la hora de diseñar una arquitectura eficiente de visión artificial (CV):

Ejemplo básico de implementación

Para ver cómo la cuantificación vectorial asigna entradas continuas a valores discretos en la práctica, puedes utilizar PyTorch calcular distancias euclidianas y encontrar el prototipo más cercano en un libro de códigos predefinido:

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]

Para obtener información detallada sobre cómo calcular tensor de forma nativa y optimizar estas operaciones, consulta la documentación oficial de PyTorch .

Optimización de los flujos de trabajo con la Ultralytics

La integración de representaciones vectoriales optimizadas en tu flujo de trabajo requiere herramientas fiables. La Ultralytics ofrece un entorno integral para la selección de datos de entrenamiento y el entrenamiento de modelos de visión de última generación. Al optimizar la gestión de datos y simplificar la implementación de modelos, los desarrolladores pueden generar sin esfuerzo características visuales de alta calidad adecuadas para la cuantificación vectorial, lo que permite una detección de objetos más rápida y aplicaciones de recuperación de contenidos multimedia a gran escala.

¡Construyamos juntos el futuro de la IA!

Comience su viaje con el futuro del aprendizaje automático