Rete neurale

Indice dei contenuti

    Una rete neurale è un modello parametrico composto da strati di trasformazioni lineari e non linearità. In un problema di apprendimento supervisionato, la rete riceve un input x, produce una predizione \hat y e modifica i propri parametri per minimizzare una funzione di perdita.

    La forma elementare di uno strato denso è

    z^{(\ell)}=W^{(\ell)}a^{(\ell-1)}+b^{(\ell)}, \qquad a^{(\ell)}=\phi(z^{(\ell)}),

    dove W^{(\ell)} è la matrice dei pesi, b^{(\ell)} è il vettore dei bias, \phi è una funzione di attivazione e a^{(\ell)} è l’output dello strato.

    Perché servono le non linearità

    Se una rete fosse composta solo da trasformazioni lineari, la composizione di molti strati sarebbe ancora una trasformazione lineare. Le funzioni non lineari, come ReLU, sigmoide, tanh o softmax nello strato di uscita, permettono alla rete di rappresentare relazioni più complesse.

    Una ReLU è definita da

    \operatorname{ReLU}(z)=\max(0,z).

    È semplice, computazionalmente efficiente e riduce alcuni problemi di saturazione tipici di sigmoide e tanh negli strati profondi.

    Addestramento e backpropagation

    L’addestramento consiste nel cercare parametri \theta che minimizzano una loss media:

    \min_{\theta} \dfrac{1}{n}\sum_{i=1}^n L\left(f_\theta(x_i),y_i\right).

    La backpropagation calcola in modo efficiente il gradiente della loss rispetto ai parametri, applicando la regola della catena lungo gli strati. Metodi come stochastic gradient descent, momentum, RMSProp o Adam aggiornano poi i parametri nella direzione che riduce la perdita.

    Per classificazione multiclasse, una scelta comune è usare softmax in uscita e cross-entropy come funzione obiettivo:

    \hat p_k = \dfrac{e^{s_k}}{\sum_j e^{s_j}}, \qquad L=-\sum_k y_k\log \hat p_k.

    Architettura

    La scelta dell’architettura determina quali strutture il modello può apprendere. Una rete feedforward densa è adatta a dati tabellari o feature già costruite; reti convoluzionali sono pensate per immagini e segnali con struttura locale; reti ricorrenti e architetture con attenzione trattano sequenze e dipendenze contestuali.

    Anche in una rete semplice, profondità, larghezza, attivazioni, normalizzazione, inizializzazione e regolarizzazione influenzano stabilità e generalizzazione. Aumentare il numero di parametri aumenta la capacità, ma anche il rischio di overfitting.

    Regolarizzazione e validazione

    Le tecniche di controllo più comuni includono penalizzazioni sui pesi, dropout, early stopping, data augmentation e validazione su dati separati. In termini operativi, non basta minimizzare la loss di training: occorre controllare le prestazioni su validation e test set, perché una rete può memorizzare rumore o scorciatoie spurie.

    La calibrazione è un ulteriore aspetto: una rete può classificare correttamente molti esempi ma assegnare probabilità troppo sicure. Questo è frequente in modelli profondi addestrati a lungo, specialmente con dataset sbilanciati o distribuzioni fuori campione.

    Interpretazione ingegneristica

    In un’applicazione ingegneristica, una rete neurale va vista come un approssimatore flessibile, non come una legge fisica automatica. Può essere molto efficace quando ci sono molti dati rappresentativi, una loss ben definita e un processo di validazione solido. È invece fragile quando i dati non coprono i casi operativi, quando la distribuzione cambia o quando il costo degli errori non è rappresentato dalla loss.

    Per classificatori binari o multiclasse è opportuno valutare anche matrice di confusione, curva ROC e metriche specifiche del dominio.

    Errori comuni

    Il primo errore è aumentare la complessità della rete prima di verificare dati, feature e baseline semplici. Il secondo è interpretare un’alta accuratezza media come garanzia di affidabilità su tutti i sottogruppi. Il terzo è usare probabilità di output senza controllarne la calibrazione. Il quarto è trascurare il costo computazionale e manutentivo: un modello più grande può essere meno adatto se deve girare in tempo reale, su edge device o in un flusso produttivo controllato.

    Per esercizi su valutazione dei classificatori si veda classificazione e metriche: esercizi svolti.

    Ultimo aggiornamento: