martes, 19 de agosto de 2014

Robot programable mediante instrucciones verbales expresadas de forma coloquial


Programar verbalmente a un robot no es fácil si hay que darle las instrucciones con la misma precisión y tecnicismos con las que se le darían programándole por la vía tradicional. Lo ideal sería darle las instrucciones del mismo modo que se las damos a otras personas o por lo menos a un niño pequeño.

Pero el lenguaje humano puede ser ambiguo, y mucha gente olvida mencionar detalles importantes. Supongamos que le decimos a nuestro robot casero cómo preparar chocolate a la taza, pero olvidamos mencionar que hay que calentar el agua o decirle dónde está guardado el cacao en polvo que deberá echar al agua.

En su laboratorio de aprendizaje robótico de la Universidad Cornell de Ithaca, Nueva York, Estados Unidos, Ashutosh Saxena está enseñando a robots a entender instrucciones en lenguaje natural de varias personas, a tener en cuenta que la información suministrada por humanos puede ser incompleta, y a adaptarse sobre la marcha a un entorno cambiante.

El robot de Saxena, equipado con una cámara 3D, escanea su entorno e identifica los objetos en él, usando un programa de visión computerizada desarrollado previamente en su laboratorio. El robot ha sido entrenado por el equipo de Saxena, Dipendra K. Misra y Jaeyong Sung, para asociar objetos con sus capacidades, y para tener en cuenta cosas que a los humanos nos resultan obvias pero que para un robot pueden plantear serios interrogantes. El robot adiestrado por el equipo de Saxena ya sabe, por ejemplo, que los fogones de una cocina pueden tener encima utensilios como ollas, cacerolas, sartenes y demás, en los que se pone o saca la comida, y que sirven para calentar. El robot puede identificar la cacerola u otro utensilio, localizar un grifo de agua y un fogón e incorporar esa información en su procedimiento. Si le decimos “calienta agua”, puede usar el fogón o el horno microondas, dependiendo del que esté disponible. Y puede llevar a cabo las mismas acciones mañana si hemos cambiado de sitio la cacerola o incluso transportado el robot a una cocina distinta.

Otros robotistas han abordado estos problemas mediante la estrategia de proporcionarle al robot un conjunto de plantillas para acciones habituales, e intentando un procesamiento adecuado de las órdenes mediante la fragmentación de frases en palabras sueltas, analizadas de una en una. El grupo de investigación de Saxena utiliza técnicas del tipo conocido como “aprendizaje automático” para entrenar al cerebro computerizado del robot a fin de que sea capaz de asociar órdenes completas con acciones definidas de forma flexible.

Una misma orden verbal entre humanos puede expresarse con palabras muy distintas, como por ejemplo para indicar que la sartén debe colocarse al fuego. El sistema informático del robot almacena la combinación de muchas órdenes similares como un patrón flexible que puede coincidir con numerosas variaciones, de manera que cuando oye una orden distinta a las que ha oído antes, calcula la probabilidad de una coincidencia con una acción que se le ha encargado previamente, y si la probabilidad es lo bastante alta, asume que se trata de la misma orden y la lleva a cabo.

Por supuesto, el robot no acierta siempre. Pero en algunas pruebas bastante difíciles se ha desempeñado correctamente hasta el 64 por ciento del tiempo, incluso cuando las órdenes eran variadas o el entorno había cambiado, y fue capaz de realizar pasos de la operación que no se le habían dicho pero que él deducía correctamente que eran imprescindibles para alcanzar el objetivo encargado. El robot ha conseguido resultados entre tres y cuatro veces mejores que los obtenidos usando métodos anteriores. Además, aún hay margen para perfeccionar mucho más su eficiencia. (NCYT)

No hay comentarios:

Publicar un comentario