AlphaDropout layer


AlphaDropout class

keras.layers.AlphaDropout(rate, noise_shape=None, seed=None, **kwargs)

Applies Alpha Dropout to the input.

Alpha Dropout is a Dropout that keeps mean and variance of inputs to their original values, in order to ensure the self-normalizing property even after this dropout. Alpha Dropout fits well to Scaled Exponential Linear Units (SELU) by randomly setting activations to the negative saturation value.


  • rate: Float between 0 and 1. The multiplicative noise will have standard deviation sqrt(rate / (1 - rate)).
  • noise_shape: 1D integer tensor representing the shape of the binary alpha dropout mask that will be multiplied with the input. For instance, if your inputs have shape (batch_size, timesteps, features) and you want the alpha dropout mask to be the same for all timesteps, you can use noise_shape=(batch_size, 1, features).
  • seed: A Python integer to use as random seed.

Call arguments

  • inputs: Input tensor (of any rank).
  • training: Python boolean indicating whether the layer should behave in training mode (adding alpha dropout) or in inference mode (doing nothing).