激活函数

Keras 深度学习入门

Miguel Esteban

Data Scientist & Founder

Keras 深度学习入门

Keras 深度学习入门

Keras 深度学习入门

Keras 深度学习入门

Keras 深度学习入门

激活函数的影响

Keras 深度学习入门

Keras 深度学习入门

Keras 深度学习入门

如何选择激活函数?

  • 没有万能公式
  • 各有特性
  • 取决于任务
  • 取决于该层目标
  • ReLU 通常是首选
  • 深层模型不建议用 Sigmoid
  • 需通过实验调优

Keras 深度学习入门

比较激活函数

# 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
Keras 深度学习入门

比较激活函数

# 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
Keras 深度学习入门

比较激活函数

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')
Keras 深度学习入门

Passons à la pratique !

Keras 深度学习入门

Preparing Video For Download...