Grasp2Vec: aprendizaje de representación de objetos de autoaprendizaje



Las personas desde una edad sorprendentemente joven ya pueden reconocer sus objetos favoritos y recogerlos, a pesar de que no se les enseña específicamente. Según los estudios sobre el desarrollo de las habilidades cognitivas, la posibilidad de interactuar con objetos del mundo que nos rodea desempeña un papel fundamental en el desarrollo de habilidades tales como la detección y manipulación de objetos, por ejemplo, la captura dirigida. Al interactuar con el mundo exterior, las personas pueden aprender corrigiendo sus propios errores: sabemos lo que hemos hecho y aprendemos de los resultados. En robótica, este tipo de entrenamiento con autocorrección de errores se estudia activamente, ya que permite que los sistemas robóticos aprendan sin una gran cantidad de datos de entrenamiento o ajuste manual.

En Google, inspirados en el concepto de persistencia de objetos , ofrecemos el sistema Grasp2Vec , un algoritmo simple pero efectivo para construir la representación de objetos. Grasp2Vec se basa en una comprensión intuitiva de que un intento de levantar cualquier objeto nos dará alguna información: si el robot agarra el objeto y lo levanta, entonces el objeto debe estar en este lugar antes de ser capturado. Además, el robot sabe que si el objeto capturado está en su captura, significa que el objeto ya no está en el lugar donde estaba. Usando esta forma de autoaprendizaje, el robot puede aprender a reconocer un objeto debido al cambio visual en la escena después de ser capturado.

Basado en nuestra colaboración con X Robotics , donde varios robots fueron entrenados simultáneamente para capturar objetos domésticos usando solo una cámara como fuente de datos de entrada, utilizamos la captura robótica para capturar objetos "inadvertidamente", y esta experiencia nos permite tener una idea rica del objeto. Esta idea ya se puede utilizar para adquirir la capacidad de "captura intencional", cuando el brazo del robot puede levantar objetos a pedido.



Crear una función de recompensa perceptual


En una plataforma de aprendizaje de refuerzo, el éxito de una tarea se mide a través de una función de recompensa. Al maximizar las recompensas, los robots aprenden varias habilidades de captura desde cero . Crear una función de recompensa es fácil cuando el éxito se puede medir con lecturas de sensores simples. Un ejemplo simple es un botón que transfiere una recompensa directamente a la entrada de un robot haciendo clic en él.

Sin embargo, crear una función de recompensa es mucho más complicado cuando el criterio para el éxito depende de una comprensión perceptiva de la tarea. Considere el problema de captura en un ejemplo en el que el robot recibe una imagen del objeto deseado contenido en la captura. Después de que el robot intenta capturar el objeto, examina el contenido de la captura. La función de recompensa para esta tarea depende de la respuesta a la pregunta de reconocimiento de patrones: ¿coinciden los objetos?


A la izquierda, la empuñadura sujeta el pincel, y varios objetos son visibles en el fondo (una copa amarilla, un bloque de plástico azul). A la derecha, el agarre sostiene la copa y el pincel está en el fondo. Si la imagen de la izquierda representa el resultado deseado, una buena función de recompensa sería "comprender" que estas dos fotos corresponden a dos objetos diferentes.

Para resolver el problema de reconocimiento, necesitamos un sistema de percepción que extraiga conceptos significativos de objetos de imágenes no estructuradas (no firmadas por personas) y aprenda a visualizar objetos sin un maestro. Esencialmente, los algoritmos de aprendizaje sin maestros funcionan creando suposiciones estructurales sobre los datos. A menudo se supone que las imágenes se pueden comprimir en un espacio con menos dimensiones , y los cuadros de video se pueden predecir a partir de los anteriores . Sin embargo, sin suposiciones adicionales sobre el contenido de los datos, esto generalmente no es suficiente para aprender de representaciones no relacionadas de objetos.

