Reti neurali: cosa sono?

Teoria

Abbiamo visto come alcuni problemi di machine learning non siano tanto volti a trovare come soluzione una funzione (es. stima del prezzo di una casa), ma ad associare una fra un insieme di classi. Questi problemi vengono genericamente detti problemi di classificazione.

Supponiamo, ad esempio, di voler scrivere un software in grado di riconoscere un numero scritto a mano: quello che il nostro software deve fare è prendere l’immagine (supponiamo che sia un’immagine da 50×50 pixel) e “capire” che cosa ci sia scritto dentro, ovvero associare una delle 10 classi numeriche (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9).

Per un software, un’immagine non è altro che una matrice di numeri, nel nostro caso una matrice 50×50, ovvero 2.500 numeri per descrivere un’immagine. È possibile immaginare come risolvere un problema di questo tipo con le tecniche, ad esempio, di regressione logistica, non sia affatto semplice. La nostra funzione ipotesi è funzione di tantissimi parametri diversi!

Il cervello umano

Negli anni ’80-’90 un primo approccio teorico all’intelligenza artificiale è stato, appunto, quello delle reti neurali. Questo approccio tenta di replicare il funzionamento del meraviglioso cervello umano, una incredibile “macchina biologica” in grado di apprendere e migliorare continuamente (in certe persone, purtroppo, pare non funzionare ahimè così tanto bene…).

Il cervello umano, per descriverlo in maniera molto approssimativa, è formato da cellule denominate neuroni. Tali cellule hanno dei “sensori”, che ricevono degli stimoli, chiamati dendriti. Il neurone riceve gli stimoli captati dai dendriti, esegue una qualche operazione (di tipo biochimico) e produce un risultato che viene incanalato su un conduttore chiamato assone.

Rappresentazione di un neurone
Vengono mostrati i dendriti (dendrites), il neurone (cell body + nucleus) e l’assone (axon). fonte: leavingbio.net

I neuroni sono connessi tra di loro attraverso le sinapsi, ovvero la parte terminali dell’assone. L’insieme dei neuroni costituisce, appunto, una rete in grado di trasmettere messaggi elettrici. Ogni neurone, quindi, esegue una operazione e passa il risultato di questa operazione al neurone successivo che utilizzerà, appunto, questo e altri risultati provenienti da altri neuroni.

Questa catena permette di risolvere problemi complessi sostanzialmente suddividendoli in problemi più piccoli. È il tipico approccio del divide et impera.

Le reti neurali

L’approccio delle reti neurali è, sostanzialmente, il medesimo. I neuroni sono sostituiti da degli operatori matematici che eseguono calcoli in funzione degli input precedentemente ricevuti e passano il risultato agli operatori successivi, fino a giungere all’ultimo stadio, ovvero il livello (o strato) di uscita.

Le reti neurali sono tornate in voga nei recenti anni in quanto la potenza di calcolo richiesta per poterle far funzionare è diventata alla portata di più o meno tutti, aprendo scenari veramente incredibili.

220px-neural_network_example_it-svg
fonte: wikipedia.org

L’aspetto interessante delle reti neurali è che il funzionamento interno non è stabilito a priori, ma viene sostanzialmente autodeterminato durante la fase di addestramento pilotata dai dati di apprendimento. Questa fase di addestramento è solitamente lunga e dispendiosa, in termini di potenza di calcolo richiesta.

Il “contro” è che la rete neurale non è in grado di descriverci perché funziona così. Sapere che ha imparato a funzionare così è l’unica risposta che possiamo darci.

Infine vi segnalo che, su Microsoft Azure ML, le reti neurali sono ovviamente disponibili all’uso.

Please follow and like us:
No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Teoria
Nonna, ti spiego come funziona una rete neurale

È da tempo che penso di scrivere articoli nella forma “Nonna, ti spiego come” e devo dire che la cosa mi ispira davvero tanto. Riuscire a spiegare un concetto complesso ad una figura completamente ignorante in materia è un’attività difficilissima, se non impossibile. Però, anche come tributo a mia nonna, …

Teoria
I 5 algoritmi di Machine Learning più utilizzati

Prendendo spunto da un recente articolo, elenco in rassegna i 5 algoritmi più utilizzati nell’ambito del machine learning, secondo l’autore. È importante conoscere e “sporcarsi le mani” con questi algoritmi, poiché si presume che nel prossimo futuro, oltre il 25% degli attuali lavori sarà soppiantato da algoritmi di machine learning. Eccoli, riassunti …

Teoria
Un po’ di gergo del Machine Learning

Proprio oggi mi sono imbattuto in un interessantissimo articolo su Linkedin Pulse che aveva come argomento il gergo che viene solitamente utilizzato nell’ambito del machine learning. Trovo necessario che, chiunque decida di avvicinarsi a questa branca interessantissima della matematica/informatica, debba necessariamente avere padronanza del linguaggio tecnico per poter comprendere a fondo …

Social media & sharing icons powered by UltimatelySocial