I computer stanno apprendendo da soli come muoversi nelle situazioni in forme tali che nessun programmatore può insegnare loro.
di Will Knight
In una semplice simulazione al computer, un gruppo di auto a guida autonoma esegue una manovra pazzesca su un’autostrada virtuale a quattro corsie. Una metà sta provando a spostarsi dalle corsie di destra, mentre l’altra metà si trova a sinistra. Sembra proprio il genere di cosa complicata che potrebbe mettere in difficoltà un veicolo robotico, ma l’ostacolo viene superato senza particolari apprensioni.
Sto guardando una simulazione di guida, presentata per la prima volta alla conferenza di intelligenza artificiale di Barcellona qualche tempo fa. La cosa più sorprendente è che il software che regola il comportamento delle auto non è stato programmato in senso convenzionale. Ha imparato a muoversi in strada, agevolmente e in sicurezza, semplicemente esercitandosi.
Durante l’allenamento, il software di controllo ha eseguito ripetutamente la manovra, modificando leggermente le sue istruzioni ad ogni tentativo. Il più delle volte il passaggio di corsia è avvenuto in modo troppo lento e le auto hanno interferito l’una con l’altra. Ma ogni volta che i movimenti procedevano senza intoppi, il sistema imparava a favorire il comportamento che aveva portato a questo risultato.
Questo approccio, noto come apprendimento di rinforzo, è in gran parte il modo in cui AlphaGo, un computer sviluppato da DeepMind, una consociata di Alphabet, ha dominato le partite di Go, un gioco da tavolo di infinita complessità, e pochi anni fa ha battuto uno dei migliori giocatori umani del mondo.
L’apprendimento per rinforzo potrebbe presto trasfondere intelligenza non solo nei giochi. Oltre a implementare le auto a guida autonoma, la tecnologia consente a un robot di afferrare oggetti che non ha mai visto prima, e può settare la configurazione ottimale per l’apparecchiatura in un data center.
L’apprendimento per rinforzo copia un principio molto semplice dalla natura. Lo psicologo Edward Thorndike lo ha documentato più di 100 anni fa. Thorndike mise alcuni gatti dentro delle scatole da cui potevano fuggire solo premendo una leva. Dopo una notevole quantità di tentativi, gli animali alla fine sono passati sopra la leva per caso. Dopo aver imparato ad associare questo comportamento al risultato desiderato, alla fine sono fuggiti con velocità crescente.
Alcuni dei primi ricercatori di intelligenza artificiale credevano che questo processo potesse essere utilmente riprodotto su macchine. Nel 1951, Marvin Minsky, uno studente di Harvard che al MIT sarebbe diventato uno dei padri fondatori dell’IA, costruì una macchina che utilizzava una semplice forma di rinforzo per imitare un topo che imparava a navigare in un labirinto.
Lo SNARC, vale a dire lo Stochastic Neural Analogy Reinforcement Computer , consisteva in dozzine di tubi, motori e frizioni che simulavano il comportamento di 40 neuroni e sinapsi. Man mano che un topo “simulato” usciva da un labirinto virtuale, la forza di alcune connessioni sinaptiche aumentava, rafforzando così il comportamento vincente.
Ci sono stati pochi successi nei decenni successivi. Nel 1992, Gerald Tesauro, un ricercatore di IBM, ha dimostrato un programma basato su questa tecnica per giocare a backgammon. È diventato abbastanza abile da competere con i migliori giocatori umani, un traguardo fondamentale nell’IA.
L’apprendimento per rinforzo ha mostrato dei limiti quando ha affrontato problemi più complessi. “La gente pensava che fosse una bella idea, ma non funzionasse”, afferma David Silver, ricercatore di DeepMind nel Regno Unito e uno dei principali sostenitori dell’apprendimento per rinforzo oggi.
Tale opinione è tuttavia cambiata radicalmente a marzo del 2016. E’ stato allora che AlphaGo, un programma addestrato con l’apprendimento per rinforzo, ha sconfitto uno dei migliori giocatori di Go di tutti i tempi, Lee Sedol della Corea del Sud. L’impresa è stata sorprendente, perché è praticamente impossibile costruire un buon programma di gioco con la programmazione convenzionale.
Non solo il gioco è estremamente complesso, ma anche i giocatori di Go esperti possono fare fatica a spiegare perché certe mosse sono buone o cattive. Questa incertezza spiega perchè i principi regolatori del gioco sono difficili da scrivere nel codice. La maggior parte dei ricercatori di intelligenza artificiale si aspettava che ci sarebbe voluto un decennio perché un computer giocasse come un umano esperto.
Una lotta per la posizione di testa
Silver, un tranquillo studente inglese dell’università di Cambridge da sempre appassionato dell’intelligenza artificiale, spiega perché l’apprendimento per rinforzo si è imposto in questo ultimo periodo. A suo parere, la chiave vincente sta nella combinazione con l’apprendimento profondo, una tecnica che prevede l’utilizzo di una rete neurale simulata molto ampia per riconoscere modelli nei dati.
L’apprendimento per rinforzo funziona perché i ricercatori hanno capito come fare in modo che un computer calcoli il valore che dovrebbe essere assegnato, per esempio, a ogni svolta giusta o sbagliata che un topo deve fare per uscire da un labirinto. Ogni valore è memorizzato in una tabella di grandi dimensioni e il computer aggiorna tutti questi valori mentre apprende.
Nel caso di compiti complessi, queste operazioni diventano poco pratiche dal punto di vista computazionale. Negli ultimi anni, tuttavia, l’apprendimento profondo si è dimostrato un modo estremamente efficiente per riconoscere i modelli nei dati, sia che i dati si riferiscano alle svolte in un labirinto, alle posizioni sulla tavola da Go o ai pixel mostrati sullo schermo durante un gioco per computer.
In effetti, è stato nel settore dei giochi che DeepMind si è fatta un nome. Nel 2013 ha pubblicato i dettagli di un programma in grado di imparare a giocare a vari videogiochi Atari a livelli eccelsi, portando Google ad acquisire l’azienda per oltre 500 milioni di dollari nel 2014.
Il successo di DeepMind ha ispirato altre aziende e i ricercatori a dare spazio all’apprendimento di rinforzo. Numerosi produttori di robot industriali stanno testando questa tecnica per addestrare le loro macchine a svolgere nuove attività senza programmazione manuale.
I ricercatori di Google, una sussidiaria di Alphabet, hanno collaborato con DeepMind per utilizzare la tecnologia del rinforzo per migliorare l’efficienza energetica dei loro data center. Non è semplice infatti capire come tutti gli elementi di un data center influenzeranno il consumo di energia,
Ma questo software potrebbe esprimere il massimo delle sue potenzialità nelle auto a guida autonoma. I veicoli senza conducente odierni spesso mostrano seri limiti in situazioni complesse che comportano l’interazione con i conducenti umani, come caos da traffico o incroci a più direzioni. Per non correre rischi inutili o creare ingorghi si devono acquisire capacità di guida più avanzate.
Il software per la guida in autostrada è di Mobileye, un’azienda automobilistica israeliana che produce sistemi di sicurezza dei veicoli utilizzati da dozzine di case automobilistiche, tra cui Tesla Motors. Shai Shalev-Shwartz, vicepresidente per la tecnologia di Mobileye, ha illustrato alcune delle sfide che dovranno affrontare le auto a guida autonoma, portando ad esempi una rotonda a Gerusalemme, un incrocio caotico a Parigi, il traffico infernale in India.
“Se un’auto a guida autonoma rispetta rigorosamente le regole, allora nelle ore di punta si bloccherebbe tutto”, sostiene Shalev-Shwartz. Mobileye sta testando il software su una flotta di veicoli in collaborazione con BMW e Intel. Sia Google che Uber dichiarano di star sperimentando l’apprendimento di rinforzo per i loro veicoli a guida autonoma.
Questa tecnica viene applicata in un numero crescente di aree, afferma Emma Brunskill, una ricercatrice della Stanford University, ma è particolarmente adatta alla guida automatizzata perché consente “rapide sequenze decisionali”, impossibili se i programmatori dovessero codificare tutte queste decisioni in auto in anticipo.
Rimangono però numerose sfide da superare. Andrew Ng, responsabile scientifico della azienda cinese Baidu, avverte che l’approccio richiede un’enorme quantità di dati e che molti dei suoi successi sono legati alla possibilità del computer di esercitarsi incessantemente nelle simulazioni.
In effetti, i ricercatori stanno ancora cercando di capire come far funzionare l’apprendimento per rinforzo in situazioni complesse in cui esiste più di un obiettivo.
Mobileye ha dovuto modificare i suoi protocolli in modo che un’auto a guida autonoma che sia in grado di evitare incidenti non ne provochi un altro più serio per qualcun altro. A vedere la loro presentazione, sembra che tutto sia perfetto, ma i test più impegnativi devono ancora venire.
(rp)