Rettificatore (reti neurali)
# Rettificatore (reti neurali)

Nel contesto delle reti neurali artificiali, il rettificatore è una funzione di attivazione definita come la parte positiva del suo argomento:

    $f(x)=x^{+}=\max(0,x),$

dove $x$ è l'input a un neurone. È anche annoverata tra le funzioni rampa ed è l'analogo di un raddrizzatore in elettronica. Questa funzione di attivazione fu introdotta per la prima volta in una rete dinamica da Hahnloser et al. in 2000 adducendo motivazioni fortemente biologiche. Nel 2011 è stato dimostrato per la prima volta che la funzione rettificatore permette di ottenere un allenamento migliore per le reti neurali profonde (Deep Neural Network). Questo risultato è ottenuto comparando il rettificatore con le funzioni di attivazione più diffusamente usate fino al 2011: sigmoide logistica e la tangente iperbolica. Nel 2018, la funzione rettificatore è stata riconosciuta come la funzione di attivazione più largamente utilizzata nelle Deep Neural Network.

Un'unità che impieghi il rettificatore è anche chiamata unità lineare rettificata (ReLU, dall'inglese rectified linear unit).

## Softplus

Una buona approssimazione di un rettificatore è la funzione analitica

    $f(x)=\ln(1+\exp(x)),$

chiamata funzione softplus. La derivata della funzione softplus è la funzione logistica.

### Vantaggi nell'utilizzo della funzione rettificatore

La funzione rettificatore fu usata per separare specifici stati di eccitazione da non specifici stati d'inibizione nelle neural abstraction pyramids, allenate in modo supervisionato per riconoscere diversi stimoli visivi. In confronto alla più diffusa tangente iperbolica, la funzione rettificatore permette di ottenere un allenamento efficiente della rete in più breve tempo e utilizzando insiemi di dati grandi e complessi.

Altri aspetti da considerare sono:

* plausibilità biologica;
* attivazione sparsa;
* migliore capacità di evitare la saturazione dei pesi in allenamento;
* computazioni efficienti e semplici;
* invarianza di scala.
