Masters Thesis: Programación dinámica y aprendizaje...

90
Departamento de Ingeniería de Sistemas y Automática Programación dinámica y apren- dizaje por refuerzo Simulación y aplicaciones a sistemas electromecánicos Henry Paúl Díaz Iza Proyecto Fin de Máster

Transcript of Masters Thesis: Programación dinámica y aprendizaje...

Page 1: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Departamento de Ingeniería de Sistemas y Automática

Programación dinámica y apren-dizaje por refuerzoSimulación y aplicaciones a sistemas electromecánicos

Henry Paúl Díaz Iza

Proy

ecto

Fin

deM

áste

r

Page 2: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación
Page 3: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Programación dinámica y aprendizajepor refuerzo

Simulación y aplicaciones a sistemas electromecánicos

Trabajo Fin de Máster

Máster Universitario en Automática e Informática Industrial

Autor: Henry Paúl Díaz Iza

Tutor:Antonio Sala PiquerasCotutor: Leopoldo Armesto Ángel

Septiembre, 2015

Universidad Politécnica de Valencia

Page 4: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación
Page 5: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

A mis padres por su apoyo incondicional.

Page 6: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación
Page 7: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Agradecimientos

A mis padres, que con su apoyo me han ayudado a lograr mis metas y quienes son un ejemploa seguir.

A mis tutores Antonio Sala y Leopoldo Armesto por su conocimiento, directrices y disponi-bilidad para la realización de este trabajo.

Al gobierno del Ecuador por promover la formación del talento humano y el desarrollo de lainvestigación, innovación y transferencia tecnológica

Universidad Politécnica de Valencia Henry Paúl Díaz IzaSeptiembre, 2015

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 8: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

iv Agradecimientos

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 9: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Resumen

La programación dinámica(DP) y el aprendizaje por refuerzo(RL) son técnicas que se utilizanen la búsqueda de soluciones en sistemas de decisión secuencial. Una gran parte de los algo-ritmos usados en el aprendizaje por refuerzo se fundamentan en la programación dinámica, seconsidera que el aprendizaje por refuerzo es una extensión de la programación dinámica queproporciona soluciones sin la necesidad de conocer el modelo de comportamiento del siste-ma. Se considera que el aprendizaje por refuerzo combina algunas características del controlóptimo y del control adaptativo para el diseño de controladores realimentados, es así quelos objetivos de la presente tesina por una parte son determinar el estado de arte, analizare implementar algoritmos base de programación dinámica y aprendizaje por refuerzo.Y porotra parte, buscar y determinar áreas en las líneas de investigación actuales de la DP Y RLen las cuales se pueda realizar contribuciones en miras a desarrollar una tesis doctoral en estecampo de la investigación.Para lograr los objetivos planteados se ha realizado una revisión de la literatura desde unaperspectiva de los sistemas de control. Se describe los fundamentos básicos de la programa-ción dinámica y del aprendizaje por refuerzo, así como también los algoritmos base para laimplementación de soluciones para sistemas discretos deterministas usando estas técnicas.Además, se describe el RL y el control óptimo adaptativo aplicado a sistemas lineales discretosy el RL para sistemas no lineales usando el modelado de los mismos bajo la idea de sectornonlinearity, así como también el uso de aproximadores polinomiales para la función de valor.Se implementó y simuló el algoritmo Q-Learning aplicado a sistemas lineales discretos pararegulación(LQR) y seguimiento(LQT) con un conocimiento parcial o sin ningún conocimientode su dinámica. Además, se realizó la simulación de aprendizaje Q-Learning para sistemas nolineales, usando modelado sector nonlinearity y aproximadores polinomiales a las funcionesde valor.Se realizaron pruebas prácticas de la implementación del algoritmo de aprendizaje Q-Learningen un péndulo de un grado de libertad, con el objetivo de verificar si el algoritmo de aprendizajeconverge a una ganancia y si esta ganancia es estabilizante.Finalmente, se realiza una interpretación de los resultados obtenidos del trabajo realizado enla tesina y el posible trabajo futuro identificando oportunidades de investigación.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 10: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

vi Agradecimientos

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 11: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Índice general

Agradecimientos III

1. Introducción 11-1. Programación dinámica y aprendizaje por refuerzo . . . . . . . . . . . . . . . . 11-2. Motivación y objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-3. Organización de la tesina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Estado del arte 52-1. Programación dinámica y aprendizaje por refuerzo . . . . . . . . . . . . . . . . . 5

2-1-1. Criterios de optimalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 82-1-2. Funciones de valor y ecuaciones de Bellman . . . . . . . . . . . . . . . . 92-1-3. Evaluación de la política y mejora de la política . . . . . . . . . . . . . . 112-1-4. Programación dinámica: solución basada en el modelo . . . . . . . . . . 122-1-5. Aprendizaje por refuerzo: solución basada en la experiencia . . . . . . . . 16

3. Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos 193-1. Aprendizaje por refuerzo y control adaptativo óptimo para sistemas lineales en

tiempo discreto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193-1-1. Aproximación de la función valor . . . . . . . . . . . . . . . . . . . . . 21

3-2. Control adaptativo óptimo para sistemas lineales discretos con dinámica parcial-mente conocida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3-3. Q-learning para control adaptativo óptimo con dinámica desconocida en sistemasdiscretos lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243-3-1. Problema de seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3-4. Q-learning para control adaptativo óptimo con dinámica desconocida en sistemasdiscretos no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283-4-1. Aprendizaje en Sistemas no lineales . . . . . . . . . . . . . . . . . . . . 283-4-2. Modelado Sector no lineal . . . . . . . . . . . . . . . . . . . . . . . . . 293-4-3. Q-Learning aplicando sector nonlinearity . . . . . . . . . . . . . . . . . . 313-4-4. Polinomio en la función de valor . . . . . . . . . . . . . . . . . . . . . . 323-4-5. Polinomio en el regresor . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 12: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

viii Índice general

4. Simulaciones 35Ejemplo 1: Control adaptativo óptimo discreto para un sistema parcialmente co-

nocido(Se conoce únicamente la matriz B) usando VI . . . . . . . . . . . 36Ejemplo 2: Control adaptativo óptimo discreto para un sistema parcialmente co-

nocido(Se conoce únicamente la matriz B) usando PI. . . . . . . . . . . 38Ejemplo 3: Control adaptativo óptimo discreto para un Sistema lineal de segundo

orden del cual se desconoce su dinámica usando Q-learning y PI. . . . . . 40Ejemplo 4: Control adaptativo óptimo discreto de un sistema de energía usando

