Lo scorso marzo, un programma progettato dall’intelligenza artificiale DeepMind, di proprietà di Google, ha sfidato il campione mondiale di Go, un antico gioco da tavolo ancora più complesso degli scacchi. Quest’anno, il software è già riuscito a sconfiggere uno dei campioni europei di Go, segnando quindi un avanzamento nel campo dell’intelligenza artificiale. Un traguardo, questo, che numerosi ricercatori pensavano fosse già stato raggiunto diversi anni fa.
Le piattaforme software in grado di interpretare dati e prendere decisioni proprio come gli esseri umani possono essere utilizzate in numerosi settori – dalla sanità ai trasporti, fino alla finanza e al marketing. È per questo che sembra esserci in corso una gara tra giganti del calibro di Google, Facebook e altri prestigiosi centri di ricerca presenti nel mondo che lavorano nel campo dell’intelligenza artificiale.
Nei laboratori di ricerca di Xerox, che da anni lavora insieme ai propri clienti con lo scopo di innovare, progettare ed esplorare nuove soluzioni per rispondere alle sfide aziendali, stanno lavorando per unire tecniche di apprendimento approfondito ai motori grafici dei videogiochi, così da insegnare ai computer come “vedere” il mondo intorno a loro e interpretare cosa succede. Lo scorso anno, ad esempio, ai software è stato insegnato a monitorare con successo persone e oggetti all’interno di una città, così da prevedere le condizioni del traffico. Quest’anno, invece, il desiderio è quello di estendere questa innovativa opportunità agli ospedali, per controllare le procedure sanitarie.
Gli algoritmi della computer vision potrebbero, in futuro, riuscire a trasformare una videocamera in uno strumento che le persone potranno utilizzare per estendere il proprio punto di vista e accrescere significativamente le proprie capacità, la propria soglia di attenzione e la concentrazione. Se ci pensiamo bene,infatti, la nostra attenzione diventato sempre più uno dei beni di maggior valore che possediamo. In un ospedale, ad esempio, una videocamera intelligente sarebbe in grado di riconoscere quando un paziente non si sente bene, e quindi di avvisare immediatamente un’infermiera.
È importante sottolineare che, per insegnare a un computer a fare queste cose, è necessario alimentarlo costantemente di dati. Attualmente, questo processo si basa su due tipi di approccio. Il primo prevede un apprendimento “controllato” da parte delle persone: gli addetti, quindi, inseriscono nel computer dati “classificati” o esempi da cui apprendere; il secondo tipo – sperimentato dai ricercatori di Google e Facebook – invece, prevede un apprendimento non controllato e senza dati pre-etichettati. In questo caso, il computer deve osservare dati che non sono ancora stati processati e scoprire nuove strategie per la risoluzione dei problemi. Pur essendo probabile che, un giorno, i computer possano essere in grado di apprendere da dati non processati e senza alcun tipo di supervisione, allo stato attuale l’opzione migliore sembra essere l’apprendimento controllato.
L’idea alla base della ricerca svolta nel centro Xerox è semplice, e prevede di utilizzare i motori grafici dei videogiochi per generare dati video etichettati da usare poi come esempi di training, nel contesto dell’apprendimento controllato.
Quest’idea cambia radicalmente il modo in cui si possono insegnare gli algoritmi inerenti alla computer vision per la comprensione dei video, e permette di superare due ostacoli: la maggior parte dei dati video reali, infatti, non sono né ordinati né etichettati con chiarezza.
Se oggi si volesse insegnare a un computer a riconoscere una persona che sta cadendo, per esempio, bisognerebbe prima trovare migliaia di esempi, e poi inserirli all’interno di un programma. Tramite i motori grafici per i videogiochi, invece, basterà creare dati in grado di insegnarlo al computer.
Inoltre, gli algoritmi per l’apprendimento controllato sono, generalmente, “scatole nere” che non si preoccupano delle leggi della fisica. Una videocamera non può sapere che, se una pallina da baseball colpirà una finestra, il vetro cadrà e andrà in frantumi. Sorge spontaneo chiedersi, quindi: i mondi virtuali sono in grado di fornire dati sintetici che possano poi essere utilizzati per insegnare ai computer a osservare e interpretare eventi che accadono nel mondo reale?
I motori grafici dei videogiochi non possono vedere il mondo, ma possono costruire mondi virtuali basati su sistemi complessi e leggi fisiche, così che alle azioni corrispondano conseguenze realistiche. Una macchina che non rispetta un semaforo rosso all’incrocio, ad esempio, obbligherà anche le altre macchine a muoversi di conseguenza.
Al Centro di Ricerca Europeo di Xerox (XRCE) sono stati progettati dei mondi virtuali tramite i motori grafici dei videogiochi, con l’obiettivo di insegnare ai software per la computer vision come monitorare gli oggetti[i]. Questi mondi si basano su parametri tipici del mondo reale quali la luce, i cambiamenti atmosferici, le proprietà materiali e persino la gravità. In questo modo, si potranno creare dati sintetici che siano realistici ma, al tempo stesso, liberi dalle problematiche tipiche del mondo reale, come la privacy. Inoltre, sarà possibile testare i nostri algoritmi per la computer vision senza conseguenze reali, come causare un incidente.
Siamo quindi di fronte a qualcosa di davvero importante, per il mondo della computer vision.
[i] “Virtual Worlds as Proxy for Multi-Object Tracking Analysis” by Adrien Gaidon, Eleonora Vig and Qiao Wang, CVPR 2016, June 26th – July 1st 2016, Las Vegas, USA.