Activatiefuncties

Introductie tot Deep Learning met Keras

Miguel Esteban

Data Scientist & Founder

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Effecten van activatiefuncties

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Introductie tot Deep Learning met Keras

Welke activatiefunctie kies je?

  • Geen magische formule
  • Verschillende eigenschappen
  • Hangt af van je probleem
  • Doel per laag
  • ReLU is vaak een goede start
  • Sigmoid niet aan te raden voor diepe modellen
  • Afstemmen door te experimenteren

Introductie tot Deep Learning met Keras

Activatiefuncties vergelijken

# 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
Introductie tot Deep Learning met Keras

Activatiefuncties vergelijken

# 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
Introductie tot Deep Learning met Keras

Activatiefuncties vergelijken

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')
Introductie tot Deep Learning met Keras

Laten we oefenen!

Introductie tot Deep Learning met Keras

Preparing Video For Download...