Neural Networks 101: Percettroni ed introduzione alle reti neurali

Original article was published on Artificial Intelligence on Medium

Perceptrons

I percettroni, o perceptrons, sono modelli matematici che imitano il comportamento dei neuroni: volendo fare un confronto 1:1 tra neurone e percettrone, notiamo che i dendriti diventano input, il corpo diventa una funzione matematica di attivazione (activation function) e l’assone diventa output.

Un percettrone svolge il suo lavoro in tre fasi:

1. Acquisizione degli input e moltiplicazione per il rispettivo peso

2. Somma di tutti i valori provenienti dalla precedente fase

3. Elaborazione della somma ponderata da parte della funzione di attivazione

rappresentazione matematica della somma ponderata di input e bias

Per capire il funzionamento della funzione di attivazione consideriamo il seguente esempio: se la somma ponderata degli input è positiva, l’output generato sarà ’1’, se invece la stessa somma è negativa, l’output sarà ‘0’.

Ma se la somma è zero, come si comporterà la funzione ? Per tenere conto anche di questa eventualità si aggiunge un ramo di input, chiamato bias, che vale ‘1’, perciò se la somma ponderata in output dalla fase 2 dovesse essere zero, diventerà ‘1’.

Questo conclude il nostro breve viaggio alla scoperta dei percettroni, passiamo ora alle reti neurali.

Reti Neurali

Mettendo insieme tanti percettroni si crea un network, chiamato neural network (nn) o rete neurale: un nn può essere composto da infiniti strati (layers) e ogni strato può avere infinti percettroni. L’aumento di percettroni e strati è direttamente proporzionale alla capacità di calcolo richiesta all’elaboratore, perciò l’obiettivo è quello di ottimizzare il sistema in base al risultato che si vuole raggiungere.

Esistono tre tipologie di layers:

· Input Layer: raccoglie i valori reali derivanti dai dati forniti

· Hidden Layers: collocati tra input ed output, potenzialmente infiniti

· Output Layer: stima finale dell’output

Quando il numero di strati nascosti (Hidden Layers) è maggiore di 3, il processo di apprendimento diventa “profondo”, ovvero ci ritroviamo nell’ambito del Deep Learning.