Autoencoders
Los Autoencoders son redes neuronales diseñadas para aprender representaciones comprimidas de los datos. Se utilizan para reducción de dimensionalidad, detección de anomalías, compresión y generación.
Tabla de contenidos
- Qué es un Autoencoder
- Encoder
- Latent Space
- Decoder
- Autoencoder clásico
- Variational Autoencoder (VAE)
- Ejemplo con Keras
- Ejercicios
1. Qué es un Autoencoder
Un Autoencoder es una red neuronal que intenta reconstruir su propia entrada. Para lograrlo, debe aprender una representación comprimida y eficiente.
- Entrada → Encoder → Latent Space → Decoder → Salida
- La salida intenta ser igual a la entrada
- El modelo aprende a comprimir información
2. Encoder
El encoder reduce la dimensionalidad de los datos.
encoded = layers.Dense(32, activation='relu')(inputs)
3. Latent Space
El espacio latente es la representación comprimida de los datos.
latent = layers.Dense(16, activation='relu')(encoded)
4. Decoder
El decoder intenta reconstruir la entrada original a partir del espacio latente.
decoded = layers.Dense(32, activation='relu')(latent)
output = layers.Dense(784, activation='sigmoid')(decoded)
5. Autoencoder clásico
import tensorflow as tf
from tensorflow.keras import layers
inputs = layers.Input(shape=(784,))
encoded = layers.Dense(64, activation='relu')(inputs)
latent = layers.Dense(32, activation='relu')(encoded)
decoded = layers.Dense(64, activation='relu')(latent)
outputs = layers.Dense(784, activation='sigmoid')(decoded)
autoencoder = tf.keras.Model(inputs, outputs)
autoencoder.compile(optimizer='adam', loss='mse')
6. Variational Autoencoder (VAE)
Los VAE generan datos nuevos mediante distribuciones probabilísticas.
- Latent space probabilístico
- Generación de imágenes
- Base de modelos generativos modernos
7. Ejemplo con Keras
autoencoder.fit(X_train, X_train, epochs=20, batch_size=32)
autoencoder.evaluate(X_test, X_test)
8. Ejercicios
- Define qué es un Autoencoder.
- Explica qué es el espacio latente.
- ¿Qué hace el encoder?
- ¿Qué hace el decoder?
- Menciona una diferencia entre Autoencoder y VAE.
# pista latente
"Representación comprimida."
# pista VAE
"Usa distribuciones para generar datos."