The interactive plotter · function & its gradient
Two failure modes to recognize
Look at sigmoid / tanh in the plotter. When |x| is large, the curve flattens and its gradient (dashed) → 0. In a deep net, gradients are multiplied layer by layer during backprop. Many near-zero gradients multiply to nothing, and early layers stop learning.
This is exactly why ReLU (gradient = 1 for x>0) replaced sigmoid as the default — its gradient doesn't shrink for positive inputs.
ReLU's gradient is 0 for x < 0. If a neuron's weights push it permanently negative, its gradient is always zero — it never updates again. It's dead.
Leaky ReLU / ELU / GELU fix this by giving a small non-zero slope (or smooth curve) for negative inputs, keeping a trickle of gradient alive.
The full gallery
Softmax · the output-layer special case
Every other activation works on one number at a time. Softmax works on a whole vector: it exponentiates each logit and normalizes so the outputs are positive and sum to 1 — a probability distribution over classes.
Temperature τ controls confidence: low τ → sharp (winner takes all), high τ → flat (uncertain). It pairs with cross-entropy loss (see the Loss Functions module) to train classifiers.