VI [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Ejemplo 5: Simulación LQT(seguimiento) para un Sistema lineal discreto de primer

del cual se desconoce su dinámica. . . . . . . . . . . . . . . . . . . . . . 46Ejemplo 6: Simulación LQT(seguimiento) sin error de posición para un Sistema

lineal discreto de primer orden del cual se desconoce su dinámica. . . . . 48Ejemplo 7: Simulación de aprendizaje Q-Learning de un sistema no lineal discreto

usando sector nonlinearity y programación lineal. . . . . . . . . . . . . . 51Ejemplo 8: Simulación de aprendizaje Q-Learning un sistema no lineal discreto

usando sector nonlinearity y polinomios en la función de valor. . . . . . . 53

5. Pruebas en péndulo de un grado de libertad (1DoF) 575-1. Descripción del sistema utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5-1-1. Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585-1-2. Actuador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595-1-3. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5-2. Descripción de la pruebas realizadas . . . . . . . . . . . . . . . . . . . . . . . . 615-2-1. Exploración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615-2-2. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615-2-3. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645-2-4. Coste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6. Conclusiones y trabajo futuro 69

Bibliografía 71

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 13: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Índice de figuras

1-1. Elementos de la DP y RL y su flujo de interacción[2]. . . . . . . . . . . . . . . . 2

2-1. Relación del aprendizaje por refuerzo con otros campos de la ciencia[3]. . . . . . 62-2. Taxonomía de los algoritmos de DP y RL[2]. . . . . . . . . . . . . . . . . . . . . 72-3. Criterios de optimalidad:(a) Horizonte finito, (b) horizonte infinito descontado (c)

retorno promediado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82-4. Iteración de la política generalizada (GPI)[4]. . . . . . . . . . . . . . . . . . . . 11

3-1. Representación de sector nonlinearity [5] . . . . . . . . . . . . . . . . . . . . . 30

4-1. Ejemplo 1: Variables de estado del sistema simulado . . . . . . . . . . . . . . . . 374-2. Ejemplo 1: Convergencia de Pk a su valor óptimo P ∗ . . . . . . . . . . . . . . . 374-3. Ejemplo 1: Convergencia de Kk a su valor óptimo K∗ . . . . . . . . . . . . . . . 374-4. Ejemplo 1: Trayectoria de la norma Euclidiana durante la simulación . . . . . . . 384-5. Ejemplo 2: Variables de estado del sistema simulado. . . . . . . . . . . . . . . . 394-6. Ejemplo 2:Convergencia de Pk a su valor óptimo P ∗ . . . . . . . . . . . . . . . 394-7. Ejemplo 2:Convergencia de Kk a su valor óptimo K∗ . . . . . . . . . . . . . . . 394-8. Ejemplo 2:Trayectoria de la norma Euclidiana durante la simulación . . . . . . . 404-9. Sistema de masa, muelle y amortiguador . . . . . . . . . . . . . . . . . . . . . . 404-10. Ejemplo 3:Variables de estado del sistema simulado . . . . . . . . . . . . . . . . 414-11. Ejemplo 3:Convergencia de Pk a su valor óptimo P ∗ . . . . . . . . . . . . . . . 414-12. Ejemplo 3:Convergencia de Kk a su valor óptimo K∗ . . . . . . . . . . . . . . . 424-13. Ejemplo 3:Trayectoria de la norma Euclidiana durante la simulación . . . . . . . 424-14. Variables de estado del sistema simulado,ejemplo 4 . . . . . . . . . . . . . . . . 444-15. Ejemplo 4:Convergencia de Pk a su valor óptimo P ∗ . . . . . . . . . . . . . . . 454-16. Ejemplo 4:Convergencia de Kk a su valor óptimo K∗. . . . . . . . . . . . . . . . 45

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 14: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

x Índice de figuras

4-17. Ejemplo 4:Trayectoria de la norma Euclidiana durante la simulación . . . . . . . 454-18. Ejemplo 5:Convergencia de la matriz K a sus valores óptimos K∗ durante el apren-

dizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474-19. Ejemplo 5:Evaluación de la salida y la referencia después del aprendizaje . . . . . 474-20. Ejemplo 6:Convergencia de la matriz K a sus valores óptimos K∗ durante el apren-

dizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494-21. Ejemplo 6:Evaluación de la salida y la referencia después del aprendizaje . . . . . 494-22. Ejemplo 7:Variables de estado del sistema simulado . . . . . . . . . . . . . . . . 524-23. Ejemplo 7:Convergencia de Pk a su valor óptimo P ∗ . . . . . . . . . . . . . . . 524-24. Ejemplo 7:Convergencia de Kk a su valor óptimo K∗ . . . . . . . . . . . . . . . 534-25. Ejemplo 8:Variables de estado del sistema simulado para grado 3. . . . . . . . . 544-26. Ejemplo 8:Convergencia de Kk a su valor óptimo K∗ para grado 3. . . . . . . . 54

5-1. Sistema implementado para pruebas de aprendizaje usando Q-Learning . . . . . . 585-2. Sensor de posición de efecto Hall . . . . . . . . . . . . . . . . . . . . . . . . . . 585-3. Motor DC y circuito accionador-Puente en H . . . . . . . . . . . . . . . . . . . 595-4. NI myRIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605-5. Interfaz desarrollada en LabVIEW para realizar la exploración. . . . . . . . . . . 615-6. Datos de exploración. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625-7. Histograma de datos de exploración obtenidos en el experimento . . . . . . . . . 625-8. Ganancia K a la que el algoritmo de aprendizaje converge con datos de exploración. 635-9. Posición inicial del péndulo antes de aplicar el control por realimentación del estado 645-10. Trayectoria del péndulo aplicando varios controladores con diferente ponderación

de las matrices Q y R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655-11. Posiciones iniciales para determinar el coste variando la ganancia. . . . . . . . . 665-12. Costes obtenidos al variar la ganancia de referencia obtenida por el Q-Learning . 665-13. Interfaz desarrolla en LabVIEW para estimar el coste. . . . . . . . . . . . . . . . 67

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 15: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Índice de cuadros

5-1. Características eléctricas principales del sensor de posición de efecto Hall. . . . . 585-2. Ganancias obtenidas en el proceso de aprendizaje . . . . . . . . . . . . . . . . . 635-3. Ganancias obtenidas en el proceso de aprendizaje variando las matrices Q y R del

índice de coste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645-4. Costes obtenidos al variar la ganancia proporcionada por Q-Learning . . . . . . . 65

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 16: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

xii Índice de cuadros

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 17: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 1

Introducción

1-1. Programación dinámica y aprendizaje por refuerzo

La programación dinámica (DP, dynamic programming) y el aprendizaje por refuerzo (RL,reinforcement learning) son un conjunto de técnicas para resolver problemas de decisión se-cuenciales, en los cuales las decisiones son aplicadas al sistema con el objetivo de obtener unarespuesta deseada. Este tipo de problemas secuenciales aparecen en una amplia variedad decampos entre los que podemos mencionar el control automático, control teórico, inteligenciaartificial, robótica, investigación operativa, economía, medicina entre otras. La diferencia en-tre la programación dinámica y el aprendizaje por refuerzo es que la solución planteada porlas técnicas de aprendizaje por refuerzo no requieren de un modelo de comportamiento delsistema, sino que funcionan únicamente empleando datos obtenidos del entorno, a diferenciade las técnicas de programación dinámica las cuales proporcionan soluciones basadas en elmodelo de comportamiento del sistema.Existen varias maneras de abordar los problemas de decisión secuencial entre las que pode-mos mencionar la programación de la solución, búsqueda y planificación y aprendizaje[6]. Laprogramación de la solución de un sistema contempla que el programador conozca todos losestados y describa las acciones que debe realizar en cada uno de ellos. Esta solución puedeser viable para problemas sencillos pero muy tediosa e ineficaz para problemas reales con unelevado números de estados. Una segunda opción es la técnica de búsqueda y planificación[7], estos algoritmos son válidos cuando se conoce de antemano la forma en que evolucionael estado en función de las acciones aplicadas de esta forma es posible buscar, o planificar lamejor secuencia de acciones desde el estado actual [8]. La tercera opción es el aprendizaje quees la planteada en el RL que no requiere de información previa del sistema y que emplea unconjunto de datos relacionados con los estados y las acciones para obtener una solución.Debido a los múltiples orígenes del RL es común encontrar en la literatura los mismos con-ceptos con diferentes definiciones, por ejemplo, los términos programación neuro-dinámica oprogramación dinámica aproximada se suelen emplear como sinónimos de aprendizaje por re-fuerzo [9]. Las dos nomenclaturas más extendidas son las provenientes de la teoría de controly de la inteligencia artificial.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 18: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2 Introducción

Recompensa

Función de

recompensa/Coste

Agente/Controlador Entorno/Proceso

Estado

Acción

Figura 1-1: Elementos de la DP y RL y su flujo de interacción[2].

Los principales elementos y su interacción del problema a resolver en la DP y RL son repre-sentados en la Figura 1-1. Se muestra como un agente que interactúa con el entorno mediantetres señales: una señal de estado del entorno, una señal de acción que permite al agenteinfluenciar el estado del entorno y una señal escalar de recompensa, la cual proporciona alagente información sobre la calidad de la acción que acaba de realizar en el estado actual. Encada instante temporal, el agente recibe una medida del estado y realiza una acción. Comoconsecuencia, en parte, de la acción realizada, se produce una transición del entorno a unnuevo estado. Además se genera una señal de recompensa que evaluá la calidad de dichatransición. Entonces el agente recibe el nuevo estado y el ciclo completo se repite [10].

Tomando como ejemplo un sistema robotizado, el agente vendría a ser el software del roboty el entorno consistiría en el ambiente del robot(la superficie sobre la que se mueve, losobstáculos, la meta) junto con el cuerpo del robot en si mismo. En la DP y RL se enfatizaque el cuerpo físico de la entidad tomadora de decisiones(si hay alguna), sus sensores yactuadores así como también los controladores fijos de bajo nivel, son considerados comoparte del proceso, mientras que el agente(controlador) viene a ser considerado el algoritmo detoma de decisiones[2].

El agente selecciona la acción realizada en cada estado de acuerdo a una política. La políticaes una función que mapea estados a acciones. El objetivo del agente es aprender una políticaque maximice la cantidad total de recompensa recibida, es decir, la recompensa acumulada alargo plazo.

El proceso de aprendizaje se basa en los datos que adquiere el agente mediante la interaccióncon el entorno. Cada vez que el agente realiza una acción, la información que recibe por partedel entorno(el estado siguiente y la recompensa) es utilizada para modificar la política. Habi-tualmente se utiliza el término experiencia para los datos adquiridos por el agente. Durantelas primeras etapas del aprendizaje, las acciones realizadas se seleccionan de forma aleatoriay, conforme aumenta la experiencia, la política mejora de forma que las acciones proporcionanal agente una mayor cantidad de recompensa a largo plazo.

Considerando la cantidad de información que recibe el agente, el aprendizaje por refuerzopuede situarse entre el aprendizaje supervisado y el aprendizaje no supervisado[8]. Cuando el

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 19: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

1-2 Motivación y objetivos 3

conjunto de datos han sido etiquetados(solución deseada para la entrada) entonces el apren-dizaje es supervisado. Por el contrario en el aprendizaje no supervisado no hay ninguna señalque permita evaluar la solución obtenida, es decir, los datos no están etiquetados y lo que sebusca es encontrar la estructura de ese conjunto de datos[11]. En el aprendizaje por refuerzola señal de recompensa proporciona cierta información sobre la solución propuesta, pero lainformación es mucho más incompleta que en el caso del aprendizaje supervisado.

Desde la perspectiva de los sistemas de control el aprendizaje por refuerzo combina ca-racterísticas del control óptimo y del control adaptativo para el diseño de controladoresrealimentados[1]. Los controladores óptimos generalmente son diseñados fuera de línea y serequiere del conocimiento completo de la dinámica del sistema. En cambio, los controladoresobtenidos con técnicas adaptativas aprenden en línea el control de un sistema desconocidousando las medidas en tiempo real a lo largo de las trayectorias del sistema[12]. El aprendizajepor refuerzo combina los dos tipos de control obteniendo una clase de controladores adap-tativos que aprenden soluciones de control óptimas. En este contexto se pueden considerarsistemas en tiempo discreto o continuo, sistemas lineales o no lineales, sistemas variantes oinvariantes en el tiempo, sistemas estocásticos o determinísticos,etc.

Considerando las características que presentan los controladores proporcionados por las téc-nicas de aprendizaje por refuerzo se analiza e implementa el algoritmo de aprendizaje Q-Learning en sistemas discretos lineales y no lineales de los cuales se desconoce su comporta-miento dinámico.

1-2. Motivación y objetivos

En las últimas décadas la comunidad científica ha prestado especial interés en las técnicas deaprendizaje por refuerzo, dando como resultado una amplia variedad de nuevos algoritmos yaplicaciones de los mismos.

Al estar el aprendizaje por refuerzo asentado sobre una sólida base teórica y muchos de susalgoritmos están basados en los principios de funcionamiento de la programación dinámica,ha permitido el desarrollo de análisis teóricos que demuestran bajo qué condiciones, y a quévelocidad, convergen los algoritmos hacia políticas óptimas.

A pesar del gran número de problemas que se podrían resolver mediante DP y RL, su uso estalimitado principalmente por el crecimiento exponencial de los requisitos computacionales y dealmacenamiento cuando el número de variables de estado y variables de control se incrementa.

Como consecuencia la aplicación de los métodos de RL en problemas con cierto grado decomplejidad dista de ser trivial. La combinación del algoritmo de RL y el método de aproxi-mación debe seleccionarse cuidadosamente ya que de lo contrario es probable que el procesode aprendizaje no converja hacia una política óptima o en el peor de los casos la convergen-cia no esté garantizada. Aún suponiendo que el proceso sea estable si la cantidad de datoses insuficiente puede ser que la solución a la que se converja diste mucho de ser la soluciónóptima.

En términos generales, el objetivo que persigue esta tesina es doble. Por una parte, determi-nar el estado de arte, analizar e implementar algoritmos base de programación dinámica y

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 20: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

4 Introducción

aprendizaje por refuerzo.Y por otra parte, buscar y determinar áreas en las líneas de inves-tigación actuales de la DP Y RL en las cuales se pueda realizar contribuciones en miras apoder desarrollar una tesis doctoral en este campo de la investigación.

1-3. Organización de la tesina

La presente tesina se ha organizado en cinco capítulos. A continuación se describe brevementeel contenido de cada uno de los capítulos.

Capítulo 2. Estado del arte. Este capítulo proporciona los fundamentos teóricosnecesarios para describir el resto de conceptos introducidos a lo largo de la tesina.Se introducen los algoritmos básicos de programación dinámica ya que son la base demuchos de los algoritmos del aprendizaje por refuerzo.

Capítulo 3. Aprendizaje por refuerzo y control adaptativo óptimo en siste-mas lineales y no lineales discretos. En este capítulo se introduce la aplicación delalgoritmos de aprendizaje a sistemas dinámicos lineales para regulación y seguimiento.Además, se usa RL para sistemas no lineales modelados con la idea de sector nonlinearityy usando aproximadores polinomiales en la función de valor.

Capítulo 4. Simulaciones El capítulo describe la implementación y simulación del al-goritmo Q-Learning aplicado a sistemas discretos lineales y no lineales para regulacióny seguimiento. Estos algoritmos son implementados para obtener un regulador linealcuadrático para sistemas lineales discretos de primer y segundo orden parcial o total-mente desconocida su dinámica. Además, se realiza la simulación de sistemas no linealesaplicando técnicas de DP y RL, usando aproximadores polinomiales a las funciones devalor y también usando modelado de sector nonlinearity.

Capítulo 5. Pruebas en péndulo de un grado de libertad (1DoF). En estecapítulo se describe los experimentos y resultados de la implementación práctica delalgoritmo Q-Learning en un sistema mecánico, específicamente un péndulo de un gradolibertad.

Capítulo 6. Conclusiones y trabajo futuro. Este capítulo cierra la tesina descri-biendo las conclusiones globales que se derivan del trabajo realizado. En este capítulotambién se identifican oportunidades de investigación futura.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 21: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 2

Estado del arte

La programación dinámica(DP) y el aprendizaje por refuerzo(RL) son técnicas que se utili-zan en la búsqueda de soluciones en sistemas de decisión secuencial. Muchos de los algoritmosusados en el aprendizaje por refuerzo provienen de la programación dinámica, se consideraque el aprendizaje por refuerzo es una extensión de la programación dinámica que propor-ciona soluciones sin la necesidad de conocer el modelo de comportamiento del sistema. Enla comunidad de los sistemas de control, considera que el aprendizaje por refuerzo combinaalgunas características del control óptimo y del control adaptativo para el diseño de con-troladores realimentados, es así que los controladores proporcionados por el aprendizaje porrefuerzo son una clase de controladores adaptativos óptimos[1]. En este capítulo se describelos fundamentos básicos de la programación dinámica y del aprendizaje por refuerzo, así comotambién sus algoritmos base.

2-1. Programación dinámica y aprendizaje por refuerzo

La programación dinámica(DP,Dynamic Programming) es una parte fundamental de la teoríade control óptimo. En un problema de control óptimo,el objetivo es desarrollar un contro-lador que minimice una medida del comportamiento de un sistema dinámico a lo largo deltiempo [13], esta medida de comportamiento es evaluada con un índice de costo o función devalor[2][9][10] y este índice o valor puede ser definido en términos de objetivos de optimalidad[14], por ejemplo, combustible mínimo, energía mínima, mínimo riesgo, etc. Cuando el sistemaes estocástico y no lineal, habitualmente se considera que la única forma viable de encontraruna solución es mediante DP[10]. El campo de la programación dinámica fue desarrollado ori-ginalmente para resolver problemas discretos de control óptimo estocástico. Posteriormentelas técnicas de DP se han aplicado en otros campos como investigación operativa y economía,donde han sido ampliamente estudiadas[15].

El aprendizaje por refuerzo(RL,Reinforcement learning) tiene sus orígenes en el campo de lainteligencia artificial. El RL se encuentra inspirado en los mecanismos de aprendizaje biológico.Específicamente, tiene sus raíces en el condicionamiento operante entre las diferentes formas

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 22: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

6 Estado del arte

que un individuo puede responder ante una misma situación, aquellas que estén acompañadasde una satisfacción(refuerzo positivo), estarán más firmemente conectadas a dicha situación derepetirse. Por el contrario, la conexión de aquellas respuestas acompañadas por una sensaciónde malestar (refuerzo negativo) tienden a debilitarse, por lo que son menos probables que serepitan[16].

En [12], se menciona una interesante analogía de la cual se podría decir se basa el aprendizajepor refuerzo, menciona que los organismos vivos aprenden a través de la interacción consu entorno y observando los estímulos de recompensa ajustan sus acciones para mejorar larecompensa obtenida. Uno de los clásicos ejemplos a los que se recurre para mencionar elaprendizaje por refuerzo es el usado por Ivan Pavlov que usó simples premios o castigospara modificar los patrones de comportamiento de perros mediante la inducción de reflejoscondicionados. El aprendizaje por refuerzo existe en la intersección de varios campos de laciencia, como se muestra en la Figura 2-1, en los diferentes campos se intenta resolver elmismo problema del que se habla en el aprendizaje por refuerzo, esencialmente problemas dedecisión secuencial. Por ejemplo, en neurociencia se ha observado como el neurotransmisordopamina actúa como una señal de recompensa que favorece el aprendizaje a nivel de lasneuronas[17].

Figura 2-1: Relación del aprendizaje por refuerzo con otros campos de la ciencia[3].

Desde la perspectiva del control automático, tanto DP como RL son equivalentes a un pro-blema de control óptimo estocástico y no lineal [13]. Además, RL puede ser visto como unatécnica de control óptimo adaptativo [4][18]. La mayoría de algoritmos de RL pueden con-siderarse como un intento de dotar a la programación dinámica de una mayor aplicabilidadpráctica eliminando la necesidad de tener un conocimiento profundo del entorno.

La principal diferencia entre DP y RL es que la solución planteada por las técnicas de RLno requieren ningún tipo de modelo, sino que funcionan empleando únicamente los datosobtenidos del entorno, esta característica permite aplicar el RL en sistemas los cuales sedesconoce su dinámica de comportamiento. Los algoritmos online son aquellos en los cualeslos datos se obtienen del entorno al mismo tiempo que el agente aprende una política decontrol, alternativamente, los algoritmos offline son los que almacenan los datos para susposterior procesamiento.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 23: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 7

En [2], se proporciona una taxonomía de los algoritmos desarrollados para DP/RL y se mues-tra en la Figura 2-2.

RL, algoritmos libres de modelo (model-free)

DP, algoritmos basados en modelo (model-based)

Fuera de línea (offline)

Iteración de la función de valor

Iteración de la política

Búsqueda de política

Iteración de la función de valor

Iteración de la política

Búsqueda de política

En línea (online)

Fuera de línea (offline)

En línea (online)

Fuera de línea (offline)

En línea (online)

Figura 2-2: Taxonomía de los algoritmos de DP y RL[2].

Los algoritmos DP para encontrar una política óptima requieren de un modelo MDP Markovdecision processes incluyendo la dinámica de transición y la función de refuerzo[9][13], engeneral muchos problemas de decisión toman como marco de referencia los MDP incluidoslos sistemas de control realimentados [1], un estudio detallado y amplio sobre MDP se puedeconsultar en [15]. Específicamente, lo que se refiere a lo desarrollado en la presente tesinala propiedad fundamental de Markov establece que los estados futuros dependen únicamentedel los estados y acciones actuales, que se puede ver claramente en el planteamiento de lasecuaciones de estado de los sistemas discretos tratados. Los algoritmos de programación di-námica trabajan fuera de línea y como resultado obtienen una política que puede ser usadapara el control de procesos. Usualmente, esta clase de algoritmos no requiere de una expresiónanalítica de la dinámica. En cambio, dado un estado y una acción, el modelo sólo se requierepara generar un siguiente estado y la recompensa correspondiente. La construcción de unmodelo generativo de este tipo es a menudo más fácil que derivar una expresión analítica dela dinámica, especialmente cuando la dinámica del proceso es estocástica.

Los algoritmos de aprendizaje por refuerzo son libres de modelo [10][19] lo que les hace muyútiles cuando la obtención del modelo de un proceso es demasiado dificultosa o muy costosade ser implementada. Los algoritmos de aprendizaje por refuerzo usan datos obtenidos delproceso, estos datos pueden ser un conjunto de trayectorias del proceso, una simple trayectoriao un conjunto de muestras del proceso. Mientras los algoritmos de programación dinámicapueden usar el modelo para obtener cualquier número de muestras de transición de cualquierpar estado-acción, los algoritmos de aprendizaje por refuerzo deben trabajar con un númerolimitado de datos que provienen proceso.

A continuación se describen algunos conceptos claves para poder comprender de manera claralos conceptos de DP y RL. Referencias para este material incluyen [6][8][14][20][21].

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 24: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

8 Estado del arte

2-1-1. Criterios de optimalidad

Antes de analizar los diferentes métodos para encontrar políticas óptimas es necesario conoceel significado del término óptimo, es decir, lo que se conoce como modelo de optimalidad. Elobjetivo de los algoritmos de DP/RL es encontrar una política que maximice la recompensaobtenida por el agente a lo largo del tiempo, cantidad conocida como retorno. Dicho deotra forma el retorno es la suma acumulada de las recompensas que recibe el agente cuandosigue una política π en una trayectoria que comienza en el estado s0. En [8], se definentres modelos básicos de optimalidad que son suficientes para cubrir la mayor parte de losenfoques de la literatura,estos son el modelo de horizonte finito, horizonte infinito descontadoy retorno promediado. Notar que esta tesina se limita al caso determinista, para generalizacióna sistemas estocásticos ver [2][8][14][19].

h∑t=0

rt

(a)

∞∑t=0

γtrt

(b) (c)

lımh→∞

h∑t=0

γtrt

Figura 2-3: Criterios de optimalidad:(a) Horizonte finito, (b) horizonte infinito descontado (c)retorno promediado

El modelo de horizonte finito simplemente considera un horizonte finito de longitud h yestablece que el agente debería optimizar su retorno esperado sobre ese horizonte. El problemaque presenta este modelo es que la selección óptima para el horizonte de longitud h no siemprees conocida.En el modelo de horizonte infinito, el refuerzo a largo plazo es tomado en consideración, perolos refuerzos que son recibidos del futuro son descontados de acuerdo a que tan lejos en eltiempo ellos serían recibidos para realizar esto usamos un factor de descuento γ definido de0 6 γ < 1. El factor de descuento es una manera de considerar la incertidumbre asociada alas recompensas futuras, cuando el criterio de optimalidad usado es de horizonte finito y nose usa un factor de descuento al no acotar el retorno produce problemas en el aprendizaje. Sise define el γ = 0 se dice que el agente es miope que significa que el agente solo considera elrefuerzo inmediato.Un tercer modelo de optimalidad es el modelo de retorno promediado, este modelo maximizael retorno promediado a largo plazo. A veces es llamada la política de ganancia óptima y en ellímite el factor de descuento se aproxima a 1, por lo que es igual al modelo de horizonte infinitocon descuento. Uno de los problemas que presenta este modelo es que para episodios largos oinfinitos no se puede distinguir entre dos políticas en la que una recibe muchos refuerzos enlas fases iniciales y otra en la que no, esta diferencia inicial es ocultada a largo plazo en elpromediado del modelo [22].Escoger entre los criterios de optimalidad esta relacionado con el problema del aprendizaje.Si el tamaño del episodio es conocido, el modelo de horizonte finito es la mejor elección.Sin embargo, si el tamaño no es conocido o si se trata de problemas continuos el modelo dehorizonte infinito es el más adecuado. Un tratado más extenso de los diferentes modelos y surelación con su optimalidad puede ser estudiado en [23].Los criterios de optimalidad ponen en manifiesto que la meta del agente es optimizar sucomportamiento (política) a largo plazo (retorno) a partir de una señal que evalúe el com-

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 25: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 9

portamiento de forma inmediata(recompensa). Habitualmente la recompensa que recibe elagente en un instante dado está influenciada por las acciones que realizó en los instantesanteriores[20].La mayor parte de los algoritmos de DP y RL emplean el criterio de optimalidad definidoen la Figura 2-3(b) debido a que posee propiedades teóricas que lo hacen más adecuado parael análisis matemático. Dicho criterio asegura la existencia de, al menos, una política óptimaestacionaria y determinista, mientras que en otros casos las políticas óptimas generalmentedependen del instante temporal, es decir, no son estacionarias [13][19][21].Frecuentemente, en los análisis teóricos el factor de descuento γ se asume como una partedada del problema, sin embargo, en la práctica es necesario escoger un valor adecuado enfunción del problema que se pretende resolver. El factor de descuento puede influir tanto enla calidad de la política obtenida como en la velocidad de convergencia: valores pequeños de γaceleran la convergencia, pero cuando son demasiado pequeños el horizonte de optimizaciónes corto y pueden dar lugar a políticas subóptimas. Así pues, el valor γ debe proporcionar uncompromiso entre ambas características.

2-1-2. Funciones de valor y ecuaciones de Bellman

Las funciones de valor son el punto de unión entre el sistema y el criterio de optimalidad.Una función de valor es una estimación de la bondad que supone para un agente estar enun determinado estado cuando se sigue una política fija. El concepto de “cuánto de bueno”se expresa de acuerdo al criterio de optimalidad, es decir, al retorno[8]. Existen dos tipos defunciones de valor: función V , que estima la bondad de estar en un estado, y función Q queestima la bondad de realizar una acción en un estado.El valor de un estado s bajo la política π, denotado como V π(s) es el retorno esperado a partirde empezar en el estado s y seguir la política π. Usando el modelo de horizonte infinito condescuento la función de valor puede ser expresada así:

V π(s) =∞∑k=0

γkrt+k (2-1)

Una función de valor estado-acción similar Q : S×A→ R puede ser definida como el retornoesperado empezando desde un estado s, tomando una acción a y siguiendo una la política π.

Qπ(s, a) =∞∑k=0

γkrt+k (2-2)

Una de las características fundamentales de las funciones de valor es que satisfacen ciertas pro-piedades recursivas. Para cualquier política π y cualquier estado s la expresión en la ecuación2-1 puede ser definida recursivamente en términos de la llamada ecuación de Bellman[24].

V π(s) = rt + γrt+1 + γ2rt+2 + ...

= rt + γV π(st+1)=∑s′

f(s, π(s), s′)(ρ(s, a, s′) + γV π(s′)

) (2-3)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 26: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

10 Estado del arte

Esto muestra que el valor esperado del estado esta definido en términos del refuerzo inmediatoy valores de los estados siguientes pesados a través de su función de transición y adicionalmentede un factor de descuento. V π es la única solución para este conjunto de ecuaciones. Notar quelas políticas múltiples pueden tener las mismas funciones de valor, pero para una determinadapolítica π, V π es única.

La meta buscada es encontrar la mejor política, por ejemplo la que reciba el mayor retorno.Esto significa maximizar la ecuación 2-1 para todos los estados s ∈ S. Una política óptima,denota π∗, es tal que V π∗(s) ≥ V π(s) para todo s ∈ S y todas las políticas π. Se puededemostrar que la solución óptima V ∗ = V π∗ satisface las siguiente ecuación:

V ∗(s) = maxa∈A

∑s′∈S

f(s, a, s′)(ρ(s, a, s′) + γV π(s′)

)(2-4)

Esta ecuación se denomina la Ecuación de optimalidad de Bellman. Y establece que el valorde un estado bajo una política óptima debe ser igual al retorno esperado para la mejor acciónen ese estado. Para seleccionar una acción óptima dada la función de valor óptima V ∗ sepuede aplicar la siguiente regla:

π∗(s) = argmaxa

∑s′∈S

f(s, a, s′)(ρ(s, a, s′) + γV π(s′)

)(2-5)

La denominación de esta política es política voraz (greedy policy), se denota πgreedy(V ) estaselecciona la mejor acción usando la función de valor V . Análogamente el valor óptimo estado-acción es:

Q∗(s, a) =∑s′

f(s, a, s′)(ρ(s, a, s′) + γmax

a′Q∗(s′, a′)

)(2-6)

Las Q-funciones son muy útiles debido a que hacen innecesaria la suma ponderada sobrelas diferentes alternativas usando la función de transición. Esa es la razón por la cual en elenfoque libre de modelo donde no se conoce f ni ρ las Q-funciones son aprendidas en lugarde las V-funciones. La relación entre Q∗ y V ∗ esta dada por:

Q∗(s, a) =∑s′∈S

f(s, a, s′)(ρ(s, a, s′) + γV ∗(s′)

)(2-7)

V ∗(s) = maxa

Q∗(s, a) (2-8)

La selección de la acción óptima esta dada por:

π∗(s) = argmaxa

Q∗(s, a) (2-9)

Es decir, la mejor acción es la acción que tiene la mayor utilidad esperada sobre la base deposibles estados próximos resultantes de tomar esa acción.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 27: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 11

2-1-3. Evaluación de la política y mejora de la política

Los que busca la DP y RL dado un problema de decisión secuencial es calcular una políticaóptima π∗. Se han desarrollado varios algoritmos que buscan lograr ese objetivo. La distinciónmás importante es entre los algoritmos basados en modelo(model-based) y los algoritmos libresde modelo(model-free)[9][10][21]. Los algoritmos basados en modelo existen bajo el nombregeneral de DP,dynamic programming. La premisa básica de estos algoritmos es que el modeloes conocido de antemano y puede ser usado para calcular las funciones de valor y las políticasusando la ecuación de Bellman.

Los algoritmos libres de modelo, se lo conoce bajo el nombre RL, reinforcement learning dondeno se depende de la disponibilidad de un modelo. En lugar de esto, estos algoritmos dependende la interacción con el entorno, por ejemplo, una simulación de la política generando muestrasde transiciones de estado y recompensas. Estas muestras se utilizan entonces para estimarfunciones de valor de estado-acción.

Debido a que el modelo es desconocido, el agente explora el espacio de estados para obtenerinformación. Esto naturalmente involucra realizar una exploración-explotación balanceadapara obtener una política óptima.

Un mecanismo subyacente muy importante, es el principio llamado “iteración de la políticageneralizada” (GPI)[4], presente en todos los métodos se representa en la figura 2-4.

Figura 2-4: Iteración de la política generalizada (GPI)[4].

Este principio consiste en dos procesos de interacción. El primer paso es la evaluación de lapolítica que calcula la utilidad del política actual π, es decir, se calcula V π. Hay varias maneraspara calcular esto. En los algoritmos basados en modelos, se puede utilizar el modelo paracalcularla directa o iterativamente. En los algoritmos de libres de modelo, se puede simular lapolítica y estimar la utilidad de las trazas de ejecución de la muestra. El objetivo principal deeste paso es reunir información sobre la política para el cálculo de la segunda etapa, la etapade mejora de la política. En este paso, los valores de las acciones se evalúan para cada estado,con el fin de hallar posibles mejoras, es decir, posibles otras acciones en estados particularesque son mejores que los propuestos en la acción de la política actual . Este paso calcula unamejor política π′ de la actual política π usando la información en V π. Tanto la evaluación y lospasos de mejora se pueden implementar de varias maneras, e intercalarlas de varias manerasdistintas.

Otro aspecto interesante es que, en general, una función de valor no tiene que ser perfectamen-te precisa. En muchos casos es suficiente que exista la distinción suficiente entre las acciones

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 28: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

12 Estado del arte

óptimas y subóptimas, de tal manera que pequeños errores en los valores no tienen que influiren la política de optimalidad. Esto también es importante en métodos de aproximación y deabstracción.En [2], se clasifica los algoritmos de DP y RL de a acuerdo a como se obtienen la políticaóptima en:

Algoritmos de Iteración de función de valor, buscan el valor óptimo de la función devalor, que consiste en el máximo refuerzo de cada estado o de cada par estado-acción.La función de valor óptima es usada para calcular la política óptima.

Algoritmos de Iteración de política, evalúan las políticas a través de construir sus fun-ciones de valor (en lugar de la función de valor óptima), y utilizan estas funciones devalor para hallar nuevas y mejores políticas.

Algoritmos de búsqueda de política, usan técnicas de optimización para directamentebuscar una política óptima.

2-1-4. Programación dinámica: solución basada en el modelo

La programación dinámica se refiere a un conjunto de técnicas para obtener la solución aun problema de decisión secuencial, del cual se conoce el modelo de comportamiento delmismo[6]. La DP se basa en el principio de optimalidad de Bellman. En [24], el principio deoptimalidad dice:“Una política óptima tiene la propiedad de que cuando el estado inicial y la decisión inicialson conocidos, las restantes decisiones deben constituir una política óptima para el estadoresultante de la primera decisión”En muchas aplicaciones resulta complicado obtener un modelo que describa de forma fiableel comportamiento del sistema, por lo que la utilidad práctica de estás técnicas es bastantelimitada. A pesar de ello desde el punto de vista teórico y algorítmico son de vital impor-tancia porque constituyen la base para las técnicas de RL. Casi cualquier algoritmo de RLpuede considerarse como una aproximación para conseguir los mismos resultados que los al-goritmos de DP pero sin asumir que se dispone de un modelo y, además, reduciendo su cargacomputacional[10].

Iteración de políticas

El algoritmo de iteración de políticas [25] (policy iteration,PI ) se compone de dos etapasque se repiten alternativamente hasta converger en la política óptima. En la primera etapa,conocida como evaluación de la política, se calcula la función de valor de la política actual. Enla segunda, conocida como mejora de la política, se calcula una política mejorada utilizandola función valor obtenida en la fase anterior.Evaluación de la políticaEl primer paso del algoritmo PI es encontrar la función valor V πde una política fija π. Es-te subproblema también se conoce como predicción de la función valor y forma parte delproblema global para encontrar una política óptima. Sabemos que para toda s ∈ S tenemos:

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 29: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 13

V ∗(s) =∑s′∈S

f(s, π(s), s′)(ρ(s, π(s), s′) + γV π(s′)

)(2-10)

Si la dinámica del problema es conocida, el modelo del MDP está dado, entonces estas ecua-ciones forman un sistema de |S| ecuaciones con |S| incógnitas (los valores de V π) para cadas ∈ S. Esto puede ser resuelto mediante programación dinámica(DP). Sin embargo, es posibleutilizar un procedimiento iterativo tanto en DP y RL. La ecuación de Bellman se convierte enuna regla de actualización que actualiza el valor de la función V π

k en V πk+1 a través de mirar

un paso más adelante en el futuro, ampliando así la planificación horizonte en un paso:

V πk+1(s) =rt + γV π

k (st+1)=∑s′

f(s, π(s), s′)(ρ(s, π(s), s′) + γV π

k (s′)) (2-11)

La secuencia de aproximaciones de V πk así como k van hacia el infinito y se puede demostrar

que converge. Para converger, la regla de actualización es aplicada a cada estado s ∈ S en cadaiteración. Este reemplaza el valor anterior para ese estado por un nuevo estado que esta basadoen un valor esperado de posibles estados sucesores, refuerzos intermedios y ponderaciones através de las probabilidades de transición. Esta operación es denominada full backup porquese basa en todas las posibles transiciones de ese estado.

Mejoramiento de la políticaAhora que sabemos que la función de valor V π de una política π como el resultado de la etapade evaluación de las políticas, podemos tratar de mejorar la política. Primero identificamosel valor de todas las acciones mediante el uso de:

Qπ(s, a) =rt + γV π(st+1)=∑s′

f(s, a, s′)(ρ(s, a, s′) + γV π(s′)

) (2-12)

Si ahora Qπ es mayor que V π para alguna a ∈ A entonces podemos mejorar a través de laselección de una mejor acción a en lugar de la actual π(s). Es decir, podemos mejorar lapolítica actual mediante la selección de una acción mejor en un estado particular. En efecto,podemos evaluar todas las acciones en todos los estados y escoger la mejor acción en todoslos estados. Esto es, calcular la política greedy π′ a través de la mejor acción en cada estadobasado en la actual función de valor V π.

π′(s) = argmaxa

Qπ(s, a)

= argmaxa

(rt + γV π(st+1))

= argmaxa

∑s′

f(s, a, s′)(ρ(s, a, s′) + γV π(s′)

) (2-13)

Si la política no puede ser mejorada de esta manera significa que la política es ya la óptimay su función de valor satisface la ecuación de Bellman para una función de valor óptima.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 30: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

14 Estado del arte

Resumiendo, el algoritmo de iteración de políticas empieza con una política arbitraria π0.Entonces la secuencia de iteraciones sigue en que la política actual es evaluada para despuésser mejorada. El primer paso, la evaluación de la política calcula V πk haciendo uso de laecuación 2-11 de manera iterativa. El segundo paso, la mejora de la política que calcula πk+1a partir de πk usando V πk Para cada estado usando la ecuación 2-5 se determinan la acciónóptima. Si para todos los estados s, πk+1(s) = πk(s), la política es estable y el algoritmo deiteración de políticas puede parar. La iteración de políticas genera una secuencia alternadade políticas y funciones de valor:

π0 → V π0 → π1 → V π1 → π2 → V π2 → π3 → V π3 → ...→ π∗

El algoritmo completo se muestra en Algoritmo 1.

Algoritmo 1 Iteración de políticasEntrada: V (s) ∈ R y π(s) ∈ A(s) arbitrariamente para todo s ∈ S

Evaluación de política1: repetir2: ∆ := 03: para cada s ∈ S hacer4: v := V π(s)5: V (s) :=

∑s′ f(s, π(s), s′) (ρ(s, a, s′) + γV (s′))

6: ∆ := max(∆, |v − V (s)|)7: hasta que ∆ < σ

Mejora de la política8: política-estable:=cierto9: para cada s ∈ S hacer

10: b := π(s)11: π(s) = argmaxa

∑s′ f(s, π(s), s′) (ρ(s, a, s′) + γV (s′))

12: si b 6= π(s) entonces política-estable:=falso13: si política-estable:=cierto ; entonces parar sino ir a Evaluación de política

Iteración de funciones valor

El algoritmo de iteración de políticas separa completamente las etapas de evaluación y mejorade la política. En la etapa de evaluación, la función de valor debe ser calculada en el límite.sin embargo, no es necesario esperar a una convergencia de total,pero es posible detener laevaluación prematuramente y mejorar la política basada en la evaluación hasta el momento.El punto extremo de truncamiento de la etapa de evaluación es el algoritmo de iteraciónde funciones valor de Bellman. Este detiene la evaluación justamente después de una solaiteración. En efecto, se combina el paso de mejoramiento de la política en sus iteraciones, porlo tanto el algoritmo se centran en estimar directamente la función de valor. Necesariamentela actualización se realiza sobre la marcha. En esencia, este algoritmo combina una versióntruncada del paso de la evaluación política con el paso de mejoramiento de la política, queesencialmente la ecuación 2-4 se convierte en una regla de actualización:

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 31: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 15

Vt+1(s) = maxa

∑s′

f(s, a, s′)(ρ(s, a, s′) + γVt(s′)

)(2-14)

= maxa

Qt+1(s, a) (2-15)

Usando las ecuaciones 2-14 y 2-15, el algoritmo de iteración de la función de valor(Algoritmo2) puede establecerse de la siguiente manera: empezando con un función de valor V0 sobretodos los estados, se realiza una actualización iterativa del valor de cada estado de acuerdo ala ecuación 2-14 para obtener el valor de la función Vt (t = 1, 2, 3, ...) Esto genera la siguientesecuencia de funciones de valor:

V0 → V1 → V2 → V3 → V4 → V5 → V6...V∗

En realidad, de la manera en la que calculamos los valores de las funciones también se producenQ-valores intermedios como se muestra en la siguiente secuencia:

V0 → Q1 → V1 → Q2 → V2 → Q3 → V3 → ...V ∗

La iteración de las funciones de valor garantiza la convergencia en el límite V ∗, por ejemplo,la ecuación de optimalidad de Bellman se mantiene para cada estado. Para una políticadeterminista π para todos los estados s ∈ S puede ser calculada usando la ecuación 2-5.

Algoritmo 2 Iteración de funciones de valorEntrada: inicializamos V por ejemplo (V (s) := 0, ∀s ∈ S)

1: repetir2: ∆ := 03: para cada s ∈ S hacer4: v := V (s)5: para cada a ∈ A hacer6: Q(s, a) :=

∑s′ f(s, π(s), s′) (ρ(s, a, s′) + γV (s′))

7: V (s) := maxaQ(s, a)8: ∆ := max(∆, |v − V (s)|)9: hasta que ∆ < σ

Búsqueda directa de políticas

Los algoritmos de iteración de política e iteración de la función de valor están basados enfunciones de valor y las ecuaciones de Bellman. Un enfoque totalmente diferente, pero con elmismo objetivo, es el planteado por los algoritmos de DP tienen con objetivo encontrar unapolítica óptima, es decir, se trata de un problema de optimización. En lugar de aplicar lasecuaciones de Bellman, otra opción válida para encontrar políticas óptimas, técnica conoci-da como búsqueda directa de políticas. El criterio de optimización debe tener en cuenta losretornos obtenidos desde cada posible estado inicial. Aunque cualquier técnica de optimiza-ción es válida para buscar una política óptima, conviene tener en cuenta que el criterio de

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 32: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

16 Estado del arte

optimización puede ser no derivable y contener óptimos locales. Por tanto, para garantizarque la solución obtenida es global, resulta necesario emplear algoritmos de búsqueda globalen lugar de aquellos basados en el cálculo de gradientes [2]. Algunos ejemplos de métodos deoptimización global incluyen algoritmos genéticos[26], búsqueda tabú [27], entropía cruzada[28], etc.La búsqueda directa de políticas ha sido típicamente considerada como un problema más di-fícil de resolver que el planteamiento basado en funciones valor[8]. El coste computacional esgeneralmente mayor además de requerir un elevado número de muestras para converger[2]. Elestudio de los métodos de búsqueda directa de políticas se encuentra fuera del alcance de estatesina, se puede consultar[29][30][31][32][33] donde se realiza un estudio de la aplicación de téc-nicas de búsqueda directa de política a la robótica. Adicionalmente, en [34][35][36][37][38][39]se muestran los fundamentos de los algoritmos de búsqueda directa de políticas.

2-1-5. Aprendizaje por refuerzo: solución basada en la experiencia

Dentro de los métodos de DP se han descrito los algoritmos PI, VI y búsqueda directa depolíticas. Para aplicar cualquiera de ellos es indispensable disponer de un modelo. En estasección se presentan algunos de los principales algoritmos de RL, centrándose en aquellosbasados en el aprendizaje temporal difference, ya que son los algoritmos más extendidos yampliamente estudiados[10][12][19][40]. En este caso el objetivo sigue siendo exactamente elmismo que en DP: encontrar una política que maximice la recompensa obtenida por el agente.La principal diferencia radica en que los algoritmos de RL están basados en la experiencia enlugar del modelo, una característica que incrementa notablemente sus posibles aplicacionesprácticas. Por otra parte, dado que la política se obtiene a partir de las muestras que adquiereel agente, es necesario que el proceso de muestreo cumpla ciertas propiedades estadísticas paraasegurar que la política resultante es óptima.

Temporal difference

Temporal difference (TD) hace referencia a una familia de métodos para estimar, o predecir,la función V de una política fija, aunque como veremos en secciones posteriores, el conceptodel aprendizaje TD puede ser extendido al caso de funciones Q [41] [42]. En los métodos TDla función V se estima en base a otras estimaciones previas, técnica que recibe el nombrede bootstraping [10]. Cada vez que el agente realiza una acción el algoritmo TD utiliza larecompensa generada y la estimación actual de V para realizar una nueva estimación deacuerdo a la expresión:

Vk+1(sk) = Vk(sk) + αk [rk+1 + γVk(sk+1)− Vk(sk)] (2-16)

donde αk ∈ [0, 1] es la secuencia de tasas de aprendizaje que determina la cantidad con la quese actualiza el valor del estado sk. El término entre corchetes, que se conoce como diferenciatemporal y da nombre al método, es la diferencia entre la nueva estimación de la función V ,rk+1 + γVk(sk+1), y la estimación en el instante temporal anterior, Vk(sk).En la práctica, para obtener una solución adecuada mediante TD, es necesario realizar unajuste ad-hoc de la tasa de aprendizaje αk. El pseudo código correspondiente a TD se muestraen el Algoritmo 3.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 33: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

2-1 Programación dinámica y aprendizaje por refuerzo 17

Algoritmo 3 Temporal differenceEntrada: Factor de descuento γ, secuencia de tasas de aprendizaje αk, política π

1: inicializar la estimación de la función V arbitrariamente, por ejemplo V0 ← 02: repetir3: inicializar el episodio s04: para cada paso del episodio hacer5: ak = π(sk)6: aplicar ak, observar el estado siguiente sk+1 y la recompensa rk+17: Vk+1(sk) := Vk(sk) + αk[rk+1 + γVk(sk+1)− Vk(sk)]8: fin for9: hasta que cumplir condiciones de convergencia

10: devolver V π

Igual que muchos otros algoritmos de RL, TD es un método de aproximación estocástica. Laecuación utilizada para actualizar V puede identificarse fácilmente con la expresión general:

estimaciónnueva ← estimaciónvieja + α[objetivo− estimaciónvieja] (2-17)

Dilema exploración-explotación

Cuando se aplica el principio de funcionamiento TD a las funciones Q y se combina con elprincipio GPI, los algoritmos resultantes son capaces de resolver el problema más generalde aprender una política óptima. Un requisito que deben cumplir dichos algoritmos es queactualicen todos los pares acción-estado de la función Q de forma indefinida.

Para satisfacer esta condición, la política empleada por el agente debe seleccionar en cadaestado todas las acciones posibles con una probabilidad mayor que cero, es decir, debe explorartodo el espacio de estados y acciones. En caso contrario, es posible que haya ciertos valores dela función Q que nunca se actualicen, dando lugar a estimaciones incorrectas. Por otra parte,y al mismo tiempo, el agente también debe emplear el conocimiento adquirido para actuar deforma adecuada y obtener la mayor recompensa posible o, dicho de otra forma, debe explotarel conocimiento que posee. Ambos requisitos, exploración y explotación, son contrarios ydan lugar a lo que se conoce como dilema exploración-explotación [42]. En la práctica serequiere llegar a un compromiso entre los dos requisitos.Se han planteado varias solucionespara enfrentar el dilema exploración explotación entre las que podemos mencionar una políticaε-greedy, exploración de Boltzmann, la técnica de optimismo frente a incertidumbre[4] queson las más utilizadas, en [43] se puede encontrar un análisis detallado de algunas de ellas.

En [10] clasifica el método TD en:

Q-Learning[44][45]. Es un método off-policy, que significa que la acción óptima de lafunción de valor es estimada independientemente de la política actual.

SARSA(State-Action-Reward-State-Action)[10]. Es similar al Q-Learning, sin embargo,este es un método on-policy, la acción de la función valor es estimada por la políticaactual y el par estado-acción.

Actor-Critic[10].Usa TD y la política es independiente de la función de valor.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 34: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

18 Estado del arte

Q-learning

Q-Learning es una extensión del algoritmo TD al problema general de aprender políticasóptimas es el algoritmo Q-learning [46] [44]. A partir de una estimación arbitraria de la funciónQ, el algoritmo Q-learning emplea la tupla (sk, ak, sk+1, rk+1) para actualizar la estimaciónde Q mediante la regla:

Qk+1(sk, ak) = Qk(sk, ak) + αk[rk+1 + γmaxa′

Qk(sk+1, a′)−Qk(sk, ak)] (2-18)

siendo αk in(0, 1] la secuencia de tasas de aprendizaje.

El principio de funcionamiento de Q-learning consiste en estimar de forma iterativa la funciónQ óptima, un procedimiento similar al empleado por el algoritmo clásico VI de programacióndinámica. Igual que ocurría con el algoritmo PI, el algoritmo VI da nombre a una clase generalde algoritmos basados en estimar directamente la función Q-óptima, siendo Q-learning unejemplo de esta clase de algoritmos. El algoritmo Q-learning es de tipo off-policy, ya queconverge hacia una política óptima independientemente de la política que emplee el agentepara interactuar con el entorno. Para converger, Q-learning requiere, por una parte, quetodos los pares estado-acción de la función Q sean actualizados indefinidamente, es decir, unapolítica exploratoria.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 35: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 3

Control Adaptativo Óptimo enSistemas Lineales y No Lineales

Discretos

3-1. Aprendizaje por refuerzo y control adaptativo óptimo parasistemas lineales en tiempo discreto.

Referencias para este material incluyen [1][12][14][47]. El análisis físico de los sistemas utilizan-do por ejemplo la mecánica lagragiana o la mecánica hamiltoniana que son una reformulaciónde la mecánica clásica proporcionan descripciones de los sistemas en términos de ecuacionesdiferenciales ordinarias no lineales.Discretizando obtenemos una representación de los siste-mas en ecuaciones en diferencias[14].

Considerando un sistema discreto representado por las siguiente ecuación en diferencias

xk+1 = f(xk) + g(xk)uk (3-1)

donde el estado xk ∈ Rn y la acción de control uk ∈ Rm.

Una política de control esta definida como una función del espacio de estados al espacio decontrol h(.) : Rn → Rm. Lo que significa que por cada estado se define una acción de controldada por

uk = h(xk) (3-2)

Esto es, una política es simplemente un controlador realimentado. A partir de definir unafunción costo se obtiene la función de valor[1][12][14].

V h(xk) =∞∑i=k

γi−kr(xi, ui) =∞∑i=k

γi−k(Q(xi) + uTi Rui) (3-3)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 36: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

20 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

con un factor de descuento 0 < γ ≤ 1, Q(xx) > 0, R > 0, y uk = h(xk) como una política decontrol realimentada. El costo de cada etapa

r(xk, uk) = Q(xk) + uTkRuk (3-4)

es considerado como cuadrático en uk para simplificar el desarrollo, pero puede ser cualquierfunción de control definida positiva. Se asume que el sistema es estabilizante en un conjuntoΩ ∈ Rn, lo que significa que existe una política de control uk = h(xk) que el sistema en lazocerrado xk+1 = f(xk) + g(xk)h(xk) es asintóticamente estable en Ω. Una política se dice quees admisible si esta es estabilizante y proporciona un costo finito V h(xk) para la trayectoriasen Ω[14][47]. Para sistemas determinísticos discretos(DT), el valor óptimo esta dado por laecuación de optimalidad de Bellman

V ∗(xk) = mınh(.)

(r(xk, h(xk)) + γV ∗(xk+1)) (3-5)

Que es justamente la ecuación Hamilton-Jacobi-Bellman(HJB)[14] en tiempo discreto. Y te-nemos que la política óptima es

h∗(xk) = argmınh(.)

(r(xk, h(xk)) + γV ∗(xk+1))) (3-6)

Para el regulador lineal cuadrático para sistemas discretos(DT LQR) tenemos,

xk+1 = Axk +Buk (3-7)

V h(xk) = 12

∞∑i=k

γi−k(xTi Qxi + uTi Rui) (3-8)

Iteración de política usando aprendizaje por diferencias temporales[1]

Inicialización Seleccionar cualquier política de control admisible h0(xk). Hacer para j = 0hasta converger

Evaluación de Política

Vj+1(xk) = r(xk, hj(xk)) + γVj+1(xk+1) (3-9)

Mejora de Política

hj+1(xk) = argmınh(.)

(r(xk, h(xk)) + γVj+1(xk+1)) (3-10)

ohj+1(xk) = −γ2R

−1gT (xk)∇Vj+1(xk+1) (3-11)

donde ∇V (x) = δV (x)/δx es el gradiente de la función de valor , interpretado aquí como unvector columna.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 37: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-1 Aprendizaje por refuerzo y control adaptativo óptimo para sistemas lineales en tiempo discreto. 21

En el método de iteración de la función de valor se realiza de manera similar, pero el proce-dimiento de evaluación de la política se realiza de la siguiente forma.

Iteración de la función de valor usando aprendizaje por diferencias temporales[1]Actualización de la función valor en cada paso Actualización del valor usando

Vj+1(xk) = r(xk, hj(xk)) + γVj(xk+1) (3-12)

En VI(Value iteraction) se puede seleccionar cualquier política de control inicial h0(xk), nonecesariamente admisible o estabilizante.

3-1-1. Aproximación de la función valor

Para implementaciones prácticas de PI y VI en línea para sistemas dinámicos con infinitosespacios de estado y de acciones es aproximar la función de valor usando una estructura deun aproximador adecuado en términos de parámetros desconocidos[12][21]. Así, los paráme-tros desconocidos son ajustados en línea exactamente como en un sistema de identificación.Esta idea de la aproximación de la función de valor (VFA) fue usada por Werbos[45][48][49]y llamada programación dinámica aproximada(ADP) o programación dinámica adaptativa.Esta fue usada por Bertsekas y Tsitsiklis[19] y la llamó programación neurodinámica.

En el caso del LQR es conocido que el valor es cuadrático en el estado para alguna matrizkernel P [14].

V (xk) = 12x

Tk Pxk = 1

2(vec(P ))T (xk ⊗ xk) ≡ pTxk ≡ pTφ(xk) (3-13)

El producto de Kronecker ⊗ permite escribir esta forma cuadrática como una lineal en vectorde parámetros p = vec(P ), que se forma apilando la columnas de la matriz P [1]. El vectorφ(xk) = xk = xk ⊗xk es el vector polinomial cuadrático que contiene todos los posibles paresde productos de n componentes de xk. Notar que P es simétrica y tiene solamente n(n+ 1)/2elementos independientes, removiendo los términos redundantes en xk ⊗ xk para definir unconjunto de base cuadrática φ(xk) con n(n+ 1)/2 elementos independientes[1][12].

Se asume que la ecuación de Bellman tiene una solución local suave.

V (x) =∞∑i=1

wiϕi(x) =L∑i=1

wiϕi(x) +∞∑

i=L+1wiϕi(x) ≡W tφ(x) + εL(x) (3-14)

donde el vector de base φ(x) = [ϕ1(x) ϕ2(x) ... ϕL(x)] : Rn → RL y εL(x) convergeuniformemente a cero mientras el número de términos L → ∞[1][2][21], el conjunto baseusado en la tesina son polinomios.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 38: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

22 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

3-2. Control adaptativo óptimo para sistemas lineales discretos condinámica parcialmente conocida.

Los parámetros en p o W son desconocidos. Sustituyendo la aproximación de la función devalor en la actualización del valor (ecuación 3-9)en el método de iteración de política tenemosel siguiente algoritmo.

Algoritmo 4 Control adaptativo óptimo usando iteración de políticas[1]1: Inicialización2: Seleccionar cualquier política de control admisible h0(xk)3: Para j = 0 Hacer hasta converger

Paso de Evaluación de la política:4: Determinar la solución con mínimos cuadrados Wj+1 para5:

W Tj+1(φ(xk)− γφ(xk+1)) = r(xk, hj(xk)) = Q(xk) + hTj Rhj(xk) (3-15)

Paso de mejora de la política:6: Determinar una política mejor usando

hj+1(xk) = −γ2R−1gT (xk)∇φT (xk+1)Wj+1 (3-16)

7: Si La política no converge entonces Ir al paso de evaluación de política.8: sino Detener el algoritmo.

El algoritmo anterior es fácilmente implementado en línea a través de las técnicas estándarde identificación de sistemas[50], su implementación se puede consultar en el apéndice ??.En efecto, la ecuación 3-15 es una ecuación escalar, mientras que el vector de parámetrosdesconocidos Wj+1 ∈ RL tiene L elementos. Por lo tanto, datos de múltiples pasos de tiemposon necesarios para poder solucionarlo. Al tiempo k+ 1 se mide el estado previo xk, la acciónde control uk = hj(xk), el próximo estado xk+1 y se calcula r(xk, hj(xk)). Esto se realizavarias veces usando la misma política hj(.) hasta que se tenga al menos L ecuaciones, en estepunto se puede determinar la solución LS(Least-squares) para Wj+1. Se puede utilizar LS porlotes para encontrar la solución[1][12].

Alternativamente, notar que ecuaciones de la forma de la ecuación 3-15 son exactamenteresueltas usando técnicas de mínimos cuadrados recursivos(RLS)[1][12][14][47]. Así, se puedeaplicar RLS en línea hasta converger, escribimos la ecuación 3-15 como

W Tj+1Φ(xk) = W T

j+1(φ(xk)− γφ(xk+1)) = r(xk, hj(xk)) (3-17)

con Φ(xk) ≡ (φ(xk) − γφ(xk+1)) como vector de regresión. Al paso j del algoritmo PI, sefija la política de control u = hj(x). Entonces, a cada tiempo k se mide el conjunto de datos(xk, xk + 1, r(xk, hj(xk))). Esto se realiza a cada paso del RLS. Esto se repite hasta que con-verja a los parámetros correspondientes para el valor Vj+1 = W T

j+1φ(x). Para que el algoritmoRLS converja, el vector de regresión Φ(k) = (φ(xk) − γφ(xk+1)) debe ser persistentementeexcitado[1].

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 39: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-2 Control adaptativo óptimo para sistemas lineales discretos con dinámica parcialmente conocida. 23

Una vez que los parámetros hayan convergido, la política de control es actualizada de acuerdoa la ecuación 3-16. Entonces, el procedimiento se repite para j + 1. El proceso entero serepite hasta que converja a la solución de control óptima. Esto proporciona un algoritmo deaprendizaje por refuerzo en línea para solucionar un problema de control óptimo usando PI através de la medición de datos a los largo de las trayectorias del sistema[1][12][14][47]. De lamisma manera, se puede desarrollar un algoritmo en línea de aprendizaje por refuerzo basadoen VI. Sustituyendo la aproximación de la función de valor en la actualización del valor (3-12)en VI se obtiene el algoritmo 5.

Algoritmo 5 Control adaptativo óptimo usando iteración de función de valor[1]1: Inicialización2: Seleccionar cualquier política de control h0(xk), no necesariamente admisible o estabili-

zante .3: Para j = 0 Hacer hasta converger

Paso de actualización de la función de valor:4: Determinar la solución con mínimos cuadrados Wj+1 para5:

W Tj+1φ(xk = r(xk, hj(xk)) +W T

j γφ(xk+1) (3-18)

Paso de mejora de la política:6: Determinar una política mejor usando

hj+1(xk) = −γ2R−1gT (xk)∇φT (xk+1)Wj+1 (3-19)

7: Si La política no converge entonces Ir al paso de evaluación de política.8: sino Detener el algoritmo.

Para resolver 3-18 en tiempo real se puede usar LS en lotes, RLS, métodos de gradiente basadosen datos (xk, xk+1, r(xk, hj(xk))) medidos en cada instante a lo largo de las trayectorias delsistema. Así, el vector de regresión ahora es φ(xk) que debe ser persistentemente excitado paraconverger a RLS[1]. Notar que cuando el aprendizaje se realiza offline se lo puede resolverusando LS, usar RLS se aplicaría en el caso de que el aprendizaje sea en línea(online).

Usar la aproximación de la función de valor permite utilizar técnicas de identificación desistemas para encontrar los parámetros de la función de valor que aproxime la solución de laecuación de Bellman[1][12][9]. La estructura del aproximador solo describe la aproximación dela función de valor del regresor “critic”, que determina el valor de usar la actual política. Losalgoritmos de aprendizaje PI y VI usando VFA resuelve la ecuación de Bellman durante partede la actualización del valor en cada paso de iteración j solamente observando el conjunto dedatos (xk, xk+1, r(xk, hj(xk))) cada vez a lo largo de la trayectoria del sistema[12].

En el caso del LQR[14], la política de actualización (ecuación 3-16) está dada por

Kj+1 = −(BTP j+1B +R)−1BTP j+1A (3-20)

que requiere del conocimiento de la dinámica completa del sistema (A,B). En el caso nolineal se debe notar que no puede ser fácilmente resuelta debido a que en la solución se

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 40: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

24 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

encuentra implícitamente el control, así xk+1 depende de uk y es el argumento de una funciónde activación no lineal. Para solucionar esto se introduce regresor “actor” [48] para la políticade control

uk = h(xk) = UTσ(xk) (3-21)

donde

U i+1j+1 = U ij+1 − βσ(xk)

(2R(U ij+1)Tσ(xk) + γg(xk)T∇φT (xk+1)Wj+1)

)T(3-22)

con β > 0 es el parámetro de ajuste. El índice de ajuste i puede incrementarse con el índicede tiempo k. En la convergencia, establecer la política actualizada hj+1(xk) = (U ij+1)Tσ(xk).Notar que la matriz A no es necesaria para calcular el control realimentado. Finalmente, laúnica función de entrada g(.) (en el caso del LQR, la matriz B) es necesaria en 3-22 paraajustar los pesos de los regresores. De esta forma, se evita la necesidad de conocer la dinámicadel estado f(.). La implementación de esta estructura de aprendizaje con la dinámica delsistema parcialmente conocida fue implementada y se puede consultar en el anexo ??.

3-3. Q-learning para control adaptativo óptimo con dinámica des-conocida en sistemas discretos lineales

El método de RL Q-learning proporciona un algoritmo de control adaptativo que convergeen línea a la solución de control óptima para sistemas en los que se desconoce completamentesu dinámica. Este método resuelve la ecuación de Bellman 3-15 y las ecuación HJB 3-5 entiempo real a través de la medición de datos a lo largo de las trayectorias del sistema, sinconocer la dinámica f(xk), g(xk)[1].

Q-learning es un método simple de RL que trabaja para sistemas desconocidos, esto es, parasistemas los cuales se desconoce completamente su dinámica. Esto fue desarrollado por Wat-kinds [51], Watkinds y Dayan [44] y Werbos [48], [49], [45] quien lo llamó Action-dependentheuristic dynamic programming(ADHDP), porque la función Q depende de la acción de con-trol. Q-learning aprende la función Q usado el método de diferencias temporales(TD) y reali-zando una acción uk y midiendo en cada etapa el resultado del conjunto de datos de experiencia(xk, xk+1, rk) consistentemente en el estado actual, el estado próximo y el costo resultante[14].

El algortimo Q-Learning puede ser fácilmente desarrollado para sistemas dinámicos discretosusando aproximaciones de la función Q, en [14] se desarrollada y se muestra las principalesecuaciones para el Q-Learning en sistemas discretos, para una mayor referencia consultar[45][48][49][52].

Tomando como referencia [1], tenemos que para un sistema no lineal la función Q es parame-trizada como

Q(x, u) = W Tφ(z)

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 41: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-3 Q-learning para control adaptativo óptimo con dinámica desconocida en sistemas discretos lineales 25

para algún vector de parámetros desconocidoW y un conjunto de vectores base φ(z). Para unDT LQR, φ(z) es un conjunto base cuadrático formado por componentes de estado y entrada.Por lo tanto, el error TD es

ek = −W Tφ(zk) + r(xk, uk) + γW Tφ(zk+1) (3-23)

sobre el cual los algoritmos PI y VI pueden basarse. Considerando el algoritmo PI el paso deevaluación de una función Q es

W Tj+1(φ(zk)− γφ(zk+1)) = r(xk, hj(xk)) (3-24)

y el paso de mejora de la política es

hj+1(xk) = argmınu

(W Tj+1φ(xk, u)), para todo x ∈ X (3-25)

Q-learning usando VI esta dado por

W Tj+1φ(zk) = r(xk, hj(xk))− γW T

j φ(zk+1) (3-26)

y la ecuación 3-25. Estas ecuaciones no requieren conocimiento de la dinámica f(.), g(.).

Para implementaciones en línea, para resolver la ecuación 3-24 se puede usar LS por lotes oRLS para el vector de parámetros Wj+1 obteniendo el vector de regresión φ(zk)−γφ(zk+1), oen el caso 3-26 usando el vector de regresión φ(zk). Los datos observados en cada instante detiempo son (zk, zk+1, r(xk, uk)) con zk ≡ [xTk uTk ]T , con uk+1 = hj(xk+1) y hj() la política ac-tual. Se debe agregar ruido de exploración a la entrada de control para obtener una excitaciónpersistente.

Después de la convergencia de los parámetros de la función Q, la actualización de la acciónes realizada. Esto se realiza fácilmente sin conocer la dinámica del sistema debido a que lafunción Q contiene uk como uno de sus argumentos así que ∂(W T

j+1φ(xk, u))/∂u puede serexplícitamente calculada.

∂Q(x, u)∂u

= (∂z∂u

)T (∂φ(z)∂z

)T ; W = [0m,n Im]∇φTW

donde 0m,n ∈ Rm×n es una matriz de ceros. El vector de base φ(z) = z ⊗ z ∈ Rn+m2 es elvector polinomial cuadrático que contiene todos lo posibles pares de productos de los n+mcomponentes de z. Se define N = n+m, entonces

∇φT = ∂φT

∂z= (IN ⊗ z + z ⊗ IN )T ∈ RN×N2 (3-27)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 42: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

26 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

3-3-1. Problema de seguimiento

La solución causal para el LQT(Linear quadratic tracker) y la función de valor cuadrática delLQT propuesta en [40] asume que la referencia es generada a través de generador lineal y semuestra que en este caso la función de valor del problema del LQT puede ser expresada deforma cuadrática en términos de xk y rk.

Referencias para este material incluyen [40][53][54].

Forma cuadrática de la función de valor para el LQT

El [40], se propone un algoitmo Q-Learning para resolver un LQT de horizonte infinito parasistemas discretos con dinámica desconocida en un enfoque causal. Se asume que la trayectoriade referencia es generada por un linear command generator system.

A continuación se muestra un extracto del desarrollo matemático del LQT propuesto en [40].Se asume que la trayectoria para el LQT es generada por command generator model tal que

rk+1 = Frk (3-28)

Para command generator model no se asume que F es Hurwitz. De esta forma, se puedegenerar una gran variedad se señales de referencia muy útiles, por ejemplo, escalón unitario,formas de onda sinusoidales, rampas,etc.

Considerando un sistema lineal discreto

xk+1 = Axk +Buk (3-29)yk = Cxk

Basados en el sistema 3-29 y con trayectoria dinámica 3-28, se construye un sistema aumentado

Xk+1 =[A 00 F

] [xkrk

]+[B0

] [uk]≡ TXk +B1uk (3-30)

donde el estado aumentado esXk =

[xkrk

](3-31)

Introduciendo un factor de descuento en el índice se puede implementar el LQT de horizonteinfinito incluso en el caso de que le señal dinámica generada F no sea Hurwits. Considerandoel siguiente indice con descuento o función de valor

V (xk, rk) = 12

∞∑i=k

γi−k[(Cxi − ri)TQ(Cxi − ri) + uTi Rui

](3-32)

donde 0 < γ ≤ 1 es el factor de descuento. Si el factor de descuento γ = 1 solo se puede usarcuando se conoce que la trayectoria de la referencia es generada por un sistema generador

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 43: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-3 Q-learning para control adaptativo óptimo con dinámica desconocida en sistemas discretos lineales 27

asintóticamente estable. Notar que la función de valor 3-32 puede ser escrita en términos deel estado aumentado, tenemos

V (xk, rk) = 12

∞∑i=k

γi−k[XTi Q1Xi + uTi Rui

](3-33)

dondeQ1 = CT1 QC1 (3-34)

con C1 = [C − I]

La función Q para el LQT en tiempo discreto esta definida por

Q(xk, rk, uk) = 12X

Tk Q1Xk + 1

2uTkRuk + 1

2XTk+1PXk+1 (3-35)

Y usando el sistema dinámico aumentado 3-30, 3-35 se convierte en

Q(Xk, uk) = 12X

Tk Q1Xk + 1

2uTkRuk + 1

2γ(TXk +B1uk)TP (TXk +B1uk) (3-36)

= 12

[Xk

uk

]T [Q1 + γT TPT γT TPB1γBT

1 PT R+ γBT1 PB1

] [Xk

uk

]

Por lo tanto, se define

Q(Xk, uk) = 12

[Xk

uk

]TH

[Xk

uk

]

= 12

[Xk

uk

]T [HXX HXu

HuX Huu

] [Xk

uk

](3-37)

donde la matriz H = HT .

Aplicando ∂(Xk,uk)∂uk

= 0 tenemos para 3-37

uk = −H−1uuHuXXk (3-38)

y para 3-36uk = −(R+ γBT

1 PB1)−1γBT1 PTXk (3-39)

La ecuación 3-39 requiere del conocimiento de la dinámica del sistema aumentado para podercalcular el control LQT. En cambio, en la ecuación 3-38 requiere solo el conocimiento de lamatriz kernel H de la función Q en línea sin el conocimiento de la dinámica del sistemaaumentado usando datos medidos a lo largo de la trayectorias del sistema.

Basado en la definición de la función Q en 3-35, se puede introducir el algoritmo Q-learningpara resolver la LQT ARE en línea sin conocer la dinámica del sistema aumentado(T,B1).

La función Q para horizonte infinito esta dada en 3-35. Y satisface la ecuación de Bellman

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 44: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

28 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

Q(Xk, uk) = 12X

Tk Q1Xk + 1

2uTkRuk + γQ(Xk+1, uk+1) (3-40)

donde la política uk+1 = −K1Xk+1 Definimos

Zk =[Xk

uk

](3-41)

y se escribe 3-37 como

Q(Xk, uk) = 12Z

Tk HZk (3-42)

Sustituyendo 3-42 en 3-40, la función Q se convierte en

ZTk HZk = XTk Q1Xk + uTkRuk + γZTk+1HZk+1 (3-43)

Si se implementa usando PI tenemos:

Evaluación de la política

ZTk Hj+1Zk = XT

k Q1Xk + (ujk)TR(ujk) + γZTk+1H

j+1Zk+1 (3-44)

Mejora de la políticauj+1k = −(H−1

uu )j+1Hj+1uX Xk (3-45)

Notar que, PI usando la función Q realizada en línea puede ser implementada sin conocer ladinámica del sistema aumentado usando LS con los datos de la tupla Zk, Zk+1 y ρk medidosa lo largo de las trayectorias del sistema con ρk = XT

k Q1Xk + (ujk)TR(ujk).Adicionalmente, sepuede usar el método de VI para implementar esta arquitectura para evitar el requerimientode una política de control admisible. Para más información acerca de pruebas de convergenciay detalles de implementación consultar [1][40][47][53][54].

3-4. Q-learning para control adaptativo óptimo con dinámica des-conocida en sistemas discretos no lineales

3-4-1. Aprendizaje en Sistemas no lineales

En las secciones anteriores se ha hecho una revisión de los fundamentos de DP y RL, desde unaperspectiva de los sistemas de control aplicados a sistemas lineales discretos deterministas.En esta sección se va a ir un paso mas adelante ampliando los conceptos a sistemas discretosno lineales. Existen varios métodos para el diseño de controladores para sistemas no lineales,sin embargo, la estabilidad es solo el requisito mínimo en el diseño de sistemas [55].

Tomando como referencia el aprendizaje usando temporal difference para un sistema linealdiscreto en el caso del LQR se sabe que la función de coste tiene una forma cuadrática[14] en elestado, sin embargo este mismo sistema lineal al introducirse no linealidad como saturaciones,zonas muertas, etc. la forma de la función de coste cambiará.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 45: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-4 Q-learning para control adaptativo óptimo con dinámica desconocida en sistemas discretos no lineales29

Para encontrar un controlador estabilizante lo que hacemos es sobreacotar como se muestraen la ecuación 3-46

Q(xk, uk)− γ(Q(xk+1, uk+1)) > r(xk, uk) (3-46)

Se puede resolver esto mediante LMI(Linear Matrix Inequalities) encontrando una matrizP sobreacote el coste y garantizar estabilidad o también se puede plantear un problema deprogramación lineal que sobre acote el coste y también garantice estabilidad. El enfoquedel planteamiento de problema de programación lineal para sobreacotar el coste es lo quese utilizará en los desarrollos posteriores y simulaciones de la tesina. De esta manera ensistemas no lineales al sobreacotar la función de valor debido a errores de aproximamción ypara garantizar estabilidad y si la solución existe y es factible lo que se obtendría sería uncontrolador lineal que controla un sistema no lineal.

Una forma de abordar el tratamiento de las no linealidades de los sistemas es mediante el usodel modelado por sector nonlinearity cuya idea básica es que las no linealidades del procesolas pueda acotar entre dos linealidades, a continuación se describe los fundamentes de estetipo de modelado.

3-4-2. Modelado Sector no lineal

El modelado usando la idea de sector nonlinearity es tomada de la empleada en el modeladode sistemas borrosos Takagi-Sugeno. Referencia para este material incluyen [5][56]

Un sistema no lineal discreto puede ser representado como sigue

xk+1 = f(xk) + b(xk, uk) (3-47)yk = c(xk)

En [57], el modelo borroso Takagi-Sugeno de un sistema no lineal como el 3-47 puede serrepresentado en la forma

xk+1 =r∑i=1

µi(zk)(Aixk +Biuk) (3-48)

yk =r∑i=1

µi(zk)Cixk

donde x ∈ Rn es el estado, u ∈ Rb son las entradas, µi son las funciones de pertenenciay la salida y ∈ Rc es una combinación lineal de las reglas consecuentes. Las funciones depertenencia µi son diseñadas para considerar las no linealidades originales y debería verificarsesu propiedad de suma convexa:

r∑i=1

µi(z) = 1, µi(z) ≥ 0∀z, i : 1, ..., r (3-49)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 46: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

30 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

Figura 3-1: Representación de sector nonlinearity [5]

La idea del uso de sector nonlinearity fue introducida por Kawamoto, Tada, Ishigame andTaniguchi (1992) en [58] y expandida por Tanaka y Wang(2001) en [57]. La idea principal desector nonlinearity esta basada en que considerando un sistema no lineal xk+1 = f(xk), x ∈ R.El objetivo es encontrar un sector global de tal manera que a1xk ≤ f(xk) ≤ a2xk. El la figura3-1 se muestra el enfoque de la idea de sector nonlinearity. Cuando encontrar un sector globales difícil, se considera la búsqueda de un sector local, que en general podría estar acotada porun máximo o un mínimo de la función a modelar.Se va a realizar un ejemplo para clarificar la idea de sector nonlinearity. Consideremos unsistema no lineal de la forma

xk+1 = sin(xk)xk (3-50)

donde el sin(xk) ∈ [−1, 1]

sin(xk) = sin(xk)+12 × 1 + 1−sin(xk)

2 × (−1)

De esta manera el sistema se puede representar así

xk+1 =2∑i=1

µiaixk, (3-51)

donde a1 = 1 y a2 = −1.La generalización de la acotación de una función entre un máximo y un mínimo se estable enla ecuación 3-52[5]

f(x) = f(x)− ff − f

× f + f − f(x)f − f

× f (3-52)

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 47: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-4 Q-learning para control adaptativo óptimo con dinámica desconocida en sistemas discretos no lineales31

3-4-3. Q-Learning aplicando sector nonlinearity

Usando los conceptos anteriormente mencionados se van a utilizar para implementar el apren-dizaje en sistemas no lineales, específicamente usando la técnica Q-Learning. La función Qpara el LQR en tiempo discreto esta definida por[14]

Q(xk, uk) = 12x

TkQ1xk + 1

2uTkRuk + 1

2xTk+1Pxk+1 (3-53)

donde P es la solución de la ecuación de Riccati, la función Q se reescribe y tenemos:

Q(xk, uk) = 12

[xkuk

]T [Q1 +ATPA BTPAATPB R+BTPB

] [xkuk

]

Por lo tanto, se define

Q(xk, uk) = 12

[xkuk

]TS

[xkuk

]

= 12

[xkuk

]T [Sxx SxuSux Suu

] [xkuk

](3-54)

donde la matriz S = ST .

Aplicando ∂(xk,uk)∂uk

= 0 tenemos para 3-54

uk = −S−1uu Suxxk (3-55)

La ecuación 3-54 requiere solo el conocimiento de la matriz kernel S de la función Q enlínea sin el conocimiento de la dinámica del sistema, y usa datos medidos a lo largo de latrayectorias del sistema.

Considerando que el modelo borroso TS de un sistema no lineal discreto puede ser represen-tado en la forma

xk+1 =r∑i=1

µi(zk)(Aixk +Biuk) (3-56)

yk =r∑i=1

µi(zk)Cixk

donde µi son las funciones de pertenencia y son conocidas se puede redefinir la función Q dela ecuación 3-54 introduciendo el enfoque de sector nonlinearity, como resultado tenemos unafunción Q para un sistema no lineal como se muestra en la ecuación 3-57.

Q(xk, uk) =r∑i=1

µi

[xkuk

]TSi

[xkuk

](3-57)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 48: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

32 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

y la acción de control queda definida como

uk = −[r∑i=1

µiSi,uu

]−1 [ r∑i=1

µiSi,ux

]xk (3-58)

3-4-4. Polinomio en la función de valor

Adicionalmente,se puede flexibilizar la función de valor usando polinomios, es decir, subimosel grado del polinomios de la función Q. Por ejemplo usando un polinomio de grado 2 se tiene

Q(xk, uk) =[xkuk

]T(µ2

1S11 + µ1µ2S12 + µ22S22)

[xkuk

](3-59)

Para grado 3 se tiene

Q(xk, uk) =[xkuk

]T(µ3

1S111 + µ21µ2S112 + µ1µ

21S122 + µ3

2S222)[xkuk

](3-60)

3-4-5. Polinomio en el regresor

Otra opción a considerar también sería elevar el grado de los regresores conservando la linea-lidad en la acción de control. Por ejemplo considerando que tenemos dos estados y una acciónde control tenemos [x1x2u] la función Q quedaría definida por

Q(xk, uk) =

x1x2u

T

S

x1x2u

(3-61)

Elevando el grado del regresor a grado 2, la función de valor Q se definiría ahora como:

Q(xk, uk) =

x1x2x2

1x1x2x2

2x1ux2uu

T

S

x1x2x2

1x1x2x2

2x1ux2uu

(3-62)

Que usada en combinanción con el modelado de sector nonlinearity proporciona una mayor

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 49: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

3-4 Q-learning para control adaptativo óptimo con dinámica desconocida en sistemas discretos no lineales33

flexibilidad para la aproximación de la función de valor.

Q(xk, uk) =r∑i=1

µi

x1x2x2

1x1x2x2

2x1ux2uu

T

Si

x1x2x2

1x1x2x2

2x1ux2uu

(3-63)

De esta manera usando la idea de sector nonlinearity y polinomios en S o en X lo que sebusca es lograr una mayor aproximación a la función de valor de sistemas no lineales. Losinconvenientes que presentan estas aproximaciones son que para realizar el ajuste de paráme-tros se requieren de una mayor cantidad muestras y aparece el problema del incremento dela dimensionalidad del problema y una mayor sensibilidad a ruidos.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 50: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

34 Control Adaptativo Óptimo en Sistemas Lineales y No Lineales Discretos

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 51: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 4

Simulaciones

La programación dinámica y el aprendizaje por refuerzo proporcionan soluciones para pro-blemas de decisión secuencial. El aprendizaje por refuerzo desde el enfoque de los sistemasde control combina características de control óptimo y control adaptativo. Los controladoresobtenidos a través de aprendizaje por refuerzo son una extensión de los controladores adap-tativos hacia controladores adaptativos óptimos. Otra de las características importantes delaprendizaje por refuerzo es que no requiere de un modelo de comportamiento del sistema, lasolución que proporciona se basa en la experiencia. Existe una gran variedad de algoritmos,pero nos vamos a centrar en el tipo de aprendizaje temporal difference y específicamente elQ-Learning ya que es uno de los algoritmos más utilizados y ampliamente estudiado.

