Kalpana Kalpana (Editor)

Rectifier (neural networks)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Rectifier (neural networks)

In the context of artificial neural networks, the rectifier is an activation function defined as

Contents

f ( x ) = max ( 0 , x ) ,

where x is the input to a neuron. This is also known as a ramp function and is analogous to half-wave rectification in electrical engineering. This activation function was first introduced to a dynamical network by Hahnloser et al. in a 2000 paper in Nature with strong biological motivations and mathematical justifications. It has been used in convolutional networks more effectively than the widely used logistic sigmoid (which is inspired by probability theory; see logistic regression) and its more practical counterpart, the hyperbolic tangent. The rectifier is, as of 2015, the most popular activation function for deep neural networks.

A unit employing the rectifier is also called a rectified linear unit (ReLU).

A smooth approximation to the rectifier is the analytic function

f ( x ) = ln ( 1 + e x ) ,

which is called the softplus function. The derivative of softplus is f ( x ) = e x / ( e x + 1 ) = 1 / ( 1 + e x ) , i.e. the logistic function.

Rectified linear units find applications in computer vision and speech recognition using deep neural nets.

Noisy ReLUs

Rectified linear units can be extended to include Gaussian noise, making them noisy ReLUs, giving

f ( x ) = max ( 0 , x + Y ) , with Y N ( 0 , σ ( x ) )

Noisy ReLUs have been used with some success in restricted Boltzmann machines for computer vision tasks.

Leaky ReLUs

Leaky ReLUs allow a small, non-zero gradient when the unit is not active.

f ( x ) = { x if  x > 0 0.01 x otherwise

Parametric ReLUs take this idea further by making the coefficient of leakage into a parameter that is learned along with the other neural network parameters.

f ( x ) = { x if  x > 0 a x otherwise

Note that for a 1 , this is equivalent to

f ( x ) = max ( x , a x )

and thus has a relation to "maxout" networks.

ELUs

Exponential linear units try to make the mean activations closer to zero which speeds up learning. It has been shown that ELUs obtain higher classification accuracy than ReLUs.

f ( x ) = { x if  x >= 0 a ( e x 1 ) otherwise

a is a hyper-parameter to be tuned and a >= 0 is a constraint.

Advantages

  • Biological plausibility: One-sided, compared to the antisymmetry of tanh.
  • Sparse activation: For example, in a randomly initialized network, only about 50% of hidden units are activated (having a non-zero output).
  • Efficient gradient propagation: No vanishing or exploding gradient problems.
  • Efficient computation: Only comparison, addition and multiplication.
  • Scale-invariant: max ( 0 , a x ) = a max ( 0 , x ) .
  • For the first time in 2011, the use of the rectifier as a non-linearity has been shown to enable training deep supervised neural networks without requiring unsupervised pre-training. Rectified linear units, compared to sigmoid function or similar activation functions, allow for faster and effective training of deep neural architectures on large and complex datasets.

    Potential problems

  • Non-differentiable at zero: however it is differentiable anywhere else, including points arbitrarily close to (but not equal to) zero.
  • Non-zero centered
  • Unbounded : Could potentially blow up.
  • Dying Relu problem: Relu neurons can sometimes be pushed into states in which they become inactive for essentially all inputs. In this state, no gradients flow backward through the neuron, and so the neuron becomes stuck in a perpetually inactive state and "dies." In some cases, large numbers of neurons in a network can become stuck in dead states, effectively decreasing the model capacity. This problem typically arises when the learning rate is set too high.
  • References

    Rectifier (neural networks) Wikipedia