¿Qué es el espacio latente?

Autores

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

¿Qué es el espacio latente?

Un espacio latente en 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. Modelar eficazmente el espacio latente es una parte integral del deep learning, incluida la mayoría de los algoritmos de IA generativa (gen AI).

El mapeo de puntos de datos en un espacio latente puede expresar datos complejos de forma eficiente y significativa, mejorando la capacidad de los modelos de machine learning para comprenderlos y manipularlos, al tiempo que se reducen los requisitos computacionales. Con ese fin, la codificación de representaciones espaciales latentes suele implicar cierto grado de reducción de la 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 la codificación del 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 antagónicas (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 de gran tamaño (LLM), desde modelos de incrustación 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.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Qué significa "espacio latente"?

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

  • El "espacio de entrada" es el rango de posibilidades incluido en los datos de entrada.
  • El "espacio de salida" es el rango de posibilidades para la salida del modelo.
  • En los datos de imagen, el "espacio de píxeles" es la gama de posibilidades de los valores numéricos de los píxeles.
  • En el aprendizaje por refuerzo, el "espacio de acción" es el rango de posibles acciones que podrían realizarse 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 utilizan 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 estarán cerca unos de otros según alguna métrica, como la similitud coseno, la distancia euclidiana o el producto punto. 

En el 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 los puntos de datos se comparan por sus representaciones vectoriales como "espacio de embedding vectorial" (o "espacio de embedding"). Las representaciones numéricas, en las que cada elemento del vector corresponde a una dimensión individual del espacio de embedding, se denominan embedding vectoriales. Los algoritmos de machine learning suelen tomar los embedding vectoriales como entrada o comienzan por convertir los datos de entrada en embedding vectoriales.

Espacio de características vs. espacio latente

El espacio de características es el espacio vectorial asociado con el rango de posibilidades, no para los puntos de datos, sino para los valores de las características significativas que podrían caracterizar un conjunto específico de puntos de datos. Por ejemplo, en los modelos que procesan datos de imágenes, cada dimensión del espacio de características puede 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 las dimensiones del espacio de incrustación que no contienen ninguna característica. Siguiendo 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 características significativas del mayor espacio de incrustación se denomina extracción de características.

"Espacio de características" y "espacio latente" se utilizan a menudo indistintamente, pero no siempre son sinónimos. Dado que la extracción de características suele implicar una representación comprimida de datos que omite información que no es útil, los conceptos están estrechamente relacionados. Sin embargo, es posible que algunas características no sean necesariamente relevantes para la estructura subyacente de los datos. Por lo tanto, el espacio latente suele ser una representación de menor dimensión 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 informan la forma en que se distribuyen los datos, pero que 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 descapotables ligeros hasta camiones pesados, utilizan el puente, pero no hay una cámara que detecte 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 está siendo entrenado.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar 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 bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Reducción del espacio latente y la dimensionalidad

La codificación de una representación de espacio latente suele implicar la compresión de datos de alta dimensión en un espacio de menor dimensión mediante un proceso denominado reducción de dimensionalidad.

Consideremos las imágenes del MNIST, un conjunto de datos de código abierto que contiene decenas de miles de imágenes en escala de grises de 28x28 de dígitos escritos a mano. Cada pequeña imagen de 28x28 podría representarse como una incrustación vectorial de 784 dimensiones en la que cada dimensión corresponde a un píxel individual y tiene un valor entre 0 (para el negro) y 1 (para el blanco). Si fueran imágenes en color, esas incrustaciones vectoriales tendrían 2352 dimensiones: tres 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 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 forma precisa y eficiente.

Autocodificadores (y otros marcos codificadores-decodificadores)

Un tipo de arquitectura de red neuronal diseñada explícitamente para reducir la dimensionalidad y comprimir la entrada en espacio latente es el autocodificador.

Los autocodificadores son sistemas autosupervisados cuyo objetivo de entrenamiento es comprimir (o codificar) los datos de entrada mediante la reducción de la dimensionalidad y, a continuación, 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 el vector incrustado de los datos de entrada pasa a la siguiente capa de codificación, se comprime mediante el proceso de "comprimirse" en menos dimensiones. A continuación, la red decodificadora reconstruye la entrada original utilizando únicamente el vector latente producido por el codificador.

Los codificadores automáticos están diseñados para minimizar la pérdida de reconstrucción, que mide en qué medida la reconstrucción del decodificador difiere de la entrada original. Como el codificador sólo puede transmitir una cantidad limitada de información al descodificador, se ve obligado a extraer únicamente las características más destacadas de los datos. En otras palabras, un codificador automático aprende de forma natural un mapeo eficaz del espacio latente de los datos de entrada.

Diagrama de redes neuronales autoencodificadoras

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

Un beneficio clave de los autocodificadores frente a otros algoritmos de reducción de la 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 se entrena para reconstruir los datos de entrada.

El espacio latente en los autocodificadores variacionales (VAE) y otros modelos generativos

Los autocodificadores variacionales (VAE) utilizan la arquitectura del autocodificador para codificar el espacio latente de una manera que pueda usarse 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 VAES son modelos "probabilísticos" que codifican el espacio latente como un abanico de posibilidades. Al interpolar dentro de esta gama de posibilidades codificadas, los VAE pueden sintetizar nuevas muestras de datos que, aunque únicas y originales en sí mismos, se parecen 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 presentar dos tipos de regularidad:

  • Continuidad: los puntos cercanos en el espacio latente deben producir un contenido similar cuando se descodifican.
  • Integridad: cualquier punto muestreado del espacio latente debe producir un contenido significativo cuando se descodifica.

Una forma sencilla de imponer continuidad y completitud en el espacio latente es forzarlo a seguir una distribución normal (gaussiana). Por lo tanto, los VAE codifican dos vectores diferentes para cada atributo latente de los datos de entrenamiento: un vector de medias, "μ ", y un vector de desviaciones estándar, "σ". Básicamente, estos dos vectores representan el rango de posibilidades para cada variable latente y la varianza esperada dentro de cada rango de posibilidades, respectivamente. 

Los VAE consiguen esto añadiendo una función de pérdida adicional junto con la pérdida de reconstrucción: la divergencia de Kullback-Leibler (o divergencia KL). Más concretamente, el VAE se entrena para minimizar la divergencia entre una distribución gaussiana estándar y el espacio latente aprendido minimizando la pérdida de reconstrucción.

Diagrama que demuestra la pérdida de reconstrucción y la divergencia KL en autocodificadores

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

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

Redes generativas adversativas (GAN)

Las redes generativas adversarias (GAN) entrenan dos redes neuronales, una red "discriminadora" y una red generadora, en un juego adversario. Al discriminador se le muestra una imagen y se le entrena para predecir si se trata de una imagen original o de una imagen extraída del conjunto de datos de entrenamiento. El generador se entrena para engañar al discriminador tomando muestras del espacio latente para generar muestras originales.

Se considera que el generador está entrenado cuando el discriminador ya no es capaz de 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 de difusión estable original, combinan esencialmente modelos de difusión con VAE. Mientras que los modelos de difusión estándar actúan directamente sobre el espacio de píxeles, 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ó considerablemente la velocidad y la eficiencia de los modelos de difusión.

Visualización del espacio latente

Las relaciones entre distintos puntos de datos en el espacio latente son intrínsecamente difíciles de imaginar o visualizar. Nuestros sentidos y nuestra experiencia se limitan 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 la incrustación de vecinos estocásticos distribuidos en t (t-SNE) o la aproximación y proyección uniforme de variedades (UMAP). Estas técnicas, muy utilizadas en la visualización de datos, convierten los datos de alta dimensión en un gráfico bidimensional (o tridimensional), en el que los objetos similares están cerca unos de otros y los disímiles, lejos. Por ejemplo, la visualización del espacio latente de una VAE presentada anteriormente en este artículo se creó utilizando t-SNE.

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

El espacio latente en el procesamiento del lenguaje natural (PNL)

De la misma manera que las incrustaciones vectoriales de imágenes pretenden representar los datos proporcionados por la distribución original de valores de píxeles de una imagen, las incrustaciones de palabras pretenden captar el significado semántico de una palabra concreta.

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 ser modificadas por las palabras que la rodean. Por lo tanto, los modelos transformadores utilizan un mecanismo de autoatención para calcular cómo el significado de una palabra se ve afectado por su contexto y actualizar su incrustación en consecuencia. Entre la capa de entrada, que recibe una indicación, y la capa de salida, donde se genera el nuevo texto, las palabras originales se transforman en una serie de representaciones latentes a medida que el modelo refina continuamente su comprensión contextual.

Aunque el funcionamiento interno de los modelos de lenguaje de gran tamaño (LLM) hasta ahora ha demostrado ser bastante difícil de interpretar, las investigaciones en curso han explorado la activación del espacio latente en el aprendizaje contextual y otras habilidades emergentes de los LLM1, 2.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

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

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo
Notas a pie de página

1 "Large Language Models Are Latent Variable Models: Explaining and Finding Good Demonstrations for In-Context Learning". Actas de la 37.ª Conferencia sobre Sistemas de Procesamiento de Información Neural (NeurIPS 2023). Diciembre de 2023.

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