Come Funziona Una Rete Neurale?

Nell’articolo precedente (Intelligenza Artificiale, Deep Learning e Machine Learning, Cosa Dobbiamo Sapere) abbiamo cercato di comprendere le differenze che corrono tra intelligenza artificiale, machine learning e deep learning.

Abbiamo dunque introdotto il concetto di reti neurali artificiali, riferendoci a queste come ad un meccanismo che si modella sulla base del cervello umano.

Oggi vogliamo approfondire i meccanismi che sottendono a queste reti e chiarirne il funzionamento.

Partiamo dunque cercando di capire come avviene l’apprendimento all’ interno del cervello e come funzionano le reti neurali biologiche.

COME FUNZIONANO LE RETI NEURALI BIOLOGICHE?

Le reti neurali cerebrali sono formate da miliardi di cellule nervose, i neuroni.

Quando il cervello riceve uno stimolo esterno, di tipo visivo, uditivo o tattile, un neurone accoglie l’impulso e se questo impulso è abbastanza forte il segnale si propaga ai neuroni vicini tramite canali chiamati sinapsi. Tale collegamento tra i diversi neuroni ha lo scopo di trasferire l’informazione da una cellula all’ altra

Dunque, il cervello umano non elabora le informazioni secondo un sistema centralizzato, come avviene ad esempio nei meccanismi informatici, ma distribuisce le informazioni secondo un sistema di nodi, così che il dato venga contenuto ugualmente da ogni neurone che è entrato in contatto con esso.

ALCUNI CENNI STORICI SULLE RETI NEURALI ARTIFICIALI

Nel 1943 una coppia di scienziati statunitensi, Warren McCulloch e Walter Pitts, svilupparono il primo modello teorico di neurone artificiale.

Nel loro articolo “Logical Calculus of the Ideas Immanent in Nervous Activity” (1943) pubblicato sul Bulletin of Mathematical Biophysics, cercarono di schematizzare un combinatore lineare a soglia con dati binari in entrata e un singolo dato binario in uscita, capace di calcolare semplici funzioni. Nonostante la semplicità del modello i due scienziati mostrarono che era possibile costruire una rete neurale che computasse qualsiasi proposizione logica.

Nel 1949 D. O. Hebb ipotizzò che fosse possibile istruire le macchine con un apprendimento simile a quello dell’intelligenza umana.

Ma fu solamente nel 1958 che Rosenblatt propose la prima rete neurale: Perceptron (percettrone). Perceptron possedeva uno strato di nodi (neuroni artificiali) di input e un nodo di output ed era in grado di riconoscere e classificare le forme, fornendo così una rudimentale interpretazione della struttura dei sistemi biologici.  L’opera di Rosenblatt “Psychological review” stimolò l’interesse di tutta la comunità scientifica e le aspettative per l’argomento aumentarono sensibilmente, anche se destinate ad essere ridimensionate, nel 1969, da Marvin Minsky e Seymour A.Papert, che con l’opera “An introduction to computational geometry” mostrarono i limiti delle reti a due strati basate sul percettrone.

Lo sviluppo delle reti neurali ha sempre richiesto una notevole potenza computazionale delle macchine che negli anni Novanta non poteva essere fornita. Per questo motivo lo sviluppo delle reti neurali subì un forte rallentamento, durato fino a qualche anno fa.  

Dopo anni di studi e perfezionamenti volti a migliorare l’apprendimento automatico di una rete neurale, oggi gli ambiti di applicazione delle neural network includono l’ingegneria, l’informatica, l’elettronica e tant’altre discipline che necessitano di un continuo confronto con l’elaborazione di dati.

Ma come possono neuroni artificiali risolvere problemi tanto complessi?

COME FUNZIONANO LE RETI NEURALI ARTIFICIALI?

Le reti neurali artificiali, come abbiamo già detto, funzionano in maniera analoga al cervello umano.

Si tratta di modelli di calcolo matematici-informatici che si basano su interconnessioni di informazioni e tali collegamenti derivano appunto da neuroni artificiali.

Le neural networks ricevono segnali esterni su uno strato di nodi, lo strato di ingresso; ognuno di questi nodi ha ulteriori collegamenti all’interno della rete, su nodi organizzati a più livelli così da permettere la condivisione delle proprie elaborazioni in maniera orizzontale.

Le reti neurali sono formate dunque da tre strati:

  • Strato degli ingressi (I-Input): riceve ed elabora le informazioni provenienti dall’ esterno.
  • Strato nascosto (H-Hidden):  processa le informazioni.
  • Strato di uscita (O-Output): raccoglie i risultati dello stato precedente i quali vengono successivamente adattati al livello successivo della rete neurale.

Nella gran parte dei casi una rete neurale artificiale è un sistema adattivo che muta la propria struttura sulla base delle informazioni esterne che scorrono nella stessa rete nel momento dell’apprendimento.

COME FANNO LE NEURAL NETWORKS A RISOLVERE PROBLEMI COMPLESSI?

Dopo aver investigato il funzionamento delle reti neurali artificiali, è giunto il momento di svelare in che modo queste siano in grado di rapportarsi con problemi complessi di natura ingegneristica e informatica.

Le reti neurali artificiali hanno bisogno di essere “addestrate”, ovvero è necessario metterle al corrente di quale sia il comportamento che devono adottare di fronte alle varie situazioni che gli si presenteranno d’innanzi.

Sebbene il loro codice sia scritto con gli stessi linguaggi usati per sviluppare le applicazioni tradizionali, non si tratta di istruzioni fisse finalizzate a consentire ai programmi di elaborare richieste specifiche in modo standard. Si tratta piuttosto di algoritmi che permettono alle reti di imparare quali output fornire a fronte di input assai grandi e complessi.

Perché tali modelli matematici possano raggiungere tali capacità devono essere ben progettati e soprattutto essere sottoposti ad un periodo di training.

Gli algoritmi di apprendimento utilizzati per addestrare le reti neurali sono tre, la scelta di quale usare dipende essenzialmente dal campo di applicazione.

  • supervisionato
  • non supervisionato
  • di rinforzo

Nel prossimo articolo andremo ad osservare le differenze tra tali forme di apprendimento, così da indagare meglio come le reti neurali artificiali siano in grado di risolvere problemi complessi.

Cosa ne pensi?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli correlati

Di Cosa ha Bisogno la Mia Azienda per Crescere?

Questa domanda è SEMPRE fondamentale, ma in questo momento, lo è più che mai.

È dunque necessario rifletterci bene, con ordine e precisione, perché essere consapevoli dei punti deboli della propria azienda è importante quanto conoscerne i punti forti.

Read more