Las simulaciones realizadas en esta sección consideran sistemas discretos lineales en los cualesla dinámica del sistema no es conocida o es parcialmente conocida(se conoce unicamente lasmatriz B del espacio de estados). Los sistemas solo se usan para generar las trayectorias perono intervienen en el algoritmo de aprendizaje. Adicionalmente, se realiza la simulación desistemas discretos no lineales modelados con el enfoque de sector nonlinearity y combinadoscon el uso de polinomios para aproximar la función de valor Q.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 52: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

36 Simulaciones

Ejemplo 1: Control adaptativo óptimo discreto para un sistema parcialmente conoci-do(Se conoce únicamente la matriz B) usando VI

En esta simulación se muestra el uso del método de aprendizaje por refuerzo VI(value itera-tion) para resolver la ecuación algebraica de Riccati en tiempo discreto (DT ARE) sin conocerla matriz A del sistema. Un modelo lineal puede ser usado para representar un sistema diná-mico alrededor de un punto de funcionamiento. El problema se incrementa desde el hecho deque en una planta real los valores de parámetro no son precisamente conocidos, y se reflejaen un desconocimiento de la matriz A, sin embargo se busca una solución óptima.

El modelo del sistema a considerar aquí es xk+1 = Axk +Buk donde

A =[0.9 0.10 0.8

]B =

[01

]

La solución de DT ARE con los pesos de la función de coste Q = diag(1 0), R = 2 y γ = 1 es

PDARE =[

3.9419 0.851190.85119 0.33777

]

en la simulación , solo matriz B se considera como conocida , mientras los valores de losdemás componentes que aparecen en la matriz A son desconocidos. Es así, que la matriz Asolo es necesaria para simular el sistema y obtener datos, y no es necesaria para el algoritmode control. Para el DT LQR, el valor es cuadrático en el estado V (x) = 1

2xTPxk. Por lo tanto,

las funciones base la el “critic” son seleccionadas de modo que el vector de polinomios seacuadrático en los componentes del estado. El control es lineal en el estado uk = Kxk,entonceslas funciones base del “ actor” son tomadas como las componentes del estado. El método VIse implementó usando mínimos cuadrados(LS) por lotes.

Las trayectorias de los estados se muestran en la figura 4-1, que muestra como los estados sonregulados a cero como es deseable. Los valores finales del “critic” son

Las figuras 4-2 y 4-3 muestran la convergencia de Pk y Kk a sus valores óptimos P ∗ y Kdurante el proceso de aprendizaje. La trayectoria de la norma Euclidiana de todos los estadose muestran en la figura 4-4. Se concluye que aunque le matriz A del sistema sea desconocida,el controlador adaptativo basado en iteración de la función de valor mantiene los estadosestables y los regula a cero.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 53: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

37

Time (sec)0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

x1

x2

Figura 4-1: Ejemplo 1: Variables de estado del sistema simulado

Number of iterations0 2 4 6 8 10 12 14

0

0.5

1

1.5

2

2.5

3

3.5

||Pk-P*||

Figura 4-2: Ejemplo 1: Convergencia de Pk a su valor óptimo P ∗

Number of iterations0 2 4 6 8 10 12 14

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

||Kk-K*||

Figura 4-3: Ejemplo 1: Convergencia de Kk a su valor óptimo K∗

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 54: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

38 Simulaciones

Time (sec)0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0

0.05

0.1

0.15

0.2

0.25

||x||

Figura 4-4: Ejemplo 1: Trayectoria de la norma Euclidiana durante la simulación

Ejemplo 2: Control adaptativo óptimo discreto para un sistema parcialmente conoci-do(Se conoce únicamente la matriz B) usando PI.

En esta simulación se muestra el uso del método de aprendizaje por refuerzo PI(policy itera-tion) para resolver la ecuación algebraica de Riccati en tiempo discreto (DT ARE) sin conocerla matriz A del sistema. El modelo del sistema a considerar aquí es el usado en el ejemplo1 con las mismas matrices e índices. El método PI se implementó usando mínimos cuadra-dos(LS) por lotes. Las trayectorias de los estados se muestran en la figura 4-5, que muestracomo los estados son regulados a cero como es deseable. Los valore finales del “critic”son

Pcritic =[

3.9419 0.851190.85119 0.33777

]

Las figuras 4-6 y 4-7 muestran la convergencia de Pk y Kk a sus valores óptimos P ∗ y Kdurante el proceso de aprendizaje. La trayectoria de la norma Euclidiana de todos los estadose muestran en la figura 4-8. Se concluye que aunque le matriz A del sistema sea desconocida,el controlador adaptativo basado en iteración de la política mantiene los estados estables ylos regula a cero.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 55: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

39

Time (sec)0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

x1

x2

Figura 4-5: Ejemplo 2: Variables de estado del sistema simulado.

Number of iterations

0 2 4 6 8 10 12 140

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

||Pk-P

*||

Figura 4-6: Ejemplo 2:Convergencia de Pk a su valor óptimo P ∗

Number of iterations

0 2 4 6 8 10 12 140

0.005

0.01

0.015

0.02

0.025

0.03

0.035

||Kk-K

*||

Figura 4-7: Ejemplo 2:Convergencia de Kk a su valor óptimo K∗

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 56: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

40 Simulaciones

Time (sec)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

||x||

Figura 4-8: Ejemplo 2:Trayectoria de la norma Euclidiana durante la simulación

Figura 4-9: Sistema de masa, muelle y amortiguador

Ejemplo 3: Control adaptativo óptimo discreto para un Sistema lineal de segundoorden del cual se desconoce su dinámica usando Q-learning y PI.

En esta simulación se muestra el uso del algoritmo PI para resolver la DT ARE sin conocerla dinámica del sistema, es decir, para el caso del LQR se desconoce las matrices A y B delsistema. Las matrices solo se usan para generar las trayectorias y adquirir los datos que elalgoritmo requiere. Por lo tanto, el modelo del sistema a considerar aquí es xk+1 = Axk+Buk,donde

A =[

0.9039 −0.190260.0095131 0.99903

]B =

[0.0095131

4.8366e− 05

]

que representa un modelo discretizado de un sistema sencillo masa-muelle-amortiguado.

La solución de DT ARE con los pesos de la función de coste Q = diag(1 1), R = 1 y γ = 1 es

PDARE =[5.7529 2.51432.5143 130.338

]

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 57: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

41

Time (sec)0 1 2 3 4 5 6

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

x1

x2

Figura 4-10: Ejemplo 3:Variables de estado del sistema simulado

Number of iterations0 5 10 15 20 25

0

1

2

3

4

5

6

7

8

||Pk-P*||

Figura 4-11: Ejemplo 3:Convergencia de Pk a su valor óptimo P ∗

La implementación online de VI se realizó usando el método de mínimos cuadrados recursivos(Recursive-Least-Squares,RLS). Las trayectorias de los estados se muestran en la figura 4-10,que muestra como los estados son regulados a cero como es deseable. Los valore finales del Pson

PQlearning =[5.7553 2.51532.5153 130.338

]

Las figuras 4-11 y 4-12 muestran la convergencia de Pk y Kk a sus valores óptimos P ∗ yK durante el proceso de aprendizaje. La trayectoria de la norma Euclidiana de todos losestado se muestran en la figura 4-13. El algoritmo implementado es un algoritmo adaptativode control que identifica la función Q a través de técnicas RLS. Para su implementación no serequiere de las matrices de la dinámica del sistema(A,B). el algoritmo efectivamente resuelvela ecuación algebraica de Riccati en línea a tiempo real usando datos (xk, uk, xk+1, uk+1)

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 58: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

42 Simulaciones

Number of iterations0 5 10 15 20 25

×10-3

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

||Kk-K*||

Figura 4-12: Ejemplo 3:Convergencia de Kk a su valor óptimo K∗

Time (sec)0 1 2 3 4 5 6

0

0.05

0.1

0.15

0.2

0.25

||x||

Figura 4-13: Ejemplo 3:Trayectoria de la norma Euclidiana durante la simulación

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 59: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

43

medidos en tiempo real en cada instante k. Es necesario agregar ruido de exploración a laseñal de control para garantizar una excitación persistente para lograr la convergencia usandoRLS.

Ejemplo 4: Control adaptativo óptimo discreto de un sistema de energía usando VI[1].

En esta simulación se muestra el uso del algoritmo VI para resolver la DT ARE sin conocerla dinámica del sistema, es decir, para el caso del LQR se desconoce las matrices A y B delsistema. Los sistemas de energía eléctrica son sistemas no lineales complejos. sin embargo,durante la operación normal la carga del sistema, que tiene las no linealidades tiene pequeñasvariaciones. Considerando lo anterior, uno modelo lineal puede ser usado par representarel sistema dinámico alrededor de un punto de operación específico con una carga de valorconstante. El problema se incrementa con el hecho de que los parámetros de la planta no sonconocidos, mientras lo que se busca es una solución de control óptima. El modelo del sistemaa considerar aquí es x = Ax+Bu, donde

A =

− 1Tp

Kp

Tp0 0

0 − 1TT

1TT

0− 1RTG

0 − 1TG

− 1TG

KE 0 0 0

B =

001TG

0

El estado del sistema es x(t) = [∆f(t) ∆Pg(t) ∆Xg(t) ∆E(t)]T , donde ∆f(t) es el incre-mento de la desviación en frecuencia(Hz),∆Pg(t) es el cambio incremental de la salida en elgenerador(p.u. MW),∆Xg(t) es el cambio incremental en la posición del governor (p.u. MW),∆E(t) es el cambio incremental en el control integral. Los parámetros del sistema son TG, laconstante de tiempo del governor; TT , la constante de tiempo de la turbina; TP , la constantede tiempo del modelo de la planta;KP , la ganancia del modelo de la planta; R, regulación develocidad a causa de la acción del governor; KE , ganancia del control integral.

Los parámetros del sistema en tiempo continuo se seleccionar aleatoriamente con rango deoperación específicos, tenemos

A =

−0.0665 8 0 0

0 −3.663 3.663 0−6.8681 0 −13.7363 −13.7363

0.6 0 0 0

B =

00

13.73550

La solución de la CT con los pesos de las función de costo Q = I, R = I, y γ = 1 es

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 60: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

44 Simulaciones

Time (sec)0 1 2 3 4 5 6

-0.1

-0.08

-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

x1

x2

x3

x4

Figura 4-14: Variables de estado del sistema simulado,ejemplo 4

PARE =

0.47533 0.47698 0.060158 0.476930.47698 0.7837 0.12377 0.385240.060158 0.12377 0.05132 0.0301550.47693 0.38524 0.030155 2.3457

La implementación de VI se realizó usando mínimos cuadrados por lotes, es así que la ecuaciónde Riccati es resuelta con los datos (xk, xk+1, r(xk, uk)). La simulación se realizó por 30segundos.

Las trayectorias de los estados del sistemas se muestran en la figura 4, donde se observa quelos estados son regulados a cero. Los valores finales de los parámetros estimados para P son

PQlearning =

0.46807 0.46789 0.061952 0.392910.46789 0.79025 0.13094 0.28580.061952 0.13094 0.060599 0.0147920.39291 0.2858 0.014792 1.9499

Las figuras 4-15 y 4-16 muestran la convergencia de Pk y Kk a sus valores óptimos P ∗ yK durante el proceso de aprendizaje. La trayectoria de la norma Euclidiana de todos losestado se muestran en la figura 4-17. Para su implementación no se requiere de las matricesde la dinámica del sistema(A,B). el algoritmo efectivamente resuelve la ecuación algebraicade Riccati en línea a tiempo real usando datos (xk, uk, xk+1, uk+1) medidos en tiempo real encada instante k. Es necesario agregar ruido de exploración a la señal de control para garantizaruna excitación persistente para lograr la convergencia usando LS.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 61: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

45

Tiempo(seg)0 10 20 30 40 50 60

0

50

100

150

200

250

300

||Pk-P*||

Figura 4-15: Ejemplo 4:Convergencia de Pk a su valor óptimo P ∗

Tiempo(seg)0 10 20 30 40 50 60

0

50

100

150

200

250

300

||Kk-K*||

Figura 4-16: Ejemplo 4:Convergencia de Kk a su valor óptimo K∗.

Time (sec)0 1 2 3 4 5 6

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

||x||

Figura 4-17: Ejemplo 4:Trayectoria de la norma Euclidiana durante la simulación

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 62: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

46 Simulaciones

Ejemplo 5: Simulación LQT(seguimiento) para un Sistema lineal discreto de primerdel cual se desconoce su dinámica.

En esta simulación se implementa el algoritmo Q-Learning mediante iteración de la funciónde valor en un sistema lineal discreto para el seguimiento de una referencia. El sistema aconsiderar es:

xk+1 = Axk +Buk (4-1)yk = Cxk

donde A = 0.9429 B = 0.0097 C = 1 y para el índice de ponderación consideramos Q = 200,R = 0.1 y γ = 0.99. La trayectoria a seguir es una recta: rk+1 = rk

Construimos el sistema aumentado de acuerdo a la ecuación 3-30 y obtenemos las nuevasmatrices T y B1.

T =[0.9429 0

0 1

]B1 =

[0.0097117

0

]C1 =

[1 −1

]

La matriz H calculada para este problema es:

H =

640.1011 −713.3981 4.533−713.3981 894.7677 −5.2879

4.533 −5.2879 0.14669

Consecuentemente,usando la ecuación 3-39 para un control óptimo uk = −KXk, la gananciaK está dada por

K =[30.9019 −36.0485

]Se asume que la dinámica T y B1 son completamente desconocidas. En cada iteración serecogen datos para realizar el LS, y se asegurar una excitación persistente agregando ruido deexploración a la entrada de control. El la figura 4-18 se muestra la diferencia entre la normade la ganancia de control óptima y la ganancia calculada, respectivamente.

La figura 4-19 muestra la salida del sistema y la trayectoria de la referencia, se ha imple-mentado tres referencia para comprobar que la salida del sistema realiza el seguimiento de lareferencia. Se puede observar que la salida sigue a la entrada pero con un error de posición.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 63: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

47

Number of iterations

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

25

30

35

40

45

50

||Kk-K

*||

Figura 4-18: Ejemplo 5:Convergencia de la matriz K a sus valores óptimos K∗ durante elaprendizaje

Tiempo

0 0.5 1 1.5 2 2.5 3-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Yk

Ref

Figura 4-19: Ejemplo 5:Evaluación de la salida y la referencia después del aprendizaje

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 64: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

48 Simulaciones

Ejemplo 6: Simulación LQT(seguimiento) sin error de posición para un Sistema linealdiscreto de primer orden del cual se desconoce su dinámica.

En esta simulación se implementa el algoritmo Q-Learning mediante iteración de la funciónde valor en un sistema lineal discreto para el seguimiento de una referencia y se agrega unintegrador para eliminar el error de posición del sistema.

El sistema a considerar es:

xk+1 = Axk +Buk (4-2)yk = Cxk

donde A = 0.9429 B = 0.0097 C = 1 y para el índice de ponderación consideramos Q = 200,R = 0.1 y γ = 0.99. La trayectoria a seguir es una recta: rk+1 = rk

Construimos el sistema aumentado de acuerdo a la ecuación 4-3 y obtenemos las nuevasmatrices Aa y Ba.

Xk+1 =

A 0 B0 F 00 0 I

xkrkuk

+

001

∆uk ≡ AaXk +Ba∆uk (4-3)

donde el estado aumentado es

Xk =

xkrkuk

(4-4)

Aa =

0.9429 0 0.00971170 1 00 0 1

Ba =

001

Ca =[1 −1 0

]

La matriz H calculada para este problema es:

H =

697.5493 −761.1101 10.8088 5.6841−761.1101 834.3783 −12.6562 −6.8768

10.8088 −12.6562 0.31417 0.202845.6841 −6.8768 0.20284 0.24429

Consecuentemente,usando la ecuación 3-39 para un control óptimo uk = −KXk, la gananciaK está dada por

K =[23.2677 −28.1502 0.83031

]Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 65: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

49

Number of iterations

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

25

30

35

40

||Kk-K

*||

Figura 4-20: Ejemplo 6:Convergencia de la matriz K a sus valores óptimos K∗ durante elaprendizaje

Tiempo

0 0.5 1 1.5 2 2.5 30

0.05

0.1

0.15

0.2

0.25

Yk

Ref

Figura 4-21: Ejemplo 6:Evaluación de la salida y la referencia después del aprendizaje

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 66: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

50 Simulaciones

Se asume que la dinámica Aa y Ba son completamente desconocidas. En cada iteración serecogen datos para realizar el LS, y se asegurar una excitación persistente agregando ruido deexploración a la entrada de control. El la figura 4-20 se muestra la diferencia entre la normade la ganancia de control óptima y la ganancia calculada, respectivamente.

La figura 4-21 muestra la salida del sistema y la trayectoria de la referencia, se ha imple-mentado tres referencia para comprobar que la salida del sistema realiza el seguimiento de lareferencia. Se puede observar que la salida sigue a la entrada sin error de posición.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 67: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

51

Ejemplo 7: Simulación de aprendizaje Q-Learning de un sistema no lineal discretousando sector nonlinearity y programación lineal.

En esta simulación se va a aplicar el algoritmo de aprendizaje Q-Learning a un sistema discretono lineal, se va a utilizar el modelado empleado en sistemas borroso Takagi-Sugeno[57].Tenemos un sistema no lineal representado según el modelado borroso TS:

