Glosario

Autocodificador

Descubra cómo los autocodificadores comprimen los datos, reducen el ruido y permiten la detección de anomalías, la extracción de características y mucho más con técnicas avanzadas de IA.

Un autocodificador es un tipo de red neuronal artificial (NN ) que se utiliza principalmente para tareas de aprendizaje no supervisado, en particular la reducción de la dimensionalidad y la extracción de características. Su objetivo fundamental es aprender una representación comprimida (codificación) de los datos de entrada, normalmente entrenando a la red para que reconstruya sus propias entradas. Consta de dos partes principales: un codificador que mapea los datos de entrada en un espacio latente de menor dimensión, y un decodificador que reconstruye los datos originales a partir de esta representación comprimida. Este proceso obliga al autocodificador a captar las características más destacadas de los datos de entrenamiento.

Cómo funcionan los autocodificadores

El funcionamiento de un autocodificador consta de dos etapas: codificación y descodificación.

  1. Codificador: Esta parte toma los datos de entrada (por ejemplo, una imagen o un vector) y los comprime en una representación de menor dimensión denominada espacio latente o cuello de botella. Esta compresión obliga a la red a aprender patrones significativos y a descartar el ruido o la redundancia. El codificador suele constar de varias capas y a menudo utiliza funciones de activación como ReLU o Sigmoid.
  2. Cuello de botella: Es la capa central del autocodificador, donde reside la representación comprimida y de baja dimensión de los datos de entrada. Es el "código" que captura la información esencial. La dimensionalidad de esta capa es un hiperparámetro crítico.
  3. Decodificador: Esta parte toma la representación comprimida del cuello de botella e intenta reconstruir los datos de entrada originales con la mayor precisión posible. Refleja la estructura del codificador pero a la inversa, volviendo a muestrear los datos a sus dimensiones originales.

El entrenamiento consiste en alimentar la red con datos de entrada y comparar la salida (datos reconstruidos) con la entrada original utilizando una función de pérdida, como el error cuadrático medio (ECM ) para datos continuos o la entropía cruzada binaria para datos binarios. Los pesos de la red se ajustan mediante retropropagación y un algoritmo de optimización como Adam o SGD para minimizar este error de reconstrucción.

Tipos de autocodificadores

Existen diversas variaciones de la arquitectura básica del autocodificador, cada una diseñada para tareas específicas:

  • Autocodificadores de eliminación de ruido: Entrenados para reconstruir una versión limpia de una entrada que ha sido corrompida con ruido. Esto los hace robustos para tareas como la eliminación de ruido en imágenes. Más información sobre los autocodificadores de eliminación de ruido.
  • Autocodificadores dispersos: Introducen una penalización de escasez (una forma de regularización) en la capa de cuello de botella, forzando a la red a aprender representaciones en las que sólo unos pocos nodos están activos a la vez.
  • Autocodificadores variacionales (VAE): Un modelo generativo de IA que aprende un mapeo probabilístico del espacio latente, lo que le permite generar nuevas muestras de datos similares a los datos de entrenamiento. Lea el artículo sobre los VAE.
  • Autocodificadores contractivos: Añade un término de penalización a la función de pérdida para animar al codificador a aprender representaciones que sean robustas a pequeños cambios en la entrada.

Aplicaciones reales

Los autocodificadores son herramientas versátiles utilizadas en diversas aplicaciones de aprendizaje automático (Machine Learning, ML):

  • Detección de anomalías: Al aprender los patrones normales de los datos, los autocodificadores pueden identificar valores atípicos o anomalías. Si el error de reconstrucción de un punto de datos específico es alto, sugiere que la entrada es significativamente diferente de los datos de entrenamiento, lo que puede indicar una anomalía, como transacciones fraudulentas en finanzas o equipos defectuosos en fabricación. Más información sobre la detección de anomalías.
  • Compresión y eliminación de ruido de imágenes: Los autocodificadores pueden aprender representaciones compactas de las imágenes y comprimirlas. Los autocodificadores de eliminación de ruido se utilizan específicamente para eliminar el ruido de las imágenes, lo que resulta muy útil en el análisis de imágenes médicas (por ejemplo, para mejorar las resonancias magnéticas o las tomografías computarizadas) o para restaurar fotografías antiguas. Ver soluciones para imágenes médicas.
  • Reducción de la dimensionalidad: De forma similar al análisis de componentes principales (ACP), los autocodificadores reducen las dimensiones de los datos, pero pueden captar relaciones complejas y no lineales que el ACP no puede captar. Esto resulta útil para la visualización de datos y como paso previo al procesamiento de otros modelos de ML.
  • Aprendizaje de características: La parte del codificador puede utilizarse como un extractor de características para tareas posteriores como la clasificación de imágenes o la detección de objetos, proporcionando a menudo características más robustas que los datos brutos. Mientras que los modelos como Ultralytics YOLO utilizan backbones especializados, los principios del autocodificador informan el aprendizaje de la representación.

Autocodificadores y conceptos afines

  • PCA: aunque ambos reducen la dimensionalidad, el PCA se limita a transformaciones lineales. Los autocodificadores, al ser redes neuronales, pueden aprender mapeados no lineales complejos, lo que suele dar lugar a mejores representaciones de conjuntos de datos complejos.
  • GAN: Las redes generativas adversariales (GAN) están diseñadas principalmente para generar nuevos datos muy realistas. Aunque las VAE (un tipo de autoencoder) también pueden generar datos, suelen centrarse en el aprendizaje de un espacio latente bien estructurado, mientras que las GAN destacan por la fidelidad de la salida, a veces a costa de la interpretabilidad del espacio latente.
  • CNN y transformadores: Los autocodificadores definen un patrón arquitectónico (codificador-decodificador). Suelen utilizar otros tipos de redes, como redes neuronales convolucionales (CNN) para datos de imagen o transformadores para datos secuenciales, como bloques de construcción dentro del codificador y el decodificador.

Herramientas y aplicación

Los autocodificadores pueden implementarse utilizando los marcos de aprendizaje profundo (deep learning, DL) más conocidos:

Plataformas como Ultralytics HUB facilitan el flujo de trabajo general de ML, incluida la gestión de datos y la formación de modelos, aunque se centran principalmente en tareas supervisadas como la detección y la segmentación, más que en la formación no supervisada de autoencodificadores.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles