IOKELU
Nivel: Inteligencia Artificial – Avanzado (Guía 7)

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.

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.

7. Ejemplo con Keras


autoencoder.fit(X_train, X_train, epochs=20, batch_size=32)
autoencoder.evaluate(X_test, X_test)
    

8. Ejercicios


Siguiente guía

GANs →