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 utilizada para el aprendizaje no supervisado. Su objetivo principal es aprender una representación (codificación) comprimida y eficiente de un conjunto de datos, normalmente con el fin de reducir la dimensionalidad o extraer características. Para ello, la red aprende a reconstruir su propia entrada. Consta de dos partes principales: un codificador, que comprime los datos de entrada en un espacio latente de baja dimensión, y un decodificador, que reconstruye los datos originales a partir de esta representación comprimida. Al obligar a los datos a pasar por este "cuello de botella", la red debe aprender a identificar y conservar las características más destacadas, descartando al mismo tiempo el ruido y la redundancia.
Cómo funcionan los autocodificadores
La arquitectura de un autocodificador se compone de una función codificadora y una función decodificadora, que pueden ser simples redes feed-forward o estructuras más complejas como las redes neuronales convolucionales (CNN).
- Codificador: Esta parte de la red toma los datos de entrada de alta dimensión y los mapea a una representación latente de menor dimensión. Este vector comprimido captura la esencia de los datos de entrada.
- Cuello de botella: Es la capa que contiene la representación comprimida del espacio latente de la entrada. Es el núcleo del autocodificador y la razón por la que es eficaz para reducir la dimensionalidad.
- Decodificador: Esta parte toma la representación comprimida del cuello de botella e intenta reconstruir los datos de entrada originales de alta dimensión.
El proceso de entrenamiento del modelo consiste en minimizar una función de pérdida, a menudo denominada error de reconstrucción, que mide la diferencia entre la entrada original y la salida reconstruida. Este proceso es una forma de aprendizaje autosupervisado, ya que el modelo aprende de los propios datos sin necesidad de etiquetas explícitas.
Aplicaciones AI/ML en el mundo real
Los autocodificadores son versátiles y tienen varias aplicaciones prácticas en el aprendizaje automático y el aprendizaje profundo.
- Detección de anomalías: Los autocodificadores son muy eficaces para la detección de anomalías. Un modelo se entrena con un conjunto de datos que sólo contiene puntos de datos "normales". Cuando se introduce en el codificador un nuevo punto de datos anómalo (por ejemplo, un defecto de fabricación o una transacción financiera fraudulenta), el decodificador no consigue reconstruirlo con precisión. El resultado es un error de reconstrucción elevado, que puede utilizarse como señal para detectar la anomalía. Se trata de una técnica fundamental en la IA para sistemas de fabricación y seguridad financiera, un tema explorado por instituciones como el Instituto Alan Turing.
- Desenmascaramiento de imágenes: Un autoencoder de eliminación de ruido puede entrenarse para eliminar el ruido de las imágenes. El modelo se alimenta de imágenes ruidosas y se entrena para obtener las versiones originales limpias. Esta función resulta muy útil en el análisis de imágenes médicas para mejorar la calidad de las resonancias magnéticas o las tomografías computarizadas, o para restaurar fotografías antiguas con grano. Este método aprendido de eliminación de ruido es más sofisticado que los filtros tradicionales de tratamiento de imágenes.
Existen muchos tipos de autocodificadores, como los autocodificadores dispersos, los autocodificadores de eliminación de ruido y los autocodificadores convolucionales. Una de las variantes más significativas es el autocodificador variacional (VAE), que es un modelo generativo capaz de producir nuevas muestras de datos similares a aquellas con las que fue entrenado. En arXiv puede consultarse una descripción exhaustiva de los VAE.
Autocodificadores y conceptos afines
- PCA: aunque ambos reducen la dimensionalidad, el análisis de componentes principales (PCA ) se limita a transformaciones lineales. Los autocodificadores, al ser redes neuronales, pueden aprender complejos mapeados no lineales, 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 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 los resultados, 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 como bloques de construcción otros tipos de redes, como las CNN para datos de imagen o los transformadores para datos secuenciales. Esto difiere de modelos como Ultralytics YOLO, que son modelos supervisados diseñados para tareas como la detección de objetos o la segmentación de imágenes.
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.