Información acerca de proyectos IoT
Foto de Usuario
PamelaPadilla

Ranking Troomes
Mensajes: 3
Registrado: 08 Ene 2020, 19:31

Machine Learning aplicados a la robotica

Mensaje por PamelaPadilla » 15 Ago 2020, 00:13

Título: Machine learning para robots

Descripción:
Durante los últimos años con el avance de la tecnología , machine learning se ha vuelto una herramienta muy potente para resolver diversos problemas. Podremos hablar del reconocimiento de imágenes, voz, aporte en la ciberseguridad y también en el control autónomo de un robot. Este ultimo hace referencia a los robots que funcionan en el ámbito computacional, sin embargo si deseamos referirnos a un robot físico, el uso de machine learning es un poco mas profundo ya que se deberá tomar cierto tiempo considerable de entrenamiento.

Cuando relacionamos robots con machine learning, se debe mencionar que existen 4 paradigmas de machine learning. El primero a mencionar es el aprendizaje de concepto inductivo, es el paradigma mas clásico que dice que el robot sabe que la política pi es un aprendizaje que viene del espacio de hipótesis H. Ademas, el robot esta entrenado con una política E. Los algoritmos mas conocidos que fueron desarrollados para resolver este paradigma son los arboles de decisión y las redes neuronales.

El segundo paradigma es el aprendizaje basado en la explicación, este hace referencia a que los seres humanos somos capaces de generalizar ideas desde un ejemplo, tenemos la informaciones necesaria para poder aprender una nueva tarea, entonces diremos que este paradigma estudia como conocimiento ya adquirido puede ser usado para aprender mas rápido tareas que deben ser aprendidas. Los algoritmos para este paradigma son EBC( explanation-based control) y EBNN. La principal ventaja de la formulación de este paradigma es que permite que el robot incorpore conocimiento previamente adquirido oara acelerar el aprendizaje.

El tercer paradigma es el aprendizaje por reforzamiento, este estudia el problema de inducir por ensayo y error una política
que maximiza una medida de recompensa. El aprendizaje por reforzamiento es un paradigma no supervisado lo que significa que los ejemplos no son cuidadosamente seleccionado por alguien. En otras palabras, la distribución de ejemplos es influenciada por las acciones de los robots, ya que los estados y recompensas experimentado por el robot depende de las acciones que realice. En este paradigma, el robot se enfrenta
con un difícil problema de asignación temporal de créditos de evaluar la bondad de los estados y acciones de una señal de refuerzo escalar.

El cuarto paradigma es el aprendizaje evolutivo, este vendría a ser el segundo paradigma no supervisado, es un tanto similar al paradigma anterior. La primera diferencia está en la estrategia de búsqueda: el aprendizaje evolutivo comienza con una serie de políticas y las combina para producir mejores políticas hasta que se encuentre una política óptima. La combinación se logra a través de operadores genéticos,
como cruce y mutación. Cada política está codificada usando una cadena de bits estándar representación. Tenga en cuenta, sin embargo, que en la programación genética, una representación de nivel superior
se utiliza el uso de expresiones de LISP. La función fitness es una medida de la bondad dado una política.

En el paradigma del aprendizaje inductivo, el crédito temporal, problema de la asignación lo resuelve el maestro. Se resuelve la asignación de crédito estructural utilizando algún algoritmo de aproximación de funciones, como un árbol de decisión o una red neuronal. El paradigma de aprendizaje inductivo no aborda específicamente el problema de asignación de créditos de tareas, aunque extensiones como el enfoque de aprendizaje permanente de invariantes de dominio de aprendizaje parece muy prometedor. En el aprendizaje basado en explicaciones, tanto el temporal como el estructural. El problema de asignación de créditos lo resuelve el maestro, que proporciona tanto ejemplos como un teoría de dominio para generalizar de forma segura los ejemplos. Una forma de abordar el crédito de la tarea. El problema de asignación es a través de modelos de acción de aprendizaje, como el que se hace en el algoritmo EBNN. En el paradigma del aprendizaje por refuerzo, se aborda el problema de la asignación temporal de créditos mediante el uso de un algoritmo como Q-learning. El problema de la asignación de crédito estructural es abordado mediante el uso de algún aproximado de función estándar. La asignación de crédito de la tarea se puede abordar aprendiendo modelos de acción generales. Finalmente, el evolutivo paradigma de aprendizaje aborda el problema de la asignación temporal de créditos mediante el uso de
algoritmo de la brigada del cubo. El problema de la asignación de crédito estructural se aborda mediante los operadores genéticos para transformar las políticas, mientras que el marco del sistema clasificador trata con el problema de transferir el aprendizaje a través de múltiples tareas.

Un ejemplo mostrado en uno de los artículos es desarrollo de un robot móvil de dos ruedas incorporado con tres sensores de proximidad de tipo ultrasonido, la electrónica de potencia y comunicación necesaria para su control y un sistema Arduino Leornado como micro controlador principal. El objetivo del robot móvil es avanzar dentro de una pista sin colisionaron las paredes de la misma; para esto se debe controlar la dirección de giro de cada llanta dependiendo de la información delos sensores de proximidad.
Empleando las herramientas del motor Unity se generan rayos de colisión para emular los sensores de proximidad y hacer uso del motor de física para recrear el movimiento producido por el giro de las ruedas. Así,dentro de la simulación se puede entrenar un agente cuyas entradas serán valores flotantes correspondientes al estado de cada sensor de proximidad, como muestran las líneas rojas y modificará el estado de su entorno al moverse a si mismo mediante el giro de las ruedas derecha e izquierda tanto en dirección a favor del reloj CW (valor flotante 1) como en contra del reloj CCW (valor -1), como indican las líneas azules.

Para el entrenamiento de los agentes inteligentes se deben integrar las dos tecnologías anteriores: Tensor flow y Unity 3D. Esta integración se logra a través de la Interfaz de Programación de Aplicaciones (API). Dentro del Ambiente virtual desarrollado en Unity se incorporan instancias de los agentes inteligentes para ser entrenados. Cada instancia está conectada a un “cerebro” (objeto en código), el cual tiene como entradas y salidas la información que se muestra en las Tablas 1 y 2. La información recibida es enviada a través de un sistema de comunicación externa para la integración con Python y Tensorflow. Así,el algoritmo de aprendizaje toma una decisión y comunica esta decisión de regreso hasta Unity. El cerebro ejecuta la acción determinada y recibe una recompensa de acuerdo al resultado de dicha acción. La recompensa está representada por un valor flotante, comúnmente se considera una buena recompensa un valor positivo y un castigo un valor negativo. El valor de la recompensa es enviado por el sistema de comunicación, para que el algoritmo de aprendizaje pueda almacenar el resultado de su acción y promoverla o relegarla para siguientes situaciones posibles. El proceso se repite hasta terminar el entrenamiento.

Conclusiones:
El uso del machine learning actualmente es una potente herramienta capaz de solucionar problemas que con algoritmos convencionales no pueden ser resueltos. Ademas cuenta con una gran variedad de API que ayudan a resolver esos problemas, y no solo a nivel software si no también puede integrarse a varios dispositivos tal es el caso de los robots. Cabe resaltar que el periodo de entrenamiento será mucho mayor que en sistema netamente computacional.

Referencias:

Sepúlvera, G., Vega E., Portilla, A. (2019). Machine Learning para Robots, del Entrenamiento Virtual a la Tarea Real. Publicación Semestral Pädi. Vol. 7, No. Especial, pp.14-18.
Mahadevan, S. Machine Learning for Robots: A Comparison of Diferent Paradigms. Department of Computer Science and Engineering.


Responder