¿Qué es el espacio latente?

Fondo morado con una bola amarilla encima de una forma cuadrada

Autores

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

¿Qué es el espacio latente?

Un espacio latente en el machine learning (ML) es una representación comprimida de puntos de datos que conserva solo las características esenciales que informan la estructura subyacente de los datos de entrada. El modelado eficaz del espacio latente es una parte integral del aprendizaje profundo, incluida la mayoría de los algoritmos IA generativa.

La asignación de puntos de datos al espacio latente puede expresar datos complejos de una manera eficiente y significativa, mejorando la capacidad de los modelos de machine learning para comprenderlos y manipularlos, al tiempo que reduce los requisitos computacionales. Con ese fin, codificar representaciones de espacio latente suele implicar cierto grado de reducción de dimensionalidad: la compresión de datos de alta dimensión en un espacio de menor dimensión que omite información irrelevante o redundante.

Los espacios latentes desempeñan un papel importante en muchos campos de la ciencia de datos, y codificar el espacio latente es un paso esencial en muchos algoritmos modernos de inteligencia artificial (IA). Por ejemplo, cualquier modelo generativo, como los autocodificadores variacionales (VAE) y las redes generativas adversariales (GAN), calculan el espacio latente de los datos de entrenamiento para luego interpolarlos para generar nuevas muestras de datos. Los modelos de visión artificial entrenados para tareas de clasificación, como la detección de objetos o la segmentación de imágenes, asignan datos de entrada al espacio latente para aislar sus cualidades que son relevantes para hacer predicciones precisas.

Los modelos de lenguaje grande (LLM), desde modelos incrustados que permiten la búsqueda semántica hasta modelos autorregresivos, como IBM® Granite o los que impulsan ChatGPT de OpenAI, manipulan el espacio latente para explorar conexiones complejas entre diferentes palabras en contextos específicos.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Qué significa "espacio latente"?

La palabra espacio adquiere un significado más variado en el contexto de machine learning que en el lenguaje general. En términos generales, un "espacio" en ML se refiere a un modo específico de mapear, comparar o muestrear puntos de datos. Por ejemplo:

  • El "espacio de entrada" es la gama de posibilidades incluidas en los datos de entrada.
  • El "espacio de salida" es la gama de posibilidades para la salida del modelo.
  • En los datos de imagen, el "espacio de pixeles" es la gama de posibilidades para valores numéricos de pixeles.
  • En el aprendizaje por refuerzo, el "espacio de acción " es la gama de posibles acciones que se podrían realizar a continuación, como los movimientos legales disponibles en un momento específico en un juego de mesa.

Matemáticamente hablando, un espacio se define principalmente por lo que corresponden a sus dimensiones: es decir, qué características (variables) se están utilizando para describir puntos de datos en ese espacio. Cuando los puntos de datos se asignan a un espacio específico, los puntos de datos con valores similares para las variables que definen el espacio serán similares o cercanos entre sí mediante alguna métrica, como la similitud del coseno, la distancia euclidiana o el producto escalar. 

En machine learning, los puntos de datos deben representarse numéricamente. La mayoría de las veces, los puntos de datos se representan (o “incrustan”) como vectores. Por lo tanto, nos referimos al espacio en el que se comparan los puntos de datos mediante sus representaciones vectoriales como "espacio de incrustación vectorial" (o "espacio de incrustación"). Las representaciones numéricas en las que cada elemento del vector corresponde a una dimensión individual del espacio de incrustación se denominan incrustaciones vectoriales. Los algoritmos de machine learning suelen tomar incrustaciones vectoriales como entrada o comienzan convirtiendo los datos de entrada en incrustaciones vectoriales.
 

Espacio de características frente a espacio latente

El espacio de características es el espacio vectorial asociado con la gama de posibilidades no para puntos de datos, sino para los valores de características significativas que podrían caracterizar un conjunto específico de puntos de datos. Por ejemplo, en los modelos que procesan datos de imagen, cada dimensión del espacio de características podría corresponder a formas, texturas o patrones de color específicos presentes en los datos de entrenamiento del modelo.

