Funcții de activare

Introducere în Deep Learning cu Keras

Miguel Esteban

Data Scientist & Founder

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Efectele funcțiilor de activare

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Introducere în Deep Learning cu Keras

Ce funcție de activare să utilizăm?

  • Nicio formulă magică
  • Proprietăți diferite
  • Depinde de problemă
  • Obiectivul din stratul respectiv
  • ReLU este o alegere bună inițial
  • Sigmoid nerecomandat pentru modele adânci
  • Ajustat prin experimentare

Introducere în Deep Learning cu Keras

Compararea funcțiilor de activare

# 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
Introducere în Deep Learning cu Keras

Compararea funcțiilor de activare

# 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
Introducere în Deep Learning cu Keras

Compararea funcțiilor de activare

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')
Introducere în Deep Learning cu Keras

Să exersăm!

Introducere în Deep Learning cu Keras

Preparing Video For Download...