Rectifier (neural networks)

From HandWiki
Revision as of 20:45, 8 February 2024 by CodeMe (talk | contribs) (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Activation function
Plot of the ReLU rectifier (blue) and GELU (green) functions near x = 0

In the context of artificial neural networks, the rectifier or ReLU (rectified linear unit) activation function[1][2] is an activation function defined as the positive part of its argument:

[math]\displaystyle{ f(x) = x^+ = \max(0, x) = \frac{x+|x|}{2} = \begin{cases} x & \text{if } x \gt 0, \\ 0 & \text{otherwise}, \end{cases} }[/math]

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 introduced by Kunihiko Fukushima in 1969 in the context of visual feature extraction in hierarchical neural networks.[3][4][5] It was later argued that it has strong biological motivations and mathematical justifications.[6][7] In 2011 it was found to enable better training of deeper networks,[8] compared to the widely used activation functions prior to 2011, e.g., the logistic sigmoid (which is inspired by probability theory; see logistic regression) and its more practical[9] counterpart, the hyperbolic tangent. The rectifier is, (As of 2017), the most popular activation function for deep neural networks.[10]

Rectified linear units find applications in computer vision[8] and speech recognition[11][12] using deep neural nets and computational neuroscience.[13][14][15]


Advantages

  • Sparse activation: For example, in a randomly initialized network, only about 50% of hidden units are activated (have a non-zero output).
  • Better gradient propagation: Fewer vanishing gradient problems compared to sigmoidal activation functions that saturate in both directions.[8]
  • Efficient computation: Only comparison, addition and multiplication.
  • Scale-invariant: [math]\displaystyle{ \max(0, ax) = a \max(0, x) \text{ for } a \geq 0 }[/math].

Rectifying activation functions were used to separate specific excitation and unspecific inhibition in the neural abstraction pyramid, which was trained in a supervised way to learn several computer vision tasks.[16] In 2011,[8] 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 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, and the value of the derivative at zero can be arbitrarily chosen to be 0 or 1.
  • Not zero-centered.
  • Unbounded.
  • Dying ReLU problem: ReLU (rectified linear unit) 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". This is a form of the vanishing gradient problem. 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. It may be mitigated by using leaky ReLUs instead, which assign a small positive slope for x < 0; however, the performance is reduced.

Variants

Piecewise-linear variants

Leaky ReLU

Leaky ReLUs allow a small, positive gradient when the unit is not active,[12] helping to mitigate the vanishing gradient problem.

[math]\displaystyle{ f(x) = \begin{cases} x & \text{if } x \gt 0, \\ 0.01x & \text{otherwise}. \end{cases} \qquad\qquad f'(x) = \begin{cases} 1 & \text{if } x \gt 0, \\ 0.01 & \text{otherwise}. \end{cases} }[/math]

Parametric ReLU

Parametric ReLUs (PReLUs) take this idea further by making the coefficient of leakage into a parameter that is learned along with the other neural-network parameters.[17]

[math]\displaystyle{ f(x) = \begin{cases} x & \text{if } x \gt 0, \\ a \cdot x & \text{otherwise}. \end{cases} \qquad\qquad\qquad f'(x) = \begin{cases} 1 & \text{if } x \gt 0, \\ a & \text{otherwise}. \end{cases} }[/math]

Note that for a ≤ 1, this is equivalent to

[math]\displaystyle{ f(x) = \max(x, ax) }[/math]

and thus has a relation to "maxout" networks.[17]

Other non-linear variants

Gaussian-error linear unit (GELU)

GELU is a smooth approximation to the rectifier:

[math]\displaystyle{ f(x) = x \cdot \Phi(x), }[/math]
[math]\displaystyle{ f'(x) = x \cdot \Phi'(x) + \Phi(x), }[/math]

where [math]\displaystyle{ \Phi(x) = P(X \leqslant x) }[/math] is the cumulative distribution function of the standard normal distribution.

This activation function is illustrated in the figure at the start of this article. It has a "bump" to the left of x < 0 and serves as the default activation for models such as BERT.[18]

SiLU

Main page: Swish function

The SiLU (sigmoid linear unit) or swish function[19] is another smooth approximation, first coined in the GELU paper:[18]

[math]\displaystyle{ f(x) = x \cdot \operatorname{sigmoid}(x), }[/math]
[math]\displaystyle{ f'(x) = x \cdot \operatorname{sigmoid}'(x) + \operatorname{sigmoid}(x), }[/math]

where [math]\displaystyle{ \operatorname{sigmoid}(x) }[/math] is the sigmoid function.

Softplus

A smooth approximation to the rectifier is the analytic function

[math]\displaystyle{ f(x) = \ln(1 + e^x),\qquad\qquad f'(x) = \frac{e^{x}}{1 + e^{x}} = \frac{1}{1 + e^{-x}}, }[/math]

which is called the softplus[20][8] or SmoothReLU function.[21] For large negative [math]\displaystyle{ x }[/math] it is roughly [math]\displaystyle{ \ln 1 }[/math], so just above 0, while for large positive [math]\displaystyle{ x }[/math] it is roughly [math]\displaystyle{ \ln(e^x) }[/math], so just above [math]\displaystyle{ x }[/math].

This function can be approximated as:

[math]\displaystyle{ \ln\left( 1 + e^x \right) \approx \begin{cases} \ln2, & x=0,\\[6pt] \frac x {1-e^{-x/\ln2}}, & x\neq 0 \end{cases} }[/math]

By making the change of variables [math]\displaystyle{ x = y\ln(2) }[/math], this is equivalent to

[math]\displaystyle{ \log_2(1 + 2^y) \approx \begin{cases} 1,& y=0,\\[6pt] \frac{y}{1-e^{-y}}, & y\neq 0. \end{cases} }[/math]

A sharpness parameter [math]\displaystyle{ k }[/math] may be included:

[math]\displaystyle{ f(x) = \frac{\ln(1 + e^{kx})} k, \qquad\qquad f'(x) = \frac{e^{kx}}{1 + e^{kx}} = \frac{1}{1 + e^{-kx}}. }[/math]

The derivative of softplus is the logistic function.

The logistic sigmoid function is a smooth approximation of the derivative of the rectifier, the Heaviside step function.

The multivariable generalization of single-variable softplus is the LogSumExp with the first argument set to zero:

[math]\displaystyle{ \operatorname{LSE_0}^+(x_1, \dots, x_n) := \operatorname{LSE}(0, x_1, \dots, x_n) = \ln(1 + e^{x_1} + \cdots + e^{x_n}). }[/math]

The LogSumExp function is

[math]\displaystyle{ \operatorname{LSE}(x_1, \dots, x_n) = \ln(e^{x_1} + \cdots + e^{x_n}), }[/math]

and its gradient is the softmax; the softmax with the first argument set to zero is the multivariable generalization of the logistic function. Both LogSumExp and softmax are used in machine learning.

ELU

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

[math]\displaystyle{ f(x) = \begin{cases} x & \text{if } x \gt 0, \\ a \left(e^x - 1\right) & \text{otherwise}. \end{cases} \qquad\qquad f'(x) = \begin{cases} 1 & \text{if } x \gt 0, \\ a \cdot e^x & \text{otherwise}. \end{cases} }[/math]

In these formulas, [math]\displaystyle{ a }[/math] is a hyper-parameter to be tuned with the constraint [math]\displaystyle{ a \geq 0 }[/math].

The ELU can be viewed as a smoothed version of a shifted ReLU (SReLU), which has the form [math]\displaystyle{ f(x) = \max(-a, x) }[/math], given the same interpretation of [math]\displaystyle{ a }[/math].

Mish

The mish function can also be used as a smooth approximation of the rectifier.[19] It is defined as

[math]\displaystyle{ f(x) = x \tanh\big(\operatorname{softplus}(x)\big), }[/math]

where [math]\displaystyle{ \tanh(x) }[/math] is the hyperbolic tangent, and [math]\displaystyle{ \operatorname{softplus}(x) }[/math] is the softplus function.

Mish is non-monotonic and self-gated.[23] It was inspired by Swish, itself a variant of ReLU.[23]

Squareplus

Squareplus[24] is the function

[math]\displaystyle{ \operatorname{squareplus}_b(x) = \frac{x + \sqrt{x^2 + b}}{2} }[/math]

where [math]\displaystyle{ b \geq 0 }[/math] is a hyperparameter that determines the "size" of the curved region near [math]\displaystyle{ x = 0 }[/math]. (For example, letting [math]\displaystyle{ b = 0 }[/math] yields ReLU, and letting [math]\displaystyle{ b = 4 }[/math] yields the metallic mean function.) Squareplus shares many properties with softplus: It is monotonic, strictly positive, approaches 0 as [math]\displaystyle{ x \to -\infty }[/math], approaches the identity as [math]\displaystyle{ x \to +\infty }[/math], and is [math]\displaystyle{ C^\infty }[/math] smooth. However, squareplus can be computed using only algebraic functions, making it well-suited for settings where computational resources or instruction sets are limited. Additionally, squareplus requires no special consideration to ensure numerical stability when [math]\displaystyle{ x }[/math] is large.

See also

References

  1. Brownlee, Jason (8 January 2019). "A Gentle Introduction to the Rectified Linear Unit (ReLU)". https://machinelearningmastery.com/rectified-linear-activation-function-for-deep-learning-neural-networks/. 
  2. Liu, Danqing (30 November 2017). "A Practical Guide to ReLU" (in en). https://medium.com/@danqing/a-practical-guide-to-relu-b83ca804f1f7. 
  3. Fukushima, K. (1969). "Visual feature extraction by a multilayered network of analog threshold elements". IEEE Transactions on Systems Science and Cybernetics 5 (4): 322–333. doi:10.1109/TSSC.1969.300225. 
  4. Fukushima, K.; Miyake, S. (1982). "Neocognitron: A self-organizing neural network model for a mechanism of visual pattern recognition". In Competition and Cooperation in Neural Nets. Lecture Notes in Biomathematics (Springer) 45: 267–285. doi:10.1007/978-3-642-46466-9_18. ISBN 978-3-540-11574-8. 
  5. Schmidhuber, Juergen (2022). "Annotated History of Modern AI and Deep Learning". arXiv:2212.11279 [cs.NE].
  6. Hahnloser, R.; Sarpeshkar, R.; Mahowald, M. A.; Douglas, R. J.; Seung, H. S. (2000). "Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit". Nature 405 (6789): 947–951. doi:10.1038/35016072. PMID 10879535. Bibcode2000Natur.405..947H. 
  7. Hahnloser, R.; Seung, H. S. (2001). "Permitted and Forbidden Sets in Symmetric Threshold-Linear Networks". NIPS 2001. 
  8. 8.0 8.1 8.2 8.3 8.4 Xavier Glorot; Antoine Bordes; Yoshua Bengio (2011). "Deep sparse rectifier neural networks". AISTATS. http://jmlr.org/proceedings/papers/v15/glorot11a/glorot11a.pdf. "Rectifier and softplus activation functions. The second one is a smooth version of the first." 
  9. Yann LeCun; Leon Bottou; Genevieve B. Orr; Klaus-Robert Müller (1998). "Efficient BackProp". Neural Networks: Tricks of the Trade. Springer. http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf. 
  10. Ramachandran, Prajit; Barret, Zoph; Quoc, V. Le (October 16, 2017). "Searching for Activation Functions". arXiv:1710.05941 [cs.NE].
  11. László Tóth (2013). "Phone Recognition with Deep Sparse Rectifier Neural Networks". ICASSP. http://www.inf.u-szeged.hu/~tothl/pubs/ICASSP2013.pdf. 
  12. 12.0 12.1 Andrew L. Maas, Awni Y. Hannun, Andrew Y. Ng (2014). Rectifier Nonlinearities Improve Neural Network Acoustic Models.
  13. Hansel, D.; van Vreeswijk, C. (2002). "How noise contributes to contrast invariance of orientation tuning in cat visual cortex". J. Neurosci. 22 (12): 5118–5128. doi:10.1523/JNEUROSCI.22-12-05118.2002. PMID 12077207. 
  14. Kadmon, Jonathan; Sompolinsky, Haim (2015-11-19). "Transition to Chaos in Random Neuronal Networks". Physical Review X 5 (4): 041030. doi:10.1103/PhysRevX.5.041030. Bibcode2015PhRvX...5d1030K. 
  15. Engelken, Rainer; Wolf, Fred; Abbott, L. F. (2020-06-03). "Lyapunov spectra of chaotic recurrent neural networks". arXiv:2006.02427 [nlin.CD].
  16. Behnke, Sven (2003). Hierarchical Neural Networks for Image Interpretation. Lecture Notes in Computer Science. 2766. Springer. doi:10.1007/b11963. ISBN 978-3-540-40722-5. https://www.researchgate.net/publication/220688219. 
  17. 17.0 17.1 He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2015). "Delving Deep into Rectifiers: Surpassing Human-Level Performance on Image Net Classification". arXiv:1502.01852 [cs.CV].
  18. 18.0 18.1 Hendrycks, Dan; Gimpel, Kevin (2016). "Gaussian Error Linear Units (GELUs)". arXiv:1606.08415 [cs.LG].
  19. 19.0 19.1 Diganta Misra (23 Aug 2019), Mish: A Self Regularized Non-Monotonic Activation Function, https://www.bmvc2020-conference.com/assets/papers/0928.pdf, retrieved 26 March 2022 .
  20. Dugas, Charles; Bengio, Yoshua; Bélisle, François; Nadeau, Claude; Garcia, René (2000-01-01). "Incorporating second-order functional knowledge for better option pricing". Proceedings of the 13th International Conference on Neural Information Processing Systems (NIPS'00) (MIT Press): 451–457. http://papers.nips.cc/paper/1920-incorporating-second-order-functional-knowledge-for-better-option-pricing.pdf. "Since the sigmoid h has a positive first derivative, its primitive, which we call softplus, is convex.". 
  21. "Smooth Rectifier Linear Unit (SmoothReLU) Forward Layer" (in en-US). 2017. https://software.intel.com/sites/products/documentation/doclib/daal/daal-user-and-reference-guides/daal_prog_guide/GUID-FAC73B9B-A597-4F7D-A5C4-46707E4A92A0.htm. 
  22. Clevert, Djork-Arné; Unterthiner, Thomas; Hochreiter, Sepp (2015). "Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)". arXiv:1511.07289 [cs.LG].
  23. 23.0 23.1 Shaw, Sweta (2020-05-10). "Activation Functions Compared with Experiments" (in en). https://wandb.ai/shweta/Activation%20Functions/reports/Activation-Functions-Compared-with-Experiments--VmlldzoxMDQwOTQ. 
  24. Barron, Jonathan T. (22 December 2021). "Squareplus: A Softplus-Like Algebraic Rectifier". arXiv:2112.11687 [cs.NE].