Reti neurali artificiali: la guida all’intelligenza artificiale

Era il 1942 quando Alan Turing creò il primo computer. Oggi le reti neurali artificiali permettono ai computer di simulare il cervello, di prendere decisioni e di predire il futuro. In questa guida del Superuovo vedremo come funziona l’intelligenza artificiale. Così sapremo cosa sta per estinguere l’umanità.

Reti neurali
Le reti neurali, ovvero come il computer può diventare un cervello. Nell’immagine: un fotogramma dal film “2001: Odissea nello spazio” di Stanley Kubrik (1968)

Riprodurre il cervello umano

Un modo per costruire intelligenze artificiali è sfruttare le reti neurali artificiali. Esse imitano la struttura del nostro cervello per apprendere a svolgere dei compiti. Come mai il cervello umano? Esso è attualmente l’unica entità conosciuta a possedere intelligenza concettuale. Ed è efficiace.
Il cervello è costituito da circa 100 miliardi di neuroni e ognuno di questi ha collegamenti con altri 10 mila neuroni. L’organizzazione è plastica: la forma delle connessioni, la loro quantità e intensità possono variare in funzione dell’apprendimento.
Costruire dei computer in grado di essere elastici come l’essere umano è quindi l’obiettivo principale della nuova informatica. Non bisogna più dire cosa deve fare la macchina, ma come deve imparare a farlo.
Potrebbe accadere che l’intelligenza artificiale prenda il sopravvento sull’uomo, come nel film “Matrix” dei fratelli Wachowski (1999) o in “Ex Machina” di Alex Garland (2014). Ma l’umanità se ne preoccperà più avanti: scopriamo come viene costruita.

Reti Neurali
Un fotogramma del film “Ex Machina” di Alex Garland, 2014 (https://goo.gl/images/6z8qSd)

Reti neurali artificiali 

Il primo passo per costruire una rete neurale è riprodurre la struttura chiave del cervello: il neurone. Quelli biologici sono delle complicate strutture in cui avvengono centinaia di operazioni biochimiche. L’obiettivo, però, è soltanto uno: spedire un segnale agli altri neuroni.
I modelli computazionali quindi catturano questo aspetto cruciale. Non viene riprodotta la complessità biologica, ma soltanto lo scopo. Perciò l’elemento base della rete è un “neurone formale”: un numero.
Il secondo passo è connettere tutti questi neuroni. In natura ci pensano gli assoni, filamenti nervosi su cui corre il segnale elettrico prodotto dal cosiddetto potenziale d’azione. Nelle reti artificiali la connessione è anch’essa un numero: più precisamente è un vettore. I neuroni e le connessioni vengono disposte su due o più livelli.

La struttura a livelli

In basso viene posto il livello di input. Qui i neuroni ricevono lo stimolo in entrata, per esempio un’immagine. L’immagine è composta da pixel e ciascun pixel viene rilevato da un singolo neurone. L’attivazione dunque fluisce sul secondo livello, quello di output. L’output della rete è una funzione matematica (tipicamente una sigmoide, ovvero una funzione a curva).
Tra il livello di input e quello di output possono esserci più livelli di neuroni nascosti: questo imita la struttura stratificata del cervello. Se sono più di due livelli nascosti si parla di deep learning, che da qualche anno è il nuovo paradigma dell’intelligenza artificiale: più livelli nascosti ci sono, più è complessa (e dunque interessante) la computazione.

Reti neurali
La struttura a livelli delle reti neurali

Un esempio: la corteccia visiva

Nel cervello la corteccia visiva è composta da un primo strato di neuroni che rilevano forme base, come linee verticali, oblique, orizzontali; un livello più alto mette insieme i segnali provenienti dal basso ottenendo angoli, incroci, e figure complesse; uno strato ancora superiore rileva, per esempio, le lettere.
Allo stesso modo funziona una rete neurale artificiale. L’obiettivo è far sì che nello strato di neuroni di output si attivi il neurone che codifica la lettera “S” e non quello che codifica la lettera “U”.
Lo scopo dell’apprendimento è quindi di modificare il peso delle connessioni affinchè l’attivazione finale sia corretta. Questa procedura si chiama addestramento della rete (training). 

Come addestrare le reti neurali

  1. Apprendimento supervisionato: lo scopo è produrre l’output corretto dato un nuovo input. Il ricercatore fornisce l’output: se la rete deve imparare a riconoscere meme di gattini vengono fornite molte immagini di meme sui gattini come modello da confrontare con le immagini che arrivano in input.
  2. Apprendimento non supervisionato: lo scopo è studiare l’input per scoprire le proprietà informative. Per esempio una rete studia moltissime immagini e pian piano inizia a raggrupparle secondo somiglianza. Ad esempio una rete di Google con 10 strati di unità nascoste e un milione di neuroni è riuscita a distinguere il concetto di “faccia” e di “gatto”. In questo articolo l’intelligenza artificiale studia le formule chimiche per ricreare la tavola periodica.
  3. Apprendimento con rinforzo: è simile all’apprendimento supervisionato. L’output desiderato però non è fornito esplicitamente. Si dà solo un feedback di “buono” o “cattivo”. Questa tecnica, abbinata al deep learning, è la più potente: viene utilizzata per addestrare i robot e le macchine a guida autonoma poichè devono interagire con l’ambiente. Ed eventualmente, farci un pancake.

Scopri di più sul Superuovo

Qui al Superuovo seguiamo da vicino gli sviluppi dell’intelligenza artificiale: ci siamo chiesti come sarà la guerra del futuro con i nuovi sottomarini cinesi a guida autonoma, se il mondo del videomaking cambierà e come le reti neurali artificiali possono aiutare a diagnosticare le malattie, anche quelle mentali.

Mattia Grava