El espacio de características suele omitir información de dimensiones del espacio de incrustación que no contienen ninguna característica. Continuando con el ejemplo de los datos de imagen, el espacio de características excluiría los fondos o el espacio vacío. El proceso de aislar entidades significativas del espacio de incrustación mayor se denomina extracción de características.

"Espacio de características" y "espacio latente" a menudo se usan indistintamente, pero no siempre son sinónimos. Dado que la extracción de características suele implicar una representación comprimida de los datos que omite la información que no es útil, los conceptos están estrechamente relacionados. Sin embargo, algunas características pueden no ser necesariamente relevantes para la estructura subyacente de los datos. Por lo tanto, el espacio latente suele ser una representación de dimensiones inferiores del espacio de características que contiene solo el subconjunto de características que, a través del machine learning, se identifican como más relevantes para la tarea en cuestión.

¿Qué significa "latente" en machine learning?

En un espacio latente, cada dimensión corresponde a una variable latente de los datos originales. Las variables latentes son características subyacentes que fundamentan la manera en que se distribuyen los datos, pero a menudo no son directamente observables. 

Para un ejemplo intuitivo, imagine un puente con un sensor que mide el peso de cada vehículo que pasa. Muchos vehículos diferentes, desde convertibles livianos hasta camiones pesados, usan el puente, pero no hay una cámara para detectar el tipo de vehículo. Sin embargo, sabemos que el tipo de vehículo influye significativamente en su peso. En este ejemplo, el peso del vehículo es una variable observable y el tipo de vehículo es una variable latente: podemos inferir qué tipos de vehículos utilizan el puente explorando patrones en el peso del vehículo.

No todas las variables “ocultas” son importantes y, por lo tanto, no todas las variables ocultas estarán representadas en el espacio latente codificado por un modelo de machine learning. En la práctica, el modelo aprende a codificar el espacio latente más propicio para realizar con precisión la tarea para la que se está entrenando.

 

Reducción del espacio latente y la dimensionalidad

La codificación de una representación del espacio latente generalmente implica la compresión de datos de alta dimensión en un espacio de menor dimensión a través de un proceso llamado reducción de dimensionalidad.

Considere las imágenes en MNIST, un conjunto de datos de código abierto que contiene decenas de miles de imágenes en escala de grises 28x28 de dígitos escritos a mano. Cada imagen pequeña de 28x28 podría representarse como una incrustación vectorial de 784 dimensiones en donde cada dimensión corresponde a un píxel individual y tiene un valor entre 0 (para negro) y 1 (para blanco). Si fueran imágenes en color, esas incrustaciones vectoriales serían 2.352-dimensionales: 3 dimensiones para cada uno de los 784 píxeles, correspondientes a sus respectivos valores rojo, verde y azul (RGB).

Sin embargo, los dígitos reales comprenden solo una pequeña fracción del espacio de píxeles. La mayor parte de la imagen es un fondo vacío. Reducir las imágenes (y los vectores que las representan) a solo las dimensiones que contienen información real, el espacio latente, puede mejorar en gran medida la capacidad de un modelo de machine learning para procesar las imágenes de manera precisa y eficiente.
 

Autocodificadores (y otros marcos de codificador-decodificador)

Un tipo de arquitectura de redes neuronales diseñada explícitamente para la reducción de la dimensionalidad y la compresión de datos de entrada en espacio latente es el autocodificador.

Los autocodificadores son sistemas autosupervisados cuyo objetivo de entrenamiento es comprimir (o codificar) los datos de entrada a través de la reducción de la dimensionalidad y luego reconstruir (o decodificar) con precisión su entrada original a partir de esa representación comprimida. En un autocodificador estándar, cada capa del codificador contiene progresivamente menos nodos que la capa anterior. A medida que la incrustación vectorial de los datos de entrada se pasa a la siguiente capa del codificador, se reduce mediante el proceso de "comprimirse" en menos dimensiones. Luego, la red del decodificador reconstruye la entrada original utilizando solo el vector latente producido por el codificador.

Los autocodificadores están entrenados para minimizar la pérdida de reconstrucción, lo que mide cuánto difiere la reconstrucción del decodificador de la entrada original. Debido a que el codificador puede pasar solo una cantidad limitada de información al decodificador, se ve obligado a extraer solo las características más destacadas de los datos. En otras palabras, un autocodificador aprende naturalmente un mapeo efectivo del espacio latente de los datos de entrada.

Esta capacidad proporciona a los autocodificadores muchos casos de uso interesantes además de la compresión de datos. Por ejemplo, los autocodificadores se pueden emplear para la detección de anomalías porque pueden registrar anormalidades que no son evidentes para un observador humano. Imagine un reloj falso: incluso para un ojo entrenado, podría parecerse perfectamente al artículo auténtico. Solo desarmándolo e intentando reconstruir los engranajes y la mecánica subyacentes en su interior (su espacio latente) se pueden identificar elementos que no coinciden con los del reloj genuino que está copiando. 

Un beneficio clave de los autocodificadores sobre otros algoritmos de reducción de dimensionalidad, como el análisis discriminante lineal o el análisis de componentes principales (PCA), es que los autocodificadores pueden modelar relaciones no lineales entre diferentes variables.

Muchas otras redes neuronales implementan una arquitectura de codificador-decodificador similar, en la que la red del codificador reduce la dimensionalidad de la entrada y el decodificador procesa esa codificación latente para hacer predicciones. Un autocodificador es cualquier implementación de esa estructura en la que el modelo está entrenado para reconstruir datos de entrada.

Espacio latente en autocodificadores variacionales (VAE) y otros modelos generativos

Los autocodificadores variacionales (VAE) utilizan la arquitectura de autocodificador para codificar el espacio latente de una manera que pueda utilizarse para tareas generativas, como la generación de imágenes.

A diferencia de la mayoría de los autocodificadores, que son modelos "deterministas" que codifican un único vector de valores discretos para cada variable latente de los datos de entrenamiento, los VAE son modelos "probabilísticos" que codifican el espacio latente como una gama de posibilidades. Al interpolar dentro de esta gama de posibilidades codificadas, los VAE pueden sintetizar nuevas muestras de datos que, aunque son únicas y originales en sí mismas, se asemejan a los datos de entrenamiento originales.

Para permitir la generación de muestras de datos completamente nuevas (en lugar de simplemente recrear o combinar muestras de datos de entrenamiento), el espacio latente debe exhibir 2 tipos de regularidad:

  • Continuidad: los puntos cercanos en el espacio latente deben producir contenido similar cuando se decodifican.
  • Totalidad: cualquier punto muestreado del espacio latente debe producir contenido significativo al decodificarse.

Una forma sencilla de imponer la continuidad y la integridad en el espacio latente es forzarlo a seguir una distribución normal (gaussiana). Por lo tanto, los VAE codifican 2 vectores diferentes para cada atributo latente de los datos de entrenamiento: un vector de medias, “μ”, y un vector de desviaciones estándar, “σ”. En esencia, estos 2 vectores representan, respectivamente, la gama de posibilidades para cada variable latente y la variación esperada dentro de cada gama de posibilidades. 

Los VAE logran esto agregando una función de pérdida adicional junto con la pérdida de reconstrucción: divergencia Kullback-Leibler (o divergencia KL). Más específicamente, el VAE está entrenado para minimizar la divergencia entre una distribución gaussiana estándar y el espacio latente aprendido al minimizar la pérdida de reconstrucción.

Espacio latente en otros modelos de generación de imágenes

Aunque otras arquitecturas de modelos de generación de imágenes emplean objetivos de entrenamiento distintos de la pérdida de reconstrucción, todas suelen emplear términos de regularización para reforzar la continuidad y la completitud del espacio latente. La mayoría, pero no todas, ajustan el espacio latente a una distribución normal.
 

Redes generativas adversativas (GAN)

