Una mano destra robotica, Dactylo, ha risolto in appena 4,22 secondi un cubo di Rubik 3 x 3 x 3 (ovvero il modello più classico con tre quadretti per ogni spigolo). La notizia ha fatto il giro del mondo, perché, come raccontavano le pubblicità agli esordi del puzzle, il cubo è un vero rompicapo con “oltre 3miliardi di combinazioni, ma solo una soluzione”.

La straordinarietà di Dactylo va ben al di là di una soluzione in pochi secondi del celebre gioco. OpenAi – la società americana di ricerca e sviluppo di Intelligenza artificiale fondata con la missione di sviluppare un’IA sicura in un modo a beneficio dell’umanità – concependo Dactylo si è posta l’obiettivo di trovare risposta a un problema complesso: usare un modello di mano robotica generico (e in circolazione da 15 anni), dotandolo di una destrezza sempre più vicina a quella umana.

Lab OpenAi: il dado è tratto

Nel corso di un anno, infatti, i ricercatori di OpenAi hanno addestrato due reti neurali in simulazione, usando lo stesso codice di apprendimento di rinforzo di OpenAi Five (questo è il nome di un progetto di machine learning che si esibisce grazie a 5 bot che giocano contro avversari umani nel videogame Dota 2) abbinato però a una nuova tecnica chiamata Automatic Domain Randomization (Adr). Per avere un ordine di misura dello sforzo compiuto, Dactylo si è allenata in simulazione per l’equivalente di 13mila anni prima di essere testato nel mondo reale. La simulazione è stato un passaggio obbligatorio: una tale mole di movimenti in ambiente reale avrebbe mandato in palla o rotto il robot.

Automatic Domain randomization

L’Adr è una tecnica di OpenAi che genera, nel corso della simulazione, infiniti ambienti progressivamente più difficili, così che il sistema, nell’apprendere, apprenda a conoscere le dinamiche ambientali (meta-apprendimento). Un prerequisito questo, dicono in OpenAi, per la costruzione di sistemi di uso generale, poiché consente loro di adattarsi rapidamente alle mutevoli condizioni del loro ambiente.

Sembra facile, ma non è così.  La randomizzazione chiede ai ricercatori di specificare manualmente gli intervalli di randomizzazione, il che contiene un rischio: troppa randomizzazione rende l’apprendimento difficile, ma una randomizzazione insufficiente ostacola il trasferimento al robot reale. Adr, dicono in Open Ai, risolve questo problema espandendo automaticamente gli intervalli di randomizzazione nel tempo senza alcun intervento umano. Ricordiamo che randomizzare significa costruire una distribuzione controllata che simuli una distribuzione casuale.

Dal virtuale al reale

La funzione di rinforzo – che lo ricordiamo nelle tecniche di apprendimento assegna un premio (la ricompensa) alla macchina (laddove il feed-back sia positivo), dopo averne misurato il grado di successo di un’azione o decisione, rispetto a un obiettivo predeterminato – associata all’Adr hanno poi trovato la loro rappresentazione nel mondo reale, con le azioni del robot destrorso sul celebre cubo.

Dactylo, infatti, nel corso di alcune manipolazioni è stata anche fatta oggetto di “assalti”: ovvero situazioni di disturbo non previste dall’addestramento virtuale (che comprendeva anche delle difficoltà. come due dita della mano legate e impedite all’azione).

Per esempio, il cubo di Rubik è stato spinto con il muso di un peluche a forma di giraffa, o ancora picchiettato da una penna, o ancora mano e cubo sono stati coperti con un panno oscurante lanciato dall’operatore. La mano robotica pur in situazione non previste ha continuato il suo processo di soluzione. Certo, le performance non sono state impeccabili. Dunque, dicono in OpenAI, l’apprendimento per rinforzo non è solo uno strumento per attività virtuali, ma può risolvere i problemi del mondo fisico che richiedono destrezza non prevista.

Non tutto è risolto

Risolvere il cubo di Rubik con una mano robotica non è ancora giunto alla sua meta ultima. Il metodo, secondo le dichiarazioni di OpenAi, consente attualmente la risoluzione del gioco nel 20% delle volte quando si applica uno scramble estremamente difficile che richiede 26 rotazioni della faccia. Per scrambles più semplici, che richiedono 15 rotazioni, il tasso di successo è del 60%.

Quando il cubo di Rubik viene tolto dalla mano o viene raggiunto un timeout, il tentativo viene considerato dai ricercatori fallito. Tuttavia, il sistema –dicono in OpenAi – è in grado di risolvere il cubo di Rubik da qualsiasi condizione iniziale: per esempio se il cubo viene lasciato cadere, è possibile rimetterlo sulla mano e continuare a risolvere il gioco.
Il futuro di Dactylo è tutto da scrivere, ma è evidente che un passo decisivo è stato fatto per future soluzioni di sostegno alle vite di anziani o di persone con handicap.

https://www.youtube.com/watch?v=QyJGXc9WeNo&feature=youtu.be