Glosario

Autocodificador

Descubre 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.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Un autocodificador es un tipo de red neuronal artificial (RN ) que se utiliza principalmente para tareas de aprendizaje no supervisado. Su objetivo principal es aprender representaciones eficientes (codificaciones) de los datos de entrada, normalmente para reducir la dimensionalidad o extraer características, entrenando a la red para que reconstruya sus propias entradas. Lo consigue comprimiendo la entrada en un espacio latente de menor dimensión y reconstruyendo después la salida a partir de esta representación comprimida.

Cómo funcionan los autocodificadores

Un Autocodificador consta de dos partes principales: un codificador y un descodificador.

  1. Codificador: Esta parte toma los datos de entrada y los mapea a una representación de menor dimensión llamada espacio latente o cuello de botella. El codificador aprende a captar las características más significativas de los datos, descartando al mismo tiempo el ruido o la información redundante. Este proceso es similar a la compresión de datos.
  2. Decodificador: Esta parte toma la representación codificada del espacio latente e intenta reconstruir los datos de entrada originales con la mayor precisión posible.

La red se entrena minimizando la diferencia entre la entrada original y la salida reconstruida, a menudo medida por una función de pérdida como el Error Cuadrático Medio (ECM). La capa de cuello de botella obliga a la red a aprender una representación compacta y significativa, ya que debe retener suficiente información para reconstruir la entrada con eficacia.

Tipos de autocodificadores

Existen diversas variantes de Autocodificadores, cada una diseñada para fines específicos:

  • Autocodificadores de eliminación de ruido: Entrenados para reconstruir la entrada original y limpia a partir de una versión corrupta o ruidosa. Esto los hace útiles para tareas de reducción de ruido.
  • Autocodificadores dispersos: Introducen restricciones de sparsity durante el entrenamiento, animando a la red a aprender representaciones en las que sólo un pequeño número de nodos están activos en todo momento.
  • Autocodificadores variacionales (VAE): Un tipo de modelo generativo que aprende una distribución de probabilidad sobre el espacio latente, lo que le permite generar nuevas muestras de datos similares a los datos de entrenamiento. Los VAE difieren significativamente de las Redes Generativas Adversariales (GAN), otra técnica generativa popular.
  • Autocodificadores Contractivos: Pretenden aprender representaciones que sean robustas a pequeños cambios en los datos de entrada.

Aplicaciones en el mundo real

Los autocodificadores han encontrado aplicaciones en diversos ámbitos:

  • Detección de anomalías: Al aprender los patrones normales de los datos, los Autocodificadores pueden identificar anomalías o valores atípicos como entradas que dan lugar a elevados errores de reconstrucción. Esto se utiliza en la detección de fraudes y el control de calidad industrial. Por ejemplo, detectando patrones de tráfico de red inusuales que podrían indicar un ciberataque.
  • Desnaturalización y compresión de imágenes: Los Autocodificadores de eliminación de ruido pueden limpiar las imágenes ruidosas, mientras que los Autocodificadores estándar pueden comprimir las imágenes almacenando sólo la representación latente. Un ejemplo es devolver la claridad a fotografías antiguas o a imágenes de satélite afectadas por interferencias atmosféricas. Mira cómo puede utilizarse la visión por ordenador para analizar imágenes de satélite.
  • Reducción de la dimensionalidad: Las representaciones latentes aprendidas pueden servir como características compactas para introducirlas en otros modelos de aprendizaje automático (AM ), mejorando potencialmente el rendimiento y reduciendo el coste computacional. A menudo se compara con técnicas como el Análisis de Componentes Principales (ACP), aunque los Autocodificadores pueden captar relaciones no lineales más complejas.
  • Generación de datos (VAEs): Los Autocodificadores Variacionales pueden generar nuevas muestras de datos sintéticos, útiles en áreas como la generación de arte o la creación de aumento de datos de entrenamiento. Explora más a fondo los datos sintéticos.

Herramientas y aplicación

Los autocodificadores suelen implementarse utilizando marcos de aprendizaje profundo como PyTorch o TensorFlow. Las arquitecturas suelen incluir Redes Neuronales Convolucionales (CNN) para datos de imagen o Redes Neuronales Recurrentes (RNN) para datos secuenciales. El entrenamiento de estos modelos puede gestionarse y seguirse utilizando plataformas como Ultralytics HUB o herramientas de seguimiento de experimentos como Weights & Biases o MLflow. Para más detalles sobre el entrenamiento de modelos, explora la documentación deUltralytics .

Leer todo