ReLU(Rectified Linear Unit)

[rèlu]

Activation function definita come max(0, x). Banale ma ha rivoluzionato il deep learning: se l'input è negativo dà zero, altrimenti lo passa intatto.

La ReLU è probabilmente l'activation function più usata della storia del deep learning. Formula: max(0, x). Cioè: se l'input è positivo lo lasci passare, se è negativo lo butti via.

Sembra niente. È stata una rivoluzione. Prima di ReLU si usavano sigmoid e tanh, che soffrivano di vanishing gradient nelle reti profonde. ReLU non ha questo problema (per input positivi la derivata è sempre 1, il gradiente passa intatto).

Vantaggi:

  • Veloce: un confronto con zero, nessuna esponenziale.
  • No vanishing gradient dalla parte positiva.
  • Sparse: tanti neuroni si spengono (output zero). Aiuta a generalizzare.

Problemi:

  • Dying ReLU: se un neurone riceve sempre input negativi, è morto, gradiente zero, non impara più. Capita più di quel che si pensa.
  • Non centrata: come la sigmoid, output sempre ≥ 0.

Varianti che risolvono parzialmente i problemi:

  • Leaky ReLU: invece di zero per input negativi, dà 0.01 * x. Niente più neuroni morti.
  • PReLU: come Leaky ma il coefficiente lo impara la rete.
  • ELU: usa esponenziale per la parte negativa. Più morbida.
  • GELU / SiLU / SwiGLU: versioni "smooth", standard nei Transformer.

Storia: ReLU è stata popolarizzata da Krizhevsky con AlexNet nel 2012, l'inizio del boom del deep learning. Esiste da prima ma quel paper l'ha resa lo standard.