Introducción a los autoencoders
Autoencoders (autocodificadores) son un tipo de red de Deep Learning que se entrena para replicar sus datos de entrada. Los autocodificadores han superado a las técnicas de ingeniería tradicionales en cuanto a precisión y rendimiento en muchas aplicaciones, como detección de anomalías, generación de texto, generación de imágenes, eliminación de ruido en imágenes y comunicaciones digitales.
Puede utilizar MATLAB Deep Learning Toolbox™ para diversos ejemplos de aplicaciones de autocodificadores, que se mencionan más abajo.
¿Cómo funcionan los autocodificadores?
Los autocodificadores generan una reconstrucción de la entrada. El autocodificador consta de dos redes más pequeñas: un codificador y un decodificador. Durante el entrenamiento, el codificador aprende un conjunto de características, conocido como representación latente, a partir de los datos de entrada. Al mismo tiempo, el decodificador se entrena para reconstruir los datos de entrada en función de estas características. Luego, el autocodificador se puede aplicar para predecir entradas no vistas anteriormente. Los autocodificadores son muy fáciles de generalizar, y se pueden utilizar en diferentes tipos de datos, como imágenes, series temporales y texto.
Figura 1. Un autocodificador consta de un codificador y un descodificador.
¿En qué aplicaciones se utilizan autocodificadores?
Los autocodificadores ignoran de manera natural cualquier ruido presente en las entradas mientras se entrena el codificador. Esta característica resulta ideal para eliminar ruido o detectar anomalías cuando se comparan las entradas y las salidas (consulte las Figuras 2 y 3).
Figura 2. Eliminación de ruido en imágenes.
Figura 3. Detección de anomalías basada en imágenes.
La representación latente también se puede utilizar para generar datos sintéticos. Por ejemplo, se pueden crear automáticamente frases de texto o escritura a mano con aspecto realista (Figura 4).
Figura 4. Generación de frases de texto nuevo a partir de texto existente.
También se pueden utilizar autocodificadores basados en series temporales para detectar anomalías en datos de señales. Por ejemplo, en mantenimiento predictivo, se puede entrenar un autocodificador con datos de funcionamiento normal de una máquina industrial (Figura 5).
Figura 5. Entrenamiento con datos de funcionamiento normal para mantenimiento predictivo.
Luego, el autocodificador entrenado se prueba con nuevos datos de entrada. Una variación considerable en la salida del autocodificador indica un funcionamiento anómalo que podría requerir investigación (Figura 6).
Figura 6. Un error considerable que indica anomalías en los datos de entrada puede indicar que es necesario realizar mantenimiento.
Puntos clave
- Los autocodificadores no requieren datos de entrada etiquetados para el entrenamiento, dado que no están supervisados
- Existen diversos tipos de autocodificadores para diferentes tareas de ingeniería, como:
- Autocodificadores convolucionales: la salida del decodificador intenta reflejar la entrada del codificador, lo que es útil para eliminar ruido
- Autocodificadores variacionales: crean un modelo generativo, útil para la detección de anomalías
- Autocodificadores LSTM: crean un modelo generativo para aplicaciones de series temporales
Ejemplos y procedimientos
Referencias de software
Preguntas frecuentes sobre Autoencoders (Autocodificadores)
Un autocodificador es un tipo de red de Deep Learning entrenada para reproducir sus datos de entrada. Está compuesto por un codificador que aprende las características de los datos y un decodificador que los reconstruye.
Un autocodificador está formado por dos subredes: un codificador y un decodificador. Durante el entrenamiento, el codificador aprende una representación latente de los datos de entrada, mientras que el decodificador reconstruye los datos a partir de dicha representación. Este enfoque permite al autocodificador generalizar a nuevos datos no vistos anteriormente.
Los autocodificadores se utilizan para la detección de anomalías, la generación de texto, la generación de imágenes, el denoising de imágenes, las comunicaciones digitales y el mantenimiento predictivo.
Los autocodificadores son técnicas de aprendizaje no supervisado y no requieren datos etiquetados para el entrenamiento.
Un codificador es un componente de un autocodificador que crea una representación latente de los datos de entrada, mientras que un autocodificador es la red completa compuesta tanto por un codificador como por un decodificador.
Entre los tipos más comunes se encuentran los autocodificadores convolucionales para el denoising, los autocodificadores variacionales para el modelado generativo y la detección de anomalías, y los autocodificadores LSTM para aplicaciones basadas en series temporales.
Los autocodificadores aprenden de forma natural a ignorar el ruido presente en los datos de entrada durante el entrenamiento. Por ello, resultan especialmente eficaces para tareas de denoising al comparar los datos de entrada con los datos reconstruidos en la salida.
Sí. Los autocodificadores basados en series temporales pueden detectar anomalías en datos de señales tras entrenarse con datos correspondientes a un funcionamiento normal. Desviaciones significativas en los nuevos datos pueden indicar condiciones de operación anómalas.
Sí. Puede utilizar Deep Learning Toolbox para desarrollar aplicaciones basadas en autocodificadores, como detección de anomalías, generación de texto y denoising de imágenes.
También puede consultar estos temas: Deep Learning, redes de memoria de corto-largo plazo, redes neuronales convolucionales, detección de anomalías