xk+1 =r∑i=1

µi(Aixk +Biuk) (4-5)

donde x ∈ Rn es el estado, u ∈ Rb son las entradas, µi son las funciones de pertenencia y lasalida y ∈ Rc es una combinación lineal de las reglas consecuentes.El sistema a simular se encuentra definido así:

xk+1 = µ1(A1xk +B1uk) + µ2(A2xk +B2uk) (4-6)

donde

A1 =[0.9 0.10 0.8

]B1 =

[01

]A2 =

[0.14 0.13

0 0.84

]B2 =

[01

]

Para una µ1 conocida y definida por:

µ1 = sin(x1+x2)+12

y

µ2 = 1− µ1

En el caso del LQR se sabe que la función de coste tiene una forma cuadrática[14] en elestado, pero en el caso de sistemas no lineales la función de valor cambia, para encontrar uncontrolador estabilizante lo que hacemos es sobreacotar como se muestra en la ecuación 4-7

Q(xk, uk)− γ(Q(xk+1, uk+1)) > r(xk, uk) (4-7)

Para sobreacotar planteamos un problema de programación lineal que sobreacote el coste ygarantice estabilidad. Para la etapa de evaluación del policy iteration tenemos

W Tj+1(φ(xk)− γφ(xk+1))) = r(xk, hj(xk)) (4-8)

Defino Φ = (φ(xk) − γφ(xk+1)) y ξ como la suma de errores que quiero minimizar, con estoplanteo el problema de programación lineal.

[−I 0][ξ W ]T ≤ 0 (4-9)[−I Φ][ξ W ]T = r (4-10)

Realizamos la simulación y la comparamos en el LQR en el punto de linealización. La figura4-22 se muestra como los estados se estabilizan y van a cero. Las figuras 4-23 y 4-24 muestrancomo los valores de P y K no convergen estrictamente al óptimo, debido a que sobreacota.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 68: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

52 Simulaciones

Time

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

×10-3

-10

-8

-6

-4

-2

0

2

x1 RL

x2 RL

x1 LQR

x2 LQR

Figura 4-22: Ejemplo 7:Variables de estado del sistema simulado

Number of iterations

0 5 10 15 20 25 30 35 400.12

0.14

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

||Pk-P

*||

Figura 4-23: Ejemplo 7:Convergencia de Pk a su valor óptimo P ∗

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 69: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

53

Number of iterations

0 5 10 15 20 25 30 35 400.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

||Kk-K

*||

Figura 4-24: Ejemplo 7:Convergencia de Kk a su valor óptimo K∗

Ejemplo 8: Simulación de aprendizaje Q-Learning un sistema no lineal discreto usandosector nonlinearity y polinomios en la función de valor.

Adicionalmente,se puede flexibilizar la función de valor usando polinomios, es decir, subimosel grado del polinomios de la función Q. Por ejemplo usando un polinomio de grado 3 se tiene

Q(xk, uk) =[xkuk

]T(µ3

1S111 + µ21µ2S112 + µ1µ

21S122 + µ3

2S222)[xkuk

](4-11)

Considerando el mismo sistema del ejemplo 7

xk+1 = µ1(A1xk +B1uk) + µ2(A2xk +B2uk) (4-12)

donde

A1 =[0.9 0.10 0.8

]B1 =

[01

]A2 =

[0.14 0.13

0 0.84

]B2 =

[01

]

Para una µ1 conocida y definida por:

µ1 = sin(x1+x2)+12

y

µ2 = 1− µ1

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 70: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

54 Simulaciones

Time

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

×10-3

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

x1 RL

x2 RL

x1 LQR

x2 LQR

Figura 4-25: Ejemplo 8:Variables de estado del sistema simulado para grado 3.

Number of iterations

0 5 10 15 20 25 30 35 400

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

||Kk-K

*||

Figura 4-26: Ejemplo 8:Convergencia de Kk a su valor óptimo K∗ para grado 3.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 71: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

55

Se realiza las simulaciones y se las compara con el LQR de los sistemas linealizados.

Para grado 3 las figuras 4-25 y 4-26, muestran como las ganancia del controlador converge ala óptima y los estados se regulan a cero como es deseable.

Podemos concluir que con los datos que tenemos,se ha encontrado un controlador que sobre-acote el coste porque el LP da factible y prueba estabilidad. Hay que tomar en cuenta en quemás alto es el grado se necesitan más datos y hay más sensibilidad a ruido.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 72: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

56 Simulaciones

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 73: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 5

Pruebas en péndulo de un grado delibertad (1DoF)

El aprendizaje por refuerzo proporciona una solución a problemas de decisión secuencial sinla necesidad de conocer el modelo de comportamiento del sistema. Desde la perspectiva delos sistemas de control esta característica los hace atractivos para su aplicación en sistemasprácticos en los cuales no se puede o es muy costoso determinar un modelo del sistema. En estasección se describe la implementación práctica del algoritmo de aprendizaje Q-Learning en unpéndulo de un grado de libertad, con el objetivo de verificar si el algoritmo de aprendizaje nosproporciona una ganancia estabilizante, considerando que no se ha tomado en cuenta para lafunción de coste las no linealidades existentes en experimentos prácticos.

5-1. Descripción del sistema utilizado

El sistema consta de varias partes que son:

Péndulo

Sensor

Actuador

Controlador

La visión general del sistema se muestra en la figura 5-1.

Se ha realizado varios experimentos en un péndulo de un grado de libertad. El algoritmoutilizado es Q-Learning, el objetivo de las pruebas realizadas es determinar si el algoritmobajo ciertas condiciones proporciona una ganancia estabilizante. El actuador del péndulo esun motor DC acoplado y alimentado con 12V dc,el péndulo posee un sensor de posición deefecto Hall en el primer eslabón.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 74: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

58 Pruebas en péndulo de un grado de libertad (1DoF)

Figura 5-1: Sistema implementado para pruebas de aprendizaje usando Q-Learning

Figura 5-2: Sensor de posición de efecto Hall

5-1-1. Sensor

El sensor tiene por objeto medir la variable a ser analiza. En este caso vamos a medir posición,el sensor utilizado se muestra en figura 5-2. Específicamente el sensor utilizado es un sensor deposición sin contacto de efecto Hall sus principales características eléctricas se muestran en latabla 5-1 para mayor detalle de la características del sensor ver [59]. El efecto Hall consiste enla aparición de una diferencia de potencial transversal en un conductor o semiconductor, porel que circula una corriente, cuando hay un campo magnético aplicado en dirección perpen-dicular a esta[60]. Entre las principales ventajas que presentan este tipo de sensores se puedemencionar que son inmunes a las condiciones ambientales como presencia de polvo, humedad,etc. y mantienen sus características constantes. Aplicados a la detección de movimientos lasausencia de contactos les proporciona mayor robustez.

Parámetro RangoSalida de voltaje 0.2 Vdc a 4.8 Vdc.Salida de corriente ±8 mA Máx.Carga de salida 10 kΩ TípicoRango de voltaje de entrada 4.5 a 5.5 Vdc.Histéresis 0.2 % Máx.Resolución 0.0088 para 360,0.011 para 45Fuente de corriente 8.5 mA Típico

Cuadro 5-1: Características eléctricas principales del sensor de posición de efecto Hall.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 75: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

5-1 Descripción del sistema utilizado 59

Figura 5-3: Motor DC y circuito accionador-Puente en H

5-1-2. Actuador

El actuador del sistema es un motor DC acoplado de 12 Vdc, controlado por un accionadorpuente en H, el circuito accionador y el motor se muestra en la figura 5-3. Este controladorusa los Chips BTS7960 como puente H para permitir el control de los motores, cuenta conun protector ante sobrecalentamiento y sobrecorriente. Este módulo cuenta con un aisladorque permite separa el circuito de control de la parte de potencia para mantener la integridaddel dispositivo, puesto que este driver puede llegar a generar una corriente de hasta 43A. ElBTS7960 contiene dos transistores MOSFET de tipo P y N con un controlador IC en un solopaquete, lo cual permite la conexión de interfaz a un dispositivo externo de control, como lopuede ser un microcontrolador, ya que este cuenta con entrada de tipo lógico,ajuste de velo-cidad, generación de tiempo muerto y protección contra exceso de temperatura, sobretensión,baja tensión, sobrecorriente y corto circuito. Características:

Chips: BTS7960

Chip Buffer: Schmitt-trigger 74AHC244D

Voltaje de operación: 5.5V 27V

Corriente de operación máxima: 43A

Protección Sobrecorriente

Baja corriente de reposo: 7uA a 25C

Entradas lógicas: Si

Tasa de respuesta ajustable EMI

Señal PWM: Dos canales

Frecuencia de reloj: 25KHz

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 76: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

60 Pruebas en péndulo de un grado de libertad (1DoF)

Figura 5-4: NI myRIO

5-1-3. Controlador

La adquisición de datos tiene por objeto digitalizar la señal análoga del transductor/sensory enviarla al ordenador o a algún sistema de almacenamiento de información. La forma deimplementar el sistema de adquisición depende de la clase de señal a estudiar, de modo quese pueda elegir la mejor manera de trasladarla y de digitalizarla. La mayor parte de sistemasde adquisición en la actualidad están basados en PC, o en algún tipo de microprocesador quese adapte a un conversor Analógico-Digital (A/D) y transfiera sus lecturas a una memoriaexterna. Algunos instrumentos necesariamente requieren de una PC que sirva como inter-faz, mientras otros pueden funcionar independientemente y pueden tener eventualmente unatransferencia de datos a un ordenador a través de una comunicación específica. En el procesoimplementado se ha utilizado una NI myRIO el cual es un dispositivo de hardware embebido,utilizado tanto para la adquisición de datos como para la generación de las señales de control,en este caso el dispositivo myRIO actúa como el controlador del proceso. Adicionalmente, elmyRIO trasfiere los datos a un ordenador para su posterior procesamiento. El dispositivo semuestra en la figura 5-4. La descripción detalla de las características del dispositivo MyRIOse puede consultar su hoja de datos en [61]. A continuación se detalla las características másrelevantes del dispositivo.

10 entradas analógicas

6 salidas analógicas

40 líneas E/S digital

Inalámbrico

Acelerómetro interno

Xilinx FPGA y procesador dual-core ARM Cortex-A9

Programable con LabVIEW o C

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 77: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

5-2 Descripción de la pruebas realizadas 61

Figura 5-5: Interfaz desarrollada en LabVIEW para realizar la exploración.

5-2. Descripción de la pruebas realizadas

Usando el sistema anteriormente descrito, un péndulo de un grado de libertad que posee unsensor de posición en el primer eslabón y un motor acoplado, se va a implementar un algoritmode aprendizaje de un controlador lineal cuadrático(LQR) offline usando Q-learning. Lo que sepretende es determinar si la política que nos proporciona el algoritmo es estabilizante y quetan cercano es el coste de esa política al coste mínimo obtenido al variar la dicha política. Laspruebas toman como referencia el punto de equilibrio estable, y la exploración se realiza entorno a ese punto. Los datos de la exploración son posteriormente procesados por el algoritmoQ-Learning que nos proporcionará un nueva política, en este caso será la ganancia K de larealimentación del estado uk = −Kxk.

5-2-1. Exploración

Se realizaron seis experimentos de exploración adquiriendo 5000 muestras a un periodo deadquisición de T = 1ms en cada experimento, la figura 5-6 muestra los datos adquiridos en unexperimento y la figura 5-7 muestra el histograma de la distribución de los datos obtenidos enla exploración. Los programas implementados tanto para el control y el muestreo se muestranen el apéndice ??.

5-2-2. Controlador

Los datos obtenidos en los experimentos los ingresamos al algoritmo de aprendizaje imple-mentado Q-learning, el cual nos proporciona la ganancia a la que converge el algoritmo conlos datos experimentales ingresados. La tasa de aprendizaje usada es γ = 0.95 y las matricesde ponderación del índice de coste usadas son:

Q =[1 00 0

]R = 1

La ganancia a la que converge el algoritmo Q-Learning es K = [0.4749 0.0687]. La figura5-8 muestra la convergencia de la norma de la ganancia obtenida.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 78: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

62 Pruebas en péndulo de un grado de libertad (1DoF)

−150 −100 −50 0 50 100 150−1000

−800

−600

−400

−200

0

200

400

600

800

1000

Position

Vel

ocity

Datos de exploración

Figura 5-6: Datos de exploración.

Angle

-150 -100 -50 0 50 100 150

Sa

mp

les

0

200

400

600

800

1000

1200

1400

Figura 5-7: Histograma de datos de exploración obtenidos en el experimento

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 79: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

5-2 Descripción de la pruebas realizadas 63

0 20 40 60 80 100−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Number of iterations

0 20 40 60 80 1000

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Number of iterations

K1 K2

Figura 5-8: Ganancia K a la que el algoritmo de aprendizaje converge con datos de exploración.

Ingresamos los datos de los cinco experimentos restantes y obtenemos las ganancias a las queconverge el algoritmo de aprendizaje, el cuadro 5-2 muestra las ganancias obtenidas.

Experimento Ganancia1 [0.4701 0.0697]2 [0.4824 0.0673]3 [0.4796 0.0690]4 [0.4586 0.0683]5 [0.4963 0.0709]6 [0.4609 0.0685]Todos [0.4749 0.0687]

Cuadro 5-2: Ganancias obtenidas en el proceso de aprendizaje

Adicionalmente, se obtuvo ganancias con varios valores de matrices de ponderación, con elobjetivo de determinar experimentalmente si estas ganancias son estabilizantes y si presentanun comportamiento similar al que se esperaría usando un regulador lineal cuadrático LQRcuando variamos las matrices de ponderación Q y R, los resultados se muestran en el cuadro5-3.

Experimentalmente posicionamos al péndulo en un ángulo inicial de 160 grados con referenciaal punto de equilibrio estable, como se muestra en la figura 5-9 y aplicamos el control porrealimentación del estado usando las ganancias proporcionadas por el algoritmo Q-Learningpara varios valores de Q y R.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 80: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

64 Pruebas en péndulo de un grado de libertad (1DoF)

Q R Ganancia[1 0; 0 0] 1 [0.4701 0.0697][1 0; 0 0] 0.5 [0.7670 0.0983][1 0; 0 0] 0.1 [2.0883 0.1926][0.1 0; 0 0] 1 [0.0703 0.0138]

Cuadro 5-3: Ganancias obtenidas en el proceso de aprendizaje variando las matrices Q y R delíndice de coste.

Figura 5-9: Posición inicial del péndulo antes de aplicar el control por realimentación del estado

5-2-3. Control

La gráfica de la posición del péndulo cuando se aplica el control se muestra en la figura 5-10.Se puede concluir, que las ganancias obtenidas tienen un comportamiento similar al del unregulador LQR. Esto es, si es muy importante en el problema que los estados intermediossean pequeños, entonces se debe escoger Q grande, para que tenga gran peso en el índice, sies importante que la energía del control sea pequeña, entonces se debe seleccionar un valorgrande de R.

5-2-4. Coste

Finalmente, se realiza una prueba en la cual se varia la ganancia del controlador en torno auna ganancia proporcionada por el algoritmo de aprendizaje y se determina el costo de cadauna de estas ganancias modificadas. La variación de la ganancia va a ser en pasos de 10 %hasta un 50 % por arriba y por abajo del valor de la ganancia tomado como referencia, parael cálculo del costo se tomará el promedio de los costos de alternar la posición inicial del

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 81: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

5-2 Descripción de la pruebas realizadas 65

0 10 20 30 40 50 60 70 80 90 100−20

0

20

40

60

80

100

120

140

160

180

Number of iterations

Ang

le

Q=diag(1,0),R=1Q=diag(0.1,0),R=0.5Q=diag(1,0),R=0.1Q=diag(0.1,0),R=1

Figura 5-10: Trayectoria del péndulo aplicando varios controladores con diferente ponderaciónde las matrices Q y R

péndulo entre ±30 como se muestra en figura 5-11. La ganancia tomada como referencia esK = [2.0883 0.1926].

Los datos obtenidos del coste se muestra en el cuadro 5-4, se puede apreciar que la gananciade referencia se encuentra desviada de la ganancia que produce el coste mínimo, específica-mente un 20 % más grande en la primera componente y un 20 % mas pequeña en la segundacomponente. La figura 5-12 muestra la superficie de coste resultante al variar la ganancia.

HHHHHHK2K1 1.0441 1.2530 1.4618 1.6706 1.8795 2.0883 2.2971 2.5060 2.7148 2.9236 3.1324

0.0963 9166 8592 8244 8075 8136 8294 8507 8985 9312 9956 111340.1156 9448 9090 8573 8191 8099 8196 8249 8460 8956 9545 102170.1348 10294 9410 8944 8482 8297 8153 8060 8142 8521 9021 96520.1541 10886 9908 9155 8832 8646 8307 8116 8004 8266 8674 92130.1733 11565 10627 9638 9126 8861 8517 8308 8078 8245 8477 90850.1926 12194 11178 10213 9677 9103 8820 8506 8321 8317 8656 89790.2119 13285 11607 10590 10067 9534 9027 8721 8397 8512 8796 89200.2311 13771 12010 11031 10349 9699 9345 9032 8766 8702 8939 90330.2504 14851 13021 11569 10907 10220 9706 9228 8978 9100 9066 92060.2696 16043 14453 12217 11505 10477 9794 9589 9262 9075 9351 93700.2889 16989 14367 13142 12054 10973 10365 9926 9444 9432 9343 9522

Cuadro 5-4: Costes obtenidos al variar la ganancia proporcionada por Q-Learning

