La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Robótica

Presentaciones similares


Presentación del tema: "Introducción a la Robótica"— Transcripción de la presentación:

1 Introducción a la Robótica
mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales

2 Aprendizaje en Robótica
Helicóptero 2

3 Introducción Existe un incremento acelerado de robots de todo tipo, principalmente de servicio (humanoides)

4 Expectativas Los robots de servicio van a desplazar muy pronto a los robots industriales Se cree que puede ser una industria tan importante como la automotriz Japón, Corea, la Unión Europea y EUA están invirtiendo grandes cantidades de dinero

5

6 Aprendizaje en Robótica
Existe una clara necesidad de que los robots sean flexibles, autónomos, se adapten a su medio, … Se cree que el aprendizaje computacional es la clave para lograrlo 6

7 Aprendizaje en Robótica
Se requiere: Un uso/interpretación adecuado de estímulos (información de sensores) visuales, tactiles, de distancia, etc., y una generación adecuada de acciones El aprendizaje se puede dar a varios niveles (mapeos percepción-acción hasta aprendizaje de planes) y en varias modalidades (desde supervisado hasta por refuerzo) 7

8 Técnicas Aprendizaje por refuerzo Regresiones avanzadas
Program by demonstration y behavioural cloning Active learning Programas Teleo-reactivos Aprendizaje jerárquico Aprendizaje visual de conceptos 8

9 ¿Cómo llegar a una meta? Posición inicial

10 Planificación Es el problema de encontrar una secuencia de acciones para alcanzar una meta a partir de un estado inicial Es un proceso explícito deliberativo que selecciona y organiza las acciones del sistema para alcanzar sus metas anticipándose a los resultados esperados de las acciones

11 Planificación Automática
Planificación automática en un área de IA que estudia computacionalmente este proceso deliberativo Algunos ejemplos de planificadores: STRIPS, GRAPHPLAN, SATPLAN, NOAH, etc.

12 Planificación Clásica
Ambientes estáticos Planes secuenciales Noción del tiempo implícita Planificación fuera de línea La planificación clásica asume: Conjunto finito de estados El sistema es determinista Información de estados completa (full observability) Metas limitadas: no consideran funciones de utilidad o restricciones Se han propuesto varias extensiones

13 Ejemplo on(A,B) pick(X) on(B,C) move(X) on(C,table) put(X) on(C,A)
on(A,table) on(B,table) A C B A B C Estado Inicial Meta

14 Planificación con incertidumbre
En muchos dominios, y particularmente en robótica, la información es incompleta y/o ruidosa Las acciones pueden tener diferentes resultados Por lo mismo no se tiene un control completo sobre las entradas y salidas

15 Incertidumbre en las acciones

16 Incertidumbre en el estado

17 Planificación bajo incertidumbre
Los planificadores deben de balancear entre: La posibilidad de alcanzar la meta con un plan (éxito) El riesgo de producir un estado indeseable (utilidad y probabilidad) El costo de ejecución del plan (complejidad) Los procesos de decisión de Markov (MDP) proveen el formalismo adecuado para esto

18 Teoría de Decisiones Formalismo teórico para tomar decisiones racionales Agente racional – toma decisiones para maximizar la utilidad de sus acciones de acuerdo a sus metas y su información del mundo

19 Procesos de decisión secuenciales
Problemas de decisión donde existe una serie de decisiones y el resultado no se sabe sino hasta el final Los estados y utilidades están asociados al tiempo Si existe incertidumbre en las acciones se tiene un MDP, si además existe en los estados, se tiene un POMDP

20 MDP

21 POMDP

22 Modelo de transición Existe incertidumbre en el resultado de una acción El modelo de transición nos da la probabilidad de llegar a un estado s’ dado que en el estado s se realizó la acción a P(s’|s,a) Las probabilidades de transición dependen del estado actual (Markoviano) y son estacionarias

23 Política Óptima Dado un modelo de transición el objetivo es encontrar una política óptima para maximizar la utilidad esperada La política indica la mejor acción a realizar en cada estado

24 Política óptima Posición inicial

25 MDP Un MDP está descrito por: Un conjunto finito de estados, S
Un conjunto finito de acciones por cada estado, A Un modelo de transición, P (s’ | s, a) Una función de recompensa para cada estado- acción, r (s, a)

26 Utilidad La utilidad o función de valor de un estado depende se la secuencia de acciones tomadas dada una cierta política Su valor esperado se puede obtener (en principio) considerando la utilidad de todas las posibles secuencias de acciones

27 Utilidad Considerando una utilidad separable (aditiva), esta se puede obtener como la recompensa actual más la utilidad del siguiente estado: V[s0, s1, ... sn] = R(s0) + V[s1, ... sn] Donde R es la función de recompensa Lo que nos da la función de valor (V o Q) es el valor esperado de la recompensa acumulada obtenida al seguir cierta política

28 Horizonte infinite vs. finito
Horizonte finito: número finito de pasos Horizonte infinito: número indeterminado de pasos En muchos problemas prácticas, y en la mayoría de las tareas de robótica, se considera un horizonte infinito En este caso la recompensa acumulada se calcula como:

29 Técnicas de solución Existen dos tipos básicos de algoritmos
Técnicas de programación dinámica: asumen un modelo conocido (función de transición y de recompensa) que al resolverse obtiene la política óptima (value iteration, policy iteration, programación lineal) Métodos de Montecarlo y de aprendizaje por refuerzo: el modelo no se conoce por lo que la solución se obtiene explorando el ambiente

30 Aprendizaje por refuerzo
Aprendizaje por refuerzo trata de hacer que un agente autónomo que sensa y actúa en su ambiente puede aprender a seleccionar las acciones óptimas para cumplir con sus metas

31 Balance entre exploración y explotación
Al seleccionar acciones sin conocer el modelo surgen dos objetivos en conflicto: Obtener recompensas inmediatas de estados conocidos como buenos (explotar) Aprender relaciones estado/acción/recompensa con acciones nuevas o que llevan a estados nuevos (explorar). Balance entre recompensas inmediatas y de largo plazo Normalmente se hace un cambio gradual de exploración a explotación

32 Estrategias de selección de acciones
є-greedy: selecciona la mayor parte del tiempo la acción que produce el mayor beneficio pero con probabilidad є toma una acción aleatoria Softmax: cambia las probabilidades de selección usando el valor estimado, el más popular es usando una distribución de Boltzmann

33 Métodos de diferencias temporales
TD(0) es el más sencillo para funciones de valor: SARSA para valores Q: Q-learning para valores Q:

34 TD(0) Inicializa V(s) arbitrariamente Repite (para cada episodio):
Inicializa s Repite (para cada paso del episodio): a ← acción dado por π para s Toma acción a; obtén recompensa, r y siguiente estado s’ V(s) ← V(s) + α [r + γV(s’) – V(s)] s ← s’ Hasta que s es terminal

35 SARSA Inicializa Q(s,a) arbitrariamente Repite (para cada episodio):
Inicializa s Selecciona as usando política derivada de Q (є -greedy) Repite (para cada paso en episodio): Toma acción a; observa r y s’ Selecciona a’s’ usando política derivada de Q (є -greedy) Q(s,a) ← Q(s,a) + α [r + γQ(s’,a’) – Q(s’,a’)] s ← s’, a ← a’ Hasta que s sea terminal

36 Q-Learning Inicializa Q(s,a) arbitrariamente
Repite (para cada episodio): Inicializa s Repite (para cada paso en episodio): Selecciona as usando política derivada de Q (є -greedy) Toma acción a; observa r y s’ Q(s,a) ← Q(s,a) + α [r + γ maxa’Q(s’,a’) –Q(s’,a’)] s ← s’ Hasta que s sea terminal

37 Trazas de elegibilidad
Las trazas de elegibilidad (eligibility traces) están entre métodos Monte Carlo y TD al considerar varias recompensas posteriores (o afectar varios estados anteriores) TD simple usa: De la misma forma podemos considerar dos (o más):

38 Trazas de elegibilidad
TD(λ) introduce un factor de decaimiento (con λ =1 tenemos MC y con λ =0 tenemos TD(0))

39 Trazas de elegibilidad
En la práctica, en lugar de esperar n pasos para actualizar (forward view), se guarda una lista de los estados visitados para actualizarlos al visitar nuevos estados (backward view) descontados por la distancia Para TD(λ): Para SARSA(λ):

40 SARSA(λ)

41 Métodos sin/con modelos
Model-free methods aprenden una política sin tratar de estimar las recompensas esperadas y las probabilidades de transición (Q-learning) Model-based methods tratan de aprender un modelo explícito del sistema y derivan una política usando este modelo (convergen más rápido pero requieren más memoria)

42 Planeación y Apendizaje
Dado un modelo, lo podemos usar para predecir el siguiente estado y su recompensa asociada La predicción puede ser un conjunto de estados con sus recompensas y probabilidad de ocurrencia Con el modelo podemos planear pero también aprender! Al sistema de aprendizaje no le importa si los pares estado-acción son reales o simulados

43 Dyna-Q Dyna-Q combina la experiencia con planeación para converger más rápido La idea es aprender con la experiencia pero también usar el modelo para simular y generar experiencia adicional

44 Dyna-Q Inicializa Q(s,a) arbitrariamente
s ← estado actual, a ← є –greedy(s,Q) Toma acción a; observa r y s’ Q(s,a) ← Q(s,a) + α [r + γ maxa’Q(s’,a’) – Q(s,a)] Modelo(s,a) ← s’,r Repite N veces: s ← estado aleatorio previamente visitado a ← acción aleatoria previamente tomada en s s’,r ← Modelo(s,a)

45 Dyna-Q

46 Prioritized Sweeping La planeación puede ser más eficiente si se enfoca a pares estado-acción particulares Podemos trabajar de las metas hacia atrás o de cualquier estado con cambios importantes en sus valores Podemos priorizar las actualizaciones de acuerdo a una medida de importancia

47 Prioritized Sweeping La idea es mantener una cola, evaluar los estados anteriores al primer elemento e incluirlos a la cola si su cambio es más grande que un cierto umbral Funciona como Dyna-Q pero actualiza todos los valores Q que cambian más que un cierto umbral

48 Aproximación de funciones
Hasta ahora hemos asumido que los estados (y pares estado-acción) tienen una representación tabular explícita Esto funciona para dominios pequeños/discretos, pero es impráctico para dominios grandes/continuos Una posibilidad es representar la función de valor (V o Q) implícitamente con una función

49 Aproximación de funciones
Una función de valor se puede representar con una función lineal pesada (e.g., ajedrez) Evaluar el error Usar gradiente descendente

50 Aproximación de funciones
No conocemos pero lo podemos aproximar Necesitamos un estimador y una posibilidad es usar Monte Carlo. Alternativamente podemos usar TD de n-pasos como aproximación de (aunque no garantiza convergencia a un óptimo local)

51 Aproximación de funciones
Con trazas de elegibilidad podemos aproximar los parámetros como sigue: Donde δ es el error Y et es un vector que se actualiza con cada componente de Θ

52 Aproximación de funciones
Se pueden usar funciones lineales Los atributos pueden ser cículos con traslapes (coarse coding) Particiones (tile coding), no necesariamente uniformes Funciones de base radial Prototipos (Kanerva coding) Regresiones locales pesadas Procesos gaussianos

53 Regresiones En robótica la mayoría de la información emplea variable continuas Existen diferentes técnicas para aprender funciones continuas Algunas de las más usadas actualmente son: Locally weigthed regression (LWR) Gaussian processes 53

54 LWR Los métodos basados en modelos (e.g., NN, mezcla de gaussianas), usan los datos para encontrar un modelo parametrizado Los basados en memoria guardan los datos y los usan cada vez que se requiere hacer una predicción Locally weighted regression (LWR) es un método basado en memoria que realiza una regresión pesada (por distancia – Kernel – Gaussiano) alrededor de un punto de interés 54

55 LWR X 55

56 LWR Es un método rápido que en general da buenos resultados
Requiere guardar los ejemplos y hay que ajustar la función de distancia (en caso de un kernel gaussiano, si la desviación estándar es pequeña dejamos ejemplos útiles fuera, si es grande, incluimos ejemplos no deseados) 56

57 Procesos Gaussianos Un proceso gaussiano es una colección de variables aleatorias que tienen una distribución gaussiana conjunta Se especifica por una función de medias y una función de covarianzas Las variables aleatorias representan el valor de la función f(x) en el punto x 57

58 Gráficamente un GP Sin información Con datos

59 Gráficamente un GP Dependen en gran medida de las funciones de covarianzas

60 Se requiere ajustar parámetros
Parámetros de las funciones de covarianzas

61 Program by demonstration y behavioural cloning
La idea es mostrarle al robot una tarea y que el robot aprenda a hacerla en base a esta demostración (ejemplo) Esquemas: Yo guío al robot (behavioural cloning) Yo le hablo al robot Yo le muestro al robot 61

62 Program by demonstration
Pasos: Observación: normalmente ambiente controlado Segmentación: se identifican los diferentes movimientos Interpretación: se interpretan Abstracción: se genera una secuencia abstracta Transformación: se transforma a la dinámica del robot Simulación: se prueba en una ambiente simulado Ejecución: se prueba en un ambiente real 62

63 Program by demonstration
Normalmente se usan dispositivos especiales para hacer el seguimiento 63

64 Program by demonstration
El problema principal de mostrarle la tarea al robot es el problema de correspondencia (como mapear las acciones del usuario a las acciones del robot) La mayoría usa sensores en el brazo/mano Esto reduce el problema, al no considerar la interpretación visual, pero no lo elimina 64

65 Ejemplos

66 Ejemplos

67 Ejemplos

68 Active Learning Normalmente en aprendizaje el usuario es el que proporciona los ejemplos al sistema (supervised learning) En muchos dominios es fácil obtener ejemplos pero difícil etiquetarlos con alguna clase En active learning el sistema seleccione automáticamente ejemplos no etiquetados y se los presenta al usuario para obtener su clase Una selección “inteligente” permite mejorar el modelo construido por el sistema 68

69 Active Learning Puede ser usado en robótica para generar ejemplos interesantes y guiar el proceso de aprendizaje Se requiere la intervención del usuario pero el sistema es quien detecta huecos en los ejemplos 69

70 Programas Teleo-reactivos
nil meta Conjunto de reglas ordenadas que realizan acciones continuas Contínuamente sensan el ambiente E.g.: Si libre Then avanza Si obstáculo Then gira K1  a1 K2  a2 . Km  am condiciones acciones acción default True

71 Aprendizaje

72 Aprendizaje jerárquico
En muchos esquemas de aprendizaje, y en particular, en aprendizaje de tareas, es natural descomponer tareas en sub-tareas Una posibilidad es aprender una jerarquía de tareas Esto se ha hecho en RL pero también en otras áreas Normalmente el usuario decide el orden de aprendizaje y/o la jerarquía de conceptos 72

73 Ejemplo

74 Aprendizaje usando características visuales
Pasos: Segmentar un objeto de imágenes (aunque no necesariamente) Obtener un conjunto de atributos relevantes para cada objeto (color, forma, textura – SIFT, Harris, KLT) Usar un clasificador 74

75 Proceso y segmentación

76 Detección cara/piel y seguimiento
AdaBoost de características Haar (Viola & Jones) Color – Piel Seguimiento usando una ventana alrededor del objeto

77 SIFT Puntos característicos invariantes a escala y rotación y robustos a cambios de iluminación Se utilizan diferencias de gaussianas a diferentes escalas

78 Ejemplo usando SIFT 78

79 Ejemplo en el robot Problemas de movimiento, postura, iluminación, oclusiones, …

80 Retos Escalar RL a robótica Mejorar las políticas una vez aprendidas
Hacerlo en tiempo real Planear acciones del robot útiles Descomponer demostraciones humanas Identificar lo relevante de las demostraciones Seleccionar una representación adecuada 80


Descargar ppt "Introducción a la Robótica"

Presentaciones similares


Anuncios Google