Las redes generativas adversariales (GAN) entrenan 2 redes neuronales, una "discriminadora" y una generadora, en un juego de adversarios. Al discriminador se le muestra una imagen y se le entrena para predecir si es una imagen original o una imagen extraída del conjunto de datos de entrenamiento. El generador está entrenado para engañar al discriminador muestreando el espacio latente para generar muestras originales.

El generador se considera entrenado cuando el discriminador ya no puede diferenciar entre las imágenes de entrenamiento y las imágenes generadas.

Modelos de difusión latente

Los modelos de difusión latente, introducidos por primera vez por el modelo original de difusión estable, combinan esencialmente modelos de difusión con VAE. Mientras que los modelos de difusión estándar actúan directamente sobre el espacio de pixeles, los modelos de difusión latente emplean primero una arquitectura de tipo VAE para codificar los datos de entrada en una representación latente de dimensiones inferiores y, a continuación, aplican la difusión al espacio latente. Esta innovación aumentó enormemente la rapidez y eficacia de los modelos de difusión.

 

Visualización del espacio latente

Las relaciones entre diferentes puntos de datos en el espacio latente son inherentemente difíciles de imaginar o visualizar. Nuestros sentidos y experiencia están confinados a una comprensión tridimensional del mundo y nuestra mente no puede concebir un gráfico que trace puntos a lo largo de docenas, cientos o incluso miles de dimensiones.

Para abordar este desafío, los científicos de datos aplican técnicas de reducción de dimensionalidad, como incrustación de vecinos estocásticos distribuidos en t (t-SNE) o aproximación y proyección de variedad uniforme (UMAP). Estas técnicas, ampliamente empleadas en la visualización de datos, asignan datos de alta dimensión a un gráfico bidimensional (o tridimensional), donde los objetos similares están cerca entre sí y los objetos diferentes están muy separados. La visualización del espacio latente de un VAE presentada anteriormente en este artículo, por ejemplo, se creó con t-SNE.

La investigación en modelos de imágenes también ha arrojado insights sobre la naturaleza del espacio latente que han contribuido a los avances en la manipulación del espacio latente para modelos generativos. Por ejemplo, el artículo ampliamente citado "Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks" explora técnicas, como las operaciones aritméticas con vectores latentes para producir intuitivamente nuevas imágenes con cualidades específicas.

 

Espacio latente en procesamiento de lenguaje natural (PLN)

De la misma manera que las incrustaciones vectoriales para imágenes tienen como objetivo representar los datos proporcionados por la distribución original de valores de pixeles de una imagen, las incrustaciones de palabras tienen como objetivo capturar el significado semántico de una palabra en particular.

Sin embargo, a diferencia de una imagen, el significado semántico de una palabra no es estático: es dinámico, con connotaciones y relaciones que pueden modificar por las palabras que la rodean. Por lo tanto, los modelos de transformadores emplean un mecanismo de autoatención para calcular cómo el significado de una palabra se ve afectado por su contexto y actualizan su integración en consecuencia. Entre la capa de entrada que recibe una instrucción y la capa de resultados donde se generan los nuevos textos, las palabras originales se transforman en una serie de representaciones latentes a medida que el modelo refina continuamente su comprensión contextual.

Aunque hasta ahora el funcionamiento interno de los modelos de lenguaje grande (LLM) ha resultado bastante difícil de interpretar, la investigación en curso ha explorado la activación del espacio latente en el aprendizaje en contexto y otras habilidades emergentes de los LLM.1, 2

Mixture of Experts | 28 de agosto, episodio 70

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Notas de pie de página

1 "Large Language Models Are Latent Variable Models: Explaining and Finding Good Demonstrations for In-Context Learning," Proceedings of the 37th Conference on Neural Information Processing Systems (NeurIPS 2023), diciembre de 2023.

2 "A Latent Space Theory for Emergent Abilities in Large Language Models", arXiv, 13 de septiembre de 2023.

Soluciones relacionadas
IBM® watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga a trabajar la IA en su negocio con la experiencia en IA líder del sector y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo