Da Siri a J.A.R.V.I.S.?

Machine Learning

“Te l’avevo detto!”.

Questo è quello che avrebbe dovuto rispondere l’intelligenza artificiale “MogIA” ai suoi sviluppatori indiani la mattina successiva alle elezioni dell’attuale presidente americano.

Sì, perché, interrogata diversi giorni prima su chi sarebbe diventato il prossimo presidente, ha dato come risultato la vittoria di Trump, addirittura con una possibilità più alta rispetto a quella che aveva Obama nel 2008.

Donald Trump on an episode of The Simpsons

Ma facciamo un passo indietro: chi è MogIA?

MogIA,è un software capace di collezionare e valutare una enorme quantità di informazioni provenienti dai social per interpretare, tra le altre cose, le intenzioni di voto. È attivo da 12 anni e fino ad oggi ha sempre indovinato il presidente eletto.

Ecco un ottimo esempio di quello che oggi si può ottenere applicando tecniche di machine learning, ovvero la scienza che permette di avere una analisi predittiva osservando grandi moli di dati e cercando relazioni tra di loro per riconoscere schemi ricorrenti.

Banalizzando, in questo caso specifico lo schema ricorrente è che se un candidato è molto più presente nei social aumenta drasticamente la sua percentuale di vittoria, a prescindere che sia criticato o appoggiato (cosa che il sistema non sa interpretare).

A questo punto però qualcuno potrebbe controbattere dicendo che sulle elezioni americane in verità si ha il 50% di possibilità di indovinare il risultato e che quindi potrebbe essere entrato anche in gioco il fattore fortuna: allora andiamo a vedere cosa succede quando i numeri si fanno più interessanti:

Ma prima di continuare vi invito a mettere in play questo brano dei Flow Machines… per creare un po’ di atmosfera.

Deep Learning

 

C’è stato almeno un altro caso quest’anno in cui gli sviluppatori hanno pensato ad un errore nei risultati di una intelligenza artificiale per poi doversi ricredere: la mossa 37 della partita di go tra DeepMind (intelligenza artificiale dell’omonima compagnia che da qualche anno è stata acquisita da Google) e l’attuale campione europeo.

GO game

Per chi non conoscesse il gioco del go allego due righe copiate brutalmente da wikipedia giusto per capire il contesto :

“Il go ebbe origine in Cina, dove è giocato da almeno 2500 anni, è un gioco molto complesso strategicamente malgrado le sue regole semplici; un proverbio coreano dice che nessuna partita di go è mai stata giocata due volte, il che è verosimile se si pensa che ci sono 2,08 × 10170 diverse posizioni possibili.”

Per dare un termine di paragone il gioco degli scacchi ha 1045  possibili posizioni: valore che ha già permesso, vent’anni fa, di creare una IA capace di battere l’uomo. (Deep Blue sconfisse l’allora campione del mondo Garry Kasparov in una serie di sei partite.)

Viceversa per affrontare la complessità del go è stato necessario utilizzare nuove tecniche di deep learning capaci di creare un sistema in grado di apprendere in autonomia: quello che in pratica avviene è che il sistema è studiato per migliorare ad ogni partita che esegue, e “studiando” da una enorme banca dati di partite passate.

A conti fatti un processo non troppo diverso da quello umano.

Tutto questo ha portato alla partita in questione.

Partita iniziata con una situazione di equilibrio tra uomo e macchina fino a che quest’ultima ha eseguito una mossa, la numero 37,  che ha lasciato i presenti sbigottiti. Programmatori, esperti del gioco, pubblico, tutti hanno subito pensato ad un errore del software e la cosa incredibile è che nessuno si era minimamente accorto che dietro quella mossa, agli occhi degli esperti così sbagliata, c’era una strategia ben precisa, talmente buona che avrebbe portato direttamente alla vittoria Deep Mind.

Questo chiaramente è solo un esempio di una delle infinite applicazioni nel mondo reale del deep learning: tecnologie simili sono oggi utilizzate  per esempio nella ricerca medica, nella creazione di sistemi di guida autonomi o di assistenti sempre più evoluti, e in numerosissimi altri campi che troveranno sempre più spazio nel nostro quotidiano. Per chi vuole approfondire l’argomento qui l’articolo che fa un affondo su alcune applicazioni in uso e in sviluppo.

Tutto questo è diventato possibile perché ci troviamo a valle di un processo di raccolta di informazioni enorme (“big data”) ed abbiamo tra le mani sistemi con una capacità computazionale tale da poterle gestire.

Big data

I big data rappresentano una grande mole di dati, in gran parte non strutturati (come foto, video, canzoni), che generiamo ogni giorno attraverso i vari social network e più in generale sistemi cloud; si è stimato che tra qualche anno ogni essere umano genererà circa 2 MB di dati ogni secondo, attraverso l’utilizzo delle più svariate applicazioni a cui abbiamo comunemente accesso. La gestione intelligente di tale mole di dati ha spinto sempre più la ricerca scientifica a trovare nuove soluzioni per poterli gestire in modo efficiente. È qui che entra in gioco l’intelligenza artificiale, o meglio una sua branca: il cosiddetto “deep learning”. I dati, principalmente non strutturati, sono stati quindi una spinta, o meglio un’occasione per esplorare nuove dimensioni finora sconosciute. Ispirato dal modo in cui il cervello umano elabora i segnali naturali, il deep learning ha attirato molta attenzione da parte della comunità scientifica nei recenti anni, dovuto alle prestazioni davvero ragguardevoli in diversi domini di ricerca, come speech recognition e computer vision.

BigData

Un’architettura deep learning è costruita con l’utilizzo di reti neurali artificiali (ANN), modello ispirato dalle reti neurali biologiche, come il nostro cervello, usate per stimare funzioni matematiche che dipendono da un numero considerevole di input, di solito sconosciuti. Le ANN si presentano quindi sotto forma di interconnessioni di neuroni artificiali, questi ultimi in grado di scambiarsi tra loro messaggi, proprio come fanno i nostri neuroni biologici. Ogni connessione ha determinati pesi, i quali vengono regolati ogni volta che l’intero sistema fa fronte ad una nuova esperienza, permettendo alle stesse di adattarsi ai nuovi input, consentendone quindi l’apprendimento.

The Flow Machines

Un altro esempio di quello che si può fare elaborando enormi quantità di dati oggi?

La canzone che state ascoltando è stata composta da una IA e in verità i “Flow Machines” non esistono: è solo il nome di un software proprietario di Sony… aspettiamo 20 secondi in modo che tutti quelli che non avevano fatto partire la canzone lo facciano adesso.

fab4

Questo software è stato creato con lo scopo sia di comprendere ed interpretare tecnicamente cos’è uno spartito musicale, quali regole segue, cosa sono e come funzionano i vari simboli che sono presenti sul pentagramma, sia di capirne genere, stile, armonia e altre peculiarità che per l’orecchio umano sono rappresentative.

A questo software sono stati dati in pasto migliaia di spartiti, e dall’analisi di questi spartiti è scaturito un processo di apprendimento. In seguito hanno cercato di mettere alla prova il sistema, e quindi gli hanno richiesto, partendo da quello che aveva “imparato”, di creare un brano di genere pop di 3 minuti che avesse delle influenze dei Beatles al suo interno.

Flow Machines ha generato uno spartito provando a seguire queste regole, e quest’ultimo poi è stato prodotto da un compositore (umano stavolta) il quale ne ha anche aggiunto il testo. Certo, il brano risultante non è un capolavoro, e da amante dei Fab Four ammetto di essere partito molto scettico a riguardo: allo stesso tempo però devo ammettere che, in particolar modo nella parte del ritornello, le influenze beatlesiane sono decisamente comprensibili.

E provo estrema meraviglia nel pensare che una macchina, in qualche modo, sia riuscita a capire cosa può essere distintivo e riconoscibile nello stile di una specifica band, ed utilizzare queste informazioni per creare dal nulla qualcosa di nuovo. Sony, forte di questo risultato, nel 2017 farà uscire un album completamente generato da questa intelligenza artificiale.

What’s Next?

Chiaramente come evolveranno queste tecnologie è difficile da ipotizzare, e anche le più grandi menti propongono scenari estremamente variegati: dal più catastrofista al più roseo.

next

Tra le varie teorie una delle più colorite a riguardo è quella del Singularity Point di Ray Kurzweil, scienziato ed esperto informatico che ipotizza che nei prossimi 25 anni una intelligenza artificiale equiparerà la capacità di elaborazione del cervello umano, per poi progredire superandolo in maniera esponenziale. Da qui la Singolarità, cioè un momento preciso oltre il quale non è possibile immaginare quello che potrebbe succedere e che segnerà un radicale cambiamento di gran parte delle nostra società. Teoria che sembra del tutto fantascientifica, ma che forse ha lanciato qualche campanello di allarme, visto che proprio quest’anno si è riunito un comitato scientifico per discuterne (Future of Humanity Institute, Oxford).

Teorie estreme a parte, quello che invece sembra trovare tutti d’accordo è l’idea che oggi stiamo vivendo un momento di rottura e di rivoluzione, e già dal prossimo futuro l’intelligenza artificiale sarà sempre più presente nella nostra normalità.

Sono convinto che ne vedremo delle belle.

Marcello Tana
con il supporto “neurale” di Giuseppe Donatiello

Marcello Tana

Marcello Tana

Progettista Software appassionato di musica e tecnologia.
Attualmente lavora come Senior Software Developer @ Technogym Spa

Giuseppe Donatiello

Giuseppe Donatiello

Ingegnere Informatico appassionato di Machine Learning e modelli cognitivi.
Attualmente lavora come Data Scientist @ Technogym Spa HQ

Condividi su