The Nonlinearity Index

A catalogue of activation functions

y = φ(Wx + b)

Everything a neural network can learn beyond a straight line comes from φ, the activation function.

This index collects them: the formula, how the curve behaves, and a plot of it and its derivative. It's organised by family, from the classics every framework ships to learned and experimental functions from the research literature. A use-case guide explains which ones get picked for which jobs, and why.

374 of ≈400 functions catalogued · 18 families · 3 tiers

374 functions

I

Classic

The functions every framework ships: sigmoidal curves, rectifiers, thresholds and the output layers built on them.

39 functions

Linear & threshold

3

The simplest maps: pass the input through, or snap it to a few discrete values.

Binary step

Heaviside

x ∈ [−4, 4] · dashed: f′(x)
f(x) =1if x ≥ 00if x < 0

Fires 1 or 0, like the original perceptron. Its derivative is zero almost everywhere, so plain gradient descent can't train it; spiking and binary networks use surrogate gradients instead.

  • {0, 1}
  • non-smooth
  • monotonic
  • bounded

Rosenblatt, 1958

Chosen for Binary and spiking neural networks

Sign

Signum

x ∈ [−4, 4] · dashed: f′(x)
f(x) = sign(x)

Binarises activations to ±1. Binary neural networks use it in the forward pass so multiplications become bit operations, and train through it with a straight-through estimator.

  • {−1, 0, 1}
  • non-smooth
  • monotonic
  • bounded

Courbariaux et al., 2016 (BinaryNet)

Chosen for Binary and spiking neural networks

Sigmoidal & saturating

13

S-shaped curves that squash the real line into a bounded interval. Their gradients vanish once they saturate.

Tanh

Hyperbolic tangent

x ∈ [−4, 4] · dashed: f′(x)
tanh(x) = (ex − e−x) / (ex + e−x)

A rescaled sigmoid (tanh x = 2σ(2x) − 1) that is zero-centred but saturating: its gradient peaks at 1 at x = 0 and vanishes for large |x|. Used for the LSTM/GRU candidate state, PPO hidden layers, GAN generator outputs and physics-informed networks.

  • (−1, 1)
  • smooth
  • monotonic
  • bounded
  • torch.nn.Tanh

LeCun et al., 1998 (Efficient BackProp)

Chosen for Financial and noisy time-series forecasting, Recurrent networks (LSTM, GRU), Generative adversarial networks, Physics-informed neural networks, Reinforcement learning policies and value functions, Output layers: matching the target

LeCun tanh

Scaled tanh

x ∈ [−4, 4] · dashed: f′(x)
f(x) = 1.7159 · tanh(2x / 3)

Tanh rescaled so that f(±1) = ±1, which keeps unit-variance inputs at roughly unit variance and keeps the units away from saturation.

  • (−1.7159, 1.7159)
  • smooth
  • monotonic
  • bounded

LeCun et al., 1998

Arctan

Inverse tangent

x ∈ [−4, 4] · dashed: f′(x)
f(x) = arctan(x)

Shaped like tanh but approaches its limits polynomially rather than exponentially, so it saturates more gently and keeps a usable gradient further from zero.

  • (−π/2, π/2)
  • smooth
  • monotonic
  • bounded

Softsign

Elliott function

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x / (1 + |x|)

A tanh-like curve with polynomial tails: it saturates more slowly than tanh, so gradients survive further from the origin. Studied as a tanh replacement in deep feed-forward nets.

  • (−1, 1)
  • smooth
  • monotonic
  • bounded
  • torch.nn.Softsign

Elliott, 1993; Glorot & Bengio, 2010

Hard sigmoid

x ∈ [−5, 5] · dashed: f′(x)
f(x) =0if x ≤ −3x / 6 + 1/2if −3 < x < 31if x ≥ 3

A piecewise-linear stand-in for the sigmoid. It's cheap and quantisation-friendly, which is why MobileNetV3 uses it in squeeze-and-excitation blocks. Some libraries use a slope of 0.2 instead of 1/6.

  • [0, 1]
  • non-smooth
  • monotonic
  • bounded
  • torch.nn.Hardsigmoid

Chosen for Mobile, edge and quantised inference

Hard tanh

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(−1, min(1, x))

Clips to [−1, 1] with slope 1 in between. The gradient is exactly zero outside the linear zone; binary networks use its derivative as the straight-through estimator.

  • [−1, 1]
  • non-smooth
  • monotonic
  • bounded
  • torch.nn.Hardtanh

Chosen for Binary and spiking neural networks

Log-sigmoid

x ∈ [−4, 4] · dashed: f′(x)
f(x) = log σ(x) = −softplus(−x)

The logarithm of the sigmoid, computed stably. It mostly appears inside losses (binary cross-entropy, word2vec negative sampling) rather than as a hidden-layer activation.

  • (−∞, 0)
  • smooth
  • monotonic
  • torch.nn.LogSigmoid

Error function

erf

x ∈ [−4, 4] · dashed: f′(x)
erf(x) = (2/√π) ∫0x e−t² dt

The Gauss error function: the normal CDF rescaled to (−1, 1). It behaves like tanh but saturates faster, because its tails are Gaussian.

  • (−1, 1)
  • smooth
  • monotonic
  • bounded

Probit (normal CDF)

Φ, Gaussian CDF

x ∈ [−4, 4] · dashed: f′(x)
Φ(x) = ½ [1 + erf(x / √2)]

The cumulative distribution of a standard normal. As an output link it gives probit regression; inside a network it's the gate in GELU.

  • (0, 1)
  • smooth
  • monotonic
  • bounded

Complementary log-log

cloglog, Gompertz link

x ∈ [−4, 4] · dashed: f′(x)
f(x) = 1 − exp(−ex)

An asymmetric sigmoid: it leaves 0 slowly and approaches 1 quickly. It's the natural link for discrete-time survival models with proportional hazards, and for rare-event binary outcomes.

  • (0, 1)
  • smooth
  • monotonic
  • bounded

Chosen for Output layers: matching the target

Gudermannian

gd

x ∈ [−4, 4] · dashed: f′(x)
gd(x) = 2 arctan(tanh(x / 2))

Connects circular and hyperbolic functions. Another smooth, odd, saturating curve between tanh and arctan in how fast it saturates.

  • (−π/2, π/2)
  • smooth
  • monotonic
  • bounded

ISRU

Inverse square root unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x / √(1 + αx²)

Inverse square root unit: tanh-shaped, but needs only a square root instead of exponentials, which is cheaper on some hardware. α sets the bounds ±1/√α (α = 1 plotted).

  • (−1/√α, 1/√α)
  • smooth
  • monotonic
  • bounded

Carlile et al., 2017

Rectifiers (ReLU family)

13

Identity for positive inputs, something cheaper or flatter for negative ones. The default hidden-layer choice since about 2011.

ReLU

Rectified linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(0, x)

Zero for negative inputs, identity for positive ones. It's cheap, doesn't saturate for x > 0 and produces sparse activations, which made deep networks practical. A unit that only ever sees negative inputs stops learning: a 'dead' ReLU.

  • [0, ∞)
  • non-smooth
  • monotonic
  • torch.nn.ReLU

Nair & Hinton, 2010; Glorot et al., 2011

Chosen for Transformer feed-forward blocks, Image classification CNNs, Medical image segmentation, Mobile, edge and quantised inference, Generative adversarial networks, Implicit neural representations, Graph neural networks, Deep tabular models and deep MLPs, Reinforcement learning policies and value functions, Sparse coding and denoising

RReLU

Randomised leaky ReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 0ax, a ~ U(1/8, 1/3) in trainingif x < 0

A leaky ReLU whose negative slope is sampled at random during training, which adds a little regularising noise. At test time the slope is fixed to the mean, (l + u)/2 ≈ 0.23, which is what's plotted.

  • (−∞, ∞)
  • non-smooth
  • monotonic
  • torch.nn.RReLU

Xu et al., 2015

ReLU6

x ∈ [−3, 8] · dashed: f′(x)
f(x) = min(max(0, x), 6)

ReLU capped at 6. The bounded range keeps activations representable in low-precision fixed-point arithmetic, which is why mobile networks such as MobileNetV2 adopted it.

  • [0, 6]
  • non-smooth
  • monotonic
  • bounded
  • torch.nn.ReLU6

Krizhevsky, 2010; Howard et al., 2017

Chosen for Mobile, edge and quantised inference

Thresholded ReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x > θ0otherwise

Passes values only above a threshold θ (θ = 1 plotted). It was introduced for zero-bias autoencoders, where it gives sparse codes without learned biases.

  • {0} ∪ (θ, ∞)
  • non-smooth
  • monotonic
  • torch.nn.Threshold

Konda et al., 2015

Absolute value

Abs rectification

x ∈ [−4, 4] · dashed: f′(x)
f(x) = |x|

Rectifies both signs, so it discards the sign but keeps the magnitude. Early multi-stage vision systems used absolute-value rectification of filter responses.

  • [0, ∞)
  • non-smooth
  • non-monotonic

Jarrett et al., 2009

CReLU

Concatenated ReLU

ReLU(x)ReLU(−x)

x ∈ [−4, 4]
f(x) = [ReLU(x), ReLU(−x)]

Concatenates ReLU(x) and ReLU(−x), doubling the channels so no information is thrown away. It was motivated by the observation that early CNN filters tend to learn negated pairs.

  • [0, ∞)²
  • non-smooth
  • non-monotonic

Shang et al., 2016

ELU

Exponential linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x > 0α(ex − 1)if x ≤ 0

Identity for positive inputs and a smooth exponential that saturates at −α for negative ones (α = 1 plotted). The negative outputs push mean activations toward zero, which speeds up learning.

  • (−α, ∞)
  • smooth
  • monotonic
  • torch.nn.ELU

Clevert et al., 2015

Chosen for Financial and noisy time-series forecasting, Graph neural networks

SELU

Scaled ELU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =λxif x > 0λα(ex − 1)if x ≤ 0

A scaled ELU (λ ≈ 1.0507, α ≈ 1.6733) whose constants make activations converge to zero mean and unit variance across layers, given LeCun-normal initialisation: 'self-normalising' networks that don't need batch norm.

  • (−λα, ∞) ≈ (−1.76, ∞)
  • non-smooth
  • monotonic
  • torch.nn.SELU

Klambauer et al., 2017

Chosen for Deep tabular models and deep MLPs

CELU

Continuously differentiable ELU

α = 0.5α = 1α = 2

x ∈ [−4, 4]
f(x) = max(0, x) + min(0, α(ex/α − 1))

A version of ELU that is continuously differentiable for every α. Plain ELU's derivative jumps at 0 whenever α ≠ 1. Plotted for α = 0.5, 1 and 2.

  • (−α, ∞)
  • smooth
  • monotonic
  • torch.nn.CELU

Barron, 2017

ISRLU

Inverse square root linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 0x / √(1 + αx²)if x < 0

ELU-shaped, but the negative side uses an inverse square root instead of an exponential, which is cheaper to compute (α = 1 plotted).

  • (−1/√α, ∞)
  • smooth
  • monotonic

Carlile et al., 2017

Shifted softplus

ssp

x ∈ [−4, 4] · dashed: f′(x)
f(x) = ln(0.5ex + 0.5)

Softplus shifted down by ln 2 so that f(0) = 0. SchNet uses it so that predicted molecular energies, and the forces derived from them, are smooth.

  • (−ln 2, ∞)
  • smooth
  • monotonic

Schütt et al., 2017 (SchNet)

Chosen for Molecular and materials modelling

Shrinkage & thresholding

3

Functions that zero out small values, borrowed from signal denoising and sparse coding.

Hard shrink

x ∈ [−3, 3] · dashed: f′(x)
f(x) =xif |x| > λ0otherwise

Zeroes inputs inside [−λ, λ] and passes the rest unchanged (λ = 0.5 plotted). This is hard thresholding, as used in wavelet denoising and sparse coding.

  • {0} ∪ (−∞, −λ) ∪ (λ, ∞)
  • non-smooth
  • monotonic
  • torch.nn.Hardshrink

Chosen for Sparse coding and denoising

Soft shrink

x ∈ [−3, 3] · dashed: f′(x)
f(x) =x − λif x > λx + λif x < −λ0otherwise

Soft thresholding: zero inside [−λ, λ], and larger values move toward zero by λ. It's the proximal operator of the L1 norm, which is why it appears in unrolled sparse-coding networks such as LISTA.

  • (−∞, ∞)
  • non-smooth
  • monotonic
  • torch.nn.Softshrink

Chosen for Sparse coding and denoising

Tanh shrink

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x − tanh(x)

What's left after subtracting tanh: almost flat near zero and nearly linear for large |x|. Rarely used in practice, but available in PyTorch.

  • (−∞, ∞)
  • smooth
  • monotonic
  • torch.nn.Tanhshrink

Output & normalising

7

Activations that turn logits into probabilities or positive quantities. Vector functions are plotted for the two-class case.

Softmax

Normalised exponential

T = 0.5T = 1T = 2

x ∈ [−4, 4] · p₁ for two classes, x = z₁ − z₂
softmax(z)i = ezi/T / Σj ezj/T

Turns a vector of logits into a probability distribution. With two classes it reduces to the sigmoid of the logit difference, which is what's plotted against x = z₁ − z₂ for temperatures T = 0.5, 1 and 2. Lower T gives a sharper distribution.

  • (0, 1), sums to 1
  • smooth
  • monotonic
  • bounded
  • torch.nn.Softmax

Chosen for Attention weights, Medical image segmentation, Reinforcement learning policies and value functions, Output layers: matching the target

Log-softmax

x ∈ [−4, 4] · dashed: f′(x) · log p₁ for two classes, x = z₁ − z₂
f(z)i = zi − log Σj ezj

Log of softmax, computed in one numerically stable step with log-sum-exp. It's paired with negative log-likelihood loss; most cross-entropy implementations use it internally.

  • (−∞, 0)
  • smooth
  • monotonic
  • torch.nn.LogSoftmax

Softmin

x ∈ [−4, 4] · dashed: f′(x) · p₁ for two classes, x = z₁ − z₂
softmin(z) = softmax(−z)

Softmax of the negated inputs, so the smallest value gets the most weight. Used for soft nearest-neighbour assignments and differentiable minimums.

  • (0, 1), sums to 1
  • smooth
  • monotonic
  • bounded
  • torch.nn.Softmin

Sparsemax

x ∈ [−4, 4] · dashed: f′(x) · p₁ for two classes, x = z₁ − z₂
sparsemax(z) = argminp ∈ Δ ‖p − z‖²

The Euclidean projection of the logits onto the probability simplex. Unlike softmax it can output exact zeros, which gives sparse, more interpretable attention. For two classes it's a hard sigmoid.

  • [0, 1], sums to 1
  • non-smooth
  • monotonic
  • bounded

Martins & Astudillo, 2016

Chosen for Attention weights

1.5-entmax

Entmax

x ∈ [−4, 4] · dashed: f′(x) · p₁ for two classes, x = z₁ − z₂
argmaxp ∈ Δ pᵀz + Hα(p), α = 1.5

Sits between softmax (α = 1) and sparsemax (α = 2): smooth near ties, but it can still assign exact zeros. Used for sparse attention in sequence-to-sequence models.

  • [0, 1], sums to 1
  • smooth
  • monotonic
  • bounded

Peters et al., 2019

Chosen for Attention weights

Exponential

x ∈ [−4, 2.5] · dashed: f′(x)
f(x) = ex

Maps to strictly positive values. Used as an output for rates and scale parameters (a Poisson intensity, a standard deviation); its unbounded growth makes it unstable in hidden layers.

  • (0, ∞)
  • smooth
  • monotonic
  • torch.exp

Chosen for Output layers: matching the target

Square softmax

SQMAX

x ∈ [−4, 6] · dashed: f′(x) · p₁ for two classes, z₂ = 0, c = 4
f(z)j = (zj + c)² / Σk (zk + c)²

A softmax replacement that uses squares instead of exponentials, with c = 4. Plotted for two classes with z₂ = 0.

  • ≈ [0, 1]
  • smooth
  • non-monotonic
  • bounded

Wuraola et al., 2021 (via Kunc & Kléma, 2024)

II

Modern & learned

Smooth self-gated units, the gated linear units inside today's Transformers, and activations whose shape is learned during training.

155 functions

Smooth self-gated

10

x multiplied by a smooth gate of itself (GELU, SiLU, Mish) and their cheaper approximations.

GELU

Gaussian error linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · Φ(x)

Weights each input by the probability that a standard normal variable falls below it. It's smooth and dips slightly below zero (minimum ≈ −0.17 near x = −0.75). The default in BERT, GPT-2/3 and most Transformers before GLU variants took over.

  • ≈ [−0.17, ∞)
  • smooth
  • non-monotonic
  • torch.nn.GELU

Hendrycks & Gimpel, 2016

Chosen for Transformer feed-forward blocks, Financial and noisy time-series forecasting, Deep tabular models and deep MLPs

GELU (tanh approximation)

x ∈ [−4, 4] · dashed: f′(x)
f(x) = ½x [1 + tanh(√(2/π) (x + 0.044715x³))]

The fast approximation used in the original BERT and GPT-2 code. It's visually indistinguishable from exact GELU; pick whichever the pretrained weights you load were trained with.

  • ≈ [−0.17, ∞)
  • smooth
  • non-monotonic
  • torch.nn.GELU(approximate='tanh')

Hendrycks & Gimpel, 2016

Chosen for Transformer feed-forward blocks, Diffusion model denoisers

QuickGELU

Sigmoid GELU approximation

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(1.702x)

A cheaper sigmoid-based approximation of GELU. OpenAI's CLIP models were trained with it, so loading their weights means using it too.

  • ≈ [−0.16, ∞)
  • smooth
  • non-monotonic

Hendrycks & Gimpel, 2016; Radford et al., 2021 (CLIP)

SiLU / Swish

Swish-1, sigmoid-weighted linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(x)

The input multiplied by its own sigmoid. Smooth and non-monotonic, with a minimum of about −0.28 at x ≈ −1.28. Used in EfficientNet, the YOLO family and most diffusion-model U-Nets.

  • ≈ [−0.28, ∞)
  • smooth
  • non-monotonic
  • torch.nn.SiLU

Elfwing et al., 2017; Ramachandran et al., 2017

Chosen for Image classification CNNs, Financial and noisy time-series forecasting, Diffusion model denoisers, Physics-informed neural networks, Molecular and materials modelling

Hard swish

h-swish

x ∈ [−5, 4] · dashed: f′(x)
f(x) =0if x ≤ −3x(x + 3) / 6if −3 < x < 3xif x ≥ 3

A piecewise-polynomial approximation of Swish with no exponentials, so it runs fast on mobile CPUs and quantises well. Introduced in MobileNetV3.

  • ≈ [−0.38, ∞)
  • non-smooth
  • non-monotonic
  • torch.nn.Hardswish

Howard et al., 2019

Chosen for Image classification CNNs, Mobile, edge and quantised inference

Mish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh(softplus(x))

Smooth and non-monotonic, unbounded above and bounded below (minimum ≈ −0.31). Very similar to Swish with a slightly deeper negative lobe. Used in the YOLOv4 backbone.

  • ≈ [−0.31, ∞)
  • smooth
  • non-monotonic
  • torch.nn.Mish

Misra, 2019

Chosen for Image classification CNNs

Squareplus

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (x + √(x² + b)) / 2

An algebraic softplus: no exponentials or logarithms, so it's fast and numerically simple. b controls the curvature near zero (b = 4 plotted).

  • (0, ∞)
  • smooth
  • monotonic

Barron, 2021

SmeLU

Smooth ReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =0if x ≤ −β(x + β)² / 4βif |x| < βxif x ≥ β

Smooth ReLU: replaces ReLU's corner with a quadratic patch of width 2β (β = 1 plotted). Proposed to make recommender-system predictions more reproducible between training runs.

  • [0, ∞)
  • smooth
  • monotonic

Shamir et al., 2020

Squared ReLU

ReLU²

x ∈ [−3, 3] · dashed: f′(x)
f(x) = max(0, x)²

ReLU squared. Primer's architecture search found it makes Transformer language models train more efficiently, and later efficient-LLM work adopted it.

  • [0, ∞)
  • smooth
  • monotonic

So et al., 2021 (Primer)

Chosen for Transformer feed-forward blocks

StarReLU

x ∈ [−3, 3] · dashed: f′(x)
f(x) = s · ReLU(x)² + b

Squared ReLU with a learnable scale and bias (initialised to s ≈ 0.894, b ≈ −0.447) that keep the output distribution normalised. Cheaper than GELU with similar accuracy in MetaFormer models.

  • [b, ∞)
  • smooth
  • monotonic

Yu et al., 2022 (MetaFormer baselines)

Gated linear units

6

Two projections, one gating the other. GLU variants are plotted with both halves tied to the same input, i.e. x · g(x).

GLU

Gated linear unit

x ∈ [−4, 4] · dashed: f′(x) · a = b = x
GLU(a, b) = a ⊗ σ(b)

Splits a projection into a value half a and a gate half b and multiplies a by σ(b), so the network controls how much information flows. Introduced for convolutional language models.

  • (−∞, ∞)
  • smooth
  • non-monotonic
  • torch.nn.GLU

Dauphin et al., 2017

Bilinear

x ∈ [−3, 3] · dashed: f′(x) · a = b = x
f(a, b) = a ⊗ b

The gate without any nonlinearity: just the elementwise product of two projections. It was surprisingly competitive in Transformer feed-forward experiments, which suggests the multiplication matters more than the exact gate.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Shazeer, 2020

ReGLU

x ∈ [−3, 3] · dashed: f′(x) · a = b = x
ReGLU(a, b) = a ⊗ ReLU(b)

GLU with a ReLU gate. It beat standard ReLU feed-forward layers at equal compute, and FT-Transformer uses it for tabular data.

  • (−∞, ∞)
  • non-smooth
  • non-monotonic

Shazeer, 2020

Chosen for Deep tabular models and deep MLPs

SwiGLU

x ∈ [−3, 3] · dashed: f′(x) · a = b = x
SwiGLU(a, b) = a ⊗ SiLU(b) = a ⊗ (b · σ(b))

