Reti neurali: cosa sono?

Negli ultimi anni moltissimi termini tecnologici nuovi sono entrati nelle nostre vite, spesso nominati in TV o in rete. Se con alcuni abbiamo iniziato a prender confidenza in breve tempo, altri sono rimasti perlopiù parole difficilmente associabili alla realtà. Conoscere alcuni di questi termini e concetti, tuttavia, assume un’importanza sempre maggiore. Quella che fino a pochi anni fa era fantascienza, infatti, impatta già sulle nostre vite.

Il discorso sulle intelligenze artificiali, soprattutto, assume spesso toni quasi mistici, sintomo di poca chiarezza. Tra i vari argomenti che ruotano intorno alle cosiddette IA, ce n’è uno particolarmente evocativo, e poco chiaro: cos’è una rete neurale?

Cos’è una rete neurale

Le reti neurali artificiali sono modelli matematici che si ispirano alle reti neurali biologiche (come quella umana): ai neuroni che troviamo nel nostro sistema nervoso, si sostituiscono neuroni artificiali. Questi modelli matematici sono quindi costituiti da interconnessioni di informazioni. Le connessioni si snodano tra neuroni artificiali e processi di calcolo fondati su un particolare modello delle scienze cognitive, il connessionismo.

Il connessionismo, o Parallel Distributed Processing (PDP), afferma che il cervello elabora le informazioni provenienti dai vari sensi parallelamente, distribuendo le informazioni in tutti i neuroni, i nodi della rete, non solo in una memoria centrale. Nell’informatica tradizionale, invece, i calcoli si svolgono in modo seriale e sono condotti a una sola memoria centrale.

Storia delle reti neurali

La prima teorizzazione di un neurone artificiale risale addirittura al 1943 con il lavoro di McCulloch e Pitts. Il sistema descritto, tuttavia, era estremamente elementare. Sei anni dopo, nel 1949, Hebb per primo ipotizza di poter istruire le macchine, con procedimenti simili a quelli validi per gli umani.

La prima rete neurale nasce nel 1958 grazie a Rosenblatt, che la chiama Perceptron. La macchina può apprendere secondo un percorso simile a quello umano, seppur estremamente elementare. Gli impulsi si propagano in questa rete solamente in avanti (si parla quindi di modello feedforward) e il campo di applicazione è minimo. Il sistema è studiato per un compito limitato, riconoscere forme e calcolare semplici funzioni.

Sulle orme del Perceptron, negli anni successivi si studia il Perceptron multistrato (MLP), un’evoluzione del sistema di Rosenblatt. Sulla scorta di tale progresso, nel 1986 viene elaborato il sistema Error Back-Propagation. Questo algoritmo è tutt’oggi fondamentale, permettendo di perfezionare in stadi successivi l’apprendimento automatico. Grazie a questo nuovo passo, le reti neurali ampliano le loro capacità, divenendo più diffusamente utilizzabili.

Ai giorni nostri, la crescita delle reti neurali prosegue spedita, grazie all’innovazione di IBM, che utilizza materiali che modificano la propria struttura se ricevono impulsi elettrici, analogamente alle reti neurali biologiche.

Come istruire una rete neurale

Sono varie le possibilità per istruire un’IA fondata su una rete neurale:

  • Apprendimento supervisionato: al sistema vengono forniti sia i dati da elaborare che informazioni riguardo i risultati desiderati. In questo modo il sistema cerca di individuare una regola generale e classificare i dati di conseguenza.
  • Apprendimento non supervisionato: si forniscono solamente set di dati, senza altre indicazioni. In tal modo dev’essere il sistema a rintracciare schemi o modelli, cercando indipendentemente una struttura logica.
  • Apprendimento per rinforzo: non si fornisce al sistema né un set di dati né una regola. Il circuito impara solamente interagendo con l’ambiente. Tale algoritmo di apprendimento porta il sistema verso il risultato sperato grazie a incentivi o disincentivi, cioè azioni positive o negative.
  • Apprendimento semi-supervisionato: forma ibrida, si inseriscono dati incompleti. Alcuni presentano anche esempi di output (come nel metodo supervisionato), altri ne sono privi, come nel non metodo supervisionato.

Perché usare una rete neurale

Le reti neurali portano vari vantaggi: prima di tutto l’elevato parallelismo del sistema permette di processare rapidamente moli di dati considerevoli. Il costante apprendimento della rete permette inoltre al sistema di trascurare i dati imprecisi o corrotti, tollerando così una soglia di rumore.

Grazie all’architettura parallela, poi, la rete tollera guasti o malfunzionamenti, permettendo un funzionamento più affidabile. Queste reti, poi, sono in grado di evolvere e adattarsi rapidamente, più accuratamente di quanto possa fare un operatore. Nel caso in cui l’ambiente di lavoro si modifichi, il sistema sarà in ogni caso in grado di aggiornarsi e adattarsi alle mutate condizioni.

Per questi motivi, le reti neurali trovano un vasto campo d’impiego. I casi più evidenti sono l’utilizzo in ambito finanziari, con sistemi predittivi sempre più precisi, o il riconoscimento di immagini (e quindi volti). Questi sistemi si adattano poi efficacemente all’analisi del parlato, alla simulazioni di sistemi biologici, diagnostica medica, data mining o controllo di qualità su vasta scala.

 

A cura di

Federico Villa


 

FONTI:

CREDITS: