Introducción a la Robótica

Slides:



Advertisements
Presentaciones similares
DISEÑO DE EXPERIMENTOS
Advertisements

Planificación de Monoprocesadores
COSTOS ESTANDAR DEFINCIÓN
Tema 1: Programación dinámica
Son problemas secuenciales: El problema se puede dividir en etapas. Definición: Método que permite determinar de manera eficiente las decisiones que optimizan.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Definición Machine learning traducido al español significa el aprendizaje automático o también aprendizaje de las maquinas. A partir de esto podemos darle.
Modelos de Proceso del Software
KRIGING.
Capítulo 5 Método de MonteCarlo
Representación en espacio de estado
Capitulo 10: La metodología Box-Jenkins
DERIVADAS PARCIALES Gráficas.
Ciclo de formulación del proyecto.
INTELIGENCIA DE NEGOCIOS
Sesión 12: Procesos de Decisión de Markov
Representación del Conocimiento
FUNCIONES DE DENSIDAD DE PROBABILIDAD
REDES BAYESIANAS Y DECISIÓN ESTADÍSTICA
Solución de problemas por Búsqueda
Importancia de las aplicaciones de estadística en el control de procesos Guatemala 2010.
Sesión 6: Campos de Markov
Sesión 12: Procesos de Decisión de Markov. Incertidumbre - MDP, L.E. Sucar2 Procesos de Decisión de Markov Procesos de Decisión Secuenciales Procesos.
(Organización y Manejo de Archivos)
Interfaces y Visualización M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
INTELIGENCIA ARTIFICIAL
5.3 APROXIMACIONES AL DISEÑO
Procedimiento para el establecimiento de indicadores de gestión
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Redes Competitivas.
Unidad V: Estimación de
INVESTIGACION DE OPERACIONES
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 8 Eduardo Morales / L. Enrique Sucar Sesión 8 Eduardo Morales / L. Enrique.
Universidad Nacional de Colombia Curso Análisis de Datos Cuantitativos.
Sistemas de Información IS95872 Clase 7 de Mayo. Éxito y Fracaso de los sistemas.
Simular: Representar una cosa, fingiendo o imitando lo que no es.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Conceptos de Gestión y Planificación de Proyectos Software
CONCEPTOS BÁSICOS DE MECÁNICA CUÁNTICA
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Una introducción a la computación evolutiva
Una aproximación a la visión
Sesión 12: Procesos de Decisión de Markov
Sistemas, Procesos y Modelos
INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Líneas de Espera: Teoría de Colas
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
 En el siguiente trabajo se explicará cuales son los fundamentos de la planeación, la toma de decisiones.  La toma de decisiones es un paso fundamental.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
Sesión 12: Procesos de Decisión de Markov
L. E. Sucar / Alberto Reyes
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Metodología de la programación
Medición y Métricas del Software
Alexander Aristizabal Ángelo flores herrera
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca.
Introducción a los Sistemas Inteligentes
PRESENTADO POR: LINA MARCELA IGUA TORRES SONIA MOYANO ESPINOSA DAVID MAHECHA MEDINA CRISTIAN HERNÁNDEZ GERMAN RAMÍREZ.
Agentes e IA Distribuida L. E. Sucar / Alberto Reyes Robótica Inteligente.
P R O Y E C T O S.
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
Microsoft Office Project INTRODUCCIÓN A LA GESTIÓN DE PROYECTOS Microsoft Office Project 2010.
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
Fundamentos de Computación
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Modelo de procesos de software
GESTIÓN DE PROYECTOS.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales munoz@inaoep.mx emorales@inaoep.mx

Aprendizaje en Robótica Helicóptero 2

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

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

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

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

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

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

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

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.

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

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

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

Incertidumbre en las acciones

Incertidumbre en el estado

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

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

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

MDP

POMDP

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

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

Política óptima Posición inicial

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)

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

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

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:

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

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

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

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

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:

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

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

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

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):

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

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(λ):

SARSA(λ)

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)

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

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

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)

Dyna-Q

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

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

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

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

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)

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 Θ

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

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

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

LWR X 55

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

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

Gráficamente un GP Sin información Con datos

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

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

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

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

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

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

Ejemplos

Ejemplos

Ejemplos

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

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

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

Aprendizaje

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

Ejemplo

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

Proceso y segmentación

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

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

Ejemplo usando SIFT 78

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

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