¿Qué pasa si usamos un robot para separar físicamente los objetos durante la recopilación de datos? La robótica ofrece una excelente oportunidad para aprender a representar objetos, ya que los robots pueden manipularlos, lo que dará los factores de variación necesarios. Nuestro método se basa en la idea de que capturar un objeto lo elimina de la escena. El resultado es 1) una imagen de la escena antes de la captura, 2) una imagen de la escena después de la captura y 3) una vista separada del objeto capturado.


Izquierda: objetos para capturar. En el centro, después de la captura. A la derecha está el objeto capturado.

Si consideramos una función integrada que extrae un "conjunto de objetos" de las imágenes, debería preservar la siguiente relación de resta:


objetos antes de la captura - objetos después de la captura = objeto capturado

Logramos esta igualdad con una arquitectura convolucional y un algoritmo de aprendizaje métrico simple. Durante el entrenamiento, la arquitectura que se muestra a continuación incorpora imágenes antes y después de la captura en un denso mapa de propiedades espaciales . Estos mapas se convierten en vectores a través de una unión promediada, y la diferencia entre los vectores "antes de la captura" y "después de la captura" representa un conjunto de objetos. Este vector y la representación correspondiente del vector de este objeto percibido se equiparan mediante la función de N pares.



Después del entrenamiento, nuestro modelo tiene naturalmente dos propiedades útiles.

1. Similitud de objetos.


El coeficiente coseno de la distancia entre las incrustaciones de vectores nos permite comparar objetos y determinar si son idénticos. Esto se puede usar para implementar la función de recompensa para el aprendizaje reforzado, y permite a los robots aprender a capturar con ejemplos sin marcar datos por humanos.



2. Encontrar objetivos


Podemos combinar mapas espaciales de la escena y la incrustación de objetos para localizar el "objeto deseado" en el espacio de la imagen. Llevando a cabo la multiplicación por elementos de los mapas de características espaciales y la correspondencia vectorial del objeto deseado, podemos encontrar todos los píxeles en el mapa espacial que corresponden al objeto objetivo.


Uso de incrustaciones Grasp2Vec para localizar objetos en la escena. Arriba a la izquierda hay objetos en la cesta. Abajo a la izquierda: el objeto que se desea capturar. El producto escalar del vector del objeto de destino y las características espaciales de la imagen nos dan un "mapa de activación" por píxel (arriba a la derecha) de la similitud de una sección dada de la imagen con el objetivo. Este mapa se puede usar para acercarse al objetivo.

Nuestro método también funciona cuando varios objetos corresponden al objetivo, o incluso cuando el objetivo consta de varios objetos (el promedio de dos vectores). Por ejemplo, en este escenario, el robot identifica varios bloques naranjas en la escena.


El "mapa de calor" resultante puede usarse para planificar el acercamiento del robot a los objetos objetivo. Combinamos la localización de Grasp2Vec y el reconocimiento de patrones con nuestra política de "capturar cualquier cosa" y logramos éxito en el 80% de los casos durante la recopilación de datos y en el 59% con nuevos objetos que el robot no ha encontrado previamente.

Conclusión


En nuestro trabajo, mostramos cómo las habilidades de agarre robótico pueden crear datos utilizados para enseñar representaciones de objetos. Luego, podemos usar el entrenamiento de presentación para adquirir rápidamente habilidades más complejas, como capturar con el ejemplo, mientras conservamos todas las propiedades de aprendizaje sin un maestro en nuestro sistema de captura autónomo.

Además de nuestro trabajo, varios otros trabajos recientes también estudiaron cómo la interacción sin un maestro se puede utilizar para obtener representaciones de objetos, capturando , empujando y otros tipos de interacciones con objetos en el entorno. Estamos anticipando con alegría no solo lo que el aprendizaje automático puede dar a la robótica en términos de una mejor percepción y control, sino también lo que la robótica puede dar al aprendizaje automático en términos de nuevos paradigmas de autoaprendizaje.

Source: https://habr.com/ru/post/es434898/


All Articles