Deep learning e reti neurali artificiali. Così i robot sfidano l’uomo

deep-learning-reti-neurali-artificiali

di Massimiliano Patacchiola.

Il Deep Learning (in italiano Apprendimento Approfondito) è un insieme di algoritmi e tecniche statistiche che permettono di individuare pattern, modelli, schemi ricorrenti, regolarità in un insieme di dati non organizzato.

Per esempio, utilizzando le tecniche di Deep Learning è possibile per un computer riconoscere un viso in una fotografia (questo strumento è utilizzato da Facebook per suggerire tag in un’immagine), oppure individuare degli ostacoli lungo un percorso stradale (come fanno molte driverless car, attualmente in fase di sperimentazione).

Il Deep Learning, le Reti Neurali Artificiali e il cervello umano

Il Deep Learning si basa su Reti Neurali Artificiali, ovvero modelli computazionali ispirati al funzionamento del cervello umano. Le Reti Neurali Artificiali sono nate negli anni Cinquanta e si sono evolute in modo altalenante fino ad oggi.

La caratteristica principale di una Rete Neurale Artificiale è la sua capacità di apprendere durante una fase di addestramento e quindi generalizzare le conoscenze acquisite per prevedere situazioni nuove. Proprio come un cervello umano, queste reti hanno una memoria interna che viene incrementata con l’esperienza. Una Rete Neurale Artificiale è composta da unità interne collegate da connessioni. L’unità è l’equivalente del neurone e le connessioni sono l’equivalente delle sinapsi.

Le reti neurali degli anni Cinquanta avevano una struttura semplice con poche unità interne mentre quelle attuali utilizzano milioni di unità. Reti con molte unità possono apprendere pattern complessi ma non sono facili da gestire perché richiedono computer più potenti e tecniche di addestramento più sofisticate. Se dovessimo descrivere in una frase il funzionamento di una Rete Neurale Artificiale, potremmo dire che una rete artificiale prende in ingresso delle informazioni e trova un senso, delle regolarità, dei pattern.

Mentre stai leggendo questo articolo il tuo cervello organizza lettere in parole, e parole in frasi, finché non ne emerge il significato. Allo stesso modo una Rete Neurale Artificiale può analizzare i tuoi commenti su un sito web in cerca di parole significative e argomenti rilevanti. Questa spinta a dare un senso alle informazioni è così profondamente insita nel nostro cervello che viene applicata anche a pattern privi di significato. Quando guardiamo delle nuvole ci viene spontaneo associare ad esse delle categorie reali. Questo stesso meccanismo è presente nelle Reti Neurali Artificiali, il che le rende estremamente affascinanti e allo stesso tempo spaventose.

Il Deep Learning e i robot sempre più intelligenti

Il Deep Learning fa ampiamente uso delle Reti Neurali Artificiali ed in modo particolare di reti con un elevato numero di unità definite in gergo tecnico “profonde” (da qui deriva il termine inglese “Deep”). In tempi recenti la gestione di queste reti enormi è diventata più semplice grazie all’uso delle schede di calcolo utilizzate per il gaming (GPU) che hanno trovato ampio utilizzo nelle server-farm delle maggiori compagnie del mondo e negli istituti di ricerca.
La quantità di investimenti nel settore del Deep Lerning è aumentata in modo esponenziale. Il Deep Learning viene utilizzato in diversi settori e per diversi scopi. In robotica permette di creare robot più intelligenti, macchine in grado di percepire l’ambiente circostante e di reagire a particolari stimoli.

Un sito web può utilizzare tecniche di Deep Learning per capire I gusti degli utenti e inviare annunci pubblicitari ritagliati su una particolare categoria. Facebook per esempio, può analizzare le foto che pubblicate, il tipo di commenti, il numero di amici e la vostra posizione geografica per capire meglio I vostri gusti. Un algoritmo di Deep Learning può quindi aggregare le informazioni di milioni di utenti al fine di individuare diverse categorie.

Deep Blue, così la macchina ha battuto l’uomo

deep-learning-reti-neurali-artificialiL’11 maggio 1997 è passato alla storia come il momento in cui le macchine hanno battuto l’uomo. Deep Blue il supercomputer ideato da IBM ha vinto il campione del mondo di scacchi Garry Kasparov. Gli scacchi sono da sempre collegati ad abilità cognitive di alto livello. Un buon giocatore deve possedere memoria, strategia, intuito. Dunque se un computer può sconfiggere il campione del mondo questo significa che tale computer deve possedere le stesse abilità spinte al massimo livello. Seguendo questo ragionamento la vittoria di Deep Blue venne descritta dalle testate giornalistiche dell’epoca come l’inizio di una nuova era. Le macchine avrebbero presto preso il sopravvento e soppiantato gli esseri umani nella maggior parte delle attività.

Dove siamo arrivati dopo quasi venti anni? Nel 1997 Deep Blue era il 249° computer più potente al mondo, con una capacità computazionale di 11.38 GFLOPS. Oggi la stessa potenza di calcolo è disponibile in un normalissimo computer desktop. Per sconfiggere giocatori di buon livello non serve più un supercomputer, basta un software scacchistico installato su un qualsiasi smartphone.

Deep Learning: Deep Blue e la mancanza di creatività

Perché le tanto temute macchine non hanno ancora avuto la meglio? La risposta risiede nel tipo di algoritmo utilizzato da Deep Blue. Dietro la vittoria non c’era nessun tipo di creatività, intuito, o strategia, ma una sistematica ricerca di possibili mosse basata sulla forza bruta. Da un lato c’era Kasparov che esaminava la disposizione dei pezzi richiamando alla mente partite passate, pianificando mosse mirate a sorprendere l’avversario e cercando combinazioni originali. Dall’altro Deep Blue che assegnava un valore numerico ad ogni pezzo (es. pedone=1, torre=5, regina=9) e generava 200 milioni di mosse al secondo alla ricerca di quella migliore.

Questa sfida fu quindi principalmente una sfida tra due diversi modi di ragionare, quello umano fatto di intuito, memorie sfumate e strategie acquisite con una lunga esperienza, e quello del calcolatore fatto di algoritmi ripetuti in modo ciclico. Molto importante anche il fattore emotivo. Il primo dei sei incontri fu vinto con facilità da Kasparov. Il secondo incontro fu vinto da Deep Blue con la resa di Kasparov.

Quello che è successo durante il secondo incontro è interessante. Il software di Deep Blue aveva un problema di valutazione collegato con alcuni pezzi della scacchiera che si manifestò in concomitanza con una specifica configurazione. La mossa che ne seguì fu particolarmente avventata e avrebbe potuto avere gravi conseguenze portando alla sconfitta del computer. Tuttavia Kasparov rimase sorpreso e non riuscì a capire il senso di quella mossa. Kasparov cominciò ad agitarsi e ad avere paura, paura di essere sconfitto. Nelle partite successive Kasparov apparve sempre più teso, arrivò stremato all’ultimo incontro e come ben sappiamo ebbe la peggio.

AlphaGo, il supercomputer di Google che si basa sul Deep Learning

La storia si ripete. Il 15 Marzo 2016 AlphaGo, il supercomputer ideato da Google, ha battuto Lee Sedol il campione del mondo di Go. Questa volta siamo di fronte ad uno scenario diverso. Go è un gioco di strategia nato in Cina circa 2500 anni fa. La particolarità di questo gioco risiede nell’enorme spazio di ricerca, ovvero nel numero di possibili mosse. Un proverbio dice che nessuna partita di Go è mai stata giocata due volte. In effetti guardando l’enorme scacchiera (composta da 19×19 caselle) ci si rende conto di quanto sia complesso soltanto stimare l’andamento della partita.

Questo gioco sembra impossibile da schematizzare, sembra impossibile creare una procedura che costituisca la base di funzionamento per un supercomputer. L’approccio utilizzato per Deep Blue non è utilizzabile in questo caso. Come ha fatto quindi AlphaGo a battere il campione del mondo Lee Sedol? AlphaGo ha utilizzato il Deep Learning.

Come ha fatto il Deep Learning a battere il campione del mondo Lee Seedol?

Ma come ha fatto il Deep Learning a battere il campione del mondo Lee Sedol? La scacchiera può essere vista come una tabella in cui alcune caselle sono occupate ed altre libere. Questa tabella può essere utilizzata come dato di ingresso di una Rete Neurale Artificiale. La rete può essere addestrata a riconoscere se la particolare configurazione di pedine è favorevole o meno. Una seconda rete neurale è stata addestrata a riconoscere quale mossa tra quelle disponibili si rivelerà più vantaggiosa nel corto periodo.

Queste reti neurali rappresentano l’intuito e la memoria che mancavano a Deep Blue. Ma non finisce qui, come dicevo precedentemente intuito e memoria vengono sviluppate dopo anni di pratica, come può un computer acquisirle in pochi mesi? Utilizzando un database di partite giocate da maestri, consistente in 30 milioni di mosse, AlphaGo ha potuto attingere ad una fonte di informazioni enorme. Inoltre il computer ha potuto giocare contro copie di se stesso e migliorare le proprie abilità in modo esponenziale. Combinando l’intuito e la potenza computazionale messa a disposizione da Google, AlphaGo ha potuto ridimensionare lo spazio di ricerca e scegliere in modo ottimale la mossa con maggiore probabilità di successo.

Il risultato finale è stato stupefacente, AlphaGo ha raggiunto una probabilità di vittoria del 99.8% contro gli altri software ed ha in seguito battuto il campione europeo Fan Hui e quindi il campione mondiale Lee Sedol.

Deep Learning e Reti Neurali Artificiali, le macchine sempre più simili a noi

Il Deep Learning sta rendendo le macchine più simili a noi ma in che direzione ci stiamo muovendo? Il Professor Nick Bostrom dell’università di Oxford ha recentemente pubblicato un libro in cui mette in guardia da possibili evoluzioni malevole di queste intelligenze artificiali. Le macchine al contrario di noi possono imparare in modo estremamente veloce, di fatto AlphaGo in pochi mesi ha superato in abilità il campione del mondo. Cosa aspettarci non è facilmente prevedibile. Molti degli esperti del settore concordano nel dire che una forma di super-intelligenza artificiale si manifesterà intorno al 2050, quando le capacità computazionali e lo sviluppo di algoritmi più sofisticati lo renderanno possibile. Il Deep Learning potrebbe essere uno dei componenti principali di questa super-intelligenza.

————————-

Massimiliano Patacchiola (http://mpatacchiola.github.io/), autore di questo contributo, si occupa di intelligenza artificiale e robotica. Laureato in scienze cognitive presso l’Università “La Sapienza” di Roma, ha lavorato nel settore privato come esperto di intelligenza artificiale. Attualmente è ricercatore presso l’Università di Plymouth, nel Regno Unito, ed è impegnato nel campo della robotica umanoide.

————————-

Potrebbe anche interessarti:

Cervello artificiale, come funziona il supercomputer che pensa come noi

Amelia robot, segretaria instancabile con un cervello artificiale

Vita artificiale, ora non è più fantascienza

Scienze cognitive e processi decisionali, dove si studiano in Italia