The feed-forward activation of LLaMA, PaLM, Mistral and most open LLMs. Because it needs three weight matrices instead of two, the hidden size is usually cut to about 2/3 to keep the parameter count equal.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Shazeer, 2020

Chosen for Transformer feed-forward blocks

Gated tanh unit

WaveNet gate, GTU

x ∈ [−4, 4] · dashed: f′(x) · a = b = x
f(a, b) = tanh(a) ⊗ σ(b)

A bounded tanh 'content' path modulated by a sigmoid gate. The activation inside WaveNet and gated PixelCNN for audio and image generation.

  • (−1, 1)
  • smooth
  • non-monotonic
  • bounded

van den Oord et al., 2016

Chosen for Audio and waveform generation

Learned & adaptive

9

Activations with trainable parameters, so every neuron or channel can learn its own shape. Plots show example parameter values.

PReLU

Parametric ReLU

α = 0α = 0.25α = 0.5

x ∈ [−4, 4]
f(x) =xif x ≥ 0αx, α learnedif x < 0

A leaky ReLU whose negative slope α is learned, usually one per channel and initialised to 0.25. It was used in the first network reported to beat human-level accuracy on ImageNet.

  • (−∞, ∞)
  • non-smooth
  • monotonic
  • torch.nn.PReLU

He et al., 2015

Chosen for Image classification CNNs, Medical image segmentation

Swish-β

Parametric Swish

β = 0.5β = 1β = 4

x ∈ [−4, 4]
f(x) = x · σ(βx), β learned

Swish with a trainable β that interpolates between a scaled linear function (β → 0 gives x/2) and ReLU (β → ∞). Plotted for β = 0.5, 1 and 4.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Ramachandran et al., 2017

PELU

Parametric ELU

b = 0.5b = 1b = 2

x ∈ [−4, 4]
f(x) =(a / b) xif x ≥ 0a(ex/b − 1)if x < 0

ELU with two learned positive parameters: a sets the saturation level and b the scale. Tying them as a/b keeps the function differentiable at 0. Plotted with a = 1 and b = 0.5, 1, 2.

  • (−a, ∞)
  • smooth
  • monotonic

Trottier et al., 2017

SReLU

S-shaped ReLU

x ∈ [−4, 4] · dashed: f′(x) · t_l = −1, a_l = 0.2, t_r = 1.5, a_r = 0.4
f(x) =tr + ar(x − tr)if x ≥ trxif tl < x < trtl + al(x − tl)if x ≤ tl

Three linear pieces with four learnable parameters (two thresholds, two outer slopes), so it can learn both convex and non-convex shapes. Inspired by psychophysical laws such as Weber–Fechner.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Jin et al., 2016

APL

Adaptive piecewise linear

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(0, x) + Σs as max(0, −x + bs)

Adaptive piecewise linear unit: a ReLU plus a sum of learned hinge functions, so each neuron learns its own piecewise-linear shape. Plotted with one hinge (a = 0.5, b = 1).

  • learned
  • non-smooth
  • non-monotonic

Agostinelli et al., 2014

Maxout

x ∈ [−4, 4] · dashed: f′(x)
f(x) = maxj (wjᵀx + bj)

Outputs the maximum of k learned linear functions, so it can approximate any convex function; ReLU and leaky ReLU are special cases. It costs k times the parameters. Plotted with three example pieces.

  • learned
  • non-smooth
  • non-monotonic

Goodfellow et al., 2013

ACON-C

x ∈ [−4, 4] · dashed: f′(x) · p₁ = 1, p₂ = 0.25, β = 1
f(x) = (p₁ − p₂) x · σ(β(p₁ − p₂) x) + p₂x

'Activate or not': a smooth maximum of p₁x and p₂x with learnable p₁, p₂ and switching factor β. With p₁ = 1 and p₂ = 0 it's exactly Swish; Meta-ACON predicts β from the input.

  • learned
  • smooth
  • monotonic

Ma et al., 2021

Padé activation unit

PAU, rational activation

x ∈ [−4, 4] · dashed: f′(x) · example coefficients
f(x) = P(x) / (1 + |Σk bkxk|)

A learnable rational function (a ratio of polynomials) whose denominator can't reach zero. It can closely approximate standard activations or learn new shapes. Plotted with example coefficients.

  • learned
  • non-smooth
  • non-monotonic

Molina et al., 2020

Soft exponential

α = −0.5α = 0α = 0.5

x ∈ [−4, 4]
f(x) =−ln(1 − α(x + α)) / αif α < 0xif α = 0(eαx − 1) / α + αif α > 0

One parameter α moves continuously between logarithmic (α < 0), linear (α = 0) and exponential (α > 0) behaviour, so a neuron can learn to compute sums, products or exponentials.

  • depends on α
  • smooth
  • monotonic

Godfrey & Gashler, 2015

Adaptive rectifiers

64

ReLU-shaped functions with trainable slopes, thresholds or saturation levels. Plots use example or initial parameter values.

Positive PReLU

PReLU⁺

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5 (example)
f(x) =axif x ≥ 00if x < 0

ReLU with a trainable positive slope a: the adaptive version of the sloped ReLU.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Dai et al., 2022 (via Kunc & Kléma, 2024)

Margin ReLU

MarReLU

x ∈ [−4, 4] · dashed: f′(x) · a = −0.5 (example)
f(x) = max(x, a)

A shifted ReLU whose floor a is set per channel from the expected value of the negative responses. Used in knowledge distillation.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Heo et al., 2019 (via Kunc & Kléma, 2024)

React-PReLU

RPReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.2, b = −0.1, c = 0.25 (example)
f(x) =x − a + bif x ≥ ac(x − a) + bif x < a

PReLU with learned horizontal (a) and vertical (b) shifts per channel. Introduced in ReActNet for binary neural networks.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Liu et al., 2020 (via Kunc & Kléma, 2024)

Smooth activation unit

SAU

x ∈ [−4, 4] · dashed: f′(x) · negative slope 1/a = 0.25, b = 2 (example)
f(x) = (PReLUa ∗ φb)(x)

PReLU smoothed by convolving it with a Gaussian of learned width, which gives a closed form in terms of erf and exp.

  • (−∞, ∞)
  • smooth
  • monotonic

Biswas et al., 2022 (via Kunc & Kléma, 2024)

Smooth maximum unit

SMU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.25, b = 1 (example)
f(x) = [(1 + a)x + (1 − a)x · erf(b(1 − a)x)] / 2

A smooth leaky ReLU built from an erf approximation of |x|, i.e. a smooth max(x, ax). The trainable b controls how sharp the corner is.

  • (−∞, ∞)
  • smooth
  • monotonic

Biswas et al., 2022 (via Kunc & Kléma, 2024)

Leaky learnable ReLU

LeLeLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5 (example)
f(x) =axif x ≥ 00.01axif x < 0

Leaky ReLU multiplied by a trainable scale a, so both slopes are learned together.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Maniatopoulos & Mitianoudis, 2021 (via Kunc & Kléma, 2024)

Parametric rectified exponential unit

PREU

x ∈ [−8, 4] · dashed: f′(x) · a = 1.2, b = 0.5 (example)
f(x) =axif x ≥ 0ax ebxif x < 0

REU with trainable scale a and decay b, keeping a Swish-like dip for negative inputs.

  • ≈ [−0.88, ∞)
  • smooth
  • non-monotonic

Ying et al., 2019 (via Kunc & Kléma, 2024)

Flexible ReLU

FReLU

x ∈ [−4, 4] · dashed: f′(x) · b = −0.4 (example)
f(x) = ReLU(x) + b

ReLU with a learned vertical shift b, which lets outputs go negative and pushes the mean toward zero. (The horizontal shift is absorbed by the preceding bias.)

  • ≈ [−0.4, ∞)
  • non-smooth
  • monotonic

Qiu et al., 2018 (via Kunc & Kléma, 2024)

Adaptive shifted ReLU

ShiLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.2, b = −0.2 (example)
f(x) = a · max(0, x) + b

ReLU with a trainable slope a and vertical shift b per neuron.

  • ≈ [−0.2, ∞)
  • non-smooth
  • monotonic

Pishchik, 2023 (via Kunc & Kléma, 2024)

Adaptive HardTanh

x ∈ [−4, 4] · dashed: f′(x) · a_t = 2, b = 0.5 (example)
f(x) = HardTanh(at(x − b))

HardTanh whose slope a<sub>t</sub> grows on a schedule over training epochs while the offset b is learned, gradually turning it into a sign function for binary networks.

  • ≈ [−1, 1]
  • non-smooth
  • monotonic
  • bounded

Liu et al., 2021 (via Kunc & Kléma, 2024)

Attention-based ReLU

AReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.25, b = 0 (example)
f(x) =(1 + σ(b))xif x ≥ 0C(a)xif x < 0

ReLU whose positive slope is amplified by a learned sigmoid gate and whose negative slope is a learned value clipped to [0.01, 0.99]. One pair of parameters per layer.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Chen et al., 2020 (via Kunc & Kléma, 2024)

Dual parametric ReLU

DPReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.2, b = 0.2 (example)
f(x) =axif x ≥ 0bxif x < 0

PReLU with trainable slopes on both sides (initialised to 1 and 0.01). Also published as 'fully parametric ReLU'.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Balaji et al., 2020 (via Kunc & Kléma, 2024)

Dual Line

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.01, m = −0.22 (initial values)
f(x) =ax + mif x ≥ 0bx + mif x < 0

DPReLU plus a trainable shift m (initialised to −0.22).

  • (−∞, ∞)
  • non-smooth
  • monotonic

Balaji et al., 2020 (via Kunc & Kléma, 2024)

Piecewise linear unit

PiLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.2, b = 0.2, c = 0.5 (example)
f(x) =ax + c(1 − a)if x ≥ cbx + c(1 − b)if x < c

Two lines with trainable slopes meeting at a trainable point (c, c). Generalises ReLU, leaky ReLU, PReLU, DPReLU and Dual Line.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Inturrisi et al., 2021 (via Kunc & Kléma, 2024)

Paired ReLU

max(ax − b, 0)max(cx − d, 0)

x ∈ [−4, 4] · a = 0.5, c = −0.5, b = d = 0 (initial values)
f(x) = [max(ax − b, 0), max(cx − d, 0)]

Like CReLU it outputs two channels, but each has a trainable scale and threshold (scales initialised to 0.5 and −0.5).

  • [0, ∞)²
  • non-smooth
  • non-monotonic

Tang et al., 2018 (via Kunc & Kléma, 2024)

Tent

x ∈ [−3, 3] · dashed: f′(x) · a = 1 (recommended initial value)
f(x) = max(0, a − |x|)

A triangular bump of trainable width a, which responds only to inputs near zero. Proposed to improve robustness to adversarial and unknown inputs.

  • ≈ [0, 1]
  • non-smooth
  • non-monotonic
  • bounded

Rozsa & Boult, 2019 (via Kunc & Kléma, 2024)

Hat

x ∈ [−2, 4] · dashed: f′(x) · a = 2; falling piece written as a − x (the survey repeats x)
f(x) =0if x < 0xif 0 ≤ x ≤ a/2a − xif a/2 ≤ x ≤ a0if x > a

A triangle on the positive side only: it rises to a/2 and falls back to zero at a.

  • ≈ [0, 1]
  • non-smooth
  • non-monotonic
  • bounded

Wang et al., 2022 (via Kunc & Kléma, 2024)

ReLU memristor-like activation

RMAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 1 (example)
f(x) = [b / (0.25(1 + e−x) + 0.75)c] a x

A Swish-like unit modelled on memristor behaviour that keeps some negative information.

  • ≈ [−0.72, ∞)
  • smooth
  • non-monotonic

Yu et al., 2020 (via Kunc & Kléma, 2024)

Parametric tanh linear unit

PTELU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 2 (example)
f(x) =xif x ≥ 0a tanh(bx)if x < 0

Identity for positive inputs and a trainable scaled tanh for negative ones, saturating at −a.

  • ≈ [−0.5, ∞)
  • smooth
  • monotonic

Gupta & Duggal, 2017 (via Kunc & Kléma, 2024)

Tangent linear unit

TaLU

x ∈ [−4, 4] · dashed: f′(x) · a = −1.5
f(x) =xif x ≥ 0tanh(x)if a < x < 0tanh(a)if x ≤ a

Identity for positive inputs, tanh down to a threshold a < 0, then constant.

  • ≈ [−0.91, ∞)
  • non-smooth
  • monotonic

Mercioni & Holban, 2021 (via Kunc & Kléma, 2024)

PTaLU

x ∈ [−4, 4] · dashed: f′(x) · a = −0.75, b = 1 (initial values)
f(x) =xif x ≥ btanh(x)if a < x < btanh(a)if x ≤ a

TaLU with a second trainable threshold b above which the function becomes the identity. As written it jumps at x = b.

  • ≈ [−0.64, ∞)
  • non-smooth
  • monotonic

Mercioni & Holban, 2021 (via Kunc & Kléma, 2024)

TanhLU

x ∈ [−6, 6] · dashed: f′(x) · a = 1, b = 1, c = 0.5 (example)
f(x) = a tanh(bx) + cx

A trainable blend of tanh and a linear term: tanh-shaped near zero, linear far away.

  • (−∞, ∞)
  • smooth
  • monotonic

Shen et al., 2022 (via Kunc & Kléma, 2024)

TeLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = x · tanh(ELU(ax))

A Mish/TanhExp relative that gates x with tanh of an ELU, with a trainable input scale a.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Mercioni & Holban, 2020 (via Kunc & Kléma, 2024)

Tanh-based ReLU

TReLU

x ∈ [−4, 4] · dashed: f′(x) · b = 2 (example)
f(x) =xif x ≥ 0tanh(bx)if x < 0

A special case of PTELU with a = 1: identity for positive inputs and a trainable-slope tanh for negative ones.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Zhang et al., 2019 (via Kunc & Kléma, 2024)

Rectified linear tanh

ReLTanh

x ∈ [−6, 6] · dashed: f′(x) · a = −1.5, b = 0.5 (example)
f(x) =tanh′(a)(x − a) + tanh(a)if x ≤ atanh(x)if a < x < btanh′(b)(x − b) + tanh(b)if x ≥ b

Tanh between two trainable thresholds, continued outside them by straight lines tangent to the tanh, so the gradient never vanishes.

  • (−∞, ∞)
  • smooth
  • monotonic

Wang et al., 2019 (via Kunc & Kléma, 2024)

Bendable linear unit

BLU

a = −0.5a = 0.5a = 1

x ∈ [−4, 4]
f(x) = a(√(x² + 1) − 1) + x

Interpolates between the identity (a = 0) and a smooth rectifier (a = 1) with a trainable a ∈ [−1, 1]. Being able to become the identity lets a layer effectively be skipped.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Godfrey, 2019 (via Kunc & Kléma, 2024)

Rectified BLU

ReBLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) =a(√(x² + 1) − 1) + xif x > 00if x ≤ 0

BLU on the positive side and zero on the negative side.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Dai et al., 2022 (via Kunc & Kléma, 2024)

DELU

x ∈ [−4, 4] · dashed: f′(x) · a = 0
f(x) =(a + 0.5)x + |e−x − 1|if x ≥ 0x σ(x)if x < 0

SiLU for negative inputs and a trainable-slope line plus a saturating term for positive ones.

  • ≈ [−0.28, ∞)
  • non-smooth
  • non-monotonic

Pishchik, 2023 (via Kunc & Kléma, 2024)

Soft clipping Mish

SC-mish, SCL-mish

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = max(0, x · tanh(softplus(ax)))

Mish with its negative lobe clipped to zero. With a trainable a it is called SCL-mish (initialised to a = 0.25).

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Mercioni & Holban, 2021 (via Kunc & Kléma, 2024)

Soft clipping Swish

SC-swish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(0, x · σ(x))

Swish with its negative lobe clipped to zero.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Mercioni & Holban, 2022 (via Kunc & Kléma, 2024)

Parametric swish (p-swish)

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 0 (initial values)
f(x) =a x σ(bx)if x ≤ cxif x > c

Swish below a trainable threshold c and the identity above it. Also proposed as R_S with a = 1.

  • ≈ [−0.28, ∞)
  • non-smooth
  • non-monotonic

Mercioni & Holban, 2020 (via Kunc & Kléma, 2024)

Extended ELU

EDELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, c = 0.5, b = (e^0.5 − 1)/0.5
f(x) =xif x ≥ c(eax − 1) / bif x < c

An ELU whose switch point c is trainable, with b tied to a and c (bc = e<sup>ac</sup> − 1) so the pieces meet.

  • ≈ [−0.77, ∞)
  • non-smooth
  • monotonic

Çatalbaş & Morgül, 2023 (via Kunc & Kléma, 2024)

Gated PReLU–PELU mix

x ∈ [−4, 4] · dashed: f′(x) · a = 1, PReLU slope 0.25, PELU a = b = 1
f(x) = σ(ax) PReLU(x) + (1 − σ(ax)) PELU(x)

A learned, input-dependent blend of PReLU and PELU, one of several activation-mixing schemes compared in the same work.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Qian et al., 2018 (via Kunc & Kléma, 2024)

Fast ELU

FELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) =xif x ≥ 0a(2x / ln 2 − 1)if x < 0

ELU rewritten with a power of two, which allows a fast bit-level approximation of the exponential. Mathematically equal to ELU.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Qiumei et al., 2019 (via Kunc & Kléma, 2024)

P+FELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = −0.2 (example)
f(x) =x + bif x ≥ 0a(2x / ln 2 − 1) + bif x < 0

FELU with an added trainable vertical shift b.

  • ≈ [−1.2, ∞)
  • smooth
  • monotonic

Adem, 2022 (via Kunc & Kléma, 2024)

Multiple parametric ELU

MPELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 2 (example)
f(x) =xif x ≥ 0a(ebx − 1)if x < 0

ELU with trainable saturation a and steepness b; ReLU, ELU and some PELU settings are special cases.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Li et al., 2018 (via Kunc & Kléma, 2024)

P-E2-ReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.4, b = 0.3 (initial values)
f(x) = a ReLU(x) + b ELU(x) + (1 − a − b)(−ELU(−x))

A trainable mix of ReLU, ELU and a mirrored ELU, giving a flexible piecewise-smooth shape.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Jie et al., 2021 (via Kunc & Kléma, 2024)

Erf-based ReLU

ErfReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5 (example)
f(x) =xif x ≥ 0a erf(x)if x < 0

An ELU-like unit whose negative side is a trainable multiple of erf(x), saturating at −a.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Rajanand & Singh, 2023 (via Kunc & Kléma, 2024)

Parametric SELU

PSELU

x ∈ [−4, 4] · dashed: f′(x) · a, b initialised to the SELU constants
f(x) =axif x ≥ 0ab(ex − 1)if x < 0

SELU with its scale and saturation constants made trainable per neuron.

  • ≈ [−1.76, ∞)
  • non-smooth
  • monotonic

Pratama & Kang, 2020 (via Kunc & Kléma, 2024)

Leaky parametric SELU

LPSELU

x ∈ [−4, 4] · dashed: f′(x) · a, b = SELU constants, c = 0.01
f(x) =axif x ≥ 0ab(ex − 1) + cxif x < 0

PSELU with a small leaky term c so negative inputs keep a gradient.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Pratama & Kang, 2020 (via Kunc & Kléma, 2024)

LPSELU with reposition

LPSELU_RP

x ∈ [−4, 4] · dashed: f′(x) · a, b = SELU constants, c = 0.01, m = −0.2 (example)
f(x) =ax + mif x ≥ 0ab(ex − 1) + cx + mif x < 0

LPSELU plus a trainable vertical shift m.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Pratama & Kang, 2020 (via Kunc & Kléma, 2024)

Parametric shifted ELU (horizontal)

PShELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 1, c = 0.5 (example)
f(x) =(a/b)(x + c)if x + c ≥ 0a(e(x + c)/b − 1)if x + c < 0

PELU with a trainable horizontal shift c.

  • ≈ [−1.5, ∞)
  • smooth
  • monotonic

Grelsson & Felsberg, 2018 (via Kunc & Kléma, 2024)

Parametric shifted ELU (vertical)

PSvELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 1, c = −0.3 (example)
f(x) =(a/b)x + cif x ≥ 0a(ex/b − 1) + cif x < 0

PELU with a trainable vertical shift c.

  • ≈ [−1.8, ∞)
  • smooth
  • monotonic

Grelsson & Felsberg, 2018 (via Kunc & Kléma, 2024)

Tunable swish

T-swish

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 1, c = 0.5 (example)
f(x) =xif x ≥ ca x σ(bx)if x < c

Identity above a threshold c and a scaled Swish below it, with all three parameters optionally trainable.

  • ≈ [−0.42, ∞)
  • non-smooth
  • non-monotonic

Javid et al., 2022 (via Kunc & Kléma, 2024)

Rectified parametric sigmoid unit

RePSU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 0, c = 1, d = 1, e = 1 (example)
f(x) = a RePSKU(x) + (1 − a) RePSHU(x)

A trainable mix of two rectified sigmoid-shaped components, generalising a shrinkage function used for image denoising.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Atto et al., 2023 (via Kunc & Kléma, 2024)

Parametric deformable ELU

PDELU

x ∈ [−8, 4] · dashed: f′(x) · a = 1, b = 0.9 (recommended)
f(x) =xif x ≥ 0a([1 + (1 − b)x]1/(1 − b) − 1)if x < 0

An ELU whose exponential is replaced by a deformed (power-law) version, controlled by b, which shifts the mean output toward zero.

  • ≈ [−1, ∞)
  • smooth
  • non-monotonic

Cheng et al., 2020 (via Kunc & Kléma, 2024)

Parametric first power linear unit

PFPLUS

x ∈ [−4, 4] · dashed: f′(x) · a = 0.2, b = 10
f(x) = a x (1 − bx)H(x) − 1

Linear for positive inputs and a/(1 − bx)-damped for negative ones, using the Heaviside step H. With a = 0.2, b = 10 it resembles ReLU; with a = 5, b = 0.1 a linear map.

  • ≈ [−0.02, ∞)
  • smooth
  • non-monotonic

Duan et al., 2022 (via Kunc & Kléma, 2024)

Parametric variational linear unit

PVLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.1, b = 6 (example)
f(x) = max(0, x) + a sin(bx)

VLU with a trainable ripple amplitude a and frequency b.

  • ≈ [−0.1, ∞)
  • non-smooth
  • non-monotonic

Gupta & Ahuja, 2021 (via Kunc & Kléma, 2024)

Parametric flatted-T swish

PFTS

x ∈ [−4, 4] · dashed: f′(x) · T = −0.2 (initial value)
f(x) = ReLU(x) · σ(x) + T

Flatted-T swish with a trainable floor T per neuron (initialised to −0.2).

  • ≈ [−0.2, ∞)
  • smooth
  • monotonic

Chieng et al., 2020 (via Kunc & Kléma, 2024)

Parametric flatten-p Mish

PFPM

x ∈ [−4, 4] · dashed: f′(x) · p = −0.2 (example)
f(x) =x tanh(ln(1 + ex)) + pif x ≥ 0pif x < 0

Mish on the positive side and a trainable flat level p on the negative side.

  • ≈ [−0.2, ∞)
  • smooth
  • monotonic

Mondal & Shrivastava, 2022 (via Kunc & Kléma, 2024)

Scaled-gamma-tanh

SGT

x ∈ [−3, 3] · dashed: f′(x) · a = 1, b = 1.5, c = 0.1, d = 1 (example)
f(x) =a xbif x ≥ 0c xdif x < 0

A piecewise power function with trainable exponents on each side.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Khagi & Kwon, 2022 (via Kunc & Kléma, 2024)

Parameterised softplus (s+2L)

s₊2L

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = ln(1 + ex) − a

Softplus with a trainable downward shift a ∈ [0, 1].

  • ≈ [−0.5, ∞)
  • smooth
  • monotonic

Vargas et al., 2023 (via Kunc & Kléma, 2024)

Generalised ReLU (GReLU)

GReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 2, b = 1
f(x) = ln(1 + abx) / (b ln a)

A softplus in base a with a trainable sharpness b; as b grows it approaches ReLU.

  • ≈ [0, ∞)
  • smooth
  • monotonic

Terziyan et al., 2022 (via Kunc & Kléma, 2024)

ELU + parameterised softplus

ELUs₊2L

x ∈ [−4, 4] · dashed: f′(x) · b = 0.5, softplus shift 0.5 (example)
f(x) = b ELU(x) + (1 − b) s₊2L(x)

A trainable blend of ELU and the shifted softplus s₊2L.

  • ≈ [−0.75, ∞)
  • smooth
  • monotonic

Vargas et al., 2023 (via Kunc & Kléma, 2024)

SPLASH

x ∈ [−4, 4] · dashed: f′(x) · hinges at 0 and ±1; a⁺ = (1, 0.5), a⁻ = (0.2, 0.3) (example)
f(x) = Σs a⁺s max(0, x − bs) + Σs a⁻s max(0, −x − bs)

Simple piecewise linear and adaptive function with symmetric hinges: hinges at ±b<sub>s</sub> with separate trainable slopes on each side. Seven hinges usually worked well.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Tavakoli et al., 2021 (via Kunc & Kléma, 2024)

Mexican ReLU

MeLU

x ∈ [−4, 4] · dashed: f′(x) · PReLU slope 0.25; one tent with a = 0.5, b = 1, c = 1 (example)
f(x) = PReLU(x) + Σj aj max(cj − |x − bj|, 0)

PReLU plus a sum of trainable 'Mexican hat' tent functions at fixed positions, which lets each unit learn bumps in its response.

  • (−∞, ∞)
  • non-smooth
  • non-monotonic

Maguolo et al., 2021 (via Kunc & Kléma, 2024)

Modified Mexican ReLU

MMeLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 1, c = 1 (example)
f(x) = a max(b − |x − c|, 0) + (1 − a) ReLU(x)

A blend of one tent function and ReLU whose parameters are estimated with a Bayesian procedure.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Fakhfakh & Chaari, 2023 (via Kunc & Kléma, 2024)

Gaussian ReLU

GaLU

x ∈ [−3, 5] · dashed: f′(x) · PReLU slope 0.25; a = 0.5, b = 1, c = 1 (example)
φ(x) = max(c − |x − b|, 0) + min(|x − b − 2c| − c, 0)

MeLU with components made of a tent followed by an inverted tent, giving alternating bumps and dips.

  • (−∞, ∞)
  • non-smooth
  • non-monotonic

Nanni et al., 2020 (via Kunc & Kléma, 2024)

Hard-Swish (adaptive)

x ∈ [−4, 4] · dashed: f′(x) · b = 1
f(x) = 2x · max(0, min(0.2bx + 0.5, 1))

A scaled hard sigmoid gate with a trainable slope b; as b → ∞ it approaches ReLU. Distinct from MobileNetV3's hard swish.

  • ≈ [−0.62, ∞)
  • non-smooth
  • non-monotonic

Avenash & Viswanath, 2019 (via Kunc & Kléma, 2024)

N-activation

x ∈ [−4, 4] · dashed: f′(x) · t_min = −1, t_max = 1
f(x) =x − 2tminif x < tmin−xif tmin ≤ x ≤ tmaxx − 2tmaxif x > tmax

An N-shaped piecewise-linear function with trainable thresholds, rising, falling and rising again. Proposed for Lipschitz-constrained networks.

  • (−∞, ∞)
  • non-smooth
  • non-monotonic

Prach & Lampert, 2023 (via Kunc & Kléma, 2024)

ALiSA

x ∈ [−4, 4] · dashed: f′(x) · a_r = 0.5, a_l = 0.1 (example)
f(x) =arx − ar + 1if x ≥ 1xif 0 < x < 1alxif x ≤ 0

SReLU with its thresholds fixed at 0 and 1 and trainable outer slopes. With fixed slopes it is called LiSA.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Bawa & Kumar, 2019 (via Kunc & Kléma, 2024)

Alternated left ReLU

All-ReLU

even layersodd layers

x ∈ [−4, 4] · a = 0.1
f(x) =−axif x ≤ 0, even layeraxif x ≤ 0, odd layerxif x > 0

A leaky ReLU whose negative slope flips sign from layer to layer. Designed for sparse networks.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Curci et al., 2021 (via Kunc & Kléma, 2024)

Piecewise linear unit (PLU)

PLU

x ∈ [−5, 5] · dashed: f′(x) · a = 0.1, b = 1
f(x) = max(a(x + b) − b, min(a(x − b) + b, x))

Identity on [−b, b] and slope a outside, like a symmetric SReLU, but always invertible.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Nicolae, 2018 (via Kunc & Kléma, 2024)

Adaptive linear unit

AdaLU

x ∈ [−5, 3] · dashed: f′(x) · a = 0, b = 0, c = 1, d = 0.2, e = −0.5 (example)
f(x) =c(x − a) + bif x − a > 0 and c(x − a) > ed(x − a) + bif x − a ≤ 0 and d(x − a) > ee + botherwise

A piecewise-linear unit with trainable offsets, slopes on each side and a saturation level e.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Mo et al., 2022 (via Kunc & Kléma, 2024)

Adaptive sigmoidal

14

Sigmoid- and tanh-shaped functions whose steepness, offset or bounds are learned.

Shape-autotuning sigmoid

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) = 2(1 − e−ax) / (a(1 + e−ax))

One of the earliest adaptive activations: one trainable parameter controls both the slope and the amplitude of a bipolar sigmoid.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Yamada & Yabuta, 1992 (via Kunc & Kléma, 2024)

Generalised hyperbolic tangent

x ∈ [−8, 8] · dashed: f′(x) · a = 1.5, b = 1 (example)
f(x) = a(1 − e−bx) / (1 + e−bx)

A bipolar sigmoid with trainable amplitude a and slope b.

  • ≈ [−1.5, 1.5]
  • smooth
  • monotonic
  • bounded

Chen & Chang, 1996 (via Kunc & Kléma, 2024)

Adaptive slope sigmoidal function

ASSF

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) = σ(ax)

The logistic sigmoid with one global trainable slope a.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Yamada & Yabuta, 1992; Nawi et al., 2009 (via Kunc & Kléma, 2024)

Slope varying activation function

SVAF

x ∈ [−8, 8] · dashed: f′(x) · a = 0.5
f(x) = tanh(ax)

Tanh with one global trainable slope a, trained with a modified backpropagation rule.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Bai, 2009 (via Kunc & Kléma, 2024)

Parametric sigmoid

psigmoid

x ∈ [−4, 4] · dashed: f′(x) · a = 2, b = 1
f(x) = a σ(bx)

A logistic sigmoid with a trainable amplitude a (per neuron or channel) and a slope b.

  • ≈ [0, 2]
  • smooth
  • monotonic
  • bounded

Ying et al., 2021; Özbay & Tezel, 2010 (via Kunc & Kléma, 2024)

Parametric sigmoid function

PSF

x ∈ [−6, 8] · dashed: f′(x) · m = 2
f(x) = 1 / (1 + e−x)m

A sigmoid raised to a trainable power m, which moves its steepest point and changes its asymmetry.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Chandra & Singh, 2004 (via Kunc & Kléma, 2024)

STAC-tanh

x ∈ [−6, 6] · dashed: f′(x) · a = 1.5, b = 0.1 (example)
f(x) =tanh(−a) + b(x + a)if x < −atanh(x)if −a ≤ x ≤ atanh(a) + b(x − a)if x > a

Slope- and threshold-adaptive tanh: tanh in the middle and straight lines of trainable slope b beyond ±a, so the gradient never vanishes.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Zhang et al., 2021 (via Kunc & Kléma, 2024)

Generalised Riccati activation

GRA

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 2
f(x) = 1 − a / (a + (1 + bx)c)

A rational sigmoid-like function derived from the Riccati equation, with three trainable shape parameters.

  • ≈ [0, 1]
  • smooth
  • non-monotonic
  • bounded

Protonotarios et al., 2022 (via Kunc & Kléma, 2024)

Gaussian error unit

GEU

x ∈ [−8, 8] · dashed: f′(x) · a = 2
f(x) = Φ(x / a)

The normal CDF with a global trainable width a; multiplying it by x gives PGELU.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Duan et al., 2024 (via Kunc & Kléma, 2024)

RSign

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5 (example)
f(x) =1if x ≥ a−1if x < a

A sign function with a trainable threshold per channel. Used in ReActNet's binary networks.

  • {−1, 1}
  • non-smooth
  • monotonic
  • bounded

Liu et al., 2020 (via Kunc & Kléma, 2024)

P-SIG-RAMP

x ∈ [−6, 6] · dashed: f′(x) · a = 0.5, b = 0.5
f(x) = a σ(x) + (1 − a) · rampb(x)

A trainable blend of the logistic sigmoid and a linear ramp of trainable slope b.

  • ≈ [0, 1]
  • non-smooth
  • monotonic
  • bounded

Jie et al., 2021 (via Kunc & Kléma, 2024)

Adaptive Gumbel

AGumb

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = 1 − (1 + a ex)−1/a

A trainable asymmetric sigmoid based on the Gumbel distribution (the same family as Aranda-Ordaz).

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Farhadi et al., 2019 (via Kunc & Kléma, 2024)

Shape-autotuning adaptive activation

SAAAF

x ∈ [−6, 12] · dashed: f′(x) · a = 3, b = 2
f(x) = x / (x/a + e−x/b)

The soft-root-sign shape with trainable a and b (requiring 0 < b/a < e): bounded above by a, with a dip for negative inputs.

  • ≈ [−0.97, 3]
  • smooth
  • non-monotonic
  • bounded

Zhou et al., 2021 (via Kunc & Kléma, 2024)

Scaled softsign

x ∈ [−8, 8] · dashed: f′(x) · a = 2, b = 1
f(x) = a x / (b + |x|)

Softsign with a trainable amplitude a and transition rate b.

  • ≈ [−2, 2]
  • smooth
  • monotonic
  • bounded

Pishchik, 2023 (via Kunc & Kléma, 2024)

Adaptive self-gated

18

Swish-style units, x times a gate, with trainable gate parameters.

TanhSoft-1

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5 (example)
f(x) = tanh(ax) · ln(1 + ex)

Softplus gated by a trainable-slope tanh, which gives a Swish-like curve with a negative lobe.

  • ≈ [−0.14, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2020 (via Kunc & Kléma, 2024)

TanhSoft-2

x ∈ [−4, 4] · dashed: f′(x) · b = 0.5, c = 1 (example)
f(x) = x · tanh(b ecx)

TanhExp with trainable scale b and rate c.

  • ≈ [−0.18, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2020 (via Kunc & Kléma, 2024)

TanhSoft-3

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = ln(1 + ex tanh(ax))

A softplus-like curve whose inner term is gated by tanh(ax).

  • ≈ [−0.36, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2020 (via Kunc & Kléma, 2024)

Adaptive hybrid activation function

AHAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 1
f(x) = a x σ(bx)

Swish with a trainable vertical scale a as well as the slope b.

  • ≈ [−0.42, ∞)
  • smooth
  • non-monotonic

Bodyanskiy & Kostiuk, 2022 (via Kunc & Kléma, 2024)

Parametric shifted SiLU

PSSiLU

x ∈ [−6, 4] · dashed: f′(x) · a = 1, b = 0.25 (example)
f(x) = x (σ(ax) − b) / (1 − b)

SiLU whose gate is shifted down by b and renormalised, which deepens the negative region.

  • ≈ [−0.085, ∞)
  • smooth
  • non-monotonic

Dai et al., 2022 (via Kunc & Kléma, 2024)

ACON-B

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.25 (initial values)
f(x) = (1 − b) x σ(a(1 − b)x) + bx

A smooth maximum of x and bx (b initialised to 0.25): the ACON family's smooth leaky ReLU.

  • (−∞, ∞)
  • smooth
  • monotonic

Ma et al., 2021 (via Kunc & Kléma, 2024)

Parameterised self-circulating gating unit

PSGU

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = x · tanh(a σ(x))

x gated by tanh of a scaled sigmoid; the authors also propose a matching initialisation scheme.

  • ≈ [−0.27, ∞)
  • smooth
  • non-monotonic

Li et al., 2021 (via Kunc & Kléma, 2024)

TBSReLU (learnable)

TBSReLUl

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5 (initial value)
f(x) = x · tanh(a (1 − e−x) / (1 + e−x))

TBSReLU with a trainable scale a inside the tanh (initialised to 0.5).

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Mercioni et al., 2020 (via Kunc & Kléma, 2024)

PATS

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5 (example)
f(x) = x · arctan(a π σ(x))

Like PSGU but with arctan and a scale a sampled at random during training.

  • ≈ [−0.42, ∞)
  • smooth
  • non-monotonic

Zheng & Wang, 2020 (via Kunc & Kléma, 2024)

Adaptive quadratic linear unit

AQuLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 0.5; middle condition written consistently (the survey's is reversed)
f(x) =xif x ≥ (1 − b)/aa x² + b xif −b/a ≤ x < (1 − b)/a0if x < −b/a

A quadratic stand-in for SiLU: zero, then a trainable parabola, then the identity.

  • ≈ [−0.12, ∞)
  • smooth
  • non-monotonic

Wu et al., 2023 (via Kunc & Kléma, 2024)

ErfAct

x ∈ [−4, 4] · dashed: f′(x) · a = 0.75, b = 0.75 (example)
f(x) = x · erf(a ebx)

x gated by erf of a trainable exponential.

  • ≈ [−0.41, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2022 (via Kunc & Kléma, 2024)

Parametric Serf

pserf

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 1 (example)
f(x) = x · erf(a ln(1 + ebx))

Serf with trainable scales a and b.

  • ≈ [−0.51, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2022 (via Kunc & Kléma, 2024)

Swim

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = x · ½ (1 + a x / √(1 + x²))

PFLU with a scale a on the algebraic gate (a = 0.5 was used).

  • (−∞, ∞)
  • smooth
  • monotonic

Abdool & Dear, 2023 (via Kunc & Kléma, 2024)

Parametric GELU

PGELU

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) = x · Φ(x / a)

GELU with a global trainable scale a, derived from noise injection (a is the RMS noise).

  • ≈ [−0.34, ∞)
  • smooth
  • non-monotonic

Duan et al., 2024 (via Kunc & Kléma, 2024)

Parametric scaled tanh

PSTanh

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 1
f(x) = x · a(1 + tanh(bx))

A Swish-like unit built on tanh; since ½(1 + tanh(x)) = σ(2x), it is Swish with β = 2 when a = ½, b = 1.

  • ≈ [−0.14, ∞)
  • smooth
  • non-monotonic

Adu et al., 2021 (via Kunc & Kléma, 2024)

Logmoid activation unit

LAU

x ∈ [−4, 4] · dashed: f′(x) · a = 2, b = 1 (example)
f(x) = x ln(1 + a σ(bx))

Logish with trainable per-layer parameters a and b (both initialised to 1, which gives Logish).

  • ≈ [−0.47, ∞)
  • smooth
  • non-monotonic

Zhou et al., 2023 (via Kunc & Kléma, 2024)

Cosinu-sigmoidal linear unit

CosLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1
f(x) = (x + a cos(bx)) σ(x)

The cosine counterpart of SinLU: a trainable cosine ripple is added before sigmoid gating.

  • ≈ [−0.29, ∞)
  • smooth
  • non-monotonic

Pishchik, 2023 (via Kunc & Kléma, 2024)

ARiA

x ∈ [−4, 4] · dashed: f′(x) · a = 1.5, b = 2 (example)
f(x) = x · (1 + e−bx)−a

Swish with the sigmoid replaced by Richards' curve, a generalised logistic with extra shape parameters (the two-parameter form is plotted).

  • ≈ [−0.07, ∞)
  • smooth
  • non-monotonic

Patwardhan et al., 2018 (via Kunc & Kléma, 2024)

Rational, fractional & other adaptive families

34

General recipes for learnable activations: rational functions, fractional derivatives, blends of basis functions and other parameterised families.

Transformative adaptive activation function

TAAF

x ∈ [−4, 4] · dashed: f′(x) · f = tanh, α = 1.5, β = 2, γ = 0.5, δ = 0.2 (example values)
g(f, x) = α f(βx + γ) + δ

Wraps any activation f in four trainable parameters that scale and shift it horizontally and vertically, which covers many published adaptive functions as special cases. Plotted for f = tanh.

  • ≈ [−1.3, 1.7]
  • smooth
  • monotonic
  • bounded

Kunc et al., 2021 (via Kunc & Kléma, 2024)

Trainable amplitude

x ∈ [−4, 4] · dashed: f′(x) · g = tanh, a = 2, b = 0.3 (example)
f(x) = a g(x) + b

Adds a trainable amplitude a and offset b to any activation g, applied per neuron. Plotted for g = tanh.

  • ≈ [−1.7, 2.3]
  • smooth
  • monotonic
  • bounded

Trentin, 2001 (via Kunc & Kléma, 2024)

Adaptive radial basis function

ARBF

x ∈ [−3, 4] · dashed: f′(x) · a = 1, b = 0.5 (example)
f(x) = exp(−(x − a)² / 2b²)

A Gaussian bump with trainable centre a and width b.

  • ≈ [0, 1]
  • smooth
  • non-monotonic
  • bounded

Jiang et al., 2021 (via Kunc & Kléma, 2024)

Locally adaptive activation function

LAAF

tanh(nax)σ(nax)ReLU(nax)

x ∈ [−4, 4]
f(x) = g(n · a x)

Gives any activation g a trainable slope a per neuron, often with a fixed scale factor n to speed up training. Developed for physics-informed networks. Plotted with n·a = 2.

  • depends on g
  • non-smooth
  • monotonic

Jagtap et al., 2020 (via Kunc & Kléma, 2024)

Scaled sine-hyperbolic

SSinH

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5
f(x) = a sinh(bx)

A hyperbolic sine with trainable scales: nearly linear near zero and growing exponentially outward.

  • (−∞, ∞)
  • smooth
  • monotonic

Husain et al., 2021 (via Kunc & Kléma, 2024)

Scaled exponential function

SExp

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5
f(x) = a(ebx − 1)

A shifted exponential with trainable scales, zero at the origin.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Husain et al., 2021 (via Kunc & Kléma, 2024)

Fractional ReLU

FracReLU

x ∈ [−1, 4] · dashed: f′(x) · a = 0.5
f(x) = x1 − a / Γ(2 − a)

The a-th fractional derivative of ReLU: a = 0 gives ReLU, a = 1 the step function, and values in between interpolate. Shown for x ≥ 0.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Zamora-Esquivel et al., 2021 (via Kunc & Kléma, 2024)

Universal activation function

UAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5, c = 0, d = 1, e = 0 (a sigmoid-like setting)
f(x) = ln(1 + ea(x + b) + cx²) − ln(1 + ed(x − b)) + e

A difference of softplus terms with five trainable parameters that can approximate the step, sigmoid, tanh, ReLU, leaky ReLU and Gaussian.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Yuen et al., 2021 (via Kunc & Kléma, 2024)

Learnable extended activation function

LEAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5, c = 2, d = −0.2 (example)
f(x) = (ax + b) σ(cx) + d

Four trainable parameters around a sigmoid gate; particular settings reproduce SiLU, the sigmoid, tanh-like and ReLU-like shapes.

  • ≈ [−0.26, ∞)
  • smooth
  • non-monotonic

Bodyanskiy & Kostiuk, 2023 (via Kunc & Kléma, 2024)

Multiquadratic activation

MAF

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 1
f(x) = √(‖x − a‖² + b²)

A multiquadric radial basis function with trainable centre a and width b.

  • ≈ [1, ∞)
  • smooth
  • non-monotonic

Huang et al., 2012 (via Kunc & Kléma, 2024)

EIS-1

x ∈ [−4, 4] · dashed: f′(x) · d = 1, e = 1
f(x) = x ln(1 + ex) / (x + d e−ex)

A member of the EIS family (softplus-weighted rational functions) with trainable parameters d and e.

  • ≈ [−0.22, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2021 (via Kunc & Kléma, 2024)

EIS-2

x ∈ [−4, 4] · dashed: f′(x) · b = 1, c = 1
f(x) = x ln(1 + ex) / √(b + cx²)

An EIS family member that normalises x · softplus(x) by an algebraic term, giving roughly linear growth for large inputs.

  • ≈ [−0.23, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2021 (via Kunc & Kléma, 2024)

EIS-3

x ∈ [−4, 4] · dashed: f′(x) · d = 2, e = 1
f(x) = x / (1 + d e−ex)

An EIS family member equivalent to a shifted Swish: d sets the offset of the gate and e its slope.

  • ≈ [−0.16, ∞)
  • smooth
  • non-monotonic

Biswas et al., 2021 (via Kunc & Kléma, 2024)

Neuron-adaptive activation function

NAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 1, d = 2 (example)
f(x) = a e−bx² + c / (1 + e−dx)

A Gaussian bump plus a sigmoid, with four network-wide trainable parameters; it performed well on small regression tasks.

  • ≈ [0, 1.56]
  • smooth
  • non-monotonic
  • bounded

Xu & Zhang, 2000 (via Kunc & Kléma, 2024)

Sine–Gaussian–sigmoid combination

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 2, c = 0.5, d = 1, e = 1, f = 2 (example)
f(x) = a sin(bx) + c e−dx² + e / (1 + e−fx)

A six-parameter trainable mix of a sine, a Gaussian and a scaled sigmoid, an extension of the scaled logistic sigmoid.

  • ≈ [−0.5, 1.6]
  • smooth
  • non-monotonic
  • bounded

Xu & Zhang, 2002 (via Kunc & Kléma, 2024)

Modified Weibull function

MWF

x ∈ [0, 3] · dashed: f′(x) · a = 1, b = 2, c = 1, d = 2 (example)
f(x) = (x/a)b − 1 exp(−(x/c)d)

A Weibull-shaped bump: polynomial growth for small inputs, exponential decay for large ones, with a trainable peak position. Defined for x ≥ 0.

  • ≈ [0, 0.43]
  • smooth
  • non-monotonic
  • bounded

Husain et al., 2021 (via Kunc & Kléma, 2024)

Sincos

x ∈ [−6.3, 6.3] · dashed: f′(x) · a = 1, b = 1, c = 0.5, d = 2 (example)
f(x) = a sin(bx) + c cos(dx)

A trainable sum of a sine and a cosine.

  • ≈ [−1.5, 0.75]
  • smooth
  • non-monotonic
  • bounded

Efe, 2008 (via Kunc & Kléma, 2024)

Sine + sigmoid (CSS)

CSS

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 2, c = 1, d = 1 (example)
f(x) = a sin(bx) + c σ(dx)

A trainable sum of a sine and a sigmoid.

  • ≈ [−0.5, 1.5]
  • smooth
  • non-monotonic
  • bounded

Özbay & Tezel, 2010 (via Kunc & Kléma, 2024)

Catalytic activation

CatAF

x ∈ [−4, 4] · dashed: f′(x) · g = ReLU, a = 0.5
f(x) = x sin(a) + g(x) cos(a)

Mixes the identity and any activation g through a trainable angle a, so a unit can move continuously between linear and nonlinear. Plotted for g = ReLU.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Sarkar et al., 2022 (via Kunc & Kléma, 2024)

Expcos

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 3 (example)
f(x) = e−ax² cos(bx)

A cosine wave under a Gaussian envelope: a localised oscillation with trainable width and frequency.

  • ≈ [−0.61, 1]
  • smooth
  • non-monotonic
  • bounded

Özbay & Tezel, 2010 (via Kunc & Kléma, 2024)

Adaptive blending unit

ABU

x ∈ [−4, 4] · dashed: f′(x) · 0.5 ReLU + 0.3 tanh + 0.2 identity (example)
f(x) = Σj aj gj(x)

A trainable weighted sum of activations from a fixed pool, learned per layer, so the network can choose its own activation.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Sütfeld et al., 2020 (via Kunc & Kléma, 2024)

Trainable compound activation

TCA

x ∈ [−4, 4] · dashed: f′(x) · tanh and ReLU, with example scales and shifts
f(x) = (1/k) Σj fj(eaj x + bj)

Averages several activations, each with its own trainable horizontal scale and shift.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Baggenstoss, 2022 (via Kunc & Kléma, 2024)

Gating adaptive blending unit

GABU

x ∈ [−4, 4] · dashed: f′(x) · ReLU, tanh and sigmoid with gate logits 1, −1, 0 (example)
f(x) = Σj σ(aj) gj(x)

Each activation in the pool is switched on or off by a learned sigmoid gate, so every neuron can pick its activation.

  • ≈ [−0.27, ∞)
  • non-smooth
  • monotonic

Dushkoff & Ptucha, 2016 (via Kunc & Kléma, 2024)

Rowdy activation

x ∈ [−4, 4] · dashed: f′(x) · g = ReLU, c = 2, a₁ = 0.1, a₂ = 0.05 (example)
f(x) = a₀ g(x) + Σj aj c sin(jcx)

A base activation plus trainable high-frequency sine terms, which helps physics-informed networks escape poor minima. A special case of Deep Kronecker networks.

  • ≈ [−0.26, ∞)
  • non-smooth
  • non-monotonic

Jagtap et al., 2022 (via Kunc & Kléma, 2024)

Self-learnable activation (polynomial)

SLAF

x ∈ [−3, 3] · dashed: f′(x) · a = (0.1, 0.5, 0.3) (example)
f(x) = Σj aj xj

A learnable polynomial per neuron. Inputs are normalised because the gradient grows with powers of x.

  • ≈ [−0.11, ∞)
  • smooth
  • non-monotonic

Goyal et al., 2019 (via Kunc & Kléma, 2024)

Chebyshev polynomial activation

ChPAF

x ∈ [−1.5, 1.5] · dashed: f′(x) · a = (0, 0.8, 0.2, −0.1) (example)
f(x) = Σj aj Cj(x), Cj+1 = 2xCj − Cj−1

A learnable combination of Chebyshev polynomials (up to order 3 was used), shared across the network.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Deepthi et al., 2023 (via Kunc & Kléma, 2024)

Legendre polynomial activation

LPAF

x ∈ [−1.5, 1.5] · dashed: f′(x) · a = (0, 0.8, 0.2, −0.1); standard Legendre recursion (the survey's indices are garbled)
f(x) = Σj aj Pj(x)

A learnable combination of Legendre polynomials, used to study how well polynomials approximate standard nonlinearities.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Venkatappareddy et al., 2021 (via Kunc & Kléma, 2024)

Hermite polynomial activation

HPAF

x ∈ [−2.5, 2.5] · dashed: f′(x) · a = (0, 0.4, 0.05, −0.01) (example)
f(x) = Σj aj Hj(x)

A learnable combination of (physicists') Hermite polynomials.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Lokhande et al., 2020 (via Kunc & Kléma, 2024)

Mixture of Gaussian unit

MoGU

x ∈ [−4, 4] · dashed: f′(x) · two Gaussians: (a, μ, σ) = (1, 0, 0.7) and (−0.5, 1.5, 0.5) (example)
f(x) = Σj aj / √(2πσj²) · exp(−(x − μj)² / 2σj²)

A trainable mixture of Gaussian bumps and dips, motivated by the peaks and valleys that look-up-table activations tend to learn.

  • ≈ [−0.35, 0.57]
  • smooth
  • non-monotonic
  • bounded

Wang et al., 2018 (via Kunc & Kléma, 2024)

Fourier series activation

FSA

x ∈ [−6.3, 6.3] · dashed: f′(x) · r = 2, d = 1, example coefficients
f(x) = a + Σj=1r (bj cos(jdx) + cj sin(jdx))

A truncated Fourier series with trainable coefficients and base frequency (rank r = 5 was used).

  • ≈ [−0.72, 1.3]
  • smooth
  • non-monotonic
  • bounded

Liao, 2020 (via Kunc & Kléma, 2024)

Enhanced rational activation

ERA

x ∈ [−4, 4] · dashed: f′(x) · cubic numerator, one quadratic factor (c = 0, d = 1, ε = 0.1); example coefficients
f(x) = Σj ajxj / (ε + Πk((x − ck)² + dk²))

A rational activation whose denominator is a product of positive quadratics, so it has no poles and needs no absolute value, unlike PAU.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Trimmel et al., 2022 (via Kunc & Kléma, 2024)

Truncated Gaussian unit

TruG

ξ = [0, ∞)ξ = [−1, 1]

x ∈ [−4, 4] · σ = 1; standard truncated-normal mean (the survey's denominator has its sign flipped)
f(x) = x + σ (φ(α) − φ(β)) / (Φ(β) − Φ(α)), α = (ξ₁ − x)/σ, β = (ξ₂ − x)/σ

The mean of a Gaussian truncated to [ξ₁, ξ₂]: [0, ∞) gives a smooth ReLU and [−1, 1] a tanh-like curve. The truncation points can be trained.

  • depends on ξ
  • smooth
  • monotonic

Su et al., 2017 (via Kunc & Kléma, 2024)

Kernel activation function

KAF

x ∈ [−5, 5] · dashed: f′(x) · dictionary −2…2 (Δ = 1), example mixing coefficients
f(x) = Σj aj exp(−γ(x − dj)²), γ = 1/(6Δ²)

A non-parametric activation: a trainable weighted sum of Gaussian kernels centred on a fixed dictionary of points.

  • ≈ [−0.045, 3.01]
  • smooth
  • non-monotonic
  • bounded

Scardapane et al., 2019 (via Kunc & Kléma, 2024)

Exponential distance activation

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5 (example)
f(x) = exp(−a|x − b|)

A Laplacian-kernel bump with trainable sharpness and centre; one of the activations trained in random-weight networks.

  • ≈ [0, 1]
  • non-smooth
  • non-monotonic
  • bounded

Ertuğrul, 2018 (via Kunc & Kléma, 2024)

III

Experimental & research

Periodic and radial functions, the many descendants of Swish and Mish, and other proposals from the literature that are not yet mainstream.

180 functions

Periodic & radial

20

Oscillating and bump-shaped functions used for implicit representations, periodic signals and RBF networks.

Sine (SIREN)

Sinusoid

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = sin(ω₀x)

A periodic activation for coordinate-based networks. With ω₀ = 30 and a matching initialisation, SIRENs represent images, audio and signed distance fields in fine detail, and their derivatives are SIRENs too. Plotted with ω₀ = 1.

  • [−1, 1]
  • smooth
  • non-monotonic
  • bounded

Sitzmann et al., 2020 (SIREN)

Chosen for Implicit neural representations, Physics-informed neural networks

Cosine

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = cos(x)

Periodic and even. Appears in random Fourier-feature networks and as an alternative to sine in implicit neural representations.

  • [−1, 1]
  • smooth
  • non-monotonic
  • bounded

Sinc

x ∈ [−10, 10] · dashed: f′(x)
f(x) = sin(x) / x

A decaying oscillation whose Fourier transform is a box: an ideal low-pass filter in function form. Studied as an activation for function approximation.

  • ≈ [−0.22, 1]
  • smooth
  • non-monotonic
  • bounded

Snake

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x + sin²(ax) / a

The identity plus a periodic ripple, which gives networks an inductive bias toward periodic signals while staying monotonic. BigVGAN uses a version with learnable a for audio synthesis. Plotted with a = 1.

  • (−∞, ∞)
  • smooth
  • monotonic

Ziyin et al., 2020

Chosen for Audio and waveform generation

Growing cosine unit

GCU

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = x · cos(x)

Oscillates with growing amplitude. Because it is non-monotonic with many zeros, a single GCU neuron can learn XOR.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Noel et al., 2021

SinLU

Sinu-sigmoidal linear unit

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (x + a sin(bx)) · σ(x)

A Swish-like gated unit that adds a learned sinusoidal ripple to the input before gating. Plotted with a = b = 1.

  • ≈ [−0.5, ∞)
  • smooth
  • non-monotonic

Paul et al., 2022

Gaussian

RBF

x ∈ [−3, 3] · dashed: f′(x)
f(x) = e−x²

A bump that responds only near zero. The classic activation of radial basis function networks, and also used in implicit neural representations.

  • (0, 1]
  • smooth
  • non-monotonic
  • bounded

Chosen for Implicit neural representations

Ricker wavelet

Mexican hat

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (1 − x²) e−x²/2

The 'Mexican hat': a negated second derivative of a Gaussian. Wavelet neural networks use it to capture localised, multi-scale features.

  • [−2e−3/2, 1] ≈ [−0.45, 1]
  • smooth
  • non-monotonic
  • bounded

Multiquadric

x ∈ [−4, 4] · dashed: f′(x)
f(x) = √(x² + c²)

A radial basis function that grows with distance from the centre (c = 1 plotted). Used in RBF interpolation and some RBF networks.

  • [c, ∞)
  • smooth
  • non-monotonic

Inverse multiquadric

x ∈ [−4, 4] · dashed: f′(x)
f(x) = 1 / √(x² + c²)

A heavy-tailed bump: it decays like 1/|x| rather than exponentially, so each unit responds to a wider neighbourhood than a Gaussian (c = 1 plotted).

  • (0, 1/c]
  • smooth
  • non-monotonic
  • bounded

Piecewise Mexican-hat

PMAF

x ∈ [−8, 8] · dashed: f′(x) · a = 4
f(x) =C (1 − (x + a)²) e−(x + a)²/2if x < 0C (1 − (x − a)²) e−(x − a)²/2if x ≥ 0

Two Mexican-hat wavelets centred at ±a (C = 2π<sup>−1/4</sup>/√3), so the unit responds to inputs near a or −a.

  • ≈ [−0.39, 0.87]
  • smooth
  • non-monotonic
  • bounded

Liu et al., 2016 (via Kunc & Kléma, 2024)

Piecewise radial basis function

PRBF

x ∈ [−9, 9] · dashed: f′(x) · a = 3, b = 1
f(x) =exp(−(x − 2a)² / b²)if x ≥ aexp(−x² / b²)if −a < x < aexp(−(x + 2a)² / b²)if x ≤ −a

Three Gaussian bumps centred at −2a, 0 and 2a, so the unit responds to several separate input ranges.

  • ≈ [0, 1]
  • smooth
  • non-monotonic
  • bounded

Liu et al., 2016 (via Kunc & Kléma, 2024)

Scaled and shifted sine

x ∈ [−6.3, 6.3] · dashed: f′(x) · a = 1.2
f(x) = 0.5 sin(ax) + 0.3

A sine with reduced amplitude and an upward offset; frequencies a from 0.2 to 4 were compared.

  • ≈ [−0.2, 0.8]
  • smooth
  • non-monotonic
  • bounded

Gashler & Ashmore, 2014 (via Kunc & Kléma, 2024)

1 − cosine

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = 1 − cos(x)

A non-negative cosine bump that is zero at the origin.

  • [0, 2]
  • smooth
  • non-monotonic
  • bounded

Daskin, 2018 (via Kunc & Kléma, 2024)

Cosid

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = cos(x) − x

A decreasing line with a cosine ripple on top.

  • (−∞, ∞)
  • smooth
  • monotonic

Xu & Philip Chen, 2020 (via Kunc & Kléma, 2024)

SinP

x ∈ [−6.3, 6.3] · dashed: f′(x) · a = 1
f(x) = sin(x) − ax

A sine ripple on a decreasing line; slopes a = 1, 1.5 and 2 were used.

  • (−∞, ∞)
  • smooth
  • monotonic

Chan et al., 2018 (via Kunc & Kléma, 2024)

Amplifying sine unit

ASU

x ∈ [−6.3, 6.3] · dashed: f′(x)
f(x) = x · sin(x)

The sine counterpart of the growing cosine unit: an even function oscillating with growing amplitude.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Rahman et al., 2023 (via Kunc & Kléma, 2024)

Shifted sinc unit

SSU

x ∈ [−8, 12] · dashed: f′(x) · sinc(x) = sin(x)/x
f(x) = π sinc(x − π)

A sinc shifted right by π and scaled by π, so its main lobe sits at x = π.

  • ≈ [−0.68, 3.14]
  • smooth
  • non-monotonic
  • bounded

Gustineli, 2022 (via Kunc & Kléma, 2024)

Decaying sine unit

DSU

x ∈ [−12, 12] · dashed: f′(x) · sinc(x) = sin(x)/x
f(x) = (π/2)(sinc(x − π) − sinc(x + π))

The difference of two shifted sincs: an odd, decaying oscillation.

  • ≈ [−1.64, 1.64]
  • smooth
  • non-monotonic
  • bounded

Gustineli, 2022 (via Kunc & Kléma, 2024)

Wave

x ∈ [−3, 3] · dashed: f′(x) · a = 1
f(x) = (1 − x²) e−ax²

A Mexican-hat shape with a single width parameter; a = ½ gives the Ricker wavelet.

  • ≈ [−0.14, 1]
  • smooth
  • non-monotonic
  • bounded

Efe, 2008 (via Kunc & Kléma, 2024)

Sigmoid variants

26

Reshaped, shifted, cascaded and piecewise versions of the logistic sigmoid and tanh.

Shifted and scaled sigmoid

SSS

x ∈ [−4, 4] · dashed: f′(x) · a = 2, b = 1
f(x) = σ(a(x − b))

The logistic sigmoid stretched by a and shifted by b, so the transition can be placed and sharpened for a particular input scale.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Arai & Imamura, 2018 (via Kunc & Kléma, 2024)

Variant sigmoid function

VSF

x ∈ [−4, 4] · dashed: f′(x) · a = 2, b = 1, c = 1
f(x) = a σ(bx) − c

An early three-parameter sigmoid: a scales the output, b sets the slope and c shifts it down, which can make it zero-centred.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Han & Moraga, 1995 (via Kunc & Kléma, 2024)

Bi-modal sigmoid

x ∈ [−8, 4] · dashed: f′(x) · b = 4
f(x) = ½ [σ(x) + σ(x + b)]

The average of two shifted sigmoids, so the curve rises in two steps and its derivative has two peaks.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Sodhi & Chandra, 2014 (via Kunc & Kléma, 2024)

Sigmoid-Algebraic

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = σ( x(1 + a|x|) / (1 + |x|(1 + a|x|)) )

A sigmoid applied to an algebraic squashing of the input. Because the inner term is itself bounded, the output never gets close to 0 or 1.

  • ≈ [0.27, 0.73]
  • smooth
  • monotonic
  • bounded

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Triple-state sigmoid

TS-sigmoid

x ∈ [−4, 8] · dashed: f′(x) · a = 2, b = 4
f(x) = σ(x) [σ(x) + σ(x − a) + σ(x − b)]

A sigmoid multiplied by a sum of three shifted sigmoids, so it climbs to 3 through a staircase of intermediate levels.

  • ≈ [0, 3]
  • smooth
  • monotonic
  • bounded

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Improved logistic sigmoid

x ∈ [−6, 6] · dashed: f′(x) · a = 0.2, b = 2; outer pieces joined continuously
f(x) =a(x − b) + σ(b)if x ≥ bσ(x)if −b < x < ba(x + b) + σ(−b)if x ≤ −b

A sigmoid in the middle with straight lines of slope a outside ±b, so the gradient never vanishes. The slope a should be larger than the sigmoid's own slope at b.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Qin et al., 2019 (via Kunc & Kléma, 2024)

SigLin

Sigmoid + linear

x ∈ [−8, 8] · dashed: f′(x) · a = 0.1
f(x) = σ(x) + ax

A sigmoid plus a small linear term, which keeps a non-zero gradient everywhere.

  • (−∞, ∞)
  • smooth
  • monotonic

Roodschild et al., 2020 (via Kunc & Kléma, 2024)

Soft-root-sign

SRS

x ∈ [−6, 10] · dashed: f′(x) · a = 2, b = 3
f(x) = x / (x/a + e−x/b)

Smooth, non-monotonic and bounded: positive inputs saturate at a, while negative inputs dip below zero and then return to it.

  • ≈ [−2.46, 2]
  • smooth
  • non-monotonic
  • bounded

Li & Zhou, 2020 (via Kunc & Kléma, 2024)

Soft clipping

SC

x ∈ [−2, 3] · dashed: f′(x) · a = 5
f(x) = (1/a) ln[(1 + eax) / (1 + ea(x − 1))]

A smooth version of clipping to [0, 1]: nearly linear between 0 and 1 and flat outside, with a controlling how sharp the corners are.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Klimek & Perelstein, 2020 (via Kunc & Kléma, 2024)

Hexpo

x ∈ [−4, 4] · dashed: f′(x) · a = b = c = d = 1; negative branch written so it saturates, as the original intends
f(x) =−a(e−x/b − 1)if x ≥ 0c(ex/d − 1)if x < 0

Two exponential pieces that saturate at a and −c, giving a tanh-like curve whose gradient can be scaled separately on each side.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Kong & Takatsuka, 2017 (via Kunc & Kléma, 2024)

Smooth step

x ∈ [−4, 4] · dashed: f′(x) · a = 4
f(x) =1if x ≥ a/2−(2/a³)x³ + (3/2a)x + ½if |x| < a/20if x ≤ −a/2

A cubic sigmoid that is exactly 0 below −a/2 and exactly 1 above a/2, so it can switch paths off completely. Used for conditional computation in differentiable tree ensembles.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Hazimeh et al., 2020 (via Kunc & Kléma, 2024)

Elliott function

x ∈ [−8, 8] · dashed: f′(x)
f(x) = 0.5x / (1 + |x|) + 0.5

Softsign rescaled to (0, 1): a sigmoid substitute that needs no exponential, which mattered on early hardware.

  • (0, 1)
  • smooth
  • monotonic
  • bounded

Elliott, 1993 (via Kunc & Kléma, 2024)

Sinc-Sigmoid

x ∈ [−4, 4] · dashed: f′(x)
f(x) = sinc(σ(x)) = sin(σ(x)) / σ(x)

The unnormalised sinc applied to a sigmoid. Since σ(x) stays in (0, 1), the result is a gentle decreasing curve from 1 toward sin(1).

  • ≈ [0.84, 1]
  • smooth
  • monotonic
  • bounded

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Sigmoid-Gumbel

SG

x ∈ [−4, 4] · dashed: f′(x)
f(x) = σ(x) · exp(−e−x)

The product of the logistic and Gumbel CDFs: a sigmoid that rises later and more steeply than σ(x).

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Kaytan et al., 2022 (via Kunc & Kléma, 2024)

NewSigmoid

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (ex − e−x) / √(2(e2x + e−2x))

A tanh-like curve that saturates at ±1/√2.

  • ≈ [−0.71, 0.71]
  • smooth
  • monotonic
  • bounded

Kumar & Sodhi, 2023 (via Kunc & Kléma, 2024)

Root2sigmoid

x ∈ [−10, 10] · dashed: f′(x)
f(x) = (√2x − √2−x) / (2√2 · √(2(√22x + √2−2x)))

A base-√2 relative of NewSigmoid that saturates at ±1/4. The survey notes the original paper's formula appears to contain a typo; this is the survey's corrected form.

  • ≈ [−0.25, 0.25]
  • smooth
  • monotonic
  • bounded

Kumar & Sodhi, 2023 (via Kunc & Kléma, 2024)

LogLog

x ∈ [−4, 4] · dashed: f′(x)
f(x) = exp(−e−x)

The Gumbel CDF used as a sigmoid: asymmetric, leaving 0 quickly and approaching 1 slowly (the mirror image of cloglog). Used in networks for financial time-series forecasting.

  • (0, 1)
  • smooth
  • monotonic
  • bounded

Gomes et al., 2010 (via Kunc & Kléma, 2024)

SechSig

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (x + sech(x)) · σ(x)

A Swish-like gated unit whose gated input gets a bump from sech(x) near zero.

  • ≈ [−0.21, ∞)
  • smooth
  • non-monotonic

Közkurt et al., 2023 (via Kunc & Kléma, 2024)

Parametric SechSig

pSechSig

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = (x + a · sech(x + a)) · σ(x)

SechSig with a fixed parameter a that sets both the height and the position of the bump.

  • ≈ [−0.22, ∞)
  • smooth
  • non-monotonic

Közkurt et al., 2023 (via Kunc & Kléma, 2024)

TanhSig

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (x + tanh(x)) · σ(x)

Like SechSig but adds tanh(x) to the gated input, steepening the curve around zero.

  • ≈ [−0.47, ∞)
  • smooth
  • non-monotonic

Közkurt et al., 2023 (via Kunc & Kléma, 2024)

Parametric TanhSig

pTanhSig

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = (x + a · tanh(x + a)) · σ(x)

TanhSig with a fixed parameter a that scales and shifts the tanh term.

  • ≈ [−0.35, ∞)
  • smooth
  • non-monotonic

Közkurt et al., 2023 (via Kunc & Kléma, 2024)

Multistate activation function

MSAF

x ∈ [−9, 5] · dashed: f′(x)
f(x) = a + Σk σ(x − bk)

Sums shifted sigmoids so a neuron has several stable output levels instead of two. Plotted as the two-step example −1 + σ(x) + σ(x + 4).

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Cai et al., 2015 (via Kunc & Kléma, 2024)

Rootsig

x ∈ [−10, 10] · dashed: f′(x) · a = 1
f(x) = ax / (1 + √(1 + a²x²))

An algebraic sigmoid that saturates at ±1 without exponentials, approaching its limits polynomially.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Duch & Jankowski, 1999 (via Kunc & Kléma, 2024)

Sigmoid–tanh combinations

{σ₂, tanh}{tanh, 0}{σ₂, ax}

x ∈ [−4, 4] · a = 0.1
f(x) =g(x)if x ≥ 0h(x)if x < 0

A family that uses one function for positive inputs and another for negative ones, mixing the bipolar sigmoid σ₂(x) = 2σ(x) − 1, tanh, zero and a linear piece. Three of the proposed pairs are plotted.

  • depends on the pair
  • non-smooth
  • monotonic

Guevraa et al., 2021 (via Kunc & Kléma, 2024)

Modified Elliott function

MEF

x ∈ [−8, 8] · dashed: f′(x)
f(x) = x / √(1 + x²) + ½

An algebraic sigmoid (ISRU with a = 1) shifted up by one half.

  • ≈ [−0.5, 1.5]
  • smooth
  • monotonic
  • bounded

Burhani et al., 2015 (via Kunc & Kléma, 2024)

Aranda-Ordaz

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) = 1 − (1 + a ex)−1/a

An asymmetric link function from statistics that includes the logistic (a = 1) and complementary log-log (a → 0) curves as special cases.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Gomes & Ludermir, 2013; Aranda-Ordaz, 1981 (via Kunc & Kléma, 2024)

Rectifier variants

53

Fixed (non-learned) modifications of ReLU: different negative branches, caps, shifts and smoothings.

Shifted ReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(−1, x)

ReLU moved down by one so the floor is at −1, which brings mean activations closer to zero.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Clevert et al., 2016 (via Kunc & Kléma, 2024)

Sloped ReLU

SlReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) =axif x ≥ 00if x < 0

ReLU with a steeper positive slope a (its authors recommend 1 to 10), the mirror image of Leaky ReLU's idea.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Seo et al., 2017 (via Kunc & Kléma, 2024)

SineReLU

x ∈ [−8, 4] · dashed: f′(x) · a = 0.5
f(x) =xif x ≥ 0a(sin x − cos x)if x < 0

Identity for positive inputs and a small oscillation for negative ones, so negative inputs keep a non-zero gradient.

  • ≈ [−0.71, ∞)
  • non-smooth
  • non-monotonic

Gupta & Ahuja, 2021; Rodrigues, 2018 (via Kunc & Kléma, 2024)

Minsin

x ∈ [−6, 10] · dashed: f′(x)
f(x) = min(x, sin(x))

The identity for negative inputs and a sine for positive ones, so positive outputs stay bounded by 1.

  • ≈ (−∞, 1]
  • smooth
  • non-monotonic

Xu & Philip Chen, 2020 (via Kunc & Kléma, 2024)

Variational linear unit

VLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.25, b = 4
f(x) = max(0, x) + a sin(bx)

ReLU with a sinusoidal ripple added everywhere, so even negative inputs have a gradient.

  • ≈ [−0.25, ∞)
  • non-smooth
  • non-monotonic

Gupta & Ahuja, 2021 (via Kunc & Kléma, 2024)

Natural-logarithm ReLU

NLReLU

x ∈ [−3, 8] · dashed: f′(x) · a = 1
f(x) = ln(a · max(0, x) + 1)

ReLU with a logarithmic positive side, which compresses large activations.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Liu et al., 2019 (via Kunc & Kléma, 2024)

Softplus linear unit

SLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 02 ln((ex + 1) / 2)if x < 0

Identity for positive inputs and a scaled, shifted softplus for negative ones, with parameters chosen so the function is continuous and differentiable at zero and negative outputs pull the mean toward zero.

  • ≈ [−1.39, ∞)
  • smooth
  • monotonic

Zhao et al., 2017 (via Kunc & Kléma, 2024)

Rectified softplus

ReSP

x ∈ [−4, 4] · dashed: f′(x) · a = 1.4
f(x) =ax + ln 2if x ≥ 0ln(1 + ex)if x < 0

Softplus for negative inputs and a steeper line for positive ones; slopes between 1.4 and 2.0 were found to work well.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Xu et al., 2018 (via Kunc & Kléma, 2024)

Parametric rectified non-linear unit

PReNU

x ∈ [−3, 6] · dashed: f′(x) · a = 0.5
f(x) =x − a ln(x + 1)if x ≥ 00if x < 0

ReLU whose positive side bends slightly below the identity, making the positive part nonlinear.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Jaafari et al., 2020 (via Kunc & Kléma, 2024)

Bounded ReLU

BReLU, ReLUN

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) = min(max(0, x), a)

ReLU capped at a, which prevents unbounded activations; ReLU6 is the special case a = 6. Also published independently as ReLUN.

  • ≈ [0, 2]
  • non-smooth
  • monotonic
  • bounded

Liew et al., 2016 (via Kunc & Kléma, 2024)

Vertically shifted HardTanh

SvHardTanh

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = HardTanh(x) + a

HardTanh moved up by a, so its output is centred at a instead of zero.

  • ≈ [−0.5, 1.5]
  • non-smooth
  • monotonic
  • bounded

Kim et al., 2021 (via Kunc & Kléma, 2024)

Horizontally shifted HardTanh

ShHardTanh

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5; middle piece written as x + a so the function is continuous
f(x) =−1if x < −1 − ax + aif −1 − a ≤ x ≤ 1 − a1if x > 1 − a

HardTanh moved left by a, so its linear zone is no longer centred on zero.

  • ≈ [−1, 1]
  • non-smooth
  • monotonic
  • bounded

Kim et al., 2021 (via Kunc & Kléma, 2024)

Bounded leaky ReLU

BLReLU

x ∈ [−4, 6] · dashed: f′(x) · a = 0.1, b = 2
f(x) =axif x ≤ 0xif 0 < x < bax + cif x > b

Leaky ReLU whose positive side also flattens to slope a above the threshold b, with c = (1 − a)b keeping it continuous.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Liew et al., 2016 (via Kunc & Kléma, 2024)

Pan function

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) =x − aif x ≥ a0if −a < x < a−x − aif x ≤ −a

Zero inside [−a, a] and rising linearly outside it on both sides: soft thresholding of the absolute value.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

Absolute linear unit

AbsLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) =xif x ≥ 0a|x|if x < 0

Identity for positive inputs and a scaled absolute value for negative ones, so negative inputs also produce positive outputs.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Alkhouly et al., 2021 (via Kunc & Kléma, 2024)

Mirrored ReLU

mReLU

x ∈ [−3, 3] · dashed: f′(x)
f(x) = min(ReLU(1 − x), ReLU(1 + x))

A triangular 'tent' that peaks at 1 for x = 0 and is zero outside [−1, 1], suppressing unusual (large) inputs.

  • ≈ [0, 1]
  • non-smooth
  • non-monotonic
  • bounded

Zhao & Griffin, 2016 (via Kunc & Kléma, 2024)

Leaky single-peaked triangle linear unit

LSPTLU, LRTLU

x ∈ [−3, 4] · dashed: f′(x) · a = 1
f(x) =0.2xif x < 0xif 0 ≤ x ≤ a2a − xif a < x ≤ 2a0if x > 2a

A leaky ReLU that peaks at a and falls back to zero by 2a, so only a band of positive inputs is passed strongly.

  • ≈ (−∞, 1]
  • non-smooth
  • non-monotonic

Shan et al., 2019 (via Kunc & Kléma, 2024)

SoftModulusQ

x ∈ [−3, 3] · dashed: f′(x) · conditions written as |x| ≤ 1 / |x| > 1 (the survey's printed conditions overlap)
f(x) =x²(2 − |x|)if |x| ≤ 1|x|if |x| > 1

A smooth stand-in for |x|: a quadratic-like patch near zero that joins the absolute value at ±1.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Vallés-Pérez et al., 2023 (via Kunc & Kléma, 2024)

SoftModulusT

x ∈ [−3, 3] · dashed: f′(x) · a = 0.5
f(x) = x · tanh(x / a)

A tanh-smoothed absolute value; a = 1 gives LiSHT and smaller a makes it closer to |x|. Its authors used a = 0.01.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Vallés-Pérez et al., 2023 (via Kunc & Kléma, 2024)

SignReLU

DLU

x ∈ [−8, 4] · dashed: f′(x) · a = 1
f(x) =xif x ≥ 0a x / (|x| + 1)if x < 0

ReLU for positive inputs and a softsign for negative ones, which saturates at −a instead of being zero. Also published as DLU.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Lin & Shen, 2018 (via Kunc & Kléma, 2024)

Li-ReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.2
f(x) =ax + xif x ≥ 0axif x < 0

ReLU plus a linear term ax, equivalent to a leaky ReLU whose positive slope is 1 + a.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Elakkiya & Dejey, 2024 (via Kunc & Kléma, 2024)

Negative CReLU

NCReLU

ReLU(x)−ReLU(−x)

x ∈ [−4, 4]
f(x) = [ReLU(x), −ReLU(−x)]

Like CReLU, it doubles each channel, but keeps the negative part's sign, so the two outputs are max(x, 0) and min(x, 0).

  • ℝ²
  • non-smooth
  • monotonic

Zagoruyko & Komodakis, 2017 (via Kunc & Kléma, 2024)

Delay ReLU

DRLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) = max(0, x − a)

ReLU shifted right by a fixed delay a, so it only switches on once the input exceeds a.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Shan et al., 2022 (via Kunc & Kléma, 2024)

Displaced ReLU

DisReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) =xif x + a ≥ 0−aif x + a < 0

ReLU whose corner is moved to (−a, −a); a = 1 gives the shifted ReLU.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Macêdo et al., 2019 (via Kunc & Kléma, 2024)

Modified leaky ReLU

MLReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) =xif x + a > 0−axif x + a ≤ 0

A translated leaky ReLU in which one parameter a sets both the threshold and the negative slope. As written, the function jumps at x = −a.

  • ≈ [−0.49, ∞)
  • non-smooth
  • non-monotonic

Yang et al., 2022 (via Kunc & Kléma, 2024)

Flatted-T swish

FTS

x ∈ [−4, 4] · dashed: f′(x) · T = −0.2
f(x) = ReLU(x) · σ(x) + T

Swish on the positive side and a flat value T on the negative side (T = −0.2 is recommended); T = 0 was also published as ReLU-Swish.

  • ≈ [−0.2, ∞)
  • smooth
  • monotonic

Chieng et al., 2018 (via Kunc & Kléma, 2024)

Optimal activation function

OAF

x ∈ [−4, 4] · dashed: f′(x)
f(x) = ReLU(x) + x · σ(x)

The sum of ReLU and SiLU: Swish's negative lobe with a steeper positive slope.

  • ≈ [−0.28, ∞)
  • non-smooth
  • non-monotonic

Sharma, 2020 (via Kunc & Kléma, 2024)

Rectified exponential unit

REU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 0x exif x < 0

Identity for positive inputs and x·eˣ for negative ones, which gives Swish's non-monotonic dip with ReLU's positive side.

  • ≈ [−0.37, ∞)
  • smooth
  • non-monotonic

Ying et al., 2019 (via Kunc & Kléma, 2024)

Apical dendrite activation

ADA

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0
f(x) =exp(−ax + b)if x ≥ 00if x < 0

A biologically inspired unit that fires most strongly just above zero and decays for larger inputs, like an apical dendrite's response.

  • ≈ [0, 1]
  • non-smooth
  • non-monotonic
  • bounded

Georgescu et al., 2023 (via Kunc & Kléma, 2024)

Leaky apical dendrite activation

LADA

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0, c = 0.01
f(x) =exp(−ax + b)if x ≥ 0cxif x < 0

ADA with a small leaky slope c for negative inputs.

  • ≈ (−∞, 1]
  • non-smooth
  • non-monotonic

Georgescu et al., 2023 (via Kunc & Kléma, 2024)

SigLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 0(1 − e−2x) / (1 + e−2x)if x < 0

An ELU alternative whose negative side is tanh(x), saturating at −1.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Guevraa et al., 2021 (via Kunc & Kléma, 2024)

SaRa

Swish and ReLU activation

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 0.7
f(x) =xif x ≥ 0x / (1 + a e−bx)if x < 0

Swish-like on the negative side and identity on the positive side. (The survey reconstructs the formula; the original paper's version was malformed.)

  • ≈ [−0.66, ∞)
  • non-smooth
  • non-monotonic

Qureshi & Umar, 2022 (via Kunc & Kléma, 2024)

Maxsig

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(x, σ(x))

The larger of x and the sigmoid: sigmoid-shaped for negative inputs, identity once x overtakes σ(x).

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Xu & Philip Chen, 2020 (via Kunc & Kléma, 2024)

Tanh linear unit

ThLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x ≥ 0tanh(x / 2)if x < 0

Identity for positive inputs and a half-rate tanh for negative ones, saturating at −1.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Fu et al., 2022 (via Kunc & Kléma, 2024)

Difference ELU

DiffELU

x ∈ [−8, 3] · dashed: f′(x) · a = 0.3, b = 0.1 (recommended)
f(x) =xif x ≥ 0a(x ex − b ebx)if x < 0

An ELU variant whose negative side is a difference of exponentials, giving a dip and a slight negative tail.

  • ≈ [−0.14, ∞)
  • non-smooth
  • non-monotonic

Hu et al., 2020 (via Kunc & Kléma, 2024)

Polynomial linear unit

PolyLU, FPLUS

x ∈ [−8, 4] · dashed: f′(x)
f(x) =xif x ≥ 01 / (1 − x) − 1if x < 0

An ELU look-alike whose negative side is rational rather than exponential, saturating at −1. Also published as FPLUS.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Feng & Yang, 2023 (via Kunc & Kléma, 2024)

Inverse polynomial linear unit

IpLU

x ∈ [−6, 4] · dashed: f′(x) · a = 2; written as x/(1 + |x|ᵃ) (as printed, the survey's form jumps at 0)
f(x) =xif x ≥ 0x / (1 + |x|a)if x < 0

Identity for positive inputs; negative inputs are damped by 1/(1 + |x|<sup>a</sup>), so their slope stays small.

  • ≈ [−0.5, ∞)
  • smooth
  • non-monotonic

Alkhouly et al., 2021 (via Kunc & Kléma, 2024)

Power linear unit

PoLU

x ∈ [−6, 4] · dashed: f′(x) · a = 1.5
f(x) =xif x ≥ 0(1 − x)−a − 1if x < 0

An ELU-like unit with a power-law negative side that saturates at −1; a = 1, 1.5 and 2 were tested.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Li et al., 2018 (via Kunc & Kléma, 2024)

Power function linear unit

PFLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · ½ (1 + x / √(1 + x²))

A Swish-like gated unit whose gate is the algebraic sigmoid ½(1 + x/√(1 + x²)), with no exponentials.

  • ≈ [−0.15, ∞)
  • smooth
  • non-monotonic

Zhu et al., 2021 (via Kunc & Kléma, 2024)

Faster power function linear unit

FPFLU

x ∈ [−8, 4] · dashed: f′(x)
f(x) =xif x ≥ 0x + x² / √(1 + x²)if x < 0

A cheaper PFLU variant: identity for positive inputs and a curve that returns toward −1 for negative ones.

  • ≈ [−0.3, ∞)
  • smooth
  • non-monotonic

Zhu et al., 2021 (via Kunc & Kléma, 2024)

Leaky SELU

LSELU

x ∈ [−4, 4] · dashed: f′(x) · a, b as in SELU; c = 0.01
f(x) =axif x ≥ 0ab(ex − 1) + acxif x < 0

SELU with an extra leaky term c on the negative side, so it no longer saturates completely.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Chen et al., 2021 (via Kunc & Kléma, 2024)

Scaled exponentially-regularised linear unit

SERLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 2 (example values)
f(x) =axif x ≥ 0ab x exif x < 0

A SELU-style unit whose negative side is x·eˣ, so it bumps down and returns to zero instead of saturating.

  • ≈ [−0.74, ∞)
  • non-smooth
  • non-monotonic

Zhang & Li, 2018 (via Kunc & Kléma, 2024)

Scaled scaled ELU

sSELU

x ∈ [−4, 4] · dashed: f′(x) · a, b as in SELU; c = 0.5
f(x) =axif x ≥ 0ab(ecx − 1)if x < 0

SELU with the negative inputs rescaled by c before the exponential, which slows its saturation.

  • ≈ [−1.76, ∞)
  • non-smooth
  • monotonic

Chen et al., 2021 (via Kunc & Kléma, 2024)

RSigELU

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5; middle condition written as 0 ≤ x ≤ 1 (the survey's is a typo)
f(x) =x σ(x) a + xif x > 1xif 0 ≤ x ≤ 1a(ex − 1)if x < 0

ELU-like for negative inputs, identity on [0, 1], and steeper above 1 thanks to an added sigmoid-weighted term. a = 0 gives ReLU.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Kiliçarslan & Celik, 2021 (via Kunc & Kléma, 2024)

RSigELUD

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5, b = 0.5
f(x) =x σ(x) a + xif x > 1xif 0 ≤ x ≤ 1b(ex − 1)if x < 0

RSigELU with separate parameters for the positive (a) and negative (b) sides.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Kiliçarslan & Celik, 2021 (via Kunc & Kléma, 2024)

HardSReLUE

x ∈ [−4, 4] · dashed: f′(x) · a = 0.5
f(x) =a x · hardsigmoid(x) + xif x ≥ 0a(ex − 1)if x < 0

ELU on the negative side and an accelerating positive side built from a hard sigmoid, cheap to compute.

  • ≈ [−0.5, ∞)
  • non-smooth
  • monotonic

Kiliçarslan, 2022 (via Kunc & Kléma, 2024)

LS-ReLU

x ∈ [−6, 8] · dashed: f′(x) · a = 1, b = 1 (natural log)
f(x) =x / (1 + |x|)if x ≤ 0xif 0 ≤ x ≤ blog(ax + 1) + |log(ab + 1) − b|if x ≥ b

Softsign for negative inputs, identity up to b, then a logarithmic positive side that compresses large activations.

  • ≈ [−1, ∞)
  • non-smooth
  • monotonic

Wang et al., 2020 (via Kunc & Kléma, 2024)

Parametric softplus

PSoftplus

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = ln 2
f(x) = a (ln(ex + 1) − b)

Softplus with a scale a and a shift b; the shift lets the mean output move toward zero.

  • ≈ [−0.69, ∞)
  • smooth
  • monotonic

Sun et al., 2019 (via Kunc & Kléma, 2024)

Soft++

Soft++

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 2
f(x) = ln(1 + eax) + x/b − ln 2

A non-saturating softplus extension: an added linear term keeps negative inputs from flattening out. a = 1, b = 2 worked well.

  • (−∞, ∞)
  • smooth
  • monotonic

Ciuparu et al., 2020 (via Kunc & Kléma, 2024)

Bi-firing

bfire

x ∈ [−4, 4] · dashed: f′(x) · a = 1; middle condition written as −a ≤ x ≤ a (the survey's is a typo)
f(x) =x − a/2if x > ax² / 2aif −a ≤ x ≤ a−x − a/2if x < −a

A smoothed absolute value: a parabola near zero joined to straight lines, so it fires for both large positive and large negative inputs.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Li et al., 2013 (via Kunc & Kléma, 2024)

Bounded bi-firing

bbfire

x ∈ [−6, 6] · dashed: f′(x) · a = 1, b = 3; conditions written consistently (the survey's contain typos)
f(x) =bif x < −b − a/2−x − a/2if −b − a/2 ≤ x < −ax² / 2aif −a ≤ x ≤ ax − a/2if a < x ≤ b + a/2bif x > b + a/2

Bi-firing capped at b on both sides, giving an inverted bell shape.

  • ≈ [0, 3]
  • non-smooth
  • non-monotonic
  • bounded

Liew et al., 2016 (via Kunc & Kléma, 2024)

Horizontally shifted ELU

ShELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 0.5
f(x) =x + bif x + b ≥ 0a(ex + b − 1)if x + b < 0

ELU moved left by a fixed shift b.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Grelsson & Felsberg, 2018 (via Kunc & Kléma, 2024)

Vertically shifted ELU

SvELU

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = −0.3
f(x) =x + bif x ≥ 0a(ex − 1) + bif x < 0

ELU moved down by a fixed shift b.

  • ≈ [−1.3, ∞)
  • smooth
  • monotonic

Grelsson & Felsberg, 2018 (via Kunc & Kléma, 2024)

Swish & Mish descendants

35

Variations on self-gating proposed since 2018, mostly evaluated on image classification benchmarks.

E-swish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = βx · σ(x)

Swish multiplied by a constant β between 1 and 2 (β = 1.375 plotted), which its author found trained faster on image classification.

  • ≈ [−0.38, ∞)
  • smooth
  • non-monotonic

Alcaide, 2018

ELiSH

Exponential linear sigmoid squashing

x ∈ [−4, 4] · dashed: f′(x)
f(x) =x · σ(x)if x ≥ 0(ex − 1) · σ(x)if x < 0

Swish for positive inputs and an ELU-style exponential times the sigmoid for negative ones. Found with a genetic search over activation shapes.

  • ≈ [−0.17, ∞)
  • smooth
  • non-monotonic

Basirat & Roth, 2018

HardELiSH

x ∈ [−4, 4] · dashed: f′(x)
f(x) =x · max(0, min(1, (x + 1)/2))if x ≥ 0(ex − 1) · max(0, min(1, (x + 1)/2))if x < 0

The hard-sigmoid version of ELiSH, cheaper to compute.

  • ≈ [−0.1, ∞)
  • non-smooth
  • non-monotonic

Basirat & Roth, 2018

TanhExp

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh(ex)

Close to linear for positive inputs, because tanh(eˣ) reaches 1 quickly, with a small negative lobe. Proposed for lightweight networks.

  • ≈ [−0.35, ∞)
  • smooth
  • non-monotonic

Liu & Di, 2020

Serf

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · erf(ln(1 + ex))

Log-softplus error function: Mish's shape with erf in place of tanh. Reported gains over Mish and Swish on image benchmarks.

  • ≈ [−0.35, ∞)
  • smooth
  • non-monotonic

Nag & Bhattacharyya, 2021

Logish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · ln(1 + σ(x))

Gates the input with the logarithm of 1 + σ(x); a gentler gate than Swish's, saturating at ln 2.

  • ≈ [−0.25, ∞)
  • smooth
  • non-monotonic

Zhu et al., 2021

Smish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh(ln(1 + σ(x)))

Combines ideas from Mish and Logish: tanh of the log-sigmoid gate.

  • ≈ [−0.25, ∞)
  • smooth
  • non-monotonic

Wang et al., 2022

LiSHT

Linearly scaled hyperbolic tangent

x ∈ [−3, 3] · dashed: f′(x)
f(x) = x · tanh(x)

Even and non-negative: negative inputs map to positive outputs. Its authors argue the large gradients on the negative side avoid dying neurons.

  • [0, ∞)
  • smooth
  • non-monotonic

Roy et al., 2019

Symmetrical GELU

SGELU

x ∈ [−3, 3] · dashed: f′(x) · a = 1
f(x) = a · x · erf(x / √2)

A symmetric (even) variant of GELU: negative inputs give positive outputs, mirroring the positive side. Its authors report more symmetrically distributed weights.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Yu & Su, 2019 (via Kunc & Kléma, 2024)

Cauchy linear unit

CaLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · (arctan(x)/π + ½)

GELU's idea with the Cauchy CDF as the gate. The heavy-tailed gate opens slowly, so the negative lobe is wide and keeps growing in magnitude.

  • ≈ [−0.32, ∞)
  • smooth
  • monotonic

Wu et al., 2023 (via Kunc & Kléma, 2024)

Laplace linear unit

LaLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · ΦLaplace(x)

GELU's idea with the Laplace CDF as the gate, which has exponential tails like the logistic but a sharper peak in its density.

  • ≈ [−0.18, ∞)
  • smooth
  • non-monotonic

Wu et al., 2023 (via Kunc & Kléma, 2024)

Collapsing linear unit

CoLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x / (1 − x e−(x + ex))

A self-gated unit whose gate is built from a double exponential, collapsing negative inputs toward zero.

  • ≈ [−0.38, ∞)
  • smooth
  • non-monotonic

Vagerwal, 2021 (via Kunc & Kléma, 2024)

Triple-state swish

TS-swish

x ∈ [−4, 6] · dashed: f′(x) · a = 2, b = 4
f(x) = x σ(x) [σ(x) + σ(x − a) + σ(x − b)]

SiLU multiplied by a sum of three shifted sigmoids, so the slope increases in stages as the input grows.

  • ≈ [−0.094, ∞)
  • smooth
  • non-monotonic

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Generalised swish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(e−x)

Gates the input with the sigmoid of e<sup>−x</sup>: the gate is about 1 for negative inputs and falls to ½ for large positive ones.

  • (−∞, ∞)
  • smooth
  • monotonic

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Exponential swish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = e−x σ(x)

Despite the name, this simplifies algebraically to σ(−x): a decreasing sigmoid.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Derivative of sigmoid

x ∈ [−4, 4] · dashed: f′(x)
f(x) = e−x σ(x)² = σ(x)(1 − σ(x))

The sigmoid's own derivative used as an activation: a bell-shaped bump peaking at 0.25, similar to a Gaussian.

  • ≈ [0, 0.25]
  • smooth
  • non-monotonic
  • bounded

Koçak & Üstündağ Şiray, 2021 (via Kunc & Kléma, 2024)

Gish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · ln(2 − exp(−ex))

A self-gated unit whose gate rises from 0 to ln 2. Its authors report it beating Mish, Logish and Smish on MNIST and CIFAR-10.

  • ≈ [−0.28, ∞)
  • smooth
  • non-monotonic

Kaytan et al., 2023 (via Kunc & Kléma, 2024)

LogLogish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · (1 − exp(−ex))

x gated by the complementary log-log curve, which opens late and then quickly.

  • ≈ [−0.31, ∞)
  • smooth
  • non-monotonic

Wu et al., 2023 (via Kunc & Kléma, 2024)

ExpExpish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · exp(−e−x)

x gated by the LogLog (Gumbel CDF) curve, which opens early and then slowly.

  • ≈ [−0.097, ∞)
  • smooth
  • non-monotonic

Wu et al., 2023 (via Kunc & Kléma, 2024)

Self arctan

x ∈ [−3, 3] · dashed: f′(x)
f(x) = x · arctan(x)

Even and non-negative, like LiSHT but built from arctan: both large positive and large negative inputs give large positive outputs.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Tümer-Sivri et al., 2023 (via Kunc & Kléma, 2024)

Parametric Logish

pLogish

x ∈ [−3, 3] · dashed: f′(x) · a = 1, b = 10
f(x) = a x · ln(1 + σ(bx))

Logish with fixed scales a and b; a large b makes the gate switch sharply at zero.

  • ≈ [−0.025, ∞)
  • smooth
  • non-monotonic

Zhu et al., 2021 (via Kunc & Kléma, 2024)

Phish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh(GELU(x))

Gates x with tanh of GELU. Its author found it performed on a par with Mish and Swish.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Naveen, 2022 (via Kunc & Kléma, 2024)

Suish

x ∈ [−4, 4] · dashed: f′(x)
f(x) = max(x, x · e−|x|)

Identity for positive inputs; for negative inputs it follows x·e^{x}, which dips and then returns toward zero, like a sharper Swish.

  • ≈ [−0.37, ∞)
  • smooth
  • non-monotonic

Xu & Philip Chen, 2020 (via Kunc & Kléma, 2024)

Tangent-sigmoid ReLU

TSReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh(σ(x))

Mish's recipe with the sigmoid inside tanh. Because tanh(σ(x)) never exceeds tanh(1) ≈ 0.76, the positive slope is below 1.

  • ≈ [−0.27, ∞)
  • smooth
  • non-monotonic

Mercioni et al., 2020 (via Kunc & Kléma, 2024)

Tangent-bipolar-sigmoid ReLU

TBSReLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · tanh((1 − e−x) / (1 + e−x))

TSReLU with the bipolar sigmoid tanh(x/2) inside, so the gate is negative for negative inputs and the output is non-negative on both sides.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Mercioni et al., 2020 (via Kunc & Kléma, 2024)

dSiLU

Derivative of SiLU

x ∈ [−8, 8] · dashed: f′(x)
f(x) = σ(x) (1 + x(1 − σ(x)))

The derivative of SiLU used as an activation: a sigmoid-like curve that overshoots to about 1.1 and dips to about −0.1. Proposed for reinforcement-learning value networks.

  • ≈ [−0.1, 1.1]
  • smooth
  • non-monotonic
  • bounded

Elfwing et al., 2018 (via Kunc & Kléma, 2024)

DoubleSiLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(x · σ(x))

SiLU whose gate is itself driven by SiLU, which flattens the negative lobe.

  • (−∞, ∞)
  • smooth
  • monotonic

Verma et al., 2023 (via Kunc & Kléma, 2024)

Modified SiLU

MSiLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x σ(x) + e−x² − 1 / 4

SiLU plus a small Gaussian bump at the origin, which its authors found speeds up convergence.

  • ≈ [−0.26, ∞)
  • smooth
  • non-monotonic

Hayou et al., 2018 (via Kunc & Kléma, 2024)

Tanh SiLU

TSiLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = tanh(x · σ(x))

SiLU squashed by tanh, which bounds the output at 1. (The survey's printed formula has a typo in the denominator; this is the intended function.)

  • ≈ [−0.27, 1]
  • smooth
  • non-monotonic
  • bounded

Verma et al., 2023 (via Kunc & Kléma, 2024)

Arctan SiLU

ASiLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = arctan(x · σ(x))

SiLU passed through arctan, which bounds it at π/2 but approaches the bound slowly.

  • ≈ [−0.27, 1.57]
  • smooth
  • non-monotonic
  • bounded

Verma et al., 2023 (via Kunc & Kléma, 2024)

SwAT

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(arctan(x))

x gated by the sigmoid of arctan(x). The gate stays between σ(−π/2) ≈ 0.17 and σ(π/2) ≈ 0.83, so both sides grow linearly.

  • (−∞, ∞)
  • smooth
  • monotonic

Verma et al., 2023 (via Kunc & Kléma, 2024)

Rectified hyperbolic secant

x ∈ [−6, 6] · dashed: f′(x)
f(x) = x · sech(x)

Odd and smooth, peaking near x ≈ 1.2 and decaying back to zero at both ends, so large inputs of either sign are suppressed.

  • ≈ [−0.66, 0.66]
  • smooth
  • non-monotonic
  • bounded

Njikam & Zhao, 2016 (via Kunc & Kléma, 2024)

EANAF

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x ex / (ex + 2)

Efficient asymmetric nonlinear activation: x · tanh(softplus(x)/2) simplified to a cheap closed form. Very close to Swish.

  • ≈ [−0.16, ∞)
  • smooth
  • non-monotonic

Chai et al., 2022 (via Kunc & Kléma, 2024)

SinSig

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · sin(π/2 · σ(x))

A self-gated unit whose gate is a sine of the sigmoid. Its authors report it scaling better than Swish and Mish as networks get deeper.

  • ≈ [−0.43, ∞)
  • smooth
  • non-monotonic

Douge et al., 2021 (via Kunc & Kléma, 2024)

SiELU

x ∈ [−4, 4] · dashed: f′(x)
f(x) = x · σ(2√(2/π) (x + 0.044715x³))

The tanh approximation of GELU rewritten with a sigmoid (since tanh(u) = 2σ(2u) − 1), so it equals GELU's tanh form exactly.

  • ≈ [−0.17, ∞)
  • smooth
  • non-monotonic

Ahmed et al., 2023 (via Kunc & Kléma, 2024)

Polynomial, algebraic & logarithmic

42

Activations built from powers, roots, logarithms and exponentials rather than sigmoids or rectifiers.

Rectified power unit

RePU, power activation

a = 0.5a = 2a = 3

x ∈ [−1, 2]
f(x) =xaif x ≥ 00if x < 0

ReLU raised to a power a: a = 0 gives the step function, a = 1 ReLU, a = 2 the squared ReLU. Also proposed earlier as a 'power activation'.

  • [0, ∞)
  • non-smooth
  • monotonic

Berradi, 2018; Li et al., 2019 (via Kunc & Kléma, 2024)

Approximate ReLU

AppReLU

x ∈ [−2, 4] · dashed: f′(x) · a = 0.5, b = 1.5
f(x) =a xbif x ≥ 00if x < 0

RePU with an extra scale a.

  • ≈ [0, ∞)
  • non-smooth
  • monotonic

Saha et al., 2020 (via Kunc & Kléma, 2024)

Even power-linear (EPLAF)

EvenPowLin

x ∈ [−4, 4] · dashed: f′(x) · d = 2
f(x) =x − (1 − 1/d)if x ≥ 1(1/d)|x|dif −1 ≤ x < 1−x − (1 − 1/d)if x < −1

An even function: a power curve near zero joined to straight lines, so it grows linearly on both sides.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Nasiri & Ghiasi-Shirazi, 2021 (via Kunc & Kléma, 2024)

Odd power-linear (OPLAF)

OddPowLin

x ∈ [−4, 4] · dashed: f′(x) · d = 2
f(x) =x − (1 − 1/d)if x ≥ 1(1/d)|x|dif 0 ≤ x < 1−(1/d)|x|dif −1 ≤ x < 0−x − (1 − 1/d)if x < −1

The odd counterpart of EPLAF, as printed in the survey: a power curve near zero (negated for negative inputs) joined to straight lines. With these outer pieces both sides end up rising linearly.

  • ≈ [−0.5, ∞)
  • non-smooth
  • non-monotonic

Nasiri & Ghiasi-Shirazi, 2021 (via Kunc & Kléma, 2024)

Square linear unit

SQLU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x > 0x + x²/4if −2 ≤ x ≤ 0−1if x < −2

An ELU-like unit built from squares instead of exponentials: SQNL's negative half joined to the identity. Designed for low-power hardware.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Wuraola et al., 2021 (via Kunc & Kléma, 2024)

Squish

Square swish

x ∈ [−4, 4] · dashed: f′(x)
f(x) =x + x²/32if x > 0x + x²/2if −2 ≤ x ≤ 00if x < −2

A Swish-inspired curve made of quadratic pieces, cheap on hardware without exponentials.

  • ≈ [−0.5, ∞)
  • non-smooth
  • non-monotonic

Wuraola et al., 2021 (via Kunc & Kléma, 2024)

Square REU

SqREU

x ∈ [−4, 4] · dashed: f′(x)
f(x) =xif x > 0x + x²/2if −2 ≤ x ≤ 00if x < −2

A square-based stand-in for REU: identity for positive inputs and a quadratic dip for negative ones, with no exponentials.

  • ≈ [−0.5, ∞)
  • non-smooth
  • non-monotonic

Wuraola et al., 2021 (via Kunc & Kléma, 2024)

Square softplus

SqSoftplus

x ∈ [−2, 2] · dashed: f′(x) · middle piece written as (x + ½)²/2 so the pieces join (the survey's printed form does not)
f(x) =xif x > ½(x + ½)² / 2if −½ ≤ x ≤ ½0if x < −½

A quadratic-patch replacement for softplus: zero, then a parabola, then the identity, so it is differentiable without exponentials.

  • ≈ [0, ∞)
  • smooth
  • monotonic

Wuraola et al., 2021 (via Kunc & Kléma, 2024)

Square logistic sigmoid

LogSQNL

x ∈ [−4, 4] · dashed: f′(x)
f(x) =1if x > 2½(x − x²/4) + ½if 0 ≤ x ≤ 2½(x + x²/4) + ½if −2 ≤ x < 00if x < −2

SQNL rescaled to (0, 1): a logistic-sigmoid replacement built from two parabolas.

  • [0, 1]
  • smooth
  • monotonic
  • bounded

Wuraola & Patel, 2018 (via Kunc & Kléma, 2024)

Square-root activation

SQRT

x ∈ [−4, 4] · dashed: f′(x)
f(x) =√xif x ≥ 0−√(−x)if x < 0

A signed square root: unbounded but sub-linear, so it compresses large inputs while keeping their sign. Reported to beat tanh and ReLU on CIFAR-10.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Yang et al., 2018 (via Kunc & Kléma, 2024)

Scaled square-root activation

SSAF

x ∈ [−4, 4] · dashed: f′(x) · a = 2
f(x) =√(2ax)if x ≥ 0−√(−2ax)if x < 0

The signed square root with a scale parameter a.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Khachumov et al., 2023 (via Kunc & Kléma, 2024)

Mishra activation

x ∈ [−10, 10] · dashed: f′(x)
f(x) = ½ s(x)² + ½ s(x), s(x) = x / (1 + |x|)

A quadratic polynomial of the softsign: bounded, non-monotonic and asymmetric, approaching 1 for large positive inputs and 0 for large negative ones.

  • ≈ [−0.12, 1]
  • smooth
  • non-monotonic
  • bounded

Mishra et al., 2021 (via Kunc & Kléma, 2024)

Saha-Bora activation

SBAF

x ∈ [0, 1] · dashed: f′(x) · k = 0.98, α = 0.5; defined for 0 ≤ x ≤ 1
f(x) = 1 / (1 + k xα(1 − x)1 − α)

Proposed for classifying the habitability of exoplanets; defined on [0, 1], where it dips in the middle and equals 1 at both ends.

  • ≈ [0.67, 1]
  • smooth
  • non-monotonic
  • bounded

Saha et al., 2018 (via Kunc & Kléma, 2024)

Logarithmic activation (symlog)

LAF, symlog

x ∈ [−10, 10] · dashed: f′(x)
f(x) =ln(x + 1)if x ≥ 0−ln(−x + 1)if x < 0

A signed logarithm that compresses large values in both directions. Proposed early as the LAF and later as symlog, which DreamerV3 uses to squash rewards and values.

  • (−∞, ∞)
  • smooth
  • monotonic

Bilski, 2000; Hafner et al., 2023 (via Kunc & Kléma, 2024)

Symexp

x ∈ [−3, 3] · dashed: f′(x)
f(x) = sgn(x) (e|x| − 1)

The inverse of symlog: expands values symmetrically. DreamerV3 uses it to decode predictions made in symlog space.

  • (−∞, ∞)
  • smooth
  • monotonic

Hafner et al., 2023 (via Kunc & Kléma, 2024)

SPOCU

x ∈ [−2, 2] · dashed: f′(x) · a = 1, b = 0.5, c = 1, d = 1 (example values)
f(x) = a h(x/c + b) − a h(b), h from r(x) = x³(x⁵ − 2x⁴ + 2)

Scaled polynomial constant unit: linear for negative inputs, a high-order polynomial in the middle and constant beyond d. Designed for self-normalising networks.

  • ≈ (−∞, 0.76]
  • non-smooth
  • non-monotonic

Kiseľák et al., 2020 (via Kunc & Kléma, 2024)

Polynomial universal activation

PUAF

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 2
f(x) =xaif x > cxa (c + x)b / ((c + x)b + (c − x)b)if |x| ≤ c0if x < −c

A polynomial family that can approximate the sigmoid, ReLU and Swish by choosing a, b and c (a = 1, b = 0, c = 0 gives ReLU).

  • ≈ [−0.25, ∞)
  • non-smooth
  • non-monotonic

Hwang & Kim, 2023 (via Kunc & Kléma, 2024)

Comb-H-sine

x ∈ [−6, 6] · dashed: f′(x) · a = 0.5
f(x) = sinh(ax) + sinh−1(ax)

Found by an evolutionary search: steep near zero, flattening a little, then growing exponentially. Its finders report it beating ReLU and tanh in LSTMs.

  • (−∞, ∞)
  • smooth
  • monotonic

Vijayaprabakaran & Sathiyamurthy, 2022 (via Kunc & Kléma, 2024)

Modified arcsinh

m-arcsinh

x ∈ [−10, 10] · dashed: f′(x)
f(x) = (1/12) sinh−1(x) √|x|

A scaled product of arcsinh and the square root of |x|; usable both as a network activation and as a support-vector-machine kernel.

  • (−∞, ∞)
  • smooth
  • monotonic

Parisi, 2020 (via Kunc & Kléma, 2024)

Hyper-sinh

x ∈ [−3, 3] · dashed: f′(x)
f(x) =sinh(x) / 3if x > 0x³ / 4if x ≤ 0

A scaled hyperbolic sine for positive inputs and a cubic for negative ones.

  • (−∞, ∞)
  • non-smooth
  • monotonic

Parisi et al., 2021 (via Kunc & Kléma, 2024)

Arctid

x ∈ [−4, 4] · dashed: f′(x)
f(x) = arctan(x)² − x

Squared arctan minus the identity: a mostly decreasing curve with a bump near zero.

  • (−∞, ∞)
  • smooth
  • monotonic

Xu & Philip Chen, 2020 (via Kunc & Kléma, 2024)

HcLSH

x ∈ [−4, 4] · dashed: f′(x)
f(x) =ln(cosh(x) + x cosh(x/2))if x ≥ 0ln(cosh(x)) + xif x < 0

Hyperbolic cosine linearised squashing function: log-cosh based, close to ReLU but smooth, with a slight negative lobe.

  • ≈ [−0.69, ∞)
  • smooth
  • monotonic

Abdel-Nabi et al., 2023 (via Kunc & Kléma, 2024)

Polyexp

x ∈ [−4, 4] · dashed: f′(x) · a = 1, b = 1, c = 0, d = 0.5 (example values)
f(x) = (ax² + bx + c) e−dx²

A quadratic multiplied by a Gaussian envelope, so it responds only near zero.

  • ≈ [−0.22, 1.29]
  • smooth
  • non-monotonic
  • bounded

Efe, 2008 (via Kunc & Kléma, 2024)

Negative exponential

x ∈ [−2.5, 4] · dashed: f′(x)
f(x) = e−x

A decreasing exponential used as an activation in a physics-oriented network.

  • ≈ [0, ∞)
  • smooth
  • monotonic

Pan et al., 2020 (via Kunc & Kléma, 2024)

E-Tanh

x ∈ [−4, 2.5] · dashed: f′(x) · a = 0.5
f(x) = a ex tanh(x)

An exponentially weighted tanh: a small negative dip for negative inputs and explosive growth for positive ones.

  • ≈ [−0.15, ∞)
  • smooth
  • non-monotonic

Kalaiselvi et al., 2022 (via Kunc & Kléma, 2024)

Evolved tanh–ReLU

x ∈ [−4, 4] · dashed: f′(x) · a = 1
f(x) = a (tanh(x²) + ReLU(x))

Found by neuroevolution as the best recurrent activation for LSTMs on a human-activity dataset: ReLU plus a saturating bump.

  • ≈ [0, ∞)
  • non-smooth
  • non-monotonic

Vijayaprabakaran & Sathiyamurthy, 2021 (via Kunc & Kléma, 2024)

Non-monotonic cubic unit

NCU

x ∈ [−1.6, 1.6] · dashed: f′(x)
f(x) = x − x³

A cubic that rises near zero and falls beyond ±1/√3, making it strongly non-monotonic.

  • (−∞, ∞)
  • smooth
  • non-monotonic

Gustineli, 2022 (via Kunc & Kléma, 2024)

Shifted quadratic unit

SQU

x ∈ [−3, 2] · dashed: f′(x)
f(x) = x² + x

A parabola with its minimum at x = −½; simple and non-monotonic.

  • ≈ [−0.25, ∞)
  • smooth
  • non-monotonic

Gustineli, 2022 (via Kunc & Kléma, 2024)

StepPlus

x ∈ [−8, 8] · dashed: f′(x) · ε = 1
f(x) = ½ (1 + x / √(x² + ε))

A smoothed step function built with the mollified absolute value; its odd counterpart x/√(x² + ε) is called BipolarPlus.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Pan et al., 2023 (via Kunc & Kléma, 2024)

LReLUPlus

SMU-1

x ∈ [−4, 4] · dashed: f′(x) · a = 0.1, ε = 0.5
f(x) = ½ (x + ax + √(((1 − a)x)² + ε))

A smoothed leaky ReLU; also published as SMU-1.

  • (−∞, ∞)
  • smooth
  • monotonic

Pan et al., 2023; Biswas et al., 2022 (via Kunc & Kléma, 2024)

SoftshrinkPlus

STFPlus

x ∈ [−4, 4] · dashed: f′(x) · a = 1, ε = 0.1
f(x) = x + ½ (√((x − a)² + ε) − √((x + a)² + ε))

A smoothed soft-shrink: flat near zero and shifted linear beyond ±a, with rounded corners.

  • (−∞, ∞)
  • smooth
  • monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

PanPlus

x ∈ [−4, 4] · dashed: f′(x) · a = 1, ε = 0.1
f(x) = −a + ½ (√((x − a)² + ε) + √((x + a)² + ε))

A smoothed pan function: near zero inside [−a, a], rising linearly outside on both sides.

  • ≈ [0.049, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

BReLUPlus

x ∈ [−3, 4] · dashed: f′(x) · ε = 0.1
f(x) = ½ (1 + √(x² + ε) − √((x − 1)² + ε))

A smoothed ReLU capped at 1.

  • ≈ [0, 1]
  • smooth
  • monotonic
  • bounded

Pan et al., 2023 (via Kunc & Kléma, 2024)

SReLUPlus

x ∈ [−5, 5] · dashed: f′(x) · a = 0.2, t = 1, ε = 0.1
f(x) = ax + ½(a − 1)(√((x − t)² + ε) − √((x + t)² + ε))

A smoothed symmetric SReLU: slope 1 near zero and slope a beyond ±t.

  • (−∞, ∞)
  • smooth
  • monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

HardTanhPlus

x ∈ [−4, 4] · dashed: f′(x) · ε = 0.1
f(x) = ½ (√((x + 1)² + ε) − √((x − 1)² + ε))

A smoothed HardTanh with rounded corners at ±1.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Pan et al., 2023 (via Kunc & Kléma, 2024)

HardshrinkPlus

HTFPlus

x ∈ [−3, 3] · dashed: f′(x) · a = 1, ε = 0.1
f(x) = x (1 + ½ ((x − a)/√((x − a)² + ε) − (x + a)/√((x + a)² + ε)))

A smoothed hard-shrink: x multiplied by a smooth window that is near zero inside [−a, a].

  • (−∞, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

ELUPlus

x ∈ [−4, 4] · dashed: f′(x) · a = 1, ε = 0.1; |v|_ε = √(v² + ε)
f(x) = ½(x + |x|ε) + ½((ex − 1)/a + |(ex − 1)/a|ε)

The MSRF smoothing applied to ELU's two pieces, as written in the original. Note that, unlike ELU, this form stays positive.

  • ≈ [0.024, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

SwishPlus

x ∈ [−4, 4] · dashed: f′(x) · ε = 1
f(x) = x · StepPlus(x) = ½ (x + x² / √(x² + ε))

Swish with the sigmoid replaced by the algebraic StepPlus: no exponentials, same overall shape.

  • ≈ [−0.15, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

MishPlus

x ∈ [−4, 4] · dashed: f′(x) · ε = 1; BipolarPlus(v) = v/√(v² + ε)
f(x) = x · BipolarPlus(BipolarPlus(x))

An algebraic Mish-like function built from nested BipolarPlus terms, as written in the original.

  • ≈ [0, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

LogishPlus

x ∈ [−4, 4] · dashed: f′(x) · ε = 1
f(x) = x · ln(1 + StepPlus(x))

Logish with the sigmoid replaced by StepPlus.

  • ≈ [−0.14, ∞)
  • smooth
  • non-monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

SoftsignPlus

x ∈ [−8, 8] · dashed: f′(x) · ε = 0.1
f(x) = x / (1 + √(x² + ε))

A softsign whose |x| is mollified, making it smooth at zero. With ε = 1 it coincides with rootsig.

  • ≈ [−1, 1]
  • smooth
  • monotonic
  • bounded

Pan et al., 2023 (via Kunc & Kléma, 2024)

SignReLUPlus

x ∈ [−8, 4] · dashed: f′(x) · ε = 0.1; |v|_ε = √(v² + ε)
f(x) = ½(x + |x|ε) + (x − |x|ε) / (2|1 − x|ε)

A smoothed approximation of SignReLU (DLU): ReLU-like for positive inputs and a softsign-like dip for negative ones.

  • ≈ [−1, ∞)
  • smooth
  • monotonic

Pan et al., 2023 (via Kunc & Kléma, 2024)

Other research functions

4

One-off proposals and specialised activations that are worth knowing about.

Bent identity

x ∈ [−4, 4] · dashed: f′(x)
f(x) = (√(x² + 1) − 1) / 2 + x

Almost linear with a gentle bend: the slope goes from 0.5 for large negative inputs to 1.5 for large positive ones. Smooth, monotonic and unbounded.

  • (−∞, ∞)
  • smooth
  • monotonic

SQNL

x ∈ [−4, 4] · dashed: f′(x)
f(x) =1if x > 2x − x²/4if 0 ≤ x ≤ 2x + x²/4if −2 ≤ x < 0−1if x < −2

Square nonlinearity: a tanh-shaped curve built from two quadratic pieces, cheap enough for hardware without exponential units.

  • [−1, 1]
  • smooth
  • monotonic
  • bounded

Wuraola & Patel, 2018

Penalised tanh

x ∈ [−4, 4] · dashed: f′(x)
f(x) =tanh(x)if x > 0a · tanh(x)if x ≤ 0

Tanh with the negative side scaled down (a = 0.25), the saturating analogue of a leaky ReLU. A broad NLP comparison later found it unusually stable across tasks.

  • (−a, 1)
  • non-smooth
  • monotonic
  • bounded

Xu et al., 2016; Eger et al., 2018

Cube

x ∈ [−2, 2] · dashed: f′(x)
f(x) = x³

Used in a neural dependency parser to model three-way interactions between word, part-of-speech and label features directly. Unbounded and fast-growing, so it needs careful scaling.

  • (−∞, ∞)
  • smooth
  • monotonic

Chen & Manning, 2014

A–Z index

Every catalogued function on one page. Click a name to jump to its card.

FunctionCurveFamilyRangeSmoothMonotonicPyTorch
1 − cosinePeriodic & radial [0, 2]✓––
1.5-entmaxOutput & normalising [0, 1], sums to 1✓✓–
Absolute linear unitRectifier variants ≈ [0, ∞)–––
Absolute valueRectifiers (ReLU family) [0, ∞)–––
ACON-BAdaptive self-gated (−∞, ∞)✓✓–
ACON-CLearned & adaptive learned✓✓–
Adaptive blending unitRational, fractional & other adaptive families (−∞, ∞)–✓–
Adaptive GumbelAdaptive sigmoidal ≈ [0, 1]✓✓–
Adaptive HardTanhAdaptive rectifiers ≈ [−1, 1]–✓–
Adaptive hybrid activation functionAdaptive self-gated ≈ [−0.42, ∞)✓––
Adaptive linear unitAdaptive rectifiers ≈ [−0.5, ∞)–✓–
Adaptive quadratic linear unitAdaptive self-gated ≈ [−0.12, ∞)✓––
Adaptive radial basis functionRational, fractional & other adaptive families ≈ [0, 1]✓––
Adaptive shifted ReLUAdaptive rectifiers ≈ [−0.2, ∞)–✓–
Adaptive slope sigmoidal functionAdaptive sigmoidal ≈ [0, 1]✓✓–
ALiSAAdaptive rectifiers (−∞, ∞)–✓–
Alternated left ReLUAdaptive rectifiers ≈ [0, ∞)–––
Amplifying sine unitPeriodic & radial (−∞, ∞)✓––
Apical dendrite activationRectifier variants ≈ [0, 1]–––
APLLearned & adaptive learned–––
Approximate ReLUPolynomial, algebraic & logarithmic ≈ [0, ∞)–✓–
Aranda-OrdazSigmoid variants ≈ [0, 1]✓✓–
ArctanSigmoidal & saturating (−π/2, π/2)✓✓–
Arctan SiLUSwish & Mish descendants ≈ [−0.27, 1.57]✓––
ArctidPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
ARiAAdaptive self-gated ≈ [−0.07, ∞)✓––
Attention-based ReLUAdaptive rectifiers (−∞, ∞)–✓–
Bendable linear unitAdaptive rectifiers (−∞, ∞)✓––
Bent identityOther research functions (−∞, ∞)✓✓–
Bi-firingRectifier variants ≈ [0, ∞)✓––
Bi-modal sigmoidSigmoid variants ≈ [0, 1]✓✓–
BilinearGated linear units (−∞, ∞)✓––
Binary stepLinear & threshold {0, 1}–✓–
Bounded bi-firingRectifier variants ≈ [0, 3]–––
Bounded leaky ReLURectifier variants (−∞, ∞)–✓–
Bounded ReLURectifier variants ≈ [0, 2]–✓–
BReLUPlusPolynomial, algebraic & logarithmic ≈ [0, 1]✓✓–
Catalytic activationRational, fractional & other adaptive families (−∞, ∞)–✓–
Cauchy linear unitSwish & Mish descendants ≈ [−0.32, ∞)✓✓–
CELURectifiers (ReLU family) (−α, ∞)✓✓nn.CELU
Chebyshev polynomial activationRational, fractional & other adaptive families (−∞, ∞)✓––
Collapsing linear unitSwish & Mish descendants ≈ [−0.38, ∞)✓––
Comb-H-sinePolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
Complementary log-logSigmoidal & saturating (0, 1)✓✓–
CosidPeriodic & radial (−∞, ∞)✓✓–
CosinePeriodic & radial [−1, 1]✓––
Cosinu-sigmoidal linear unitAdaptive self-gated ≈ [−0.29, ∞)✓––
CReLURectifiers (ReLU family) [0, ∞)²–––
CubeOther research functions (−∞, ∞)✓✓–
Decaying sine unitPeriodic & radial ≈ [−1.64, 1.64]✓––
Delay ReLURectifier variants ≈ [0, ∞)–✓–
DELUAdaptive rectifiers ≈ [−0.28, ∞)–––
Derivative of sigmoidSwish & Mish descendants ≈ [0, 0.25]✓––
Difference ELURectifier variants ≈ [−0.14, ∞)–––
Displaced ReLURectifier variants ≈ [−0.5, ∞)–✓–
DoubleSiLUSwish & Mish descendants (−∞, ∞)✓✓–
dSiLUSwish & Mish descendants ≈ [−0.1, 1.1]✓––
Dual LineAdaptive rectifiers (−∞, ∞)–✓–
Dual parametric ReLUAdaptive rectifiers (−∞, ∞)–✓–
E-swishSwish & Mish descendants ≈ [−0.38, ∞)✓––
E-TanhPolynomial, algebraic & logarithmic ≈ [−0.15, ∞)✓––
EANAFSwish & Mish descendants ≈ [−0.16, ∞)✓––
EIS-1Rational, fractional & other adaptive families ≈ [−0.22, ∞)✓––
EIS-2Rational, fractional & other adaptive families ≈ [−0.23, ∞)✓––
EIS-3Rational, fractional & other adaptive families ≈ [−0.16, ∞)✓––
ELiSHSwish & Mish descendants ≈ [−0.17, ∞)✓––
Elliott functionSigmoid variants (0, 1)✓✓–
ELURectifiers (ReLU family) (−α, ∞)✓✓nn.ELU
ELU + parameterised softplusAdaptive rectifiers ≈ [−0.75, ∞)✓✓–
ELUPlusPolynomial, algebraic & logarithmic ≈ [0.024, ∞)✓––
Enhanced rational activationRational, fractional & other adaptive families (−∞, ∞)✓––
Erf-based ReLUAdaptive rectifiers ≈ [−0.5, ∞)–✓–
ErfActAdaptive self-gated ≈ [−0.41, ∞)✓––
Error functionSigmoidal & saturating (−1, 1)✓✓–
Even power-linear (EPLAF)Polynomial, algebraic & logarithmic ≈ [0, ∞)✓––
Evolved tanh–ReLUPolynomial, algebraic & logarithmic ≈ [0, ∞)–––
ExpcosRational, fractional & other adaptive families ≈ [−0.61, 1]✓––
ExpExpishSwish & Mish descendants ≈ [−0.097, ∞)✓––
ExponentialOutput & normalising (0, ∞)✓✓exp
Exponential distance activationRational, fractional & other adaptive families ≈ [0, 1]–––
Exponential swishSwish & Mish descendants ≈ [0, 1]✓✓–
Extended ELUAdaptive rectifiers ≈ [−0.77, ∞)–✓–
Fast ELUAdaptive rectifiers ≈ [−1, ∞)✓✓–
Faster power function linear unitRectifier variants ≈ [−0.3, ∞)✓––
Flatted-T swishRectifier variants ≈ [−0.2, ∞)✓✓–
Flexible ReLUAdaptive rectifiers ≈ [−0.4, ∞)–✓–
Fourier series activationRational, fractional & other adaptive families ≈ [−0.72, 1.3]✓––
Fractional ReLURational, fractional & other adaptive families ≈ [0, ∞)–✓–
Gated PReLU–PELU mixAdaptive rectifiers ≈ [−1, ∞)–✓–
Gated tanh unitGated linear units (−1, 1)✓––
Gating adaptive blending unitRational, fractional & other adaptive families ≈ [−0.27, ∞)–✓–
GaussianPeriodic & radial (0, 1]✓––
Gaussian error unitAdaptive sigmoidal ≈ [0, 1]✓✓–
Gaussian ReLUAdaptive rectifiers (−∞, ∞)–––
GEGLUGated linear units (−∞, ∞)✓––
GELUSmooth self-gated ≈ [−0.17, ∞)✓–nn.GELU
GELU (tanh approximation)Smooth self-gated ≈ [−0.17, ∞)✓–nn.GELU(approximate='tanh')
Generalised hyperbolic tangentAdaptive sigmoidal ≈ [−1.5, 1.5]✓✓–
Generalised ReLU (GReLU)Adaptive rectifiers ≈ [0, ∞)✓✓–
Generalised Riccati activationAdaptive sigmoidal ≈ [0, 1]✓––
Generalised swishSwish & Mish descendants (−∞, ∞)✓✓–
GishSwish & Mish descendants ≈ [−0.28, ∞)✓––
GLUGated linear units (−∞, ∞)✓–nn.GLU
Growing cosine unitPeriodic & radial (−∞, ∞)✓––
GudermannianSigmoidal & saturating (−π/2, π/2)✓✓–
Hard shrinkShrinkage & thresholding {0} ∪ (−∞, −λ) ∪ (λ, ∞)–✓nn.Hardshrink
Hard sigmoidSigmoidal & saturating [0, 1]–✓nn.Hardsigmoid
Hard swishSmooth self-gated ≈ [−0.38, ∞)––nn.Hardswish
Hard tanhSigmoidal & saturating [−1, 1]–✓nn.Hardtanh
Hard-Swish (adaptive)Adaptive rectifiers ≈ [−0.62, ∞)–––
HardELiSHSwish & Mish descendants ≈ [−0.1, ∞)–––
HardshrinkPlusPolynomial, algebraic & logarithmic (−∞, ∞)✓––
HardSReLUERectifier variants ≈ [−0.5, ∞)–✓–
HardTanhPlusPolynomial, algebraic & logarithmic ≈ [−1, 1]✓✓–
HatAdaptive rectifiers ≈ [0, 1]–––
HcLSHPolynomial, algebraic & logarithmic ≈ [−0.69, ∞)✓✓–
Hermite polynomial activationRational, fractional & other adaptive families (−∞, ∞)✓––
HexpoSigmoid variants ≈ [−1, 1]✓✓–
Horizontally shifted ELURectifier variants ≈ [−1, ∞)✓✓–
Horizontally shifted HardTanhRectifier variants ≈ [−1, 1]–✓–
Hyper-sinhPolynomial, algebraic & logarithmic (−∞, ∞)–✓–
IdentityLinear & threshold (−∞, ∞)✓✓nn.Identity
Improved logistic sigmoidSigmoid variants (−∞, ∞)–✓–
Inverse multiquadricPeriodic & radial (0, 1/c]✓––
Inverse polynomial linear unitRectifier variants ≈ [−0.5, ∞)✓––
ISRLURectifiers (ReLU family) (−1/√α, ∞)✓✓–
ISRUSigmoidal & saturating (−1/√α, 1/√α)✓✓–
Kernel activation functionRational, fractional & other adaptive families ≈ [−0.045, 3.01]✓––
Laplace linear unitSwish & Mish descendants ≈ [−0.18, ∞)✓––
Leaky apical dendrite activationRectifier variants ≈ (−∞, 1]–––
Leaky learnable ReLUAdaptive rectifiers (−∞, ∞)–✓–
Leaky parametric SELUAdaptive rectifiers (−∞, ∞)–✓–
Leaky ReLURectifiers (ReLU family) (−∞, ∞)–✓nn.LeakyReLU
Leaky SELURectifier variants (−∞, ∞)–✓–
Leaky single-peaked triangle linear unitRectifier variants ≈ (−∞, 1]–––
Learnable extended activation functionRational, fractional & other adaptive families ≈ [−0.26, ∞)✓––
LeCun tanhSigmoidal & saturating (−1.7159, 1.7159)✓✓–
Legendre polynomial activationRational, fractional & other adaptive families (−∞, ∞)✓––
Li-ReLURectifier variants (−∞, ∞)–✓–
LiSHTSwish & Mish descendants [0, ∞)✓––
Locally adaptive activation functionRational, fractional & other adaptive families depends on g–✓–
Log-sigmoidSigmoidal & saturating (−∞, 0)✓✓nn.LogSigmoid
Log-softmaxOutput & normalising (−∞, 0)✓✓nn.LogSoftmax
Logarithmic activation (symlog)Polynomial, algebraic & logarithmic (−∞, ∞)✓✓–
LogishSwish & Mish descendants ≈ [−0.25, ∞)✓––
LogishPlusPolynomial, algebraic & logarithmic ≈ [−0.14, ∞)✓––
LogLogSigmoid variants (0, 1)✓✓–
LogLogishSwish & Mish descendants ≈ [−0.31, ∞)✓––
Logmoid activation unitAdaptive self-gated ≈ [−0.47, ∞)✓––
LPSELU with repositionAdaptive rectifiers (−∞, ∞)–✓–
LReLUPlusPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
LS-ReLURectifier variants ≈ [−1, ∞)–✓–
Margin ReLUAdaptive rectifiers ≈ [−0.5, ∞)–✓–
MaxoutLearned & adaptive learned–––
MaxsigRectifier variants ≈ [0, ∞)–✓–
Mexican ReLUAdaptive rectifiers (−∞, ∞)–––
MinsinRectifier variants ≈ (−∞, 1]✓––
Mirrored ReLURectifier variants ≈ [0, 1]–––
MishSmooth self-gated ≈ [−0.31, ∞)✓–nn.Mish
MishPlusPolynomial, algebraic & logarithmic ≈ [0, ∞)✓––
Mishra activationPolynomial, algebraic & logarithmic ≈ [−0.12, 1]✓––
Mixture of Gaussian unitRational, fractional & other adaptive families ≈ [−0.35, 0.57]✓––
Modified arcsinhPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
Modified Elliott functionSigmoid variants ≈ [−0.5, 1.5]✓✓–
Modified leaky ReLURectifier variants ≈ [−0.49, ∞)–––
Modified Mexican ReLUAdaptive rectifiers ≈ [0, ∞)–––
Modified SiLUSwish & Mish descendants ≈ [−0.26, ∞)✓––
Modified Weibull functionRational, fractional & other adaptive families ≈ [0, 0.43]✓––
Multiple parametric ELUAdaptive rectifiers ≈ [−1, ∞)–✓–
Multiquadratic activationRational, fractional & other adaptive families ≈ [1, ∞)✓––
MultiquadricPeriodic & radial [c, ∞)✓––
Multistate activation functionSigmoid variants ≈ [−1, 1]✓✓–
N-activationAdaptive rectifiers (−∞, ∞)–––
Natural-logarithm ReLURectifier variants ≈ [0, ∞)–✓–
Negative CReLURectifier variants ℝ²–✓–
Negative exponentialPolynomial, algebraic & logarithmic ≈ [0, ∞)✓✓–
Neuron-adaptive activation functionRational, fractional & other adaptive families ≈ [0, 1.56]✓––
NewSigmoidSigmoid variants ≈ [−0.71, 0.71]✓✓–
Non-monotonic cubic unitPolynomial, algebraic & logarithmic (−∞, ∞)✓––
Odd power-linear (OPLAF)Polynomial, algebraic & logarithmic ≈ [−0.5, ∞)–––
Optimal activation functionRectifier variants ≈ [−0.28, ∞)–––
P+FELUAdaptive rectifiers ≈ [−1.2, ∞)✓✓–
P-E2-ReLUAdaptive rectifiers (−∞, ∞)–✓–
P-SIG-RAMPAdaptive sigmoidal ≈ [0, 1]–✓–
Padé activation unitLearned & adaptive learned–––
Paired ReLUAdaptive rectifiers [0, ∞)²–––
Pan functionRectifier variants ≈ [0, ∞)–––
PanPlusPolynomial, algebraic & logarithmic ≈ [0.049, ∞)✓––
Parameterised self-circulating gating unitAdaptive self-gated ≈ [−0.27, ∞)✓––
Parameterised softplus (s+2L)Adaptive rectifiers ≈ [−0.5, ∞)✓✓–
Parametric deformable ELUAdaptive rectifiers ≈ [−1, ∞)✓––
Parametric first power linear unitAdaptive rectifiers ≈ [−0.02, ∞)✓––
Parametric flatted-T swishAdaptive rectifiers ≈ [−0.2, ∞)✓✓–
Parametric flatten-p MishAdaptive rectifiers ≈ [−0.2, ∞)✓✓–
Parametric GELUAdaptive self-gated ≈ [−0.34, ∞)✓––
Parametric LogishSwish & Mish descendants ≈ [−0.025, ∞)✓––
Parametric rectified exponential unitAdaptive rectifiers ≈ [−0.88, ∞)✓––
Parametric rectified non-linear unitRectifier variants ≈ [0, ∞)–✓–
Parametric scaled tanhAdaptive self-gated ≈ [−0.14, ∞)✓––
Parametric SechSigSigmoid variants ≈ [−0.22, ∞)✓––
Parametric SELUAdaptive rectifiers ≈ [−1.76, ∞)–✓–
Parametric SerfAdaptive self-gated ≈ [−0.51, ∞)✓––
Parametric shifted ELU (horizontal)Adaptive rectifiers ≈ [−1.5, ∞)✓✓–
Parametric shifted ELU (vertical)Adaptive rectifiers ≈ [−1.8, ∞)✓✓–
Parametric shifted SiLUAdaptive self-gated ≈ [−0.085, ∞)✓––
Parametric sigmoidAdaptive sigmoidal ≈ [0, 2]✓✓–
Parametric sigmoid functionAdaptive sigmoidal ≈ [0, 1]✓✓–
Parametric softplusRectifier variants ≈ [−0.69, ∞)✓✓–
Parametric swish (p-swish)Adaptive rectifiers ≈ [−0.28, ∞)–––
Parametric tanh linear unitAdaptive rectifiers ≈ [−0.5, ∞)✓✓–
Parametric TanhSigSigmoid variants ≈ [−0.35, ∞)✓––
Parametric variational linear unitAdaptive rectifiers ≈ [−0.1, ∞)–––
PATSAdaptive self-gated ≈ [−0.42, ∞)✓––
PELULearned & adaptive (−a, ∞)✓✓–
Penalised tanhOther research functions (−a, 1)–✓–
PhishSwish & Mish descendants ≈ [0, ∞)✓––
Piecewise linear unitAdaptive rectifiers (−∞, ∞)–✓–
Piecewise linear unit (PLU)Adaptive rectifiers (−∞, ∞)–✓–
Piecewise Mexican-hatPeriodic & radial ≈ [−0.39, 0.87]✓––
Piecewise radial basis functionPeriodic & radial ≈ [0, 1]✓––
PolyexpPolynomial, algebraic & logarithmic ≈ [−0.22, 1.29]✓––
Polynomial linear unitRectifier variants ≈ [−1, ∞)✓✓–
Polynomial universal activationPolynomial, algebraic & logarithmic ≈ [−0.25, ∞)–––
Positive PReLUAdaptive rectifiers ≈ [0, ∞)–✓–
Power function linear unitRectifier variants ≈ [−0.15, ∞)✓––
Power linear unitRectifier variants ≈ [−1, ∞)✓✓–
PReLULearned & adaptive (−∞, ∞)–✓nn.PReLU
Probit (normal CDF)Sigmoidal & saturating (0, 1)✓✓–
PTaLUAdaptive rectifiers ≈ [−0.64, ∞)–✓–
QuickGELUSmooth self-gated ≈ [−0.16, ∞)✓––
React-PReLUAdaptive rectifiers (−∞, ∞)–✓–
Rectified BLUAdaptive rectifiers ≈ [0, ∞)–✓–
Rectified exponential unitRectifier variants ≈ [−0.37, ∞)✓––
Rectified hyperbolic secantSwish & Mish descendants ≈ [−0.66, 0.66]✓––
Rectified linear tanhAdaptive rectifiers (−∞, ∞)✓✓–
Rectified parametric sigmoid unitAdaptive rectifiers ≈ [0, ∞)–✓–
Rectified power unitPolynomial, algebraic & logarithmic [0, ∞)–✓–
Rectified softplusRectifier variants ≈ [0, ∞)–✓–
ReGLUGated linear units (−∞, ∞)–––
ReLURectifiers (ReLU family) [0, ∞)–✓nn.ReLU
ReLU memristor-like activationAdaptive rectifiers ≈ [−0.72, ∞)✓––
ReLU6Rectifiers (ReLU family) [0, 6]–✓nn.ReLU6
Ricker waveletPeriodic & radial [−2e−3/2, 1] ≈ [−0.45, 1]✓––
Root2sigmoidSigmoid variants ≈ [−0.25, 0.25]✓✓–
RootsigSigmoid variants ≈ [−1, 1]✓✓–
Rowdy activationRational, fractional & other adaptive families ≈ [−0.26, ∞)–––
RReLURectifiers (ReLU family) (−∞, ∞)–✓nn.RReLU
RSigELURectifier variants ≈ [−0.5, ∞)–✓–
RSigELUDRectifier variants ≈ [−0.5, ∞)–✓–
RSignAdaptive sigmoidal {−1, 1}–✓–
Saha-Bora activationPolynomial, algebraic & logarithmic ≈ [0.67, 1]✓––
SaRaRectifier variants ≈ [−0.66, ∞)–––
Scaled and shifted sinePeriodic & radial ≈ [−0.2, 0.8]✓––
Scaled exponential functionRational, fractional & other adaptive families ≈ [−1, ∞)✓✓–
Scaled exponentially-regularised linear unitRectifier variants ≈ [−0.74, ∞)–––
Scaled scaled ELURectifier variants ≈ [−1.76, ∞)–✓–
Scaled sine-hyperbolicRational, fractional & other adaptive families (−∞, ∞)✓✓–
Scaled softsignAdaptive sigmoidal ≈ [−2, 2]✓✓–
Scaled square-root activationPolynomial, algebraic & logarithmic (−∞, ∞)–✓–
Scaled-gamma-tanhAdaptive rectifiers (−∞, ∞)–✓–
SechSigSigmoid variants ≈ [−0.21, ∞)✓––
Self arctanSwish & Mish descendants ≈ [0, ∞)✓––
Self-learnable activation (polynomial)Rational, fractional & other adaptive families ≈ [−0.11, ∞)✓––
SELURectifiers (ReLU family) (−λα, ∞) ≈ (−1.76, ∞)–✓nn.SELU
SerfSwish & Mish descendants ≈ [−0.35, ∞)✓––
Shape-autotuning adaptive activationAdaptive sigmoidal ≈ [−0.97, 3]✓––
Shape-autotuning sigmoidAdaptive sigmoidal ≈ [−1, 1]✓✓–
Shifted and scaled sigmoidSigmoid variants ≈ [0, 1]✓✓–
Shifted quadratic unitPolynomial, algebraic & logarithmic ≈ [−0.25, ∞)✓––
Shifted ReLURectifier variants ≈ [−1, ∞)–✓–
Shifted sinc unitPeriodic & radial ≈ [−0.68, 3.14]✓––
Shifted softplusRectifiers (ReLU family) (−ln 2, ∞)✓✓–
SiELUSwish & Mish descendants ≈ [−0.17, ∞)✓––
SigLinSigmoid variants (−∞, ∞)✓✓–
SigLURectifier variants ≈ [−1, ∞)✓✓–
SigmoidSigmoidal & saturating (0, 1)✓✓nn.Sigmoid
Sigmoid-AlgebraicSigmoid variants ≈ [0.27, 0.73]✓✓–
Sigmoid-GumbelSigmoid variants ≈ [0, 1]✓✓–
Sigmoid–tanh combinationsSigmoid variants depends on the pair–✓–
SignLinear & threshold {−1, 0, 1}–✓–
SignReLURectifier variants ≈ [−1, ∞)✓✓–
SignReLUPlusPolynomial, algebraic & logarithmic ≈ [−1, ∞)✓✓–
SiLU / SwishSmooth self-gated ≈ [−0.28, ∞)✓–nn.SiLU
SincPeriodic & radial ≈ [−0.22, 1]✓––
Sinc-SigmoidSigmoid variants ≈ [0.84, 1]✓✓–
SincosRational, fractional & other adaptive families ≈ [−1.5, 0.75]✓––
Sine (SIREN)Periodic & radial [−1, 1]✓––
Sine + sigmoid (CSS)Rational, fractional & other adaptive families ≈ [−0.5, 1.5]✓––
SineReLURectifier variants ≈ [−0.71, ∞)–––
Sine–Gaussian–sigmoid combinationRational, fractional & other adaptive families ≈ [−0.5, 1.6]✓––
SinLUPeriodic & radial ≈ [−0.5, ∞)✓––
SinPPeriodic & radial (−∞, ∞)✓✓–
SinSigSwish & Mish descendants ≈ [−0.43, ∞)✓––
Slope varying activation functionAdaptive sigmoidal ≈ [−1, 1]✓✓–
Sloped ReLURectifier variants ≈ [0, ∞)–✓–
SmeLUSmooth self-gated [0, ∞)✓✓–
SmishSwish & Mish descendants ≈ [−0.25, ∞)✓––
Smooth activation unitAdaptive rectifiers (−∞, ∞)✓✓–
Smooth maximum unitAdaptive rectifiers (−∞, ∞)✓✓–
Smooth stepSigmoid variants ≈ [0, 1]✓✓–
SnakePeriodic & radial (−∞, ∞)✓✓–
Soft clippingSigmoid variants ≈ [0, 1]✓✓–
Soft clipping MishAdaptive rectifiers ≈ [0, ∞)–✓–
Soft clipping SwishAdaptive rectifiers ≈ [0, ∞)–✓–
Soft exponentialLearned & adaptive depends on α✓✓–
Soft shrinkShrinkage & thresholding (−∞, ∞)–✓nn.Softshrink
Soft++Rectifier variants (−∞, ∞)✓✓–
Soft-root-signSigmoid variants ≈ [−2.46, 2]✓––
SoftmaxOutput & normalising (0, 1), sums to 1✓✓nn.Softmax
SoftminOutput & normalising (0, 1), sums to 1✓✓nn.Softmin
SoftModulusQRectifier variants ≈ [0, ∞)✓––
SoftModulusTRectifier variants ≈ [0, ∞)✓––
SoftplusRectifiers (ReLU family) (0, ∞)✓✓nn.Softplus
Softplus linear unitRectifier variants ≈ [−1.39, ∞)✓✓–
SoftshrinkPlusPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
SoftsignSigmoidal & saturating (−1, 1)✓✓nn.Softsign
SoftsignPlusPolynomial, algebraic & logarithmic ≈ [−1, 1]✓✓–
SparsemaxOutput & normalising [0, 1], sums to 1–✓–
SPLASHAdaptive rectifiers ≈ [0, ∞)–––
SPOCUPolynomial, algebraic & logarithmic ≈ (−∞, 0.76]–––
SQNLOther research functions [−1, 1]✓✓–
Square linear unitPolynomial, algebraic & logarithmic ≈ [−1, ∞)✓✓–
Square logistic sigmoidPolynomial, algebraic & logarithmic [0, 1]✓✓–
Square REUPolynomial, algebraic & logarithmic ≈ [−0.5, ∞)–––
Square softmaxOutput & normalising ≈ [0, 1]✓––
Square softplusPolynomial, algebraic & logarithmic ≈ [0, ∞)✓✓–
Square-root activationPolynomial, algebraic & logarithmic (−∞, ∞)–✓–
Squared ReLUSmooth self-gated [0, ∞)✓✓–
SquareplusSmooth self-gated (0, ∞)✓✓–
SquishPolynomial, algebraic & logarithmic ≈ [−0.5, ∞)–––
SReLULearned & adaptive (−∞, ∞)–✓–
SReLUPlusPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
STAC-tanhAdaptive sigmoidal (−∞, ∞)–✓–
StarReLUSmooth self-gated [b, ∞)✓✓–
StepPlusPolynomial, algebraic & logarithmic ≈ [0, 1]✓✓–
SuishSwish & Mish descendants ≈ [−0.37, ∞)✓––
SwATSwish & Mish descendants (−∞, ∞)✓✓–
SwiGLUGated linear units (−∞, ∞)✓––
SwimAdaptive self-gated (−∞, ∞)✓✓–
Swish-βLearned & adaptive (−∞, ∞)✓––
SwishPlusPolynomial, algebraic & logarithmic ≈ [−0.15, ∞)✓––
SymexpPolynomial, algebraic & logarithmic (−∞, ∞)✓✓–
Symmetrical GELUSwish & Mish descendants ≈ [0, ∞)✓––
Tangent linear unitAdaptive rectifiers ≈ [−0.91, ∞)–✓–
Tangent-bipolar-sigmoid ReLUSwish & Mish descendants ≈ [0, ∞)✓––
Tangent-sigmoid ReLUSwish & Mish descendants ≈ [−0.27, ∞)✓––
TanhSigmoidal & saturating (−1, 1)✓✓nn.Tanh
Tanh linear unitRectifier variants ≈ [−1, ∞)–✓–
Tanh shrinkShrinkage & thresholding (−∞, ∞)✓✓nn.Tanhshrink
Tanh SiLUSwish & Mish descendants ≈ [−0.27, 1]✓––
Tanh-based ReLUAdaptive rectifiers ≈ [−1, ∞)–✓–
TanhExpSwish & Mish descendants ≈ [−0.35, ∞)✓––
TanhLUAdaptive rectifiers (−∞, ∞)✓✓–
TanhSigSigmoid variants ≈ [−0.47, ∞)✓––
TanhSoft-1Adaptive self-gated ≈ [−0.14, ∞)✓––
TanhSoft-2Adaptive self-gated ≈ [−0.18, ∞)✓––
TanhSoft-3Adaptive self-gated ≈ [−0.36, ∞)✓––
TBSReLU (learnable)Adaptive self-gated ≈ [0, ∞)✓––
TeLUAdaptive rectifiers ≈ [0, ∞)✓––
TentAdaptive rectifiers ≈ [0, 1]–––
Thresholded ReLURectifiers (ReLU family) {0} ∪ (θ, ∞)–✓nn.Threshold
Trainable amplitudeRational, fractional & other adaptive families ≈ [−1.7, 2.3]✓✓–
Trainable compound activationRational, fractional & other adaptive families ≈ [−0.5, ∞)–✓–
Transformative adaptive activation functionRational, fractional & other adaptive families ≈ [−1.3, 1.7]✓✓–
Triple-state sigmoidSigmoid variants ≈ [0, 3]✓✓–
Triple-state swishSwish & Mish descendants ≈ [−0.094, ∞)✓––
Truncated Gaussian unitRational, fractional & other adaptive families depends on ξ✓✓–
Tunable swishAdaptive rectifiers ≈ [−0.42, ∞)–––
Universal activation functionRational, fractional & other adaptive families ≈ [0, 1]✓✓–
Variant sigmoid functionSigmoid variants ≈ [−1, 1]✓✓–
Variational linear unitRectifier variants ≈ [−0.25, ∞)–––
Vertically shifted ELURectifier variants ≈ [−1.3, ∞)✓✓–
Vertically shifted HardTanhRectifier variants ≈ [−0.5, 1.5]–✓–
WavePeriodic & radial ≈ [−0.14, 1]✓––

In the survey, not drawn here

Most functions come from the survey by Kunc & Kléma (2024), which collects about 400 activation functions. These 52 entries from it have no card because they can't be drawn as one fixed curve of one input:

FunctionWhy it isn't plotted
β-softmaxvector function with a randomly sampled exponent
Softsign randomised leaky ReLU (S-RReLU)as written it has a pole at x = −1 and a randomly sampled slope
Noisy ReLU (NReLU)stochastic: adds Gaussian noise scaled to the input
Spatial context-aware activation (SCAA)uses a depth-wise convolution over the feature map
Randomly translational ReLU (RT-ReLU)stochastic shift during training; plain ReLU at test time
DualReLUtakes two inputs
Orthogonal permutation linear unit (OPLU)acts on pairs of neurons
Elastic ReLU (EReLU)stochastic slope during training
Average biased ReLU (ABReLU)threshold computed from the data
DualELUtakes two inputs
Elastic adaptively parametric compounded unit (EACU)stochastic slope plus trainable parameters
Lipschitz ReLU (L-ReLU)slope chosen from a data-dependent Lipschitz constant
Linear quadratic activation (LinQ)the survey's printed pieces do not join, and the intended form is unclear
Rand softplus (RSP)mixing weight set by the input noise level
Knowledge discovery activation (KDAC)multi-part adaptive definition with clipped interpolation
k-winners-take-all (k-WTA)vector function: keeps the k largest entries
Volatility-based activation (VBAF)takes a window of inputs
Hybrid chaotic activation (HCAF)recursive, chaotic definition
Fusion of chaotic activation (FCAF)recursive, chaotic definition
Cascade chaotic activation (CCAF)recursive, chaotic definition
Funnel PReLU (FunPReLU)uses a spatial (3×3) condition
Randomly translational PReLU (RT-PReLU)stochastic shift during training
Probabilistic activation (ProbAct)stochastic: adds sampled noise
Adaptive offset activation (AOAF)offset computed from the mean input
Dynamic leaky ReLU (DLReLU)slope set from the previous epoch's error
Dynamic ReLU (DReLU)threshold computed per batch
Dual parametric family (DPAF)a recipe for transforming any activation
Fully parameterised activation (FPAF)a recipe combining any two activations
Elastic PReLU (EPReLU)stochastic slope during training
Elastic ELU (EELU)stochastic slope during training
Tuned softmax (tsoftmax)vector function
Generalised Lehmer softmax (glsoftmax)vector function with data-dependent normalisation
Generalised power softmax (gpsoftmax)vector function with data-dependent normalisation
Noisy activation functionsstochastic noise injected in the saturated regime
Fractional softplus, tanh, SiLU, GELU and ALUdefined by fractional derivatives without a closed form
Fractional leaky / parametric ReLU and ELUcomplex-valued for negative inputs as written
Global-local neuron (GLN)the local component is not fully specified
Multi-bias activation (MBA)vector output with one channel per bias
Trapezoid-shaped activation (TSAF) and TSAFPlusthe printed signs do not give the described trapezoid
Multi-bin trainable linear unit (MTLU)a general multi-segment recipe
Continuous piecewise nonlinear (CPN)a general multi-segment recipe
Look-up table unit (LuTU)a learned table of points
Average of a pool of activations (APAF)normalised using minimum and maximum over the data
Deep Kronecker networks (DKNN)a framework (its rowdy special case is shown)
Randomised Padé activation unit (RPAU)stochastic coefficients during training
Orthogonal Padé activation unit (OPAU)depends on the chosen orthogonal basis
Spline interpolating activations (SAF)a learned spline through knots
MeLUPlusthe survey gives only one smoothed component
Variable activation function (VAF)a small subnetwork
Flexible activation bag (FAB)a subnetwork chooses and parameterises activations
Dynamic parameter ReLU (DY-ReLU)parameters predicted from the input by a hyperfunction
SAVE-inspired activationsa list of variations without separate definitions

How to read a card

The plot

The solid line is the function and the dashed line is its derivative, computed numerically from the same formula. The x-range is printed in the corner; the y-axis is scaled to fit and clipped at ±6. Where a function has parameters, the card plots the stated defaults or several values (see the legend). Vector functions such as softmax are plotted for two classes, and gated units with both inputs tied to x.

The tags

Smooth means differentiable everywhere (no kinks). Monotonic means never decreasing (or never increasing). Bounded means the output stays in a finite interval in both directions. A torch.nn tag means PyTorch ships it as a module. Chosen for links to the use cases where it's a typical pick.

Sources

Each card names the paper usually credited with the function. Cards marked "via Kunc & Kléma, 2024" were collected from the survey Three Decades of Activations: every one of their implementations was checked numerically against the survey's own formula. Where the survey's formula has an evident typo, the card says how it was corrected. Descriptions are our own.

About

The Nonlinearity Index is a growing catalogue of activation functions for deep learning: the formula, how each curve behaves, and a plot of it and its derivative, organised by family and paired with a guide to which functions get chosen for which tasks. It is built as part of the open ActivationFWorks project and grows in batches toward ≈400 functions.

Corrections to formulas, citations or use-case claims are welcome: open an issue or pull request on GitHub.