Intelligenza artificiale

Le Reti Neurali e il Deep Learning

Avevo già anticipato che, organizzando neuroni artificiali su più livelli, si può superare il limite della linearità. Il semplice percettrone di Rosenblatt, che all’epoca sembrava promettere miracoli, oggi non è altro che un basilare esercizio per chi vuole cominciare a studiare le reti neurali. Ma cos’è in effetti questo neurone artificiale? Cominciamo da quello che ne ha ispirato il funzionamento, il neurone biologico. Vediamone una rappresentazione:

Davvero brutto da vedere. Per fortuna il suo funzionamento è talmente semplice che almeno risulterà simpatico. Ci sono tre elementi principali: i dendriti sono i punti d’ingresso del neurone e hanno lo scopo di ricevere l’input dagli altri neuroni collegati (i famosi segnali acceso/spento nell’intuizione di McCullock e Pitts). La trasmissione avviene mediante impulso elettrico. Forte, vero? Siamo un po’ macchine anche noi.

I segnali elettrici arrivano al nucleo, che si occupa di decidere se attivare o meno il neurone. Il nucleo prende i segnali degli altri neuroni, esegue una sorta calcolo misterioso e stabilisce se accendersi o restare spento. La decisione viene trasmessa all’assone che, attraverso le sue estremità, la tramanda agli altri neuroni collegati. Se pensi che il nostro cervello contiene circa 86 miliardi di neuroni, puoi immaginare che si formerà una bella “rete” di neuroni collegati tra loro, in cui l’attivazione di uno può portare all’attivazione (o alla disattivazione) di miliardi di altri neuroni.

Ma torniamo al nostro singolo neurone e vediamo come provare a disegnarne uno artificiale che possa in qualche modo riprodurre l’attività di quello biologico:

Diagram

Description automatically generated

Così è già più carino di quello biologico. Anche qui abbiamo i tre componenti principali: i dati di ingresso (che possono essere anche gli output di altri neuroni) che emulano l’attività dei dendriti, il nucleo che decide se accendere o meno il neurone e uno o più assoni che si occupano di informare i neuroni collegati a questo. Resta da modellare matematicamente il problema.

I nostri eroici ricercatori avevano immaginato l’attività del nucleo come quella di un “sommatore”, una semplice entità che prende i dati ricevuti dall’input, li elabora, ad esempio moltiplicando ognuno di essi per un diverso numero che chiameremo peso, e poi li somma. Se i dati ricevuti, per ipotesi, da tre neuroni (o tre input qualsiasi) sono x1, x2 e x3, moltiplicando ognuno di questi per il rispettivo peso w1, w2 e w3 ed infine sommandone i risultati, possiamo schematizzare il nostro neurone come:

Diagram

Description automatically generated

Il risultato dell’attività del neurone artificiale è quindi la “somma di queste moltiplicazioni”. Questa somma servirà a stabilire se il neurone si dovrà accendere o meno seguendo delle regole stabilite da una funzione di attivazione. La funzione di attivazione più semplice è la funzione soglia: se il risultato della somma pesata supera un certo valore, il neurone si accende, altrimenti si spegne. In definitiva, quindi, il modello puoi immaginarlo così:

Diagram

Description automatically generated

Quello che fa, se ci pensi bene, è davvero elementare. Proviamo a riassumerlo per punti:

  1. Prendi ogni dato di ingresso xi e moltiplicalo ognuno per il proprio peso wi.
  2. Somma i risultati di tutte le moltiplicazioni.
  3. Usa una funzione di attivazione per stabilire l’uscita y.

Finito. Davvero, non scherzo: questo è quello che fa un neurone artificiale, almeno nella sua fase di funzionamento. Ovviamente non abbiamo ancora accennato alla fase, più complicata, dell’addestramento (ricordi? Il perceptron doveva essere addestrato per imparare a riconoscere qualcosa, pur semplice che fosse) che consiste nell’individuare i valori giusti da assegnare ai pesi wi, in modo che gli input xi moltiplicati per questi pesi producano l’uscita che ci si aspetta. Qualsiasi rete neurale funziona in questo modo e qualsiasi rete neurale viene addestrata in modo da individuare i pesi “ottimali”. Quello che cambia è il numero di pesi, che può arrivare a diversi milioni, e l’organizzazione della rete che può arrivare a contenere milioni di neuroni.

Tratto dal libro “Intelligenza Artificiale – Guida per comuni mortali

https://amzn.to/41Do1kY

Leave a Reply