Un esempio di come il braccio robotico utilizza le domande del sondaggio per determinare le preferenze della persona che lo utilizza. In questo caso, la persona preferisce la traiettoria n. 1 (T1) rispetto alla traiettoria n. 2. Credito:Andy Palan e Gleb Shevchuk
Detto per ottimizzare la velocità durante la corsa su una pista in un gioco per computer, una macchina spinge il pedale sul metallo ... e procede a girare in un piccolo cerchio stretto. Niente nelle istruzioni diceva all'auto di guidare dritta, e così si è improvvisato.
Questo esempio, divertente in un gioco per computer ma non così tanto nella vita, è tra quelli che hanno motivato i ricercatori della Stanford University a costruire un modo migliore per fissare obiettivi per i sistemi autonomi.
Dorsa Sadigh, assistente professore di informatica e di ingegneria elettrica, e il suo laboratorio hanno combinato due modi diversi di fissare obiettivi per i robot in un unico processo, che ha funzionato meglio di entrambe le sue parti da sole sia nelle simulazioni che negli esperimenti del mondo reale. I ricercatori hanno presentato il lavoro il 24 giugno al Robotica:scienza e sistemi conferenza.
"Nel futuro, Mi aspetto pienamente che ci siano più sistemi autonomi nel mondo e avranno bisogno di un concetto di ciò che è bene e ciò che è male, " ha detto Andy Palan, studente laureato in informatica e co-autore del paper. "E' fondamentale, se vogliamo implementare questi sistemi autonomi in futuro, che abbiamo capito bene."
Il nuovo sistema del team per fornire istruzioni ai robot, noto come funzioni di ricompensa, combina dimostrazioni, in cui gli umani mostrano al robot cosa fare, e sondaggi sulle preferenze degli utenti, in cui le persone rispondono a domande su come vogliono che si comporti il robot.
"Le dimostrazioni sono informative ma possono essere rumorose. D'altra parte, le preferenze forniscono, al massimo, un po' di informazioni, ma sono molto più precisi, " ha detto Sadigh. "Il nostro obiettivo è ottenere il meglio da entrambi i mondi, e combinare i dati provenienti da entrambe queste fonti in modo più intelligente per conoscere meglio la funzione di ricompensa preferita dagli umani".
Dimostrazioni e sondaggi
Nei lavori precedenti, Sadigh si era concentrato solo sui sondaggi di preferenza. Questi chiedono alle persone di confrontare scenari, come due traiettorie per un'auto autonoma. Questo metodo è efficiente, ma potrebbero volerci fino a tre minuti per generare la domanda successiva, che è ancora lento per creare istruzioni per sistemi complessi come un'auto.
Per velocizzarlo, il gruppo in seguito ha sviluppato un modo per produrre più domande contemporaneamente, che potrebbe essere risposto in rapida successione da una persona o distribuito tra più persone. Questo aggiornamento ha accelerato il processo da 15 a 50 volte rispetto alla produzione di domande una per una.
Il nuovo sistema di combinazione inizia con una persona che dimostra un comportamento al robot. Ciò può fornire ai robot autonomi molte informazioni, ma il robot spesso fatica a determinare quali parti della dimostrazione sono importanti. Inoltre, le persone non vogliono sempre che un robot si comporti proprio come l'essere umano che lo ha addestrato.
"Non possiamo sempre dare dimostrazioni, e anche quando possiamo, spesso non possiamo fare affidamento sulle informazioni fornite dalle persone, " ha detto Erdem Biyik, uno studente laureato in ingegneria elettrica che ha guidato il lavoro sviluppando le indagini a domande multiple. "Per esempio, studi precedenti hanno dimostrato che le persone vogliono che le auto a guida autonoma guidino in modo meno aggressivo di quanto non facciano loro stesse".
È qui che entrano in gioco i sondaggi, dando al robot un modo per chiedere, Per esempio, se l'utente preferisce muovere il braccio verso il basso o verso il soffitto. Per questo studio, il gruppo ha utilizzato il metodo della domanda singola più lento, ma hanno in programma di integrare i sondaggi a più domande nel lavoro successivo.
Nei test, il team ha scoperto che combinare dimostrazioni e sondaggi era più veloce della semplice specificazione delle preferenze e, rispetto alle sole manifestazioni, circa l'80% delle persone ha preferito il comportamento del robot quando è stato addestrato con il sistema combinato.
"Questo è un passo per capire meglio cosa vogliono o si aspettano le persone da un robot, " ha detto Sadigh. "Il nostro lavoro sta rendendo più facile ed efficiente per gli umani interagire e insegnare ai robot, e sono entusiasta di portare avanti questo lavoro, in particolare nello studio di come i robot e gli umani potrebbero imparare gli uni dagli altri".
Meglio, Più veloce, più intelligente
Le persone che hanno utilizzato il metodo combinato hanno riferito di avere difficoltà a capire a cosa mirasse il sistema con alcune delle sue domande, che a volte chiedeva loro di scegliere tra due scenari che sembravano uguali o sembravano irrilevanti per il compito, un problema comune nell'apprendimento basato sulle preferenze. I ricercatori sperano di colmare questa lacuna con sondaggi più semplici che funzionano anche più rapidamente.
"Guardando al futuro, non è ovvio al 100% quale sia il modo giusto per far funzionare le ricompense, ma realisticamente avrai una sorta di combinazione in grado di affrontare situazioni complesse con l'input umano, " ha detto Palan. "Essere in grado di progettare funzioni di ricompensa per sistemi autonomi è un grande, problema importante che non ha ricevuto l'attenzione del mondo accademico come merita".
Il team è anche interessato a una variazione sul proprio sistema, che consentirebbe alle persone di creare contemporaneamente funzioni di ricompensa per diversi scenari. Per esempio, una persona potrebbe volere che la propria auto guidi in modo più prudente nel traffico lento e in modo più aggressivo quando il traffico è scarso.
Quando le demo falliscono
A volte le dimostrazioni da sole non riescono a trasmettere il senso di un compito. Per esempio, una dimostrazione in questo studio ha fatto sì che le persone insegnassero al braccio del robot a muoversi fino a quando non puntava in un punto specifico sul terreno, e farlo evitando un ostacolo e senza superare una certa altezza.
Dopo che un umano ha messo alla prova il robot per 30 minuti, il robot ha cercato di eseguire il compito in modo autonomo. Puntava semplicemente verso l'alto. Era così concentrato sull'imparare a non colpire l'ostacolo, ha completamente mancato l'obiettivo effettivo del compito, indicando il punto, e la preferenza per rimanere bassi.
Codifica manuale e hacking delle ricompense
Un altro modo per insegnare a un robot è scrivere codice che funga da istruzioni. La sfida è spiegare esattamente cosa vuoi che faccia un robot, soprattutto se il compito è complesso. Un problema comune è noto come "hacking dei premi, " dove il robot trova un modo più semplice per raggiungere gli obiettivi specificati, come l'auto che gira in tondo per raggiungere l'obiettivo di andare veloce.
Biyik ha sperimentato l'hacking della ricompensa quando stava programmando un braccio robotico per afferrare un cilindro e tenerlo in aria.
"Ho detto che la mano deve essere chiusa, l'oggetto deve avere un'altezza maggiore di X e la mano deve essere alla stessa altezza, " descrisse Biyik. "Il robot fece rotolare l'oggetto cilindrico sul bordo del tavolo, colpirlo verso l'alto e poi fare un pugno vicino ad esso in aria."