Funciones de activación

Introducción al Deep Learning con Keras

Miguel Esteban

Data Scientist & Founder

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

Efectos de las funciones de activación

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

Introducción al Deep Learning con Keras

¿Qué función de activación usar?

  • No hay fórmula mágica
  • Propiedades distintas
  • Depende del problema
  • Objetivo de cada capa
  • ReLU suele ser buena primera opción
  • Sigmoid no se recomienda en modelos profundos
  • Ajusta probando

Introducción al Deep Learning con Keras

Comparar funciones de activación

# Set a random seed
np.random.seed(1)

# Return a new model with the given activation def get_model(act_function): model = Sequential() model.add(Dense(4, input_shape=(2,), activation=act_function)) model.add(Dense(1, activation='sigmoid')) return model
Introducción al Deep Learning con Keras

Comparar funciones de activación

# Activation functions to try out
activations = ['relu', 'sigmoid', 'tanh']

# Dictionary to store results
activation_results = {}

for funct in activations: model = get_model(act_function=funct) history = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=100, verbose=0) activation_results[funct] = history
Introducción al Deep Learning con Keras

Comparar funciones de activación

import pandas as pd

# Extract val_loss history of each activation function
val_loss_per_funct = {k:v.history['val_loss'] for k,v in activation_results.items()}

# Turn the dictionary into a pandas dataframe val_loss_curves = pd.DataFrame(val_loss_per_funct)
# Plot the curves val_loss_curves.plot(title='Loss per Activation function')
Introducción al Deep Learning con Keras

¡Vamos a practicar!

Introducción al Deep Learning con Keras

Preparing Video For Download...