Partendo da un robot che con una mano sola risolve il cubo di Rubik si definisce un metodo da applicare su vasta scala per fornire le macchine di percezione e abilità nella manipolazione.

La realizzazione di questo progetto nasce dall’idea di riuscire ad addestrare una mano robotica ad eseguire compiti con manipolazioni complesse, attitudini attualmente difficili da padroneggiare per i robot.

Già da maggio 2017 il team di OpenAI, organizzazione no profit che ha realizzato il progetto, aveva cercato di addestrare una mano robotica a risolvere il cubo di Rubik. Oggi, dopo simulazioni al computer e lo sviluppo di un nuovo metodo sono arrivati ad avere un robot, o meglio una mano, capace di risolvere il cubo di Rubik in condizioni ambientali differenti.

 

 

Inizialmente, per risolvere il cubo di Rubik e individuare quali passaggi della soluzione scegliere, le reti neurali erano state formate utilizzando l’apprendimento per rinforzo e l’algoritmo di Kociemba. Questo tipo di formazione permetteva di randomizzare il processo e quindi di avere una maggiore probabilità che altre variabili non considerate nello studio si distribuissero in maniera uniforme nel sistema di controllo e in quello di verifica.

Il metodo però così sviluppato non era completo: occorreva infatti creare ambienti di simulazione abbastanza diversi per cercare di considerare tutti i fattori che caratterizzano il mondo reale. L’attrito, l’elasticità e la dinamicità di fatto sono fattori incredibilmente difficili da misurare e da modellare per oggetti complessi. In questo caso la sola randomizzazione del processo non era  sufficiente.

I ricercatori allora hanno sviluppato un nuovo metodo chiamato Automatic Domain Randomization (ADR), che genera infiniti ambienti progressivamente più complessi.

Partendo da un sistema non randomizzato, esso si evolve per passaggi successivi attraverso situazioni sempre più complesse da risolvere.
Il compito diventa sempre più difficile e la rete neurale deve imparare a generalizzare e risolvere il problema con fattori che sono sempre più randomizzati.

Il metodo funziona così: inizialmente la rete impara a risolvere il cubo di Rubik e man mano che impara, migliora quindi il suo compito e raggiunge una prestazione ottimale, la quantità di fattori ambientali aumenta in maniera casuale. Il compito diventa sempre più difficile e la rete neurale deve imparare a generalizzare e risolvere il problema con fattori che sono sempre più randomizzati. La rete continua ad imparare fino a quando non supera nuovamente la soglia di prestazione ottimale, arrivati a questo punto si avvia una maggiore randomizzazione e così il processo di apprendimento si ripete.

Il sistema impara a individuare soluzioni ottimali e a generalizzarle in ambienti molto differenti tra loro.

In futuro l’applicazione di questo metodo permetterebbe la realizzazione di robot in grado di svolgere molti compiti diversi per aumentare il tenore di vita dell’uomo.