Reti Neurali

Figura 4.8: Esempio di topologia di una rete neurale.
Image fig_nn

La ricerca sul Machine Learning (e in generale la Visione Artificiale) ha sempre cercato di trarre spunto per lo sviluppo degli algoritmi dal cervello umano. Le reti neurali artificiali (artificial neural networks ANN) si basano sul concetto di “neurone artificiale” ovvero una struttura che, similarmente ai neuroni degli esseri viventi, applicano una trasformazione non lineare (detta funzione di attivazione) ai contributi pesati dei diversi ingressi del neurone:

\begin{displaymath}
y_{k} = f_{k} \left(\sum_i w_{k,i} x_{k,i} + b_{k}\right)
\end{displaymath} (4.80)

dove $x_{k,i}$ sono i vari ingressi relativi al $k$-esimo neurone a cui sono associati i pesi $w_{k,i}$, $y_{k}$ è la rispota del neurone e la funzione di attivazione $f$, fortemente non lineare, normalmente è una funzione gradino, una sigmoide o una funzione logistica. Il bias $b$ a volte viene simulato con un ingresso costante $x_{k}=+1$.

La rete neurale più semplice, composta da uno stadio di ingresso e uno stadio di uscita, è assimilabile al modello di perceptrone (perceptron) introdotto da Rosenblatt nel 1957. Similarmente al cervello degli esseri viventi, una rete neurale artificiale consiste nella connessione di diversi neuroni artificiali.

La geometria di una rete neurale feedforward, la topologia normalmente utilizzata in applicazioni pratiche, è quella del MultiLayer Perceptron MLP e consiste nella combinazione di molteplici strati nascosti di neuroni che collegano lo stadio degli ingressi con lo stadio delle uscite, stadio che sarà l'ingresso dello strato successivo. Un perceptrone multistrato è assimilabile a una funzione

La fase di addestramento consiste nello stimare i pesi $w^{k}_i$ che minimizzano l'errore tra le etichette di addestramento e i valori predetti dalla rete $f_w(\mathbf{x})$:

\begin{displaymath}
S(\mathbf{w}) = \sum_i \left\Vert \mathbf{y}_i - f_\mathbf{w}(\mathbf{x}_i) \right\Vert^2
\end{displaymath} (4.81)

La stima dei pesi $w^{k}_i$ si può ottenere con tecniche note di ottimizzazione: di norma viene sfruttata la tecnica della back propagation che di fatto è una discesa del gradiente con la chain-rule per il calcolo delle derivate, essendo le MLP strutture stratificate.



Subsections
Paolo medici
2025-03-12