Como se puede apreciar en el cuadro 5-4, donde la celda resaltada de amarillo representael coste de la ganancia a la cual el algoritmo Q-Learning ha convergido, y la celda rojarepresenta el menor coste obtenido al variar esta ganancia. Podemos concluir que el algoritmode aprendizaje nos ha proporcionando una ganancia estabilizante cuyo coste se encuentraen la inmediaciones del menor coste aproximado. Idealmente el algoritmo debería convergera la política óptima y por ende al menor coste pero esto sería así si el sistema fuera un

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 82: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

66 Pruebas en péndulo de un grado de libertad (1DoF)

Figura 5-11: Posiciones iniciales para determinar el coste variando la ganancia.

11.5

22.5

33.5

0.05

0.1

0.15

0.2

0.25

0.30.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

x 104

K1

x Coste minimo

o Coste K

K2

J

Figura 5-12: Costes obtenidos al variar la ganancia de referencia obtenida por el Q-Learning

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 83: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

5-2 Descripción de la pruebas realizadas 67

Figura 5-13: Interfaz desarrolla en LabVIEW para estimar el coste.

sistema lineal cuya función de valor fuera cuadrática, pero al tratarse de un sistema realdonde se debe considerar no linealidades existentes en el sistema como por ejemplo: zonamuerta, saturación de la acción de control, fricciones, etc. hacen que el algoritmo no convergaa la política óptima. Estos resultados proporcionan un buen punto de partida para el análisise implementación de experimentos posteriores debido a que el aprendizaje por refuerzo sefundamenta en la “ experiencia” adquirida por el agente al interactuar con el entorno, deesta manera la ganancia obtenida puede ser utilizada para realizar la exploración en susalrededores y nuevamente proporcionar una ganancia mejorada que teóricamente con variasetapas de aprendizaje convergería al valor óptimo. Hay que recordar que los algoritmos deaprendizaje por refuerzo específicamente Q-Learning no requieren del conocimiento de previode la dinámica del sistema lo que los hacen muy útiles debido a que pueden ser aplicados asistemas mucho más complejos con más grados de libertad y no linealidades.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 84: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

68 Pruebas en péndulo de un grado de libertad (1DoF)

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 85: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Capítulo 6

Conclusiones y trabajo futuro

La programación dinámica y el aprendizaje por refuerzo proporcionan soluciones a problemasde decisión secuencial, los cuales aparecen en una amplia variedad de campos entre ellos el delos sistemas de control. Gran parte de los algoritmos de aprendizaje por refuerzo se basan enlas técnicas de programación dinámica, y la diferencia fundamental yace en que la DP requierede un modelo de comportamiento mientras que RL no requiere del conocimiento del modelopara proporcionar una solución, específicamente en el caso de los sistemas de control propor-cionan un controlador estabilizante y óptimo. Es así, que en las últimas décadas la comunidadcientífica relacionada con los sistemas de control realimentados le ha prestado especial interésa este tipo de técnicas y algoritmos, por lo que uno de los objetivos que persigue esta tesinaes el estudio del estado de arte, analizar e implementar algoritmos base de programacióndinámica y aprendizaje por refuerzo.Y por otra parte, buscar y determinar áreas en las líneasde investigación actuales de la DP Y RL en las cuales se pueda realizar contribuciones enmiras a poder desarrollar una tesis doctoral en este campo de la investigación.Partiendo de las definiciones básicas de DP/RL y considerando el enfoque de los sistemasde control se han diseñado en simulación controladores que en el caso de sistemas linealesdiscretos convergen al óptimo, y en el caso de sistemas no lineales discretos no se conoceexactamente cual es la forma de la función de valor por lo que asumimos que es cuadrática ypara garantizar estabilidad sobreacotamos el coste y utilizamos la idea de sector nonlinearitypara modelar el sistema obteniendo controladores estabilizantes y se los comparó con contro-ladores óptimos, obtenidos al linealizar los sistemas entorno a un punto de funcionamiento.Los experimentos prácticos nos proporcionaron gran información, primero al comprobar queel algoritmo de aprendizaje proporcionó una ganancia estabilizante cuyo comportamiento seasemeja al de un controlador LQR, y que su coste se encuentra en los alrededores del costemínimo alcanzado al variar esa ganancia.Varias conclusiones pueden ser hechas basadas en los resultados de este proyecto. La primerade ellas es que el aprendizaje por refuerzo nos permite diseñar controladores adaptativosque convergen a soluciones óptimas usando los datos medidos a lo largo de las trayectoriasdel sistema. Las simulaciones también permite concluir que la técnica de aprendizaje Q-Learning resuelve la ecuación de Riccati, en nuestro caso offline. Sin el conocimiento del

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 86: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

70 Conclusiones y trabajo futuro

comportamiento dinámico del sistema, simplemente observando los datos medidos a lo largode las trayectorias del sistema. Adicionalmente, el uso del modelado de sistemas no linealesusando sector nonlinearity combinando con el Q-Learning nos permite obtener controladoresestabilizantes. Los experimentos han permitido comprobar que el controlador que proporcionael algoritmo tiene un comportamiento similar al LQR y que su coste se encuentra desviadoen aproximadamente 10% del valor de coste mínimos que se obtendría al variar la gananciaproporcionada por el algoritmo de aprendizaje.

La combinación de algoritmos de aprendizaje por refuerzo con técnicas de aproximación defunciones es actualmente un área de investigación activa. A pesar de los avances logrados enlos últimos años, todavía hay aspectos que limitan la capacidad del aprendizaje por refuerzoen problemas complejos. Entre ellos destacan la escasa capacidad de escalabilidad a espaciosdefinidos por un número elevado de dimensiones y la elevada cantidad de datos necesariospara aprender políticas útiles. Los retos a los que se enfrenta el aprendizaje por refuerzoprincipalmente son la maldición de la dimensionalidad “curse of dimensionality”, aplicacio-nes en el mundo real, modelado de incertidumbres entre las principales. Es así, que se abrengrandes posibilidades de investigación. Existen posibilidades de desarrollo de nuevas técnicasde control óptimo no lineal mediante técnicas de aprendizaje por refuerzo y programacióndinámica adaptativa aplicada a robots y/o sistemas electromecánicos, desarrollo y análisisde algoritmos y su convergencia, análisis de estabilidad en sistemas no lineales, aprendizajeoffline y online, algoritmos con horizonte de tiempo finito que de una u otra manera tieneuna conexión con el control dinámico adaptativo y una clara aplicación a sistemas inteligen-tes y específicamente a la robótica. Parametrización de las funciones de valor y Q-Learningbasada en modelos vértice a priori TS, hibridación entre metodologías LMI y aprendizaje,inicialización de controladores con controles robustos obtenidos por LMIs,aprendizaje sujetoa saturación (funciones de valor a tramos).

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 87: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

Bibliografía

[1] F. L. Lewis, D. Vrabie, and K. G. Vamvoudakis, “Reinforcement learning and feedbackcontrol: Using natural decision methods to design optimal adaptive controllers,” ControlSystems, IEEE, vol. 32, no. 6, pp. 76–105, 2012.

[2] L. Busoniu, R. Babuska, B. De Schutter, and D. Ernst, Reinforcement learning anddynamic programming using function approximators, vol. 39. CRC press, 2010.

[3] D. Silver, “Lectures reinforcemente learning,” 2015.

[4] R. S. Sutton, A. G. Barto, and R. J. Williams, “Reinforcement learning is direct adaptiveoptimal control,” Control Systems, IEEE, vol. 12, no. 2, pp. 19–22, 1992.

[5] C. V. Ariño Latorre, Relaxed LMI conditions for control of nonlinear Takagi-Sugenomodels. PhD thesis, 2010.

[6] P. Escandell Montero, “Aprendizaje por refuerzo en espacios continuos: algoritmos yaplicación al tratamiento de la anemia renal,” 2014.

[7] S. Russell and P. Norvig, “Artificial intelligence: a modern approach,” 1995.

[8] M. Wiering and M. van Otterlo, Reinforcement Learning: State-of-the-art, vol. 12. Sprin-ger Science & Business Media, 2012.

[9] W. B. Powell, Approximate Dynamic Programming: Solving the curses of dimensionality,vol. 703. John Wiley & Sons, 2011.

[10] R. S. Sutton and A. G. Barto, Reinforcement learning: An introduction, vol. 1. MITpress Cambridge, 1998.

[11] S. B. Kotsiantis, I. Zaharakis, and P. Pintelas, “Supervised machine learning: A reviewof classification techniques,” 2007.

[12] F. L. Lewis and D. Vrabie, “Reinforcement learning and adaptive dynamic programmingfor feedback control,” Circuits and Systems Magazine, IEEE, vol. 9, no. 3, pp. 32–50,2009.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 88: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

72 Bibliografía

[13] D. P. Bertsekas, “Dynamic programming and suboptimal control: A survey from adp tompc*,” European Journal of Control, vol. 11, no. 4, pp. 310–334, 2005.

[14] V. D. L. Lewis, F. L. and V. L. Syrmos, Optimal control. John Wiley & Sons, 2012.

[15] M. L. Puterman, Markov decision processes: discrete stochastic dynamic programming.John Wiley & Sons, 2005.

[16] B. F. Skinner, “The behavior of organisms: An experimental analysis.,” 1938.

[17] K. Doya, H. Kimura, and M. Kawato, “Neural mechanisms of learning and control,”Control Systems, IEEE, vol. 21, no. 4, pp. 42–54, 2001.

[18] D. Vrabie, O. Pastravanu, M. Abu-Khalaf, and F. L. Lewis, “Adaptive optimal controlfor continuous-time linear systems based on policy iteration,” Automatica, vol. 45, no. 2,pp. 477–484, 2009.

[19] D. P. Bertsekas and J. N. Tsitsiklis, “Neuro-dynamic programming: an overview,” inDecision and Control, 1995., Proceedings of the 34th IEEE Conference on, vol. 1, pp. 560–564, IEEE, 1995.

[20] R. S. Sutton, “Introduction: The challenge of reinforcement learning,” in ReinforcementLearning, pp. 1–3, Springer, 1992.

[21] D. P. Bertsekas and Bertsekas, Dynamic programming and optimal control, vol. 1. AthenaScientific Belmont, MA, 1995.

[22] S. Mahadevan, “Average reward reinforcement learning: Foundations, algorithms, andempirical results,” Machine learning, vol. 22, no. 1-3, pp. 159–195, 1996.

[23] S. Koenig and Y. Liu, “The interaction of representations and planning objectives fordecision-theoretic planning tasks,” Journal of Experimental & Theoretical Artificial In-telligence, vol. 14, no. 4, pp. 303–326, 2002.

[24] R. Bellman, “E. 1957. dynamic programming,” Princeton UniversityPress. BellmanDy-namic programming1957, p. 151, 1957.

[25] R. A. Howard, “Dynamic programming and markov processes..,” 1960.

[26] D. E. Golberg, “Genetic algorithms in search, optimization, and machine learning,” Ad-dion wesley, vol. 1989, 1989.

[27] F. Glover, M. Laguna, E. Taillard, and D. De Werra, Tabu search. Baltzer Basel, 1993.

[28] R. Y. Rubinstein and D. P. Kroese, “The cross entropy method: A unified approach tocombinatorial optimization, monte-carlo simulation (information science and statistics),”2004.

[29] M. P. Deisenroth, G. Neumann, J. Peters, et al., “A survey on policy search for robotics.,”Foundations and Trends in Robotics, vol. 2, no. 1-2, pp. 1–142, 2013.

[30] J. Kober and J. R. Peters, “Policy search for motor primitives in robotics,” in Advancesin neural information processing systems, pp. 849–856, 2009.

Henry Paúl Díaz Iza Proyecto Fin de Máster

Page 89: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

73

[31] J. Peters, S. Vijayakumar, and S. Schaal, “Reinforcement learning for humanoid robo-tics,” in Proceedings of the third IEEE-RAS international conference on humanoid robots,pp. 1–20, 2003.

[32] N. Kohl and P. Stone, “Policy gradient reinforcement learning for fast quadrupedal lo-comotion,” in Robotics and Automation, 2004. Proceedings. ICRA’04. 2004 IEEE Inter-national Conference on, vol. 3, pp. 2619–2624, IEEE, 2004.

[33] J. Peters and S. Schaal, “Policy gradient methods for robotics,” in Intelligent Robots andSystems, 2006 IEEE/RSJ International Conference on, pp. 2219–2225, IEEE, 2006.

[34] J. Peters and S. Schaal, “Natural actor-critic,” Neurocomputing, vol. 71, no. 7, pp. 1180–1190, 2008.

[35] I. Grondman, L. Buşoniu, G. A. Lopes, and R. Babuška, “A survey of actor-critic reinfor-cement learning: Standard and natural policy gradients,” Systems, Man, and Cybernetics,Part C: Applications and Reviews, IEEE Transactions on, vol. 42, no. 6, pp. 1291–1307,2012.

[36] T. Rückstieß, M. Felder, and J. Schmidhuber, “State-dependent exploration for policygradient methods,” inMachine Learning and Knowledge Discovery in Databases, pp. 234–249, Springer, 2008.

[37] J. Peters and S. Schaal, “Reinforcement learning of motor skills with policy gradients,”Neural networks, vol. 21, no. 4, pp. 682–697, 2008.

[38] F. Sehnke, C. Osendorfer, T. Rückstieß, A. Graves, J. Peters, and J. Schmidhuber, “Policygradients with parameter-based exploration for control,” in Artificial Neural Networks-ICANN 2008, pp. 387–396, Springer, 2008.

[39] F. Sehnke, C. Osendorfer, T. Rückstieß, A. Graves, J. Peters, and J. Schmidhuber,“Parameter-exploring policy gradients,” Neural Networks, vol. 23, no. 4, pp. 551–559,2010.

[40] B. Kiumarsi, F. L. Lewis, H. Modares, A. Karimpour, and M.-B. Naghibi-Sistani, “Rein-forcement q-learning for optimal tracking control of linear discrete-time systems withunknown dynamics,” Automatica, vol. 50, no. 4, pp. 1167–1175, 2014.

[41] R. S. Sutton, “Temporal credit assignment in reinforcement learning,” 1984.

[42] R. S. Sutton, “Learning to predict by the methods of temporal differences,” Machinelearning, vol. 3, no. 1, pp. 9–44, 1988.

[43] B. Ratitch, On characteristics of Markov decision processes and reinforcement learningin large domains. McGill University, 2005.

[44] C. J. Watkins and P. Dayan, “Q-learning,” Machine learning, vol. 8, no. 3-4, pp. 279–292,1992.

[45] P. J. Werbos, “Approximate dynamic programming for real-time control and neural mo-deling,” Handbook of intelligent control: Neural, fuzzy, and adaptive approaches, vol. 15,pp. 493–525, 1992.

Proyecto Fin de Máster Henry Paúl Díaz Iza

Page 90: Masters Thesis: Programación dinámica y aprendizaje …repositorio.educacionsuperior.gob.ec/bitstream/28000/2006/1/T... · DepartamentodeIngenieríadeSistemasyAutomática Programación

74 Bibliografía

[46] A. G. Barto, R. S. Sutton, and C. J. Watkins, “Learning and sequential decision making,”in Learning and computational neuroscience, Citeseer, 1989.

[47] A. Al-Tamimi, F. L. Lewis, and M. Abu-Khalaf, “Model-free q-learning designs for lineardiscrete-time zero-sum games with application to h-infinity control,” Automatica, vol. 43,no. 3, pp. 473–481, 2007.

[48] P. J. Werbos, “Neural networks for control and system identification,” in Decision andControl, 1989., Proceedings of the 28th IEEE Conference on, pp. 260–265, IEEE, 1989.

[49] P. J. Werbos, “A menu of designs for reinforcement learning over time,” Neural networksfor control, pp. 67–95, 1990.

[50] L. Ljung, System identification. Springer, 1998.

[51] C. J. C. H. Watkins, Learning from delayed rewards. PhD thesis, University of CambridgeEngland, 1989.

[52] S. J. Bradtke, B. E. Ydstie, and A. G. Barto, “Adaptive linear quadratic control usingpolicy iteration,” in American Control Conference, 1994, vol. 3, pp. 3475–3479, IEEE,1994.

[53] B. Kiumarsi and F. L. Lewis, “Actor–critic-based optimal tracking for partially unk-nown nonlinear discrete-time systems,” Neural Networks and Learning Systems, IEEETransactions on, vol. 26, no. 1, pp. 140–151, 2015.

[54] B. Kiumarsi-Khomartash, F. L. Lewis, M.-B. Naghibi-Sistani, and A. Karimpour, “Op-timal tracking control for linear discrete-time systems using reinforcement learning,” inDecision and Control (CDC), 2013 IEEE 52nd Annual Conference on, pp. 3845–3850,IEEE, 2013.

[55] F.-Y. Wang, H. Zhang, and D. Liu, “Adaptive dynamic programming: an introduction,”Computational Intelligence Magazine, IEEE, vol. 4, no. 2, pp. 39–47, 2009.

[56] J. L. Pitarch Pérez, Contributions to fuzzy polynomial techniques for stability analysisand control. PhD thesis, 2014.

[57] K. Tanaka and H. O. Wang, Fuzzy control systems design and analysis: a linear matrixinequality approach. John Wiley & Sons, 2004.

[58] S. Kawamoto, K. Tada, A. Ishigame, and T. Taniguchi, “An approach to stability analysisof second order fuzzy systems,” in Fuzzy Systems, 1992., IEEE International Conferenceon, pp. 1427–1434, IEEE, 1992.

[59] bitechnology, “Model 6120 position sensor,” 2015.

[60] R. Pallas Areny, “Sensores y acondicionadores de señal,” Marcombo, SA Barcelona, 2001.

[61] N. instruments, “myrio,” 2015.

Henry Paúl Díaz Iza Proyecto Fin de Máster