Fonctions d'activation

Introduction à Deep Learning avec Keras

Miguel Esteban

Data Scientist & Founder

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Effets des fonctions d'activation

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Quelle fonction d'activation utiliser ?

  • Pas de recette miracle
  • Propriétés différentes
  • Dépend du problème
  • Objectif visé par couche
  • ReLU : bon premier choix
  • Sigmoïdes déconseillées pour les modèles profonds
  • Ajuster par expérimentation

Introduction à Deep Learning avec Keras

Comparer les fonctions d'activation

# 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
Introduction à Deep Learning avec Keras

Comparer les fonctions d'activation

# 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
Introduction à Deep Learning avec Keras

Comparer les fonctions d'activation

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')
Introduction à Deep Learning avec Keras

Passons à la pratique !

Introduction à Deep Learning avec Keras

Preparing Video For Download...