Usage of activations
Activations can either be used through an Activation
layer, or through the activation
argument supported by all forward layers:
from keras.layers import Activation, Dense
model.add(Dense(64))
model.add(Activation('tanh'))
This is equivalent to:
model.add(Dense(64, activation='tanh'))
You can also pass an element-wise TensorFlow/Theano/CNTK function as an activation:
from keras import backend as K
model.add(Dense(64, activation=K.tanh))
model.add(Activation(K.tanh))
Available activations
selu
selu(x)
Scaled Exponential Linear Unit. (Klambauer et al., 2017)
Arguments
- x: A tensor or variable to compute the activation function for.
References
softplus
softplus(x)
softsign
softsign(x)
relu
relu(x, alpha=0.0, max_value=None)
tanh
tanh(x)
sigmoid
sigmoid(x)
hard_sigmoid
hard_sigmoid(x)
linear
linear(x)
softmax
softmax(x, axis=-1)
Softmax activation function.
Arguments
x : Tensor. - axis: Integer, axis along which the softmax normalization is applied.
Returns
Tensor, output of softmax transformation.
Raises
- ValueError: In case
dim(x) == 1
.
elu
elu(x, alpha=1.0)
On "Advanced Activations"
Activations that are more complex than a simple TensorFlow/Theano/CNTK function (eg. learnable activations, which maintain a state) are available as Advanced Activation layers, and can be found in the module keras.layers.advanced_activations
. These include PReLU
and LeakyReLU
.