RoboBrain: il primo motore di conoscenza per i robot

Se avete una domanda, potete rivolgerla a Google, Bing o a qualunque altro database online. Ora anche i robot hanno il loro database di conoscenza.

di The Physics arXiv Blog

Una delle trasformazioni più esaltanti della contemporaneità è la possibilità di cercare e interagire con l’informazione a livelli prima impensabili grazie a una convergenza di tecnologie che ha portato a servizi come Google Now, Siri, Wikipedia e il supercomputer Watson della IBM.

Per avere risposte a proposito di (quasi) qualunque argomento ci basta sussurrare qualche parola al nostro smartphone o battere una breve stringa di testo sulla tastiera del nostro laptop. Ciò è possibile, in parte, perché gli esseri umani sono bravi quando si tratta di gestire l’ambiguità. Di conseguenza, la risposta a una domanda semplice del tipo “come si fa a fare un toast al formaggio?” può consistere in una serie di istruzioni generali che una persona normale può seguire con facilità.

Per i robot le cose sono un po’ diverse. Queste macchine hanno bisogno di istruzioni dettagliate anche per eseguire i compiti più semplici. Se, ad esempio, un robot chiedesse a un motore di ricerca “come preparare un tè zuccherato in cucina”, difficilmente avrebbe tutte le informazioni che gli servono per eseguire questo compito, dato che per riuscirvi necessita di svariate conoscenze incidentali del tipo che le tazze possono contenere dei liquidi (ma non se vengono rovesciate), che l’acqua esce dal rubinetto e può essere riscaldata in un bollitore o nel microonde e via dicendo.

In effetti, se i robot volessero ottenere informazioni utili dai motori di ricerca, questi ultimi dovrebbero contenere descrizioni dei compiti richiesti molto più dettagliate di quelle attualmente disponibili. E qui entrano in scena Ashutosh Saxena e alcuni suoi colleghi della Stanford University di Palo Alto, che si sono impegnati a costruire un motore di conoscenza per i robot di questo tipo.

Saxena e il suo gruppo hanno già iniziato a creare una specie di Google per i robot cui può accedere liberamente qualsiasi dispositivo che deve eseguire un determinato compito. Nel contempo, il database raccoglie nuove informazioni su questi compiti via via che i robot li portano a termine, e in questo modo apprende. Il motore di conoscenza è stato chiamato RoboBrain.

Il team che ha progettato RoboBrain ha dovuto affrontare alcune sfide. In primo luogo, i robot hanno svariati tipi di sensori ed architetture, per cui le informazioni devono essere archiviate in modi che risultino effettivamente fruibili dalle varie macchine. Il motore di conoscenza dovrebbe riuscire a rispondere a una grande varietà di domande diverse che gli vengono poste da robot differenti. E dovrebbe anche raccogliere le informazioni che gli arrivano da fonti differenti, come il World Wide Web e altri depositi di informazioni come WordNet, ImageNet, Freebase e OpenCyc.

In più, Saxena e i suoi soci vogliono che RoboBrain diventi parte di uno sforzo cooperativo collegato ad altri servizi già esistenti. A questo scopo, il team ha già avviato delle partnership con servizi come Tell Me Dave, una start up che vuole permettere ai robot di capire le istruzioni che gli vengono impartite in linguaggio naturale, e PlanIt, che sta cercando il modo per insegnare ai robot a programmare dei percorsi usando informazioni raccolte tramite il crowdsourcing.

“Più cresce il numero di ricercatori che arricchiscono le conoscenze di RoboBrain e più le prestazioni dei loro robot migliorano, e questo va a beneficio dell’intera comunità robotica”, spiega Saxena. Il team ha allestito un sito web, RoboBrain.Me, http://robobrain.me/#/ che dovrebbe promuovere queste idee.

Mettere a punto un motore di conoscenza non è un compito facile. Saxena e i suoi soci l’hanno affrontato come un problema di teoria delle reti, nel quale la conoscenza viene rappresentata come un grafico diretto. I nodi in questo grafico possono essere costituiti da una varietà di cose diverse, quali immagini, testi, video, dati aptici o concetti appresi, come una sorta di “container”. RoboBrain interpreta le nuove informazioni come una serie di archi che connettono un sottoinsieme di nodi tra loro. Per esempio, l’idea che “un essere umano seduto può usare un boccale” può connettere i nodi per boccale, tazza ed essere umano con concetti tipo “essere capaci di usare”.

Consultando il database per avere informazioni su questo termine, o qualcosa di simile, un robot può quindi scaricare un set di archi e di nodi che lo rappresentano.

Si tratta di qualcosa di più di una buona idea. Saxena e il suo gruppo hanno già iniziato a costruire il database per consentire ai robot di programmare azioni come muoversi in un ambiente chiuso e raccogliere gli ingredienti di una ricetta. Hanno presentato uno dei loro robot che, usando RoboBrain, ha spostato un cartone di uova da un capo all’altro di un tavolo. Dato che le uova sono fragili, vanno maneggiate con cura, cosa che il robot può imparare a fare consultando RoboBrain.

Una parte importante del progetto consiste nell’applicare la conoscenza appresa in un contesto ad altre situazioni. L’attenzione con la quale maneggiare le uova può così essere applicata anche ad altri oggetti fragili, come le lampadine.

Il team di Saxena ha grandi progetti. Vorrebbe ad esempio allargare la base di conoscenza fino a includere fonti di informazioni ancora più ampie, quali i video online. Un robot in grado di esplorare i tutorial on line potrebbe portare a termine una grande varietà di incombenze domestiche.

Si tratta di un lavoro interessante che potrebbe cambiare su larga scala il modo in cui i robot imparano. Basti pensare agli impatti che i database online hanno avuto sul modo in cui gli esseri umani pensano – e si rapportano – al mondo che li circonda.

Non è irrealistico pensare che RoboBrain possa esercitare un’influenza analoga sui nostri cugini elettronici.

Per ulteriori informazioni potete consultare la fonte: RoboBrain: Large-Scale Knowledge Engine for Robots.

Related Posts
Total
0
Share