Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Máster Máster en Ingeniería Electrónica, Robótica y Automática Aprendizaje por Refuerzo Profundo Aplicado al Patrullaje Informativo Multiagente en Escenarios Hidrológicos Autor: Dame Seck Diop Tutor: Daniel Gutiérrez Reina, Samuel Yanes Luis Dpto. Ingeniería Eléctrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
Trabajo Fin de Máster Máster en Ingeniería Electrónica, Robótica y Automática Aprendizaje por Refuerzo Profundo Aplicado al Patrullaje Informativo Multiagente en Escenarios Hidrológicos Autor: Dame Seck Diop Tutor: Daniel Gutiérrez Reina, Samuel Yanes Luis Profesor Titular Dpto. Ingeniería Eléctrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
Trabajo Fin de Máster: Aprendizaje por Refuerzo Profundo Aplicado al Patrullaje Informativo Multiagente en Escenarios Hidrológicos Autor: Dame Seck Diop Tutor: Daniel Gutiérrez Reina, Samuel Yanes Luis El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos Quiero expresar mi profundo agradecimiento a todas las personas que han estado a mi lado durante esta etapa significativa de mi vida. En primer lugar, me gustaría agradecer a mi familia, en particular a mis padres, por su inquebrantable paciencia y confianza en mí. A mi tío, por brindarme un apoyo invaluable en los momentos más difíciles. A mis amigos, tanto los de toda la vida como aquellos que he conocido durante mis estudios, quienes han hecho que estos años sean más agradables. A mis abuelos, tíos y primos, por su constante creencia en mí y por ser una parte esencial de mi vida. Y, por supuesto, a mis tutores, Samuel Yanes Luis y Daniel Gutiérrez Reina, por confiar en mí para llevar a cabo este trabajo y por su valiosa orientación a lo largo de todo el proceso. Dame Seck Diop Escuela Técnica Superior de Ingeniería de Sevilla. Sevilla, 2023 I
Resumen En este proyecto de fin de carrera, se presenta la implementación de un algoritmo de Aprendizaje por Refuerzo Profundo Multiagente para abordar el problema de patrullaje informativo en un escenario hidrológico parcialmente observable. El objetivo es supervisar y monitorear los recursos hídricos utilizando vehículos autónomos equipados con sensores de calidad del agua. El patrullaje se divide en dos fases: exploración y explotación. Para ello, se utilizan redes neuronales con dos "heads" o terminaciones paralelas, donde cada una estima la función Q correspondiente a cada fase. Se introduce una variable para determinar qué función Q utilizar en cada momento para tomar decisiones. El trabajo se centra en el diseño e implementación del algoritmo, evaluando su rendimiento en un escenario hidrológico y analizando los resultados obtenidos. En definitiva, el objetivo final es mejorar la eficiencia y efectividad del patrullaje informativo en entornos hidrológicos mediante el uso de técnicas de aprendizaje por refuerzo profundo multiagente. III
2Capítulo 1. Introducción A causa del desarrollo económico de las ciudades cercanas, la falta de sistemas de alcantarillado durante muchos años y el aumento del turismo, la cantidad de desechos vertidos al agua ha experimentado un aumento significativo durante estos últimos años [ 1 ]. Debido a la grave contaminación en el lago, se produjo un fenómeno conocido como eutrofización, que es un proceso antinatural caracterizado por una acumulación excesiva de nutrientes en el agua. Debido al enriquecimiento artificial de nutrientes en el agua, se ha producido un crecimiento excesivo de cianobacterias en el lago (Figura 1.2). Estos organismos consumen rápidamente el oxígeno disuelto en el agua, lo que provoca la falta de oxígeno y la pérdida de vida acuática. La contaminación causada por los desechos humanos de las ciudades y las industrias circundantes ha resultado en un aumento significativo de las colonias de cianobacterias en el lago. Estos desechos, ricos en nitrógeno, fósforo y metales, actúan como un catalizador para el crecimiento de bacterias y suciedad en toda el área navegable del lago, incluyendo las zonas de humedales. Esta situación no solo afecta negativamente al ecosistema acuático de la cuenca, sino que también pone en peligro la calidad del suministro de agua de las ciudades cercanas, ya que el lago Ypacaraí es su única fuente de recursos hídricos. Figura 1.2 Efecto de las cianobacterias. Desde 2012, ha habido una proliferación agresiva de algas verde-azuladas en el lago, lo cual ha generado olores desagradables y la producción de toxinas, como la microcistina, que es perjudicial para la fauna y los humanos, y en ocasiones puede ser mortal. La aparición de brotes de cianobacterias es impredecible y su comportamiento es caótico, lo que dificulta predecir dónde y cuándo ocurrirán. Además, las floraciones de cianobacterias no son constantes y su tamaño varía con el tiempo, lo que dificulta el proceso de medir la calidad del agua de manera precisa y constante. Es importante destacar que la contaminación en el lago Ypacaraí se distribuye de manera desigual en su superficie. Existen áreas específicas donde se concentra en mayor medida debido a diferentes factores. Por ejemplo, en zonas cercanas a ciudades donde la falta de infraestructura de alcantarillado y sistemas de filtrado séptico provoca un aumento en los vertidos y la presencia de bacterias. Asimismo, las áreas portuarias recreativas y las zonas industriales cercanas,
1.2 Uso de ASVs 3 como el Puerto de San Blas en la parte sur del lago, también contribuyen a la concentración de contaminantes. La situación se vuelve aún más complicada para las autoridades, ya que se ven obligadas a cerrar el lago a los turistas debido a las floraciones de cianobacterias, las cuales son cíclicas e impredecibles. La única solución para abordar este problema radica en adoptar un enfoque multidisciplinario que involucre inversiones públicas en infraestructuras adecuadas y estudios bioquímicos de las aguas. Es necesario llevar a cabo un monitoreo constante y realizar estudios exhaustivos para comprender en detalle el estado actual del lago. Esto permitirá encontrar soluciones efectivas para revertir la situación. También es necesario implementar medidas que aborden tanto la fuente de contaminación como las consecuencias de las floraciones, con el fin de restaurar y mantener la calidad del agua en el lago Ypacaraí. 1.2 Uso de ASVs Es esencial realizar un muestreo periódico y efectivo en áreas específicas de interés, donde se produzcan floraciones de algas o haya una acumulación de residuos y basura en el lago. Esto proporcionará información actualizada sobre el estado biológico de las aguas. Además, este mapa de contaminación resultante permitirá evaluar la eficacia de las medidas medioambientales implementadas por las autoridades y los investigadores. Sin embargo, la monitorización manual requiere una cantidad considerable de recursos humanos y esfuerzo, ya que implica desplazamientos constantes en embarcaciones motorizadas desde la orilla hasta las áreas principales de floración para realizar muestreos manuales de las aguas. Además, debido al gran tamaño del lago Ypacaraí (60 km2), el muestreo manual sería ineficiente y lento para los biólogos, especialmente considerando que la situación de las cianobacterias puede cambiar diariamente. Por lo tanto, se necesita un sistema de monitoreo reactivo que permita un seguimiento continuo de la contaminación del lago. Figura 1.3 ASV en las orillas del lago.
4Capítulo 1. Introducción Se ha planteado la utilización de Vehículos Autónomos de Superficie, ASV de sus siglas en inglés, para sustituir las inspecciones humanas. El uso ASVs ha ganado impulso en áreas como el patrullaje [ 2 ][ 3 ] y la planificación informativa de trayectorias [ 4 ][ 5 ]. Estos vehículos están equipados con diversos sensores, como pH y oxígeno disuelto, que les permiten realizar mediciones de contaminación y podrían sustituir fácilmente a una estación de muestreo estática, proporcionando una forma más eficiente de medir la contaminación. Estos vehículos presentan muchas ventajas en comparación con los barcos normales: • Son más respetuosos con el medio ambiente, ya que utilizan motores eléctricos y pueden ser alimentados mediante paneles solares, lo que reduce su impacto ambiental y los costos de combustible. • Capacidad para operar de manera autónoma, es decir, sin necesidad de una tripulación a bordo. Esto los hace especialmente adecuados para tareas que podrían ser peligrosas o difíciles de realizar por humanos. • Gracias a su tamaño reducido, propulsión eléctrica y autonomía, los ASVs también pueden realizar misiones de larga duración. Figura 1.4 Diseño del Cormorán-II. Para aumentar la eficiencia, se propone desplegar una flota de ASVs para que cada uno pueda explorar diferentes áreas y medir la calidad del agua. Sin embargo, esto requiere una coordinación adecuada entre los vehículos autónomos para evitar colisiones y asignar eficientemente las zonas de exploración. El objetivo es maximizar la cobertura del muestreo y optimizar la utilización de
1.2 Uso de ASVs 5 los recursos disponibles.Por lo tanto, se busca establecer una estrategia de coordinación entre los ASVs para llevar a cabo la tarea de monitoreo de manera eficiente y efectiva. Se han adquirido cuatro drones acuáticos de pequeño tamaño con características similares, uno de los cuales se encuentra en las instalaciones de la Escuela Técnica Superior de Ingeniería de Sevilla. Estos drones acuáticos son de tipo catamarán y se ha diseñado una arquitectura funcional que consta de varios sistemas, como se muestra en la Tabla 1.1. Además, en la Figura 1.4, se puede apreciar el diseño del ASV desde cuatro ángulos diferentes. Tabla 1.1 Sistemas y subsistemas del vehículo. Módulo Componente Sistema de navegación •Un controlador de bajo nivel: Navio2 •Un out-board companion: Jetson Xavier •Con un sistema GPS ultrapreciso: EMLID Sistema de distribución de potencia •Configuración diferencial. •Alimentación redundante. •Una batería de larga duración y capacidad. Sistema de sensores de calidad del agua •Sistema de monitorización independiente. •Múltiples sensores. Sistema de visión •Cámara estereoscópica de última generación. •Inteligencia Artificial para la detección de obstáculos. Sistema de Interfaz •Sistema on-cloud para el control de usuario de la flota. • Sistema de recolección y representación de datos abierta al mundo. En cuanto a la misión de los vehículos autónomos, cada uno está programado para realizar una planificación local de trayectorias y una planificación global de trayectorias. La planificación global de trayectorias es una tarea de alto nivel que consiste en decidir los mejores puntos de paso para alcanzar el objetivo, teniendo en cuenta diferentes criterios de optimización, como la redundancia de visitas o la maximización del área de cobertura.Por otro lado, la planificación local implica trazar la ruta física desde un punto de partida hasta un punto de destino, evitando obstáculos en el camino. Para adaptar la trayectoria calculada por el planificador global a situaciones imprevistas, como la presencia de obstáculos móviles, se utilizan sensores como LIDAR y cámaras. La arquitectura hardware-software del ASV permite seguir una secuencia de puntos de paso (waypoints) que son previamente calculados e interpolados por un generador de trayectorias, como un interpolador spline.En la Figura 1.5 se muestra diagrama del control ASV así como el bucle de aprendizaje de refuerzo que servirá como planificador global.
6Capítulo 1. Introducción Figura 1.5 Diagrama del control ASV en el caso real (arriba) y el bucle de aprendizaje de refuerzo (abajo). 1.3 Objetivos En este proyecto, se busca diseñar un planificador de alto nivel que determine el siguiente punto a visitar para el vehículo autónomo. Se enfrenta a un problema de decisión secuencial, donde en cada momento el agente recibe información limitada del entorno y debe tomar la mejor decisión de acuerdo con sus objetivos. Este problema se puede abordar como un problema de patrullaje, como se ha hecho en trabajos anteriores como [ 3 ] y [ 5 ]. Hay dos perspectivas desde las cuales se puede analizar este problema: • Importancia homogénea: Se considera que todas las zonas del lago tienen la misma importancia y por lo tanto, el ASV debe visitar todos los puntos de paso con la misma frecuencia para garantizar una cobertura equitativa. • Importancia no homogénea: se considera una importancia diferente para cada zona del lago y las que son más importantes deben ser más visitadas con más frecuencia. Como se mencionó anteriormente, hay zonas del lago más contaminadas que otras, por lo que la monitorización en esos lugares debe ser más frecuente, estamos ante un caso de patrullaje no homogéneo. Sin embargo, al inicio de la misión, los vehículos parten sin tener información sobre la contaminación del lago y deben descubrirla para luego intensificar la vigilancia en las zonas más contaminadas. En el trabajo [ 5 ], los autores lograron resultados positivos en la cobertura no homogénea utilizando múltiples vehículos, en comparación con métodos clásicos como el algoritmo de cortacésped o la búsqueda aleatoria. Para abordar el caso multiagente, se empleó una red neuronal convolucional centralizada, compartida por todos los agentes, para extraer características y permitir
1.3 Objetivos 7 que los agentes tomen decisiones. Esta arquitectura se benefició de que las experiencias de los agentes son equivalentes, lo que condujo a obtener mayores recompensas en la mayoría de los casos en comparación con la arquitectura contrapartida, donde cada vehículo utiliza una red neuronal entrenada de forma independiente. Sin embargo, es importante destacar que en el trabajo [ 5 ] no abordaron explícitamente el problema de la falta de información sobre la contaminación al inicio de la misión. Esto implica que los vehículos deben descubrir la información sobre la contaminación durante el transcurso del episodio antes de poder tomar decisiones para intensificar la vigilancia en las zonas más relevantes. En este proyecto, se busca seguir el trabajo realizado en [ 5 ] con el objetivo de desarrollar un algoritmo de patrullaje con una mayor resolución y abordar el problema desde una perspectiva más realista. Para lograrlo, se plantean dos fases principales en el patrullaje: 1. Fase de exploración: En esta fase, los vehículos se encargan de visitar todas las zonas del mapa y tomar medidas de contaminación. 2. Fase de explotación: Una vez que se han identificado las zonas más importantes del lago en términos de contaminación, se intensifica la vigilancia y monitoreo en estas áreas. Los objetivos principales son los siguientes: 1. Diseñar un método para un planificador de rutas multiagente basado en Deep Reinforcement Learning escalable en el contexto del patrullaje no homogéneo del Lago Ypacaraí. 2. Presentar un enfoque novedoso para supervisar Escenarios Dinámicos Parcialmente Observables que consistirá en un mecanismo de transición suave entre la fase explorativa y explotativa.
2 Estado del arte 2.1 Deep Reinforcement Learning Deep Reinforcement Learning (DRL) es una técnica de Machine Learning (ML) que combina Reinforcement Learning (RL) [ 6 ] y Deep Learning (DL) para entrenar a un agente a tomar las acciones que maximizan una recompensa en un entorno. En 2015, DRL dufrió una gran popularización debido al algoritmo Deep Q-Network (DQN), este fue capaz de alcanzar un nivel comparable al de un humano profesional jugando a un conjunto de 49 juegos de la famosa consola Atari 2600. En 2016, [ 7 ] propusieron la Double Deep Q-Network (Double-DQN) para mitigar el efecto de la sobreestimación de los valores estado-acción. En ese mismo año, se introdujo la Dueling Deep Q-Network (Dueling-DQN), que separa la función de valor Q en dos flujos para estimar mejor los valores de estado y la ventaja de toma una acción por separado. Por último, Rainbow DQN [ 8 ], fue introducido en 2017, como una combinación de varias de las mejoras antes mencionadas (Double-DQN, Dueling-DQN,Prioritized Buffer Replay etc...) para lograr un rendimiento de mejor en los juegos Atari. El algoritmo DQN y sus variantes se han usado en un amplio rango de aplicaciones ya que es capaz de aprender políticas de control directamente a partir de entradas sensoriales de alta dimensión usando RL. En particular, en el ámbito del patrullaje informativo se han llevado a cabo numerosas aplicaciones [ 9 , 10 , 11 ]. En [ 9 ], se entrena una Double-DQN a aprender una política de control que se generaliza en función de las distintas restricciones de potencia un vehículo aéreo no tripulado (UAV). Esta red neuronal debe tomar decisiones de control para el UAV, equilibrando el presupuesto de potencia limitado y el objetivo de cobertura mediante el uso de canales de entrada similares a mapas para proporcionar al agente información espacial a través de capas de redes convolucionales. En [ 10 ] el entorno contiene espacios no navegables y además las zonas tienen diferentes requisitos de cobertura Figura 2.1. Así que, dado un mapa de relevancia que representa los requisitos de cobertura, el algoritmo DRL elige de forma autónoma las mejores acciones del dron para optimizar la cobertura. Por el contrario, en [ 11 ] el robot no conoce de antemano la distribución de los eventos relevantes y, sin embargo, debe aprender a maximizar la tasa de detección de eventos de interés. También se han combinado DRL con patrullaje informativo para la monitorización de espacios 9
10 Capítulo 2. Estado del arte Figura 2.1 Mapa de relevancia con superposición de la posición del agente (marcada con un 0) y la zona observada. medioambientales. En [ 3 ], los autores modelaron el mapa de contaminación del lago Ypacaraí y construyeron una imagen que representa un mapa de interés que tenía valores más altos en las zonas más contaminadas. Esto último, junto con una imagen que indica las zonas navegables del lago y otras imágenes que proporcionan información temporal sobre el recorrido del vehículo, eran las entradas a una Double-DQN. Esta red fue capaz de aprender a visitar las zonas más contaminadas con mayor frecuencia e incluso aprender a encontrar estas zonas si estas le eran desconocidas al principio del patrullaje. En este trabajo utilizaremos esta metodología de representación del entorno junto con otras adiciones que se mencionarán más adelante. Recientemente, el patrullaje informativo con DRL se ha extendido al caso multiagente (Multiagent DRL (MADRL)) debido a que mejora las prestaciones del caso monoagente. Sin embargo, introduce nuevos retos: descoordinación, asignación de créditos, exploración global, sobregeneralización relativa y la escalabilidad [ 5 ]. Además, el caso multiagente implica una complejidad mucho mayor en la planificación, ya que necesita una optimización de la planificación de la trayectoria y la consideración de la posible interacción entre los vehículos. Por otra parte, el espacio de estados y acciones crece exponencialmente con el número de agentes y por ello la complejidad computacional puede volverse insostenible incluso para un enfoque de aprendizaje profundo. El entrenamiento de los agentes se puede distinguir en dos paradigmas [ 12 ]: distribuido y centralizado. En el entrenamiento distribuido [ 13 ][ 14 ][ 15 ][ 16 ] los agentes aprenden sin comunicarse entre ellos y cada uno optimiza una política propia sin intercambio de información con otros agentes. Sin embargo, la principal limitación de este este enfoque es que para un único agente el estado se vuelve no estacionario debido a que percibe a los demás agentes como parte del estado. Por otro lado, la búsqueda de una política óptima influye en la toma de decisiones de los demás agentes, lo que puede puede provocar action shadowing. Por lo tanto, cada acción seleccionada se empareja con una acción arbitraria elegida por el otro agente y se producen un conjunto de
2.2 Multi-Objective Reinforcement Learning 11 políticas subóptimas que hacen que se subestimen los valores de utilidad de las acciones óptimas. Para aliviar esto, en [ 14 ] se propuso un mecanismo de intervalos de actualización negativos Double-DQN que elimina los datos del Buffer Replay que conducen a la descoordinación. En el entrenamiento centralizado las políticas se optimizan en base al intercambio mutuo de información entre los agentes [17][18][19]. Si la ejecución es centralizada (CTCE), los agentes se modelan como un meta-agente con un conjunto de acciones A′ : Ai es el conjunto de acciones del agente i y |Ai|=∏N i=1(Ai) = |{a1,a2,a3, ...,aN}| es la dimensión conjunta de acciones de N agentes. Esta formulación está limitada por ser poco escalable ya que explota dimensionalmente con un gran número de agentes [ 18 ]. Por otro lado, la ejecución decentralizada (CTDE) es el enfoque más exitoso en la actualidad [ 12 ]. Esta es, los agentes comparten información en el entrenamiento, pero cada uno tiene su propia política a la hora de ejecutar las acciones. En [ 17 ], los autores aprovecharon la homogeneidad entre los agentes para hacer el entrenamiento en una única red y compartir los parámetros. Demostraron que las políticas que emergían de esta manera eran más eficientes y podían llegar a dar mejor resultados que las políticas aprendidas de forma autónoma. Algunos autores han aplicado métodos en los que se aprende una aproximación de la función de valor a partir de la información mutua. Los agentes se aprovechan de las acciones conjuntas, la información mutua y las políticas de otros agentes que están disponibles durante el entrenamiento e incorporan esta información extra en funciones de valor centralizadas, aunque dicha información se descarta en el momento de la prueba [20]. En este trabajo se diseña y se entrena una única red neuronal compartida por todos los agentes y cada agente será la copia exacta de la misma red. También se utilizan métodos de Iteración de Valores (DDQL) porque suelen ser más eficientes en cuanto a muestras que los métodos de Iteración de Políticas como [ 21 ]. Sin embargo, las acciones se toman en base a la aproximación de la función de valor estado-acción y dicha información no se descarta como en [ 20 ]. Además, sólo existe una red y una función Q que optimizar para cualquier número de agentes, lo cual aumenta la escalabilidad de nuestro método considerablemente. 2.2 Multi-Objective Reinforcement Learning Varios problemas a resolver en el mundo real exigen el cumplimiento de múltiples objetivos en conflicto que deben equilibrarse. En RL se optimiza una política en base a una recompensa escalar, por tanto en Multi-Objective Reinforcement Learning (MORL) la recompensa se extiende a un vector donde cada componente representa la recompensa escalar de cada objetivo [ 22 ]. Los métodos MORL se pueden clasificar en dos categorías: single-policy ymulti-policy. Los enfoques single-policy [ 23 , 24 ] consisten en aprender una única política basada en una escalarización lineal de los objetivos. Esto convierte el MORL en un problema de RL con un único objetivo, que es una suma lineal ponderada de los valores objetivo, donde las ponderaciones indican la importancia relativa de los objetivos. La escalarización lineal sólo puede encontrar políticas en frentes de pareto convexos, por ello, en [ 23 ] proponen una escalarización no lineal utilizando la función de Chebyshev. Esto permitía obtener una mejor dispersión entre el conjunto de soluciones óptimas pertenecientes al frente de Pareto. Sin embargo, los enfoques single-policy requieren de información previa sobre las preferencias del usuario que pueden ser variantes y un
18 Capítulo 3. Planteamiento del problema objetivo, minimizar globalmente el idleness compartido. Mientras que en el segundo caso cada agente toma sus acciones en base a minimizar globalmente su idleness individual. En cuánto a la coordinación de movimientos multiagente, se puede hacer uso de un coordinador central, que elige el nodo objetivo de cada agente (cognitivo) para garantizar que ningún agente se dirija al mismo nodo. O de un coordinador descentralizado en la que la coordinación surge de la interacción. En la práctica, se van a utilizar drones de arquitectura idéntica por lo tanto, nuestro grupo de agentes va a ser homogéneo. Asimismo, seguiremos una estrategia cognitiva con un coordinador central, que será un servidor al que los drones mandarán datos de posiciones y medidas y decidirá las siguientes acciones de los drones. En la Figura 3.2 se muestra una posible representación en grafo del caso multiagente propuesto en [5]. En nuestro trabajo, hemos planteado el problema de patrullaje de manera híbrida, dividiéndolo en dos fases: exploración y explotación. Durante la fase de exploración, los vehículos tienen la tarea de visitar todas las áreas del mapa y tomar medidas de contaminación. En esta etapa, se realiza un patrullaje homogéneo, ya que no se considera la importancia relativa de las zonas y el objetivo principal es lograr una cobertura completa del lago. Una vez que se han identificado las zonas más importantes en términos de contaminación, se pasa a la fase de explotación. En esta etapa, se realiza un patrullaje no homogéneo, centrándose en las áreas más relevantes. Los esfuerzos se intensifican en estas zonas para monitorear y vigilar de cerca su estado de contaminación. Este enfoque plantea un desafío, ya que implica que un mismo agente debe adaptarse a los cambios de fases y tomar decisiones óptimas en cada una de ellas. Cada fase tiene sus propias características y objetivos, lo que requiere que el agente sea capaz de ajustar su comportamiento y acciones de acuerdo con las necesidades específicas de cada fase.
3.3 Descripción del escenario 19 3.3 Descripción del escenario La definición del entorno juega un papel muy importante en un problema de patrullaje porque define cómo el robot o agente puede moverse. También define las condiciones de contorno y por tanto las zonas transitables o no. En nuestro caso, el escenario está formado por los siguientes elementos: • Mapa: Un grid map es análogo a un grafo, cada celda es equivalente a un nodo, y la distancia recorrida al moverse de una celda a otra adyacente es equivalente al peso de una arista. Se ha discretizado el mapa del lago Ypacaraí en un grid map (Figura 3.3). Figura 3.3 Mapa discretizado del lago Ypacaraí. Teniendo en cuenta que la superficie total del lago es de 60 km2 y tiene una profundidad media de 1,31 m, cada celda cuadrada es equivalente a una fracción de espacio discretizado del lago. En cuanto a las celdas que no se pueden ocupar, que son aquellas que están fuera de la superficie navegable del lago o las celdas que representan el espacio de la tierra, éstas tienen un valor nulo en el grid map. No obstante, en la simulación no se considera ningún obstáculo en el interior de el lago, ya que los sensores de obstáculos del ASV (Lidar + Cámara) proporcionan la capacidad de evitarlos (con un planificador local reactivo de la trayectoria). Cuando el agente explora el lago y recoge muestras, va construyendo un mapa de la contaminación del lago, este también es parte del escenario. En nuestros experimentos sólo hemos tenido en cuenta la contaminación debida a las floraciones de algas verde-azuladas. El comportamiento de la floración es dinámica, bastante caótica y cambia su tamaño con el tiempo. Todo esto se ha tenido en cuenta al crear el modelo del mapa de contaminación en el entorno.
20 Capítulo 3. Planteamiento del problema La dinámica del movimiento de las algas verde-azuladas se modela mediante un proceso discreto de difusión. En este modelo, la concentración de las algas se representa mediante partículas discretas que tienen permitido el movimiento dentro del espacio del lago. Partimos de que las partículas se colocan de forma aleatoria sobre el mapa, concentradas en torno a varios puntos iniciales. Cada partícula i posee una posición y una velocidad concreta (pi(t),vi(t)) ∈R2 . La velocidad total de las partículas en el modelo de difusión puede descomponerse en una parte estocástica valeat i que representa la energía de difusión. Esta velocidad de dirección y magnitud aleatoria se evalúa en cada instante de tiempo t y para cada partícula. A la velocidad total se le incorpora una componente derivada de la corriente del agua vcorr i proveniente de evaluar la posición de la partícula con un campo vectorial ˆ V(x,y)corr :R2→R2 precalculado con lo que podrían ser las corrientes típicas del lago Ypacaraí. Finalmente, la última componente de la velocidad de las partículas de algas responde a una velocidad constante del viento vviento , con una magnitud invariante a lo largo de un episodio. De este modo, la velocidad total de una partícula puede expresarse como: vi(t) = α1×valeat i+α2×vcorr i+α3×vviento (3.3) En esta ecuación, α1,α2,α3 se corresponden con constantes que modulan la predominancia de cada fenómeno en el movimiento total. Para obtener la posición nueva de cada partícula, se computa de forma discreta, dado una constante de tiempo ∆tde la siguiente forma: pi(t+1) = pi(t)+∆t×vi(t+1)(3.4) Con la posición de cada partícula, componemos un mapa de partículas P t que sigue la misma discretización que el grid map, en el que cada posición o casilla indica el número de partículas que hay en él. Para pasar del mapa de partículas P t a un campo escalar de contaminación It , aplicamos un filtro gaussiano sobre la imagen de las partículas sobre la cuadrícula, lo que conlleva el paso de un mapa de partículas a un mapa de densidad de partículas al que llamaremos finalmente mapa de contaminación (Figura 3.4): It=1 16 1 2 1 2 4 2 1 2 1 ⊗P t(3.5)
3.3 Descripción del escenario 21 Figura 3.4 Ejemplo del modelado de la contaminación del lago Ypacaraí. • Acciones del agente: Una vez definido el número direcciones que puede tomar el agente, se calculan los ángulos de estas direcciones, espaciadas uniformemente en un intervalo de ángulos [0,2π]. Figura 3.5 Posibles acciones que puede tomar el ASV. Para lograr una representatividad de las capacidades realistas de movimiento del ASV, suponemos ocho direcciones diferentes (Siguiendo los puntos cardinales: N, E, S, W y NE, SE, NW, SW) en cada paso. Por simplicidad, cada paso de la simulación es un movimiento a una dirección. Se definen las acciones ilegales como: –Movimiento a celda ocupada por otro agente. – Movimiento a una celda que forma parte de las zonas no navegables: obstáculo u orilla.
22 Capítulo 3. Planteamiento del problema Las acciones ilegales no se realizará ni en la simulación ni la aplicación real, por tanto el agente permanecerá en el mismo lugar. • Recompensa: La recompensa es la forma que tenemos de cuantificar las consecuencias de tomar una acción y puede servir como premio o penalización. La ley de recompensa, que se va a explicar más adelante en la Sección 4.5, penalizará los siguientes casos: –Acciones ilegales. –El solape de las zonas de detección de dos o más ASVs. – Estrategias inadecuadas como visitar zonas con menos idleness ponderado respecto a otros lugares. En cambio estará diseñada para premiar acciones o estrategias que entendemos como adecuados para la monitorización como: –Visitar celdas que nunca se han visitado. –No compartición las zonas de detección de dos o más ASVs. –Visitar zonas con más contaminación con respecto a otros lugares. • Observación: La observación del entorno permite al agente obtener información sobre el entorno. Hay dos tipos de entornos: – Entorno completamente observable: El agente conoce toda la información del entorno: las dimensiones del mapa, su posición, la posición de los demás agentes y la contaminación e idleness de cada casilla del lago. – Entorno parcialmente observable: Este es nuestro caso, el agente no conoce la contaminación de las celdas que nunca ha visitado y debe mantener un modelo de sensor para estimar la distribución de probabilidad de diferentes observaciones. Sin embargo, en nuestro escenario, el agente solo utiliza la última información conocida sobre la contaminación de una celda.
4 Metodologia 4.1 Reinforcement Learning El aprendizaje por refuerzo (RL), es una técnica de aprendizaje automático en el que un agente aprende a través de la interacción con el entorno. Mediante prueba y error, el agente debe aprender a tomar acciones que maximicen su recompensa, que es la retroalimentación que recibe del entorno. Este enfoque es útil en situaciones en las que no existen datos etiquetados disponibles y el agente debe aprender a partir de la experiencia. 4.1.1 Elementos del Reinforcement Learning En esta sección, vamos a explicar los conceptos básicos del aprendizaje por refuerzo y sus elementos. Definiciones • El agente (agent) es el programa de software que aprende a tomar las decisiones basadas en las acciones a realizar en el entorno. A medida que toma estas acciones, recibe recompensas que lo ayudan a mejorar su comportamiento en el futuro. • El entorno (Environment) es el mundo en el que el agente se encuentra y donde lleva a cabo sus acciones. El entorno representa todas las posibles situaciones que pueden ocurrir en un momento determinado y responde a las acciones del agente, dándole recompensas positivas o negativas según corresponda. Si el agente conoce el modelo del entorno (model-based en inglés), su aprendizaje se basa en el modelo. En cambio, si el agente no conoce el modelo del entorno, su aprendizaje es sin modelo (model-free en inglés). • El estado es la descripción del entorno en un momento dado. El espacio de estado es el conjunto de todos los posibles estados, que puede ser infinito. El conjunto de todos los estados posibles se llama espacio de estado y puede llegar a ser infinito [ 51 ]. La observación es la parte del estado que el agente tiene acceso. Si el agente es capaz de observar todo el entorno, entonces el entorno es completamente observable. En cambio, si el agente no tiene acceso al estado completo del entorno, éste es parcialmente observable. 23
24 Capítulo 4. Metodologia • En cada paso, el agente realiza una acción en el entorno, lo que hace que el entorno cambie. El conjunto de acciones que el agente puede realizar en un momento dado se llama espacio de acciones. Diferentes entornos permiten diferentes tipos de acciones. El conjunto de acciones disponibles depende del estado actual del entorno, lo que significa que diferentes estados pueden tener diferentes acciones disponibles. El espacio de acciones puede ser discreto, por lo que el agente sólo dispone de un número finito de movimientos. Por otra parte, el espacio de acciones puede ser continuo, como cuando el agente controla un robot en un mundo físico. • La recompensa (reward) es una señal que el entorno proporciona al agente que le indica lo bueno o malo que es el estado actual del mundo debido a sus acciones. Esta señal puede representar una recompensa o una penalización y se utiliza para medir el éxito del agente en su tarea. La función de recompensa es la regla que el entorno utiliza para determinar qué señal de recompensa debe proporcionar. En el aprendizaje por refuerzo, el objetivo del agente es maximizar su recompensa acumulada, que es la suma de las recompensas que recibe en cada paso, llamada retorno. Figura 4.1 Ciclo de aprendizaje por refuerzo. • La función de transición (transition function) es una fórmula matemática que describe cómo el entorno cambia en respuesta a la acción del agente. También indica la probabilidad de moverse de un estado a otro, lo que se llama probabilidades de transición. La función de transición puede ser determinista o estocástica. En un escenario completamente observable es determinista, porque se conoce todo el mapa. En un escenario parcialmente observable es estocástico, porque no se sabe el valor que se encontrará.
4.1 Reinforcement Learning 25 • La experiencia en el aprendizaje por refuerzo es la secuencia de estados, acciones y recompensas que el agente experimenta mientras interactúa con el entorno. Esta experiencia es fundamental para que el agente pueda aprender a tomar decisiones óptimas en situaciones similares en el futuro. La calidad de la experiencia es importante para el aprendizaje del agente, ya que una experiencia más rica y variada puede ayudar al agente a descubrir patrones y relaciones útiles en los datos. • El episodio es la secuencia completa de interacciones entre el agente y el entorno. Comienza en un estado inicial y termina cuando se alcanza un estado final o se alcanza un límite de tiempo predefinido. El objetivo del agente es maximizar la recompensa acumulada obtenida durante el episodio. Política La política es la estrategia que sigue el agente para decidir qué acción elegir dado un estado. La política puede ser determinista o estocástica y puede ser representada por una función que mapea el estado del agente a una acción específica que debe tomar en ese estado. En una política determinista, el agente siempre realiza la misma acción en un estado dado. En una política estocástica, el agente selecciona una acción de acuerdo a una distribución de probabilidad. El objetivo del agente es aprender una política óptima que maximice la cantidad total de recompensas que recibe a lo largo del tiempo. La política óptima es aquella que maximiza la recompensa esperada para cualquier estado dado. En el aprendizaje por refuerzo, el agente utiliza la experiencia para actualizar su política 4.1.2 Proceso de decisión de Markov El MDP es un modelo matemático que se utiliza para formalizar los problemas de aprendizaje por refuerzo en dominios estocásticos. Asimismo, es la formulación estándar de los elementos del problema de RL. La propiedad de Markov (en inglés Markov Property) establece que los estados futuros dependen solo del estado actual y no de la historia pasada de los estados. En otras palabras, el futuro depende solo del presente y no del pasado. Esta propiedad es esencial para usar el Proceso de decisión de Markov (MDP) en el aprendizaje por refuerzo, ya que permite que el agente aprenda una política que maximiza la cantidad total de recompensas recibidas a lo largo del tiempo. La recompensa que se obtiene al realizar una acción en un estado no depende del camino recorrido para llegar a ese estado. Un proceso de decisión de Markov es una tupla de 5 elementos (S,A,P,R,γ): •Un conjunto de estados S. El estado actual se define como s. • Un conjunto de acciones A . Una acción dentro de ese espacio de acciones se define como a . • Una Función de transición P . En el caso de que se pase del estado s al siguiente estado s′ realizando la acción a, se define como Pa ss′=P[St+1=s′|St=s,At=a]. • Una Función de recompensa R . En el caso de que se pase del estado s al s′ realizando la acción a, se define como Ra ss′=E[Rt+1|St=s,At=a].
26 Capítulo 4. Metodologia • El factor de descuento γ∈(0,1] se utiliza para ajustar la importancia de las recompensas a lo largo del tiempo. Representa la importancia relativa de las recompensas futuras en comparación con las recompensas inmediatas. El objetivo del agente es actuar de tal manera que maximice el rendimiento esperado en una perspectiva a largo plazo con respecto a una función de transición desconocida P . El rendimiento se define como el valor esperado de las recompensas descontadas, es decir, el retorno con descuento G. Gt=Rt+1+γ∗Rt+2+γ2∗Rt+3+γ3∗Rt+4+... +γT−1∗Rt+T= T ∑ k=t+1 Gt=γk−t−1Rk(4.1) La Ecuación 4.1 muestra el retorno descontado Gt en un time step t al realizar una acción at . Por lo tanto, el agente aprende una política de comportamiento π:S→P(A) que optimiza el rendimiento esperado J a lo largo del aprendizaje. Este rendimiento se define como el valor esperado de las recompensas descontadas sobre la distribución de estado inicial ρ0 mientras que las acciones seleccionadas se rigen por la política π[12]. J=Es0∼ρ0,st+1∼P,at∼π"∞ ∑ t=0 γtRt#(4.2) Figura 4.2 Ilustración visual del Proceso de decisión de Markov. 4.1.3 Funciones de valor y la ecuación de Bellman Una función de valor en RL es una medida utilizada para evaluar la calidad de una acción o estado en términos de la recompensa esperada a largo plazo. Hay dos tipos de funciones de valor en RL: la función de valor del estado y la función de valor estado-acción. La función de valor del estado, también llamado función V , define la utilidad de estar en un estado particular siguiendo una política determinada π(s) .Como se muestra en la Ecuación 4.3, la función V es la estimación del retorno descontado esperado que se puede obtener desde un estado dado ssiguiendo una política específica π.
4.1 Reinforcement Learning 27 Vπ(s) = Est+1∼P,at∼π"T ∑ j=0 γjRt+j+1|St=s#(4.3) Por otro lado, la función de valor estado-acción, también llamado función Q , describe la utilidad de estar en el estado s , realizar la acción a y seguir la política π(s) . Esta función estima el valor esperado del retorno descontado que se puede obtener al tomar una acción específica desde un estado dado, y luego seguir una política determinada a partir de ese punto. Sirve para determinar cuál es la mejor acción a tomar en un estado dado. Qπ(s,a) = Est+1∼P,at∼π"T ∑ j=0 γjRt+j+1|St=s,At=a#(4.4) Ecuación de Bellman La ecuación de Bellman es una fórmula matemática que se utiliza en el aprendizaje por refuerzo para actualizar la función de valor de un estado o acción. Para la función V (Ecuación 4.5) y la función de valor estado-acción Q (Ecuación 4.6), la ecuación de Bellman se pueden expresar como una suma de la recompensa inmediata y el valor descontado del siguiente estado. Vπ(s) = ∑ a π(s,a)∗∑ s′ Pa ss′[Ra ss′+γVπ(s′)] (4.5) Qπ(s,a) = ∑ s′ Pa ss′[Ra ss′+γQπ(s′,a′)] (4.6) Optimalidad de Bellman El principio del óptimo de Bellman establece que una política óptima en RL debe cumplir con la propiedad de optimalidad de Bellman, la cual se basa en la ecuación de Bellman (Ecuación 4.5 y Ecuación 4.6). Esto significa que el valor de un estado o acción debe ser igual a la recompensa inmediata más el valor máximo esperado de los estados o acciones sucesores, ponderado por el factor de descuento. Si denotamos V∗(s) como la función de valor de estado óptima, tenemos que: V∗(s) = maxπVπ(s)(4.7) La ecuación de Bellman óptima se calcula seleccionando la acción que da el valor máximo: V∗(s) = m´ ax a∑ a π(s,a)∗∑ s′ Pa ss′[Ra ss′+γV∗(s′)] (4.8) Por otro lado,Si denotamos Q∗(s,a) como la función de valor de estado óptima, tenemos que: Q∗(s,a) = maxπQπ(s,a)(4.9) De nuevo, la ecuación de Bellman óptima se calcula seleccionando la acción que da el valor máximo:
34 Capítulo 4. Metodologia lineal provenientes de la capa de entrada. Estas capas ocultas permiten al perceptrón realizar un procesamiento complejo y capturar características importantes de los datos. Por último, está la capa de salida, que recibe información de las capas anteriores y proporciona la respuesta o decisión final de la red hacia el exterior. Figura 4.4 Perceptrón Multicapa. En una red neuronal, cada unidad individual se denomina neurona y se representa como un nodo en el grafo de la red. La Figura 4.5 muestra la estructura de una neurona artificial y también se destacan las similitudes con las neuronas biológicas en la parte superior de la figura. Figura 4.5 Modelo de una neurona artificial. Cada nodo realiza una suma ponderada de sus entradas y luego son procesadas por una función de activación, denotada como f . Esta función determina la señal de salida de la neurona, denotada como y . La función de activación permite que las neuronas cambien su nivel de activación en base a las señales que reciben. El nivel de activación, que representa el estado interno de la neurona, depende de las entradas recibidas y de los pesos sinápticos, pero no de los valores anteriores de
4.3 Redes neuronales artificiales 35 activación. La ecuación general para el cálculo de la salida de una neurona artificial: y=f n ∑ i=1 wi·xi+b!(4.19) Donde: •xison las entradas a la neurona artificial. •yes la salida de la neurona artificial. •f(·)es la función de activación. •wison los pesos sinápticos asociados a las entradas xi. •bes el sesgo (bias) de la neurona. •nes el número de entradas a la neurona. La función de activación es un componente fundamental de una neurona, ya que define su comportamiento, las más usadas son: 1. Función identidad (identity): La neurona artificial propaga el mismo valor aplicar ninguna transformación. Es muy usado en problemas de regresión en la capa de salida. f(x) = x(4.20) 2. Función escalón (threshold): también conocida como función de Heaviside, es una función de tipo binaria donde cualquier salida con valor negativo es propagado como un 0, mientras que todo valor positivo incluyendo el 0 es propagado como 1. f(x) = 0si x <0 1si x ≥0 (4.21) 3. Función sigmoide (sigm): Función continua que devuelve un valor de salida en el rango de 0 a 1 para cualquier valor de entrada. Es muy utilizada en problemas de clasificación binaria o problemas en los que se requiere una salida en forma de probabilidad. f(x) = 1 1+e−x(4.22) 4. Función rectificadora (ReLU): La función de activación ReLU activa la salida de una neurona solo si la entrada está por encima de cierto umbral. El comportamiento por defecto es que retorna el valor 0 para cualquier valor negativo de entrada, mientras que retorna el valor de entrada si es positivo. Es una función no lineal muy utilizada en redes neuronales debido a
36 Capítulo 4. Metodologia su eficiencia computacional y su capacidad para resolver problemas de aprendizaje profundo. Esta función, a diferencia de las dos anteriores, no está acotada. f(x) = max(0,x)(4.23) La función de activación Leaky ReLU es una variante de la función ReLU (Rectified Linear Unit) que introduce una pequeña pendiente positiva para los valores negativos en lugar de tener una pendiente plana. Esta función es especialmente útil en tareas donde se pueden presentar gradientes dispersos o problemas de desvanecimiento de gradientes. En lugar de hacer que los valores negativos sean directamente cero, como lo hace la función ReLU, la función Leaky ReLU permite que una fracción pequeña de la entrada negativa pase a través de la función. Esto ayuda a prevenir la saturación de la neurona y permite un flujo más suave de los gradientes durante el proceso de retropropagación en el entrenamiento de una red neuronal. 5. Función tangente hiperbólica (tanh). Esta función es muy similar a la sigmoidal pero produce una salida en el rango de -1 a 1. f(x) = 1−e−2x 1+e−2x(4.24) 4.3.2 Redes Neuronales Convolucionales Una red neuronal convolucional (en inglés, Convolutional Neural Network (CNN)), es un tipo de red que se utiliza principalmente para procesar datos de dos dimensiones, como imágenes. Está diseñada para extraer características relevantes de las imágenes mediante la aplicación de la operación de convolución. En la actualidad se utilizan ampliamente en diversas aplicaciones, como reconocimiento de objetos, segmentación semántica, superresolución de imágenes. Las CNN son normalmente compuestas por varias capas: • Capas de convolución: la capa principal y fundamental es la capa de convolución. Esta capa es esencial en las CNNs y se utiliza una o varias capas de este tipo en estas redes. La operación central realizada por esta capa es la convolución. La convolución es una operación matemática que combina los valores de píxeles de una imagen deslizando un filtro o núcleo (una matriz de pesos) sobre la entrada y se realiza una combinación lineal de los valores del filtro con los valores correspondientes de la región de la entrada cubierta por el filtro. El resultado de esta combinación lineal se coloca en una nueva matriz llamada mapa de características. Este mapa de características resalta patrones locales en la imagen, como bordes, texturas o formas, que son importantes para tareas como el reconocimiento de objetos o la clasificación de imágenes. x∗K=y[i,j] = M ∑ m=0 [ N ∑ n=0 x(m,n)×w(i−m,j−n)] (4.25) En la ecuación 4.25, se muestra la operación de convolución en una red neuronal convolucional. En esta ecuación, x representa la imagen de entrada con dimensiones N×M píxeles,
4.3 Redes neuronales artificiales 37 w es el filtro o kernel que se aplica en la convolución, y y es el resultado de la convolución, también conocido como mapa de características. El objetivo de la red neuronal convolucional es aprender los valores de los pesos del filtro w durante el proceso de entrenamiento. Estos pesos representan los filtros que se activan en presencia de características específicas en regiones particulares de la imagen de entrada. A medida que la red se entrena con un conjunto de datos, ajusta los valores de los pesos para identificar y resaltar las características relevantes en la imagen. • Capa de activación: Después de la capa de convolución en una red neuronal convolucional, se aplica una función de activación, como ReLU (Rectified Linear Unit), a la salida de la convolución. Esta etapa es importante para introducir no linealidades en la red y permitir a la red neuronal convolucional aprender y modelar relaciones no lineales en los datos de entrada. • Capa de agrupación: se suelen colocar capas de agrupación (también conocidas como capas de pooling) entre dos capas convolucionales. Estas capas tienen como objetivo reducir la información espacial y prevenir el sobreajuste en la red, al mismo tiempo que proporcionan cierta invarianza a la traslación. La operación de agrupación se realiza de manera similar a la convolución, pero en lugar de utilizar filtros ponderados, se aplica una operación específica en pequeñas regiones de la imagen de entrada. Una técnica comúnmente utilizada es el Maxpooling, en la cual se selecciona el valor máximo dentro de cada subregión no superpuesta de la matriz inicial. El Max-pooling reduce la dimensionalidad de la imagen de entrada al tomar solo el valor máximo de cada subregión, descartando así información menos relevante y conservando características importantes. Esto ayuda a mantener la invarianza a pequeñas traslaciones y a reducir el costo computacional de la red. • Capa densamente conectada: En las redes neuronales convolucionales (CNN), es común utilizar una combinación de arquitecturas al pasar los mapas de características a una red neuronal densa. Esto implica reducir la dimensionalidad de los datos de 2D a 1D. A esta combinación de arquitecturas se le conoce como Red Neuronal Convolucional Densa. Una vez que se obtienen los mapas de características a través de las capas convolucionales, se utilizan como entrada en una red neuronal densa. En la red neuronal densa, todas las neuronas de la capa anterior están conectadas a todas las neuronas de la siguiente capa. Esto permite la combinación de características de alto nivel extraídas por las capas convolucionales. 4.3.3 Entrenamiento El entrenamiento de una red neuronal consiste en ajustar los parámetros (pesos y sesgos) de la red para que la salida se acerque lo más posible al resultado deseado. Por razones matemáticas es un proceso iterativo. Inicialmente, los parámetros se establecen de forma aleatoria y, a medida que la red se expone a los datos de entrenamiento, se actualizan para reducir la diferencia entre la predicción y el objetivo. Esta diferencia se cuantifica utilizando una función de pérdida. Las iteraciones del proceso de entrenamiento son un recorrido sobre la superficie de error y el objetivo del entrenamiento es minimizar la función de pérdida. Para lograr esto, se utiliza un algoritmo de optimización capaz de resolver un problema de minimización no lineal. El algoritmo más comúnmente utilizado es el descenso de gradiente. En el descenso de gradiente, se calcula la
38 Capítulo 4. Metodologia Figura 4.6 Ejemplo de una Red Neuronal Convolucional Densa con Operación de Maxpool 2X2. dirección y la magnitud del cambio necesario para reducir el error de la red neuronal. Esto se logra mediante el cálculo del gradiente de la función de pérdida, que representa cómo varía la función de pérdida con respecto a cada uno de los parámetros de la red. A continuación, se ajustan los parámetros de la red en la dirección opuesta al gradiente, lo que significa que se actualizan de manera que el error disminuya. El proceso se repite iterativamente, calculando el gradiente y actualizando los parámetros en cada iteración. A medida que avanza el descenso de gradiente, los parámetros se ajustan en pequeños pasos, lo que permite que la red se acerque gradualmente al mínimo de la función de pérdida. Esto lleva a una reducción progresiva del error y una mejora en el rendimiento de la red neuronal. Este algoritmo utiliza la propagación hacia atrás, también conocida como backpropagation. Consiste en calcular el error de la capa final y propagarlo hacia atrás a través de las capas anteriores, utilizando la regla de la cadena para calcular la contribución de cada parámetro en el error. La retropropagación se basa en la idea de que el error de una capa anterior depende de la capa posterior. En conclusión, el aprendizaje de una red neuronal implica ajustar los parámetros de la red utilizando el algoritmo de descenso de gradiente. Este algoritmo utiliza la retropropagación para calcular el error de cada capa y actualizar los parámetros en la dirección que reduce el error. De esta manera, la red neuronal puede aprender a aproximar las salidas deseadas a partir de los datos de entrenamiento. 4.4 Deep Q-Learning El algoritmo Q-Learning puede sufrir la maldición de la dimensionalidad en dominios donde los espacios de estados son de alta dimensión [ 57 ]. Esto se debe a que la construcción y mantenimiento de una tabla de valores para cada par estado-acción puede volverse computacionalmente
4.4 Deep Q-Learning 39 inmanejable. Para abordar este desafío, es común utilizar un aproximador no lineal de funciones, como una red neuronal, para estimar la función estado-acción. En lugar de almacenar los valores Q en una tabla, la red neuronal puede aprender a mapear directamente los estados a sus respectivas acciones y estimar los valores Q correspondientes, Q(s,a)≈Q(s,a;θ)(4.26) donde el conjunto de parámetros θson los pesos de la red neuronal. El uso de una red neuronal como aproximador de funciones permite gestionar eficientemente espacios de estados de alta dimensión, ya que la red puede generalizar y aprender patrones complejos en los datos de entrada. La red neuronal toma el estado actual como entrada y produce una salida que representa los valores Q para cada acción posible en ese estado. Al utilizar una red neuronal en lugar de una tabla de valores, el algoritmo Q-Learning puede ser aplicado en problemas más complejos y con mayores dimensiones de estado, lo que amplía su aplicabilidad en una variedad de dominios de aprendizaje por refuerzo. La ecuación de actualización en este caso se representa mediante la ecuación 4.27. Q(s,a;θ) = Q(s,a;θ)+α∗(Qtarget −Q(s,a;θ)) (4.27) En esta ecuación, Q(s,a;θ) representa la función de valor Q para un par estado-acción dado, parametrizada por los pesos de la red neuronal θ . La actualización se realiza ajustando los pesos θ en la dirección del gradiente descendente de la función de pérdida, que es la diferencia entre el valor objetivo Qtarget y el valor actual Q(s,a;θ) multiplicada por el learning rate α . El valor objetivo Qtarget se calcula utilizando la ecuación 4.28. Donde r representa la recompensa obtenida al tomar la acción a en el estado s , γ es el factor de descuento que pondera la importancia de las recompensas futuras, y m´ ax a′Q(s′,a′;θ) es el máximo valor de Q para el siguiente estado s′ considerando todas las posibles acciones a′: Qtarget =r+γ∗m´ ax a′Q(s′,a′;θ)(4.28) La red neuronal se entrena minimizando una función de pérdida L(θ) en cada iteración, como se muestra en la ecuación 4.29. Esta función de pérdida representa la discrepancia entre el valor objetivo Qtarget y el valor actual Q(s,a;θ) , y se utiliza para actualizar los pesos θ de la red mediante técnicas de optimización como el descenso de gradiente: L(θ) = L(Qtarget,Q(s,a;θ)) (4.29) Cuando se utiliza una red neuronal para representar la función Q en el aprendizaje por refuerzo, pueden surgir problemas de inestabilidad o divergencia de los pesos de la red. Esto puede ocurrir debido a varias razones. Una de las razones es la correlación existente entre la acción tomada y el estado actual, así como la secuencia de observaciones en un entorno complejo. Esto significa que las actualizaciones de los pesos de la red pueden basarse en datos altamente correlacionados, lo que puede dificultar la convergencia y provocar inestabilidad. Además, pequeñas actualizaciones en la función Q pueden tener un impacto significativo en la política de toma de decisiones, lo que a su vez puede cambiar la distribución de los datos utilizados para entrenar la red. Esto puede
40 Capítulo 4. Metodologia generar cambios abruptos en los valores estimados por la red y dificultar la convergencia hacia una solución estable. En el artículo mencionado [ 58 ], se utiliza una red neuronal convolucional como aproximador en un algoritmo de aprendizaje por refuerzo llamado DQN (Deep Q-Network) para lograr un rendimiento comparable al humano en los juegos de Atari 2600. Este trabajo fue considerado un avance significativo en el campo, ya que abordaron las inestabilidades y desafíos asociados con el uso de redes neuronales en el aprendizaje por refuerzo. Para superar las dificultades mencionadas anteriormente, los autores propusieron dos ideas clave: el experience replay y la target network. 4.4.1 Experience Replay En el contexto del aprendizaje continuo, puede ocurrir un fenómeno llamado olvido catastrófico. Esto sucede cuando un modelo de aprendizaje, como una red neuronal, olvida completamente el conocimiento adquirido previamente al aprender nuevas tareas o ejemplos. En otras palabras, el modelo pierde la capacidad de generalizar adecuadamente en una tarea después de ser entrenado en una nueva tarea. Este problema de interferencia catastrófica puede ser problemático en escenarios de aprendizaje continuo, donde se requiere que el agente se adapte y aprenda nuevas tareas sin olvidar completamente el conocimiento previo. Si el modelo reemplaza completamente lo que ha aprendido anteriormente con nuevos datos, no podrá utilizar ese conocimiento previo para mejorar su desempeño en nuevas situaciones. Para abordar este problema, es importante utilizar técnicas como el Experience Replay. Consiste en almacenar las experiencias pasadas del agente en un búfer de memoria, formadas por tuplas que contienen el estado actual (s) , la acción tomada (a) , la recompensa obtenida (r) , y el estado siguiente (s′) . El Experience Replay también se utiliza para abordar el problema de la correlación entre observaciones sucesivas en el aprendizaje por refuerzo. En lugar de actualizar los parámetros de la red neuronal inmediatamente después de cada interacción con el entorno, se seleccionan al azar varias experiencias del búfer de memoria, incluyendo algunas más recientes. Estas experiencias seleccionadas se utilizan para actualizar los parámetros de la red, lo que permite que el agente aprenda de una variedad de situaciones pasadas. El tamaño del búfer de memoria es fijo, y a medida que el agente interactúa con el entorno, se van guardando las experiencias más recientes y se eliminan las más antiguas para mantener el tamaño constante. El deque (doble-ended queue) es una estructura de datos proporcionada por la librería collections de Python que utilizaremos para almacenar las experiencias del agente en el Experience Replay. Se comporta como una lista con un tamaño máximo predefinido. Cuando el deque está lleno y se intenta añadir un nuevo elemento, se desplaza automáticamente su contenido hacia la izquierda, eliminando el primer elemento y haciendo espacio para el nuevo elemento al final de la lista. Esta funcionalidad permite mantener un historial limitado de experiencias pasadas en el deque, asegurando que siempre tengamos las últimas y más relevantes experiencias almacenadas. Además, al ser un deque, también podemos acceder eficientemente tanto al principio como al final de la lista. 4.4.2 Target Network Si el agente encuentra estados muy similares en secuencia pero con recompensas distintas, el proceso de actualización de los parámetros de la red puede volverse inestable. Esto se debe a que la
4.4 Deep Q-Learning 41 Figura 4.7 Esquema del algoritmo DQN. red tiene dificultades para distinguir entre estos estados similares y puede producir actualizaciones erráticas de los pesos en cada paso temporal. Para lograr esto, crearon una copia de los parámetros de la red neuronal al inicio del entrenamiento, denotada como θ− . Estos parámetros se actualizan solo cada C pasos y se mantienen fijos entre las actualizaciones individuales, mientras que los parámetros de la red principal Q , denotados como θ , se actualizan regularmente. Este retraso en la actualización permite disminuir el impacto de las actualizaciones recientes en la selección de acciones, lo que conduce a una mayor estabilidad en el aprendizaje. Los parámetros θ− serán usados para calcular Qtarget , que ahora es otra red neuronal. Cabe destacar que nunca se retropropaga en la target network, sólo en la principal. Qtarget(s,a)≈Qtarget(s,a;θ−)(4.30) La función de pérdida quedaría como sigue: Li(θi) = E (s,a,r,s′)∽U(D)[(r+γ∗m´ ax a′Qtarget(s′,a′;θ− i)−Q(s,a;θi))2](4.31) En el algoritmo Q-Learning existe un problema conocido como sobreestimación de los valores de acción. Esto ocurre debido a que se utiliza una operación de maximización sobre los valores de acción estimados, lo que tiende a favorecer los valores sobreestimados en lugar de los subestimados. Esto puede llevar a que el agente aprenda valores de acción poco realistas. Los autores de [ 7 ] demuestran que incluso el algoritmo DQN, que utiliza una red neuronal profunda para estimar los valores de acción, puede sufrir de sobreestimación sustancial de los valores. La solución que propusieron, fue utilizar la red neuronal principal para seleccionar la acción óptima en el estado siguiente y luego utiliza la target network para estimar el valor correspondiente a esa acción, esta variante la denominaron Double-DQN. La fórmula de Double-DQN se puede expresar de la siguiente manera:
42 Capítulo 4. Metodologia Q(s,a;θ) = Q(s,a;θ)+αr+γ∗Qs′,argm´ ax a′ Q(s′,a′;θ);θ−−Q(s,a;θ)(4.32) El algoritmo Double-DQN se usará en este trabajo, en la Figura 4.7 se muestra el esquema del algoritmo DQN y en Algorithm 2 se muestra el pseudocódigo. Algorithm 2 Algoritmo Double Deep Q-Network Inicialización aleatoria de los pesos θde la función Q(s,a;θ); Copiamos los pesos θde la función Q(s,a;θ)en θen θ∗de Qtarget(s′,a′;θ∗ i); Inicializamosepoch ←0; while epoch <epochMAX do step ←0; Reseteamos el escenario y obtenemos el estado s; while step <stepMAX do Tomamos una acción a mediante una política ε-greedy basada en Q(s,a;θ); Aplicamos a y adquirimos el nuevo estado del escenario s′y la recompensa r; Guardamos (s,a,r,s′)en el replay memory; if replay memory tiene más de N experiencias then experiencias ←N experiencias (s,a,r,s′)de replay memory; for (s,a,r,s′)in expxeriencias do if hemos llegado al estado terminal then yi=r else yi=r+γ∗Q(s′,argm´ ax a′ Q(s′,a′;θ);θ−) end if Actualizamos los parámetros θusando el algoritmo de descenso del gradiente para minimizar la función de pérdida: Li(θi) = (yi−Q(s,a;θi))2 end for end if step ←step +1; end while Actualizamos θ∗cada n episodios: θ∗←θ; epoch ←epoch +1; end while 4.4.3 Dueling Network La arquitectura de red denominada Dueling Network, propuesta en el artículo [ 59 ], tiene como objetivo separar explícitamente la estimación de los valores de estado y las ventajas de las acciones en el aprendizaje por refuerzo. En esta arquitectura, se utilizan dos flujos de información que comparten un módulo común de aprendizaje de características. Estos flujos representan la función
4.5 Ley de Recompensa 43 de valor del estado actual y la función de ventaja, respectivamente. Luego, se combinan utilizando una capa especial de agregación para obtener la estimación de la función de valor estado-acción Q. La fórmula general para el cálculo de Qen la arquitectura Dueling Network es la siguiente: Q(s,a;θ) = V(s;θ′) + A(s,a;θ′′)−1 |A|∑ a′ A(s,a′;θ′′)!(4.33) Donde: •V(s;θ′)es la estimación de la función de valor del estado actual. •A(s,a;θ′′) es la estimación de la función de ventaja al realizar la acción a en el estado s con respecto a las demás acciones posibles. •θrepresenta los parámetros de la red neuronal. •θ′ y θ′′ son los conjuntos de parámetros separados utilizados para estimar V y A respectivamente. La adición de la línea de base de A en la fórmula (4.33) permite obtener una estimación más precisa de la función Q al tener en cuenta el promedio de las ventajas de todas las acciones posibles en el estado dado. Esto ayuda a separar la estimación del valor del estado de la influencia de las diferentes acciones. La arquitectura Dueling Network permite aprender de manera más eficiente qué estados son valiosos y cuáles no, sin necesidad de estimar el efecto de cada acción para cada estado. Esto resulta especialmente útil en situaciones en las que las acciones no tienen un impacto relevante en el entorno [59]. 4.5 Ley de Recompensa Para guiar al agente hacia el comportamiento óptimo, es necesario diseñar una función de recompensa que incentive a los agentes a cumplir con los siguientes objetivos: 1. La primera fase del patrullaje debe ser completamente exploratoria y la flota de agentes debe visitar de forma coordinada todo el mapa. 2. Después de medir la información en todo el lago en la primera fase, los agentes deben pasar a una fase explotativa donde se tiene en cuenta la importancia de cada zona. 3. Penalizar que los agentes tomen medidas en la misma zona del mapa. 4. Se deben evitar colisiones entre los vehículos. 4.5.1 Retos del problema multiagente Cuando hay un solo agente, éste puede aprender de manera estable en un entorno estocástico porque puede atribuir las transiciones de estado a sus propias acciones. Sin embargo, cuando múltiples agentes interactúan en el mismo entorno sin conocimiento sobre las acciones conjuntas futuras, cada agente ve a los demás agentes como parte del entorno. Como resultado, el entorno
50 Capítulo 4. Metodologia 5. Se toman en cuenta las acciones ilegales mediante la asignación de una recompensa negativa (-1 en este caso, Cilegal =1 ) cada vez que se realizan acciones ilegales. Esto sirve como una penalización para desincentivar al agente a realizar acciones no permitidas. 6. Se multiplica por 0.2 el sumatorio de las recompensas obtenidas en la fase exploratoria. Esto se hace para que las recompensas de la fase exploratoria no sean significativamente mayores que las recompensas de la fase explotativa. El valor de 0.2 se ha determinado empíricamente para lograr un equilibrio adecuado entre las dos fases del proceso de patrullaje. 4.5.4 Recompensa a la explotación A medida que los vehículos toman medidas en cada celda, guardan el valor de la última medida en cada celda en una matriz que denominaremos I . Esta será el modelo del mapa de contaminación del lago y se denominará matriz de importancia. La matriz de importancia relativa, IR en el instante t, será el producto elemento a elemento (producto Hadamard) de las matrices WtyIt IRt=Wt◦It(4.47) La matriz IR se puede visualizar como un mapa de calor, donde las zonas más frías representan un bajo interés relativo, mientras que las zonas más calientes indican un alto interés relativo. Esta representación gráfica proporciona información sobre las zonas del mapa que son más relevantes en términos de importancia. A continuación, se muestra la recompensa de explotación que recibe un agente i (pertenece a un conjunto de agentes N ) cuando se realiza una acción conjunta a en el paso t. 1. Recompensa local: Ri t= Ri t=∑M m=0∑N n=0 IRi t(m,n) r×RMi t(m,n)si la accion es legal Ri t=−Cilegal si la accion no es legal (4.48) 2. Diferencia de recompensas: Ri t= M ∑ m=0 N ∑ n=0 CMt(m,n)×IRt(m,n) r×RMt(m,n)(4.49) R−i t= M ∑ m=0 N ∑ n=0 IR−i t(m,n) r×RM−i t(m,n)(4.50) Ri t=Ri t=Rt−R−i tsi la accion es legal Ri t=−Cilegal si la accion no es legal (4.51) La ecuación (4.48) describe los aspectos clave en el diseño de la función de recompensa para mejorar la eficacia de la fase del patrullaje informativo: 1. Se tiene en cuenta la importancia de cada zona porque se utiliza la matriz IRt y por tanto no se busca una cobertura homogénea el mapa, sino visitar con más frecuencia las zonas contaminadas
4.6 Representación del estado 51 2. Se han implementado los siguientes aspectos de la misma manera que en la recompensa de exploración: en el caso de que varios agentes realicen medidas en la misma celda, se comparte la información contenida en esa celda. Además, se realiza una normalización de las recompensas obtenidas con diferentes radios de detección para que sean comparables entre sí. Aunque se utilizan matrices globales en el cálculo de las recompensas, solo se tiene en cuenta la información dentro del área de detección del vehículo. 3. Al igual que en la fase explorativa: se toman en cuenta las acciones ilegales mediante la asignación de una recompensa negativa (-1 en este caso, Cilegal =1 ) cada vez que se realizan acciones ilegales. 4.6 Representación del estado El estado es una representación del entorno en la que el agente se encuentra y es la información que tiene disponible para tomar decisiones. Es a través del estado que el agente percibe y entiende su entorno, y utiliza esta información para interactuar y tomar acciones. La forma en que se representa el estado es crucial, ya que afecta directamente el desempeño del agente y su capacidad para aprender y adaptarse al entorno. Una representación adecuada del estado proporciona al agente la información necesaria para tomar decisiones efectivas y lograr buenos resultados en su tarea. Primeramente, en nuestro entorno de simulación, el agente tiene información parcial sobre la contaminación del lago, ya que no conoce la contaminación de las celdas que nunca ha visitado. El agente mantiene un modelo de sensor para estimar la distribución de probabilidad de las observaciones. Sin embargo, en nuestro escenario, el agente solo utiliza la última información conocida sobre la contaminación de una celda para tomar decisiones. Además, para simular la dinámica de la floración de algas y su arrastre por el viento, hemos implementado una simulación en la que el mapa de contaminación del lago cambia de un paso a otro. El pico de interés se desplaza y algunas zonas cercanas al pico pueden experimentar un crecimiento en la concentración de algas. Esto introduce un elemento de cambio y dinamismo en el entorno, lo que requiere que el agente se adapte y tome decisiones actualizadas en cada paso. Por otro lado, los agentes deben saber la posición suya y la de los demás agentes, además de que tanto el modelo del mapa de contaminación, como la importancia relativa en el entorno debe ser el de la flota de agentes. Cada estado de cada agente se diferenciará por la posición, ya que es ilegal que dos o más agentes tomen la misma celda, y la posición de los demás agentes. En nuestro escenario, cada agente debe tener conocimiento de su propia posición y la posición de los demás agentes. Esto es crucial para evitar colisiones entre agentes y garantizar un comportamiento seguro y eficiente. Cada agente tiene un estado que se compone de su posición individual, así como la posición de los demás agentes en el entorno y el modelo del mapa de contaminación y la importancia relativa. Todos los agentes tienen acceso a la misma información sobre el mapa de contaminación y la importancia relativa, por lo cual estos son compartidos por todos los agentes de la flota. 4.6.1 Estados comunes para todos los agentes • Mapa del lago: Representa la superficie del lago Ypacaraí y las áreas circundantes en forma de una cuadrícula. Cada celda del mapa tiene un valor binario que indica si es navegable
52 Capítulo 4. Metodologia (valor 1) o si corresponde a tierra (valor 0). El mapa se genera a partir de un archivo CSV que se crea utilizando una combinación de un mapa original y un ajuste manual para seleccionar solo las áreas navegables. Figura 4.8 Mapa del lago. • Idleness del mapa: Se genera una imagen del mismo tamaño que el grid-map y se calcula el idleness de cada celda según las visitas que han realizado los agentes en la flota. Esto permite que un agente pieda interés en una zona que ya ha visitado otro agente recientemente. La Figura 4.9 muestra un mapa donde las posiciones más recientemente visitadas están representadas por colores cálidos o rojos, mientras que las posiciones que no han sido visitadas en mucho tiempo están representadas por colores más fríos o azules. Figura 4.9 Mapa del idleness en el lago.
4.6 Representación del estado 53 • Modelo de la contaminación del lago: A medida que los agentes visitan cada celda, recopilan información sobre el nivel de contaminación en esa zona. Este modelo de contaminación se actualiza a medida que se realizan nuevas mediciones. Se asume que las mediciones son precisas y que las zonas no visitadas tienen la misma información que la última medición realizada. Este estado permite a los agentes tener conocimiento de la contaminación del lago y tomar decisiones informadas durante la fase de explotación. Figura 4.10 Mapa del idleness en el lago. En la Figura 4.10, se puede observar cómo el agente registra la información en cada celda que ha visitado. Las celdas en blanco representan las que el agente aún no ha explorado, mientras que las celdas verdes indican un mayor nivel de interés. Cuanto más intenso sea el color verde, mayor será el interés en esa zona específica del entorno. Aunque en las zonas azules existe un interés casi nulo, es importante destacar siguen teniendo cierto nivel mínimo de interés. Esto se debe a que el agente no recibiría ninguna recompensa en una zona donde el interés es cero, incluso si el nivel de idleness es alto. Estos estados comunes garantizan que todos los agentes tengan acceso a la misma información sobre el entorno y puedan coordinar sus acciones de manera efectiva. 4.6.2 Estados únicos a cada agente En este escenario, cada agente tiene acceso a información única que se refiere a su propia posición y la posición de los demás agentes. Estos estados únicos se representan mediante imágenes binarias, que se describen a continuación: • Posición del agente: Es una imagen binaria donde todas las celdas tienen un valor de cero, excepto la celda en la que se encuentra el agente. Esta imagen proporciona información específica sobre la ubicación actual del agente y le permite tomar decisiones basadas en su propia posición.
54 Capítulo 4. Metodologia Figura 4.12 Posición de los otros agentes. Figura 4.11 Posición del agente. • Posición de los demás agentes: Es una imagen binaria donde todas las celdas tienen un valor de cero, excepto las celdas que corresponden a la ubicación de los demás agentes en el entorno. Esta imagen permite que cada agente tenga conocimiento de la posición de los demás agentes y evite colisiones o coordine sus acciones de manera adecuada. 4.7 Agente 4.7.1 Red neuronal del agente En nuestra arquitectura de red neuronal, llamada Dueling Multihead, utilizamos una red convolucional densa con dos heads (terminaciones paralelas), donde cada head está asociada a una tarea
4.7 Agente 55 específica: la fase de exploración y la fase de explotación. Cada head tiene su propia capa de salida y parámetros, lo que permite que la red aprenda y optimice estas dos tareas de forma independiente. Esto permite que la red neuronal aprenda y optimice diferentes tareas simultáneamente. Cada head tiene su propia función de pérdida y se ajustan los pesos de cada head independientemente durante el entrenamiento. En el bloque compartido de la red convolucional (Feature extractor), se extraen características comunes que son útiles para ambas tareas. Estas características compartidas se aprenden durante el entrenamiento y se utilizan en las heads individuales para generar las salidas correspondientes a cada tarea. Se han explorado diferentes arquitecturas de redes neuronales para evaluar su rendimiento en el algoritmo y determinar si el número de capas compartidas tiene algún impacto en el desempeño. Se han evaluado dos arquitecturas de capa convolucional, denominadas "Net0" y "Net1". La principal diferencia entre ambas radica en que "Net1" cuenta con una capa adicional, y además la capa de entrada de esta arquitectura posee el doble de filtros de salida en comparación con "Net0". Esto significa que "Net1" debería tener una mayor capacidad de aprendizaje y procesamiento de características en las capas convolucionales. Tabla 4.1 Arquitecturas de la red "Net0". Net0 NºFiltros de entrada NºFiltros de salida Kernel size Primera capa 5 64 3 Segunda capa 64 32 3 Tercera capa 32 16 3 Tabla 4.2 Arquitecturas de la red "Net1". Net1 NºFiltros de entrada NºFiltros de salida Kernel size Primera capa 5 128 3 Segunda capa 128 64 3 Tercera capa 64 32 3 Cuarta capa 32 16 3 En las heads de las arquitecturas consideradas, denominadas "Arch0" y "Arch1", existen diferencias en la forma en que se organizan las capas densas. En "Arch0", la capa densa que recibe la salida de las capas convolucionales es compartida entre ambas heads. Luego, cada head utiliza una arquitectura Dueling para calcular su propia función Q, donde se separa la estimación de la función de valor del estado actual y la estimación de la función de ventaja. En cambio, en "Arch1", las dos heads no comparten ninguna capa densa, lo que implica que cada head tiene su propia capa densa independiente. Después de recibir la salida de las capas convolucionales, la capa densa aplica una función de activación ReLU a esa salida. A continuación, se agregan dos capas más a esta capa densa.
56 Capítulo 4. Metodologia Tabla 4.3 Arquitecturas de la capa densa. Dense NºNeuronas de entrada Nºneuronas de salida Función de activación Primera capa - - ReLU Segunda capa 256 256 ReLU Tercera capa 256 256 ReLU La parte del Dueling que calcula función de ventaja de acciones es la siguiente: Tabla 4.4 Arquitecturas de la capa función de ventaja. Advantage NºNeuronas de entrada Nºneuronas de salida Función de activación Primera capa 256 64 ReLU Segunda capa 64 5 ReLU Por otro lado, la parte del Dueling que calcula función de valor del estado es la siguiente: Tabla 4.5 Arquitecturas de la capa función de valor del estado. Value NºNeuronas de entrada Nºneuronas de salida Función de activación Primera capa 256 64 ReLU Segunda capa 64 1 ReLU Por lo tanto, la arquitecturas "Arch0" y "Arch1" serían: • Arch0: La capa densa de la Tabla 4.3 es única y la separación en dos heads comienza con la arquitectura Dueling. – Head de fase exploración/explotación: Calcular la función Q tal y como indica la Ecuación 4.33 con los valores de las capas de las tablas 4.4 y 4.5. • Arch1: La capa densa de la Tabla 4.3 no es compartida y cada head tiene su propia capa densa. La separación en dos heads comienza a la salida de la red convolucional. Para referirse a una red completa, que sería una combinación de las arquitecturas, se utiliza la notación "Netx-Archx", siendo x0 o 1.: 4.7.2 Transición entre fases exploratoria y explotativa Nuestro enfoque innovador consiste en utilizar una variable llamada ν para controlar la transición suave entre las fases exploratoria y explotativa. Esta variable determina la probabilidad de seleccionar una acción de la política exploratoria o explotativa. Cuando ν es igual a 1, se elige la acción con el mayor valor de las salidas de la head que calcula la función Q en la fase exploratoria. Por otro lado, cuando ν es igual a 0, se eligen las acciones de la salida de la head explotativa. Un valor distinto de ν de 0 o 1 permite ajustar la probabilidad de seleccionar una acción de la
4.7 Agente 57 política exploratoria o explotativa. Este enfoque nos permite controlar de forma flexible y suave la transición entre las fases, adaptando la exploración y la explotación según sea necesario. Figura 4.13 Valores de nu a lo largo del episodio. Este mecanismo de transición basado en ν es una contribución científica original, ya que hasta donde tenemos conocimiento, no se había propuesto anteriormente en la literatura. Proporciona una forma novedosa y efectiva de manejar la transición entre las fases exploratoria y explotativa en el contexto del aprendizaje por refuerzo. Además, este enfoque cumple con la propiedad de que si se seleccionan intervalos equitativos entre la duración de la fase de exploración y la fase de explotación durante el entrenamiento, el agente aprende a generalizar y puede adaptarse a otros intervalos sin haber sido entrenado específicamente con ellos. En la Figura 4.13 se muestra cómo evoluciona ν a lo largo de un episodio. Durante los primeros 30% del episodio, ν es igual a 1, lo que indica que se seleccionan exclusivamente acciones exploratorias. Luego se produce una transición gradual hacia acciones más explotativas. A partir del 60% del episodio, ν se mantiene constante en 0 hasta el final, lo que implica que se sigue una política completamente explotativa. 4.7.3 Evitación de colisiones Hemos implementado medidas para garantizar que nuestros agentes puedan identificar y evitar la orilla del lago, así como evitar la colisión con otros agentes en el escenario multiagente. Para evitar la colisión con la orilla del lago, hemos creado una máscara que impide que el agente elija acciones que lo lleven a celdas no navegables. Si el agente intenta ir a una celda no navegable, se selecciona la siguiente acción con la mayor valoración Q que no resulte en una colisión. Este enfoque nos permite garantizar que el agente evite la orilla y se mantenga en áreas navegables. En cuanto a la colisión entre agentes, hemos establecido que las acciones que resulten en colisiones sean consideradas ilegales. Estas acciones ilegales se penalizan en la ley de recompensa mediante
58 Capítulo 4. Metodologia el parámetro Cilegal . Además, hemos configurado el entorno para que un episodio se termine después de un número predeterminado de colisiones. Esto ayuda a evitar que los agentes intenten ir al mismo lugar y colisionen entre sí.
5 Resultados En este Capítulo se analiza el comportamiento de nuestro sistema en las siguientes circunstancias: • Recompensa Local: Analizaremos el problema de patrullaje cuando cada agente recibe una recompensa local. • Diferencia de recompensas: Análisis del problema del patrullaje en el caso en el que cada agente recibe una diferencia de recompensas. • Cambio de valores de ν : Comprobar si el algoritmo puede generalizar y adaptarse a otros intervalos de νdistintos de los utilizados durante el entrenamiento. El algoritmo ha sido implementado en Python, utilizando la librería PyTorch para la construcción de la red neuronal. El entorno de simulación se ha basado en la librería Gym, mientras que las operaciones numéricas y matriciales se han realizado con las librerías NumPy y SciPy. Para la visualización gráfica del entorno y las métricas, se ha utilizado Matplotlib junto con Pandas y Seaborn. El buffer de experiencias se ha implementado utilizando la estructura de datos deque de la librería collections. El código y los resultados del algoritmo se encuentran disponibles en el repositorio de GitHub: https:// github.com/ dsdiop/ MultiAgentPatrollingProblem. Los hiperparámetros de entrenamiento se muestran en la Tabla 5.1. El parámetro ν−intervals define cuatro puntos específicos a lo largo de la duración total de un episodio en los cuales se debe establecer un valor particular para el parámetro ν . Cada punto está representado por un par de valores: el primero es el instante en el que se debe alcanzar ese punto, expresado como un porcentaje de la duración total del episodio, y el segundo es el valor de ν que se debe utilizar en ese instante. Estos puntos se utilizan para definir una función escalonada que determina cómo se ajusta el valor de ν a lo largo del tiempo en un episodio. La función escalonada se crea estableciendo los valores de ν en los puntos específicos y luego interpolando linealmente entre ellos. En la Figura 5.1 se muestra gráficamente como evoluciona el valor nu en un episodio con el valor de ν−intervals elegido en la Tabla 5.1. 59
66 Capítulo 5. Resultados "Net0-arch0" tiene una menor cobertura en comparación con las otras arquitecturas. Por otro lado, aunque la cobertura es total, se puede apreciar que no es perfectamente homogénea, ya que en algunos casos los agentes se dirigen al mismo lugar, lo que indica que la coordinación entre ellos no es óptima. (a) Mapa de visitas Net0- Arch0 (b) Mapa de visitas Net0- Arch1 (c) Mapa de visitas Net1- Arch0 (d) Mapa de visitas Net1- Arch1 Figura 5.7 Mapa de visitas fase de explotación. En la Figura 5.7 se puede observar que los agentes tienden a concentrarse en algunas zonas más que en otras durante la fase de exploración. Sin embargo, se puede apreciar que la transición de una fase a otra se ha realizado con éxito, lo que indica que los agentes han logrado identificar las zonas relevantes y han intensificado su patrullaje en esas áreas.
5.2 Comparación de recompensas 67 5.2.2 Diferencias de recompensa Tabla 5.4 Mediana de las métricas en 200 episodios. Política SOII↑SOIW↑MI↓MW↓PVexp(%)↑PV (%)↑ Net0-Arch0 530 868 0.086 0.543 90.02 95.89 Net0-Arch1 524 884 0.066 0.544 92.14 96.86 Net1-Arch0 518 878 0.088 0.548 89.90 94.92 Net1-Arch1 536 869 0.095 0.554 87.66 94.43 La Tabla 5.4 muestra la mediana de las métricas obtenidas en 200 episodios, y se puede observar que la arquitectura "Net0-Arch1" presenta un rendimiento notablemente superior en comparación con las demás arquitecturas. Esta arquitectura logra una cobertura de mediana del 92% en la fase de exploración y reduce el interés ponderado a una mediana de 0.066, que es el valor más bajo de todos los experimentos. Sin embargo, es importante destacar que las demás arquitecturas también tienen un desempeño aceptable, con diferencias mínimas en algunas métricas. Por ejemplo, la arquitectura "Net1-Arch1" obtiene una mediana del 94.43% en el porcentaje de mapa cubierto al final del episodio, lo cual es un resultado muy positivo. Aunque hay diferencias entre las arquitecturas, la elección de la arquitectura no es determinante para el éxito total del algoritmo. En este caso, la arquitectura "Net0-Arch1" destaca como la mejor opción. (a) Suma del idleness recolectado por toda la flota durante un episodio (b) Suma del interés ponderado recolectado por toda la flota durante un episodio Figura 5.8 Suma del interés ponderado recolectado. En la Figura 5.8 se ve con más claridad que las arquitecturas muestran una tendencia a obtener resultados cercanos entre sí, ya que las cajas en el diagrama muestran una distribución similar del idleness/interés ponderado. Esto sugiere que, a pesar de algunas diferencias en el rendimiento entre las arquitecturas, en general, todas ellas logran resultados competitivos y consistentes en los experimentos realizados.
68 Capítulo 5. Resultados (a) Importancia relativa media del escenario en la fase de exploración (b) Importancia relativa media del escenario en la fase de intensificación Figura 5.9 Importancia relativa media del escenario. En la Figura 5.9 se ve como, durante la fase de exploración, las arquitecturas muestran un rendimiento comparable en cuanto a la importancia relativa media del escenario. Sin embargo, en la fase explotativa, la arquitectura "Net0-Arch1" se destaca como la más eficiente, ya que logra mantener una importancia relativa media del escenario más baja y con una variabilidad más reducida en comparación con las demás arquitecturas. (a) Porcentaje del mapa visitado en la fase de exploración (b) Porcentaje del mapa visitado al final del episodio Figura 5.10 Porcentaje del mapa visitado. Los diagramas de la Figura 5.10 nuevamente confirman la superioridad de la arquitectura "Net0-Arch1". Sin embargo, es importante destacar que los demás algoritmos también presentan un desempeño destacado. En la Figura 5.11, se puede observar que la arquitectura "Net0-Arch0" no logra realizar una exploración completa, ya que no descubre completamente el pico de interés ubicado en la parte inferior izquierda del mapa (Figura 5.5). Sin embargo, en la Figura 5.12 se aprecia que en la fase explotativa logra intensificar en esa zona. Aunque la fase explorativa no es óptima, se complementa con la fase explotativa, lo cual demuestra la ventaja de tener dos fases y refuerza el éxito de nuestra técnica para realizar la transición de una fase a otra utilizando la misma red neuronal.
5.2 Comparación de recompensas 69 (a) Mapa de visitas Net0- Arch0 (b) Mapa de visitas Net0- Arch1 (c) Mapa de visitas Net1- Arch0 (d) Mapa de visitas Net1- Arch1 Figura 5.11 Mapa de visitas fase de exploración. Por otro lado, la "Net0-Arch1" muestra, una vez más, los mejores resultados. (a) Mapa de visitas Net0- Arch0 (b) Mapa de visitas Net0- Arch1 (c) Mapa de visitas Net1- Arch0 (d) Mapa de visitas Net1- Arch1 Figura 5.12 Mapa de visitas fase de explotación. 5.2.3 Comparación entre las dos recompensas En la tabla combinada, denominada Tabla 5.5, se fusionan los resultados de las dos tablas anteriores de la forma (diferencia de recompensas)-(recompensa local). Se resalta en negrita el valor más grande entre los dos y se agrega un asterisco al valor más alto de la mediana de la métrica. Observando de manera general, se puede afirmar que en las arquitecturas que contienen "Net0", el entrenamiento con la diferencia de recompensas funciona mejor, mientras que en las
70 Capítulo 5. Resultados Tabla 5.5 Mediana de las métricas en 200 episodios. Política SOII↑SOIW↑MI↓MW↓PVexp(%)↑PV (%)↑ Net0-Arch0 530-520 868-829 0.086-0.120 0.543∗-0.574 90.02-86.03 95.89-91.77 Net0-Arch1 524-531 884∗-871 0.066∗-0.086 0.544-0.549 92.14∗-88.75 96.86-96.01 Net1-Arch0 518-521 878-882 0.088-0.083 0.548-0.548 89.90-88.75 94.92-97.09∗ Net1-Arch1 536∗-496 869-877 0.095-0.087 0.554-0.555 87.66-89.48 94.43-95.28 arquitecturas con "Net1", el entrenamiento con la recompensa local es más efectiva. En términos de los mejores resultados absolutos, la arquitectura "Net0-Arch1" entrenada con la diferencia de recompensas muestra un rendimiento destacado, con diferencias mínimas respecto a los demás mejores resultados absolutos. Por lo tanto, se considera que esta arquitectura y recompensa son las más adecuadas para nuestro estudio. Figura 5.13 Solape del área de detección. Por otra parte, la diferencia entre utilizar la diferencia de recompensas y la recompensa local en este sistema solo tiene efecto cuando dos agentes toman medidas en la misma área de detección. En la Figura 5.13 se ven dos agentes A y B, el área de alcance representado por un círculo concéntrico a la posición del agente, y el área de solape de estos círculos en color rojo. En las recompensas locales, la recompensa se calcula considerando tanto el área no solapada del círculo de alcance como la mitad del área solapada. En cambio, en las diferencias de recompensas, ambos agentes no reciben recompensas por el área solapada. Sin embargo, estos casos son tan poco frecuentes que no tienen un impacto significativo en los resultados, como se puede observar en las similitudes de las métricas en la Tabla 5.5. Aunque en general, los resultados son ligeramente mejores en las diferencias de recompensas, la diferencia es despreciable. Una vez más, es importante destacar que las diferencias de rendimiento entre las distintas arquitecturas y recompensas son mínimas e incluso en algunos casos insignificantes. Esto indica que el algoritmo es lo suficientemente robusto como para manejar estos cambios sin que tengan un impacto significativo en su desempeño general. El mecanismo propuesto para pasar de una fase de exploración a otro de intensificación funciona bien independientemente del fracaso de las políticas a la hora de la realización de la tarea. Por tanto, se ha conseguido que una sola red neuronal aprenda a realizar dos tareas de forma
5.3 Generalización 71 secuencial en un entorno multiagente. 5.3 Generalización A pesar de que todos los entrenamientos se realizaron utilizando los mismos valores para ν - intervals, se han realizado experimentos adicionales al variar estos valores. El objetivo es comprobar si el algoritmo ha aprendido verdaderamente a realizar las dos tareas de forma independiente y si puede tomar decisiones óptimas incluso en situaciones que nunca había encontrado durante el entrenamiento. Al variar los valores de ν -intervals, se busca evaluar la robustez del algoritmo y su capacidad para generalizar el conocimiento adquirido durante el entrenamiento. Si el algoritmo es capaz de adaptarse bien a diferentes valores de ν -intervals y tener un desempeño efectivo en ambas tareas, esto indicaría que ha aprendido patrones y estrategias generales en lugar de depender únicamente de los valores específicos de ν-intervals utilizados durante el entrenamiento. Se seleccionó la arquitectura "Net0-Arch1" entrenada con diferencias de recompensas debido a su destacado rendimiento en los resultados obtenidos. En la figura Figura 5.14 se muestran las 10 curvas de evolución de ν utilizadas en el experimento. Cada curva representa un conjunto específico de valores de ν−interval y se registraron las métricas correspondientes a 200 episodios para cada configuración. Las diferentes curvas de evolución de ν representan diferentes estrategias de transición entre las fases de exploración y explotación durante un episodio. Estas estrategias se pueden resumir de la siguiente manera: 1. Sólo exploración: El agente se dedica únicamente a la exploración y no realiza transiciones a la fase de intensificación. En este caso, el agente continúa explorando durante todo el episodio. 2. 80-90, ..., 10-20: Existen transiciones definidas en momentos específicos del episodio. Por ejemplo, en el intervalo "80-90", el agente explora hasta el 80% de la duración del episodio, luego transita a la fase de intensificación hasta el 90% del episodio y finalmente se concentra únicamente en la explotación. 3. Sólo explotación: No se realiza ninguna fase de exploración y el agente comienza a intensificar desde el primer instante del episodio, sin tener información previa sobre la contaminación del mapa.
72 Capítulo 5. Resultados (a) Sólo exploración (b) 80-90 (c) 70-80 (d) 60-70 (e) 50-60 (f) 40-50 (g) 30-40 (h) 20-30 (i) 10-20 (j) Sólo explotación Figura 5.14 Valores de ν.
5.3 Generalización 73 La Figura 5.15 presenta diagramas de cajas que muestran la distribución de los porcentajes del mapa visitado en los 200 episodios para cada ν−interval utilizado. Se observa una tendencia en la cual a medida que la fase de exploración disminuye, también disminuye la media del porcentaje del mapa visitado. Cuando se realiza únicamente la fase de exploración, se obtiene una mediana del porcentaje del mapa visitado de aproximadamente el 99.63%, con un intervalo de confianza del 2%. Esto indica que durante esta fase, el agente logra explorar casi la totalidad del mapa. Incluso cuando la fase de exploración constituye solo el 10% del episodio, se alcanza una mediana del porcentaje del mapa visitado de alrededor del 54.83%. Esto demuestra que, a pesar de una exploración limitada en términos de duración, el agente aún logra visitar una proporción significativa del mapa. Por otro lado, cuando no hay fase de exploración, no se registra ningún porcentaje del mapa visitado, ya que el agente pasa directamente a la fase de intensificación sin explorar previamente. Por último, se destaca que con un intervalo de ν−interval de 40-50, donde la fase de exploración abarca la mitad del episodio, se logra visitar más del 90% del mapa. Esto demuestra la robustez de la fase de exploración. Figura 5.15 Porcentaje del mapa visitado al final de la fase de exploración. El porcentaje del mapa visitado al final del episodio también sigue una tendencia similar al de la fase de exploración, como se ve en la Figura 5.15. Es importante destacar que, incluso cuando solo se realiza la fase de explotación, se logra visitar aproximadamente el 65% del mapa, lo cual indica que el agente es capaz de cubrir una parte significativa del entorno sin necesidad de exploración previa ya que es necesario para encontrar picos de interés. Incluso en casos donde la fase de exploración es considerablemente más corta en comparación con la fase de explotación, la política basada en la explotación logra cubrir hasta un 30% adicional del mapa en el peor de los casos (nu −intervals 10-20). Esto se debe a la alta idleness de las zonas no descubiertas. La Figura 5.17 presenta datos interesantes relacionados con la suma del interés ponderado recolectado por la flota en diferentes escenarios. Se observa que los casos en los que se dedica más del 50% del episodio a la fase de exploración muestran una mayor suma de interés ponderado.
74 Capítulo 5. Resultados Figura 5.16 Porcentaje del mapa visitado al final del episodio. Figura 5.17 Suma del interés ponderado recolectado por toda la flota. Esto se debe a dos factores clave: 1. En esos casos, el porcentaje del mapa visitado es cercano al 99%, lo que indica que el agente ha explorado prácticamente la totalidad del entorno y, por lo tanto, tiene un conocimiento más completo para realizar una intensificación efectiva. La información recopilada durante la fase de exploración proporciona una base sólida para la toma de decisiones durante la fase de explotación. 2. Aunque la fase de exploración no se centra en la intensificación, el agente aún recopila interés durante esta etapa. Aunque esta recolección de interés puede no ser tan eficiente
5.3 Generalización 75 como en la fase de explotación, sigue siendo beneficioso ya que permite obtener información sobre las zonas contaminadas, incluso de manera incidental. Esta información adicional puede tener un impacto positivo en el rendimiento general del agente. En conclusión, la exploración inicial permite al agente descubrir y explorar nuevas áreas, mientras que la fase de explotación aprovecha la información recopilada para cubrir un porcentaje aún mayor del mapa. Aunque la fase de exploración puede ser breve en comparación con la fase de explotación, sigue siendo crucial para el rendimiento general del agente en términos de la cobertura del mapa. Figura 5.18 Suma del idleness recolectado por toda la flota. En cuanto al idleness recogido, se observa que su valor disminuye a medida que se reduce la duración de la fase de exploración. Esta tendencia era esperada, ya que durante la exploración se visitan menos casillas en comparación con la fase de explotación. Es importante destacar que en la fase explotativa no solo se considera el idleness, sino también la importancia de la zona. En la fase de explotación, el agente toma decisiones basadas en la importancia de la zona, lo que implica que puede dirigirse a áreas que tienen mayor relevancia y posiblemente menor idleness que otras. Por último las figuras 5.19 y 5.20 muestran como va cambiando la matriz de visitas de las fases a medida que se va aumentando la duración de la fase explotativo.
82 Capítulo 6. Discusión y conclusiones métodos se basan en el proceso genético de los organismos vivos y utilizan una analogía directa con el comportamiento natural. En los algoritmos genéticos, se genera una población de individuos, donde cada individuo representa una solución y tiene una puntuación que refleja la calidad de esa solución. Los individuos con puntuaciones más altas tienen una mayor probabilidad de ser seleccionados y sobrevivir en el proceso. A continuación se resumen los pasos del algoritmo: 1. Generar una población inicial de soluciones. 2. Seleccionar las soluciones mejor adaptadas, es decir, las que tienen mayor puntuación. 3. Cruzar algunas soluciones con un operador de cruce para obtener su descendencia 4. Mutar algunas soluciones con operador de mutación para obtener las soluciones mutadas. 5. Elegir las soluciones que sobreviven y formarán la nueva generación. 6. Si no se alcanza el criterio de parada volver al paso 2. Las principales ventajas de los algoritmos genéticos son que: • Son algoritmos poblaciones que son capaces de obtener múltiples soluciones en una sola ejecución. •Pueden explorar diferentes áreas del espacio de soluciones. •No son sensibles a la forma específica del frente de Pareto. Sin embargo, es importante tener en cuenta que el entrenamiento con algoritmos genéticos puede llevar tiempo. Aunque su convergencia es estable, el proceso de entrenamiento puede ser prolongado. A pesar de esto, los algoritmos genéticos son eficaces en encontrar soluciones óptimas para problemas de optimización multiobjetivo.
Índice de Figuras 1.1 Vista cenital del lago Ypacaraí 1 1.2 Efecto de las cianobacterias. Desde 2012, ha habido una proliferación agresiva de algas verde-azuladas en el lago, lo cual ha generado olores desagradables y la producción de toxinas, como la microcistina, que es perjudicial para la fauna y los humanos, y en ocasiones puede ser mortal 2 1.3 ASV en las orillas del lago 3 1.4 Diseño del Cormorán-II 4 1.5 Diagrama del control ASV en el caso real (arriba) y el bucle de aprendizaje de refuerzo (abajo) 6 2.1 Mapa de relevancia con superposición de la posición del agente (marcada con un 0) y la zona observada 10 2.2 Las primeras capas convolucionales son compartidas entre la red de atención y las subredes. Las políticas ponderadas de las subredes se transforman mediante una capa específica de la tarea (en verde) para tener en cuenta el diferente número de acciones posibles en las distintas tareas 13 3.1 Posible representación en grafo 16 3.2 Posible representación en grafo del caso multiagente 17 3.3 Mapa discretizado del lago Ypacaraí 19 3.4 Ejemplo del modelado de la contaminación del lago Ypacaraí 21 3.5 Posibles acciones que puede tomar el ASV 21 4.1 Ciclo de aprendizaje por refuerzo 24 4.2 Ilustración visual del Proceso de decisión de Markov 26 4.3 Evolución y etapas de los valores de ε29 4.4 Perceptrón Multicapa 34 4.5 Modelo de una neurona artificial 34 4.6 Ejemplo de una Red Neuronal Convolucional Densa con Operación de Maxpool 2X2 38 4.7 Esquema del algoritmo DQN 41 4.8 Mapa del lago 52 83
84 Índice de Figuras 4.9 Mapa del idleness en el lago 52 4.10 Mapa del idleness en el lago 53 4.12 Posición de los otros agentes 54 4.11 Posición del agente 54 4.13 Valores de nu a lo largo del episodio 57 5.1 Valores de nu a lo largo del episodio 60 5.2 Suma del interés ponderado recolectado 63 5.3 Importancia relativa media del escenario 64 5.4 Porcentaje del mapa visitado 64 5.5 Mapa de contaminación 65 5.6 Mapa de visitas fase de exploración 65 5.7 Mapa de visitas fase de explotación 66 5.8 Suma del interés ponderado recolectado 67 5.9 Importancia relativa media del escenario 68 5.10 Porcentaje del mapa visitado 68 5.11 Mapa de visitas fase de exploración 69 5.12 Mapa de visitas fase de explotación 69 5.13 Solape del área de detección 70 5.14 Valores de ν72 5.15 Porcentaje del mapa visitado al final de la fase de exploración 73 5.16 Porcentaje del mapa visitado al final del episodio 74 5.17 Suma del interés ponderado recolectado por toda la flota 74 5.18 Suma del idleness recolectado por toda la flota 75 5.19 Mapa de visitas de la fase de exploración en los distintos ν−intervals 76 5.20 Mapa de visitas de la fase de explotación en los distintos ν−intervals 77 6.1 Ejemplo de frente (frontera) de Pareto donde se busca maximizar dos objetivos 81
Índice de Tablas 1.1 Sistemas y subsistemas del vehículo 5 4.1 Arquitecturas de la red "Net0" 55 4.2 Arquitecturas de la red "Net1" 55 4.3 Arquitecturas de la capa densa 56 4.4 Arquitecturas de la capa función de ventaja 56 4.5 Arquitecturas de la capa función de valor del estado 56 5.1 Hiperparámetros de entrenamiento 60 5.2 Configuración del Escenario Completamente Observable 61 5.3 Mediana de las métricas en 200 episodios. ( ↑ ): Cuanto mayor es la métrica mejor. ( ↓ ): Cuanto menor es la métrica mejor 63 5.4 Mediana de las métricas en 200 episodios 67 5.5 Mediana de las métricas en 200 episodios 70 85
Bibliografía [1] S. Yanes Luis, D. Gutiérrez-Reina, and S. Toral Marín, “A dimensional comparison between evolutionary algorithm and deep reinforcement learning methodologies for autonomous surface vehicles with water quality sensors,” Sensors, vol. 21, no. 8, 2021. [Online]. Available: https://www.mdpi.com/1424-8220/21/8/2862 [2] M. Arzamendia, D. Gutierrez, S. Toral, D. Gregor, E. Asimakopoulou, and N. Bessis, “Intelligent online learning strategy for an autonomous surface vehicle in lake environments using evolutionary computation,” IEEE Intelligent Transportation Systems Magazine, vol. 11, no. 4, pp. 110–125, 2019. [3] S. Y. Luis, D. G. Reina, and S. L. T. Marín, “A deep reinforcement learning approach for the patrolling problem of water resources through autonomous surface vehicles: The ypacarai lake case,” IEEE Access, vol. 8, pp. 204 076–204 093, 2020. [4] F. P. Samaniego, D. G. Reina, S. L. T. Marín, M. Arzamendia, and D. O. Gregor, “A bayesian optimization approach for water resources monitoring through an autonomous surface vehicle: The ypacarai lake case study,” IEEE Access, vol. 9, pp. 9163–9179, 2021. [5] S. Yanes Luis, D. Gutiérrez, and S. Toral, “A multiagent deep reinforcement learning approach for path planning in autonomous surface vehicles: The ypacarai-lake patrolling case.” IEEE Access, vol. PP, 01 2021. [6] R. S. Sutton, A. G. Barto et al., “Introduction to reinforcement learning,” 1998. [7] H. Van Hasselt, A. Guez, and D. Silver, “Deep reinforcement learning with double q-learning,” in Proceedings of the AAAI conference on artificial intelligence, vol. 30, no. 1, 2016. [8] M. Hessel, J. Modayil, H. van Hasselt, T. Schaul, G. Ostrovski, W. Dabney, D. Horgan, B. Piot, M. Azar, and D. Silver, “Rainbow: Combining improvements in deep reinforcement learning,” 2017. [9] M. Theile, H. Bayerlein, R. Nai, D. Gesbert, and M. Caccamo, “Uav coverage path planning under varying power constraints using deep reinforcement learning,” in 2020 IEEE/RSJ 87
88 Bibliografía International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020, pp. 1444–1449. [10] C. Piciarelli and G. L. Foresti, “Drone patrolling with reinforcement learning,” in Proceedings of the 13th International Conference on Distributed Smart Cameras, 2019, pp. 1–6. [11] R. Shah, Y. Jiang, J. Hart, and P. Stone, “Deep r-learning for continual area sweeping,” in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020, pp. 5542–5547. [12] S. Gronauer and K. Diepold, “Multi-agent deep reinforcement learning: A survey,” Artif. Intell. Rev., vol. 55, no. 2, p. 895–943, feb 2022. [Online]. Available: https://doi.org/10.1007/s10462-021-09996-w [13] X. Lyu and C. Amato, “Likelihood quantile networks for coordinating multi-agent reinforcement learning,” 2020. [14] G. Palmer, R. Savani, and K. Tuyls, “Negative update intervals in deep multi-agent reinforcement learning,” 2019. [15] G. Palmer, K. Tuyls, D. Bloembergen, and R. Savani, “Lenient multi-agent deep reinforcement learning,” in Proceedings of the 17th International Conference on Autonomous Agents and MultiAgent Systems, ser. AAMAS ’18. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems, 2018, p. 443–451. [16] A. Tampuu, T. Matiisen, D. Kodelja, I. Kuzovkin, K. Korjus, J. Aru, J. Aru, and R. Vicente, “Multiagent cooperation and competition with deep reinforcement learning,” PloS one, vol. 12, no. 4, p. e0172395, 2017. [17] J. K. Gupta, M. Egorov, and M. Kochenderfer, “Cooperative multi-agent control using deep reinforcement learning,” in Autonomous Agents and Multiagent Systems: AAMAS 2017 Workshops, Best Papers, São Paulo, Brazil, May 8-12, 2017, Revised Selected Papers 16. Springer, 2017, pp. 66–83. [18] X. Zhou, P. Wu, H. Zhang, W. Guo, and Y. Liu, “Learn to navigate: Cooperative path planning for unmanned surface vehicles using deep reinforcement learning,” IEEE Access, vol. 7, pp. 165 262–165 278, 2019. [19] S. Yanes Luis, D. Gutiérrez-Reina, and S. Toral Marín, “Censored deep reinforcement patrolling with information criterion for monitoring large water resources using autonomous surface vehicles,” Applied Soft Computing, vol. 132, p. 109874, 2023. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1568494622009231 [20] J. N. Foerster, Y. M. Assael, N. de Freitas, and S. Whiteson, “Learning to communicate with deep multi-agent reinforcement learning,” CoRR, vol. abs/1605.06676, 2016. [Online]. Available: http://arxiv.org/abs/1605.06676
Bibliografía 89 [21] W. Shi, J. Li, H. Wu, C. Zhou, N. Cheng, and X. Shen, “Drone-cell trajectory planning and resource allocation for highly mobile networks: A hierarchical drl approach,” IEEE Internet of Things Journal, vol. PP, pp. 1–1, 08 2020. [22] K. W. Kim, “Vector criterion markov decision processes.” 1981. [23] K. Van Moffaert, M. M. Drugan, and A. Nowé, “Scalarized multi-objective reinforcement learning: Novel design techniques,” in 2013 IEEE Symposium on Adaptive Dynamic Programming and Reinforcement Learning (ADPRL), 2013, pp. 191–199. [24] Y. Guo, A. Zeman, and R. Li, “A reinforcement learning approach to setting multi-objective goals for energy demand management,” Int. J. Agent Technol. Syst., vol. 1, no. 2, p. 55–70, apr 2009. [Online]. Available: https://doi.org/10.4018/jats.2009040104 [25] T. T. Nguyen, “A multi-objective deep reinforcement learning framework,” CoRR, vol. abs/1803.02965, 2018. [Online]. Available: http://arxiv.org/abs/1803.02965 [26] A. Abdolmaleki, S. H. Huang, G. Vezzani, B. Shahriari, J. T. Springenberg, S. Mishra, D. TB, A. Byravan, K. Bousmalis, A. György, C. Szepesvári, R. Hadsell, N. Heess, and M. A. Riedmiller, “On multi-objective policy optimization as a tool for reinforcement learning,” CoRR, vol. abs/2106.08199, 2021. [Online]. Available: https://arxiv.org/abs/2106.08199 [27] A. Abdolmaleki, S. H. Huang, L. Hasenclever, M. Neunert, H. F. Song, M. Zambelli, M. F. Martins, N. Heess, R. Hadsell, and M. A. Riedmiller, “A distributional view on multi-objective policy optimization,” CoRR, vol. abs/2005.07513, 2020. [Online]. Available: https://arxiv.org/abs/2005.07513 [28] H. Mossalam, Y. M. Assael, D. M. Roijers, and S. Whiteson, “Multi-objective deep reinforcement learning,” CoRR, vol. abs/1610.02707, 2016. [Online]. Available: http://arxiv.org/abs/1610.02707 [29] D. M. Roijers, S. Whiteson, and F. A. Oliehoek, “Linear support for multi-objective coordination graphs,” in Proceedings of the 2014 International Conference on Autonomous Agents and Multi-Agent Systems, ser. AAMAS ’14. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems, 2014, p. 1297–1304. [30] M. Zuluaga, A. Krause, and M. Püschel, “e-pal: An active learning approach to the multi-objective optimization problem,” Journal of Machine Learning Research, vol. 17, no. 104, pp. 1–32, 2016. [Online]. Available: http://jmlr.org/papers/v17/15-047.html [31] K. V. Moffaert and A. Nowé, “Multi-objective reinforcement learning using sets of pareto dominating policies,” Journal of Machine Learning Research, vol. 15, no. 107, pp. 3663–3692, 2014. [Online]. Available: http://jmlr.org/papers/v15/vanmoffaert14a.html [32] R. Yang, X. Sun, and K. Narasimhan, “A generalized algorithm for multi-objective reinforcement learning and policy adaptation,” in Advances in Neural Information Processing Systems, H. Wallach, H. Larochelle, A. Beygelzimer, F. d'Alché-Buc, E. Fox, and R. Garnett,
90 Bibliografía Eds., vol. 32. Curran Associates, Inc., 2019. [Online]. Available: https://proceedings. neurips.cc/paper_files/paper/2019/file/4a46fbfca3f1465a27b210f4bdfe6ab3-Paper.pdf [33] M. Reymond and A. Nowe, “Pareto-dqn: Approximating the pareto front in complex multi-objective decision problems,” in Proceedings of the Adaptive and Learning Agents Workshop 2019 (ALA-19) at AAMAS, May 2019, null ; Conference date: 13-05-2019 Through 14-05-2019. [Online]. Available: https://ala2019.vub.ac.be [34] S. Parisi, M. Pirotta, and J. Peters, “Manifold-based multi-objective policy search with sample reuse,” Neurocomputing, vol. 263, pp. 3–14, 2017, multiobjective Reinforcement Learning: Theory and Applications. [Online]. Available: https://www.sciencedirect.com/ science/article/pii/S0925231217310986 [35] S. Parisi, M. Pirotta, and M. Restelli, “Multi-objective reinforcement learning through continuous pareto manifold approximation,” J. Artif. Intell. Res., vol. 57, pp. 187–227, 2016. [36] J. Xu, Y. Tian, P. Ma, D. Rus, S. Sueda, and W. Matusik, “Prediction-guided multi-objective reinforcement learning for continuous robot control,” in Proceedings of the 37th International Conference on Machine Learning, ser. Proceedings of Machine Learning Research, H. D. III and A. Singh, Eds., vol. 119. PMLR, 13–18 Jul 2020, pp. 10 607–10 616. [Online]. Available: https://proceedings.mlr.press/v119/xu20h.html [37] Y. Zhang and Q. Yang, “A survey on multi-task learning,” CoRR, vol. abs/1707.08114, 2017. [Online]. Available: http://arxiv.org/abs/1707.08114 [38] A. Wilson, A. Fern, S. Ray, and P. Tadepalli, “Multi-task reinforcement learning: A hierarchical bayesian approach,” ser. ICML ’07. New York, NY, USA: Association for Computing Machinery, 2007, p. 1015–1022. [Online]. Available: https://doi.org/10.1145/ 1273496.1273624 [39] H. Li, X. Liao, and L. Carin, “Multi-task reinforcement learning in partially observable stochastic environments.” Journal of Machine Learning Research, vol. 10, no. 5, 2009. [40] J. Andreas, D. Klein, and S. Levine, “Modular multitask reinforcement learning with policy sketches,” in Proceedings of the 34th International Conference on Machine Learning, ser. Proceedings of Machine Learning Research, D. Precup and Y. W. Teh, Eds., vol. 70. PMLR, 06–11 Aug 2017, pp. 166–175. [Online]. Available: https://proceedings.mlr.press/v70/andreas17a.html [41] A. A. Deshmukh, U. Dogan, and C. Scott, “Multi-task learning for contextual bandits,” in Advances in Neural Information Processing Systems, I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, Eds., vol. 30. Curran Associates, Inc., 2017. [Online]. Available: https://proceedings.neurips.cc/paper_files/paper/2017/file/ b06f50d1f89bd8b2a0fb771c1a69c2b0-Paper.pdf [42] T. Bräm, G. Brunner, O. Richter, and R. Wattenhofer, “Attentive multi-task deep reinforcement learning,” in Machine Learning and Knowledge Discovery in Databases -
Bibliografía 91 European Conference, ECML PKDD 2019, Würzburg, Germany, September 16-20, 2019, Proceedings, Part III, ser. Lecture Notes in Computer Science, U. Brefeld, É. Fromont, A. Hotho, A. J. Knobbe, M. H. Maathuis, and C. Robardet, Eds., vol. 11908. Springer, 2019, pp. 134–149. [Online]. Available: https://doi.org/10.1007/978-3-030-46133-1_9 [43] T.-L. Vuong, D.-V. Nguyen, T.-L. Nguyen, C.-M. Bui, H.-D. Kieu, V.-C. Ta, Q.-L. Tran, and T.-H. Le, “Sharing experience in multitask reinforcement learning,” in Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI-19. International Joint Conferences on Artificial Intelligence Organization, 7 2019, pp. 3642–3648. [Online]. Available: https://doi.org/10.24963/ijcai.2019/505 [44] T. Shu, C. Xiong, and R. Socher, “Hierarchical and interpretable skill acquisition in multi-task reinforcement learning,” 12 2017. [45] D. Guo, B. A. Pires, B. Piot, J. bastien Grill, F. Altché, R. Munos, and M. G. Azar, “Bootstrap latent-predictive representations for multitask reinforcement learning,” 2020. [46] M. Hessel, H. Soyer, L. Espeholt, W. Czarnecki, S. Schmitt, and H. van Hasselt, “Multi-task deep reinforcement learning with popart,” CoRR, vol. abs/1809.04474, 2018. [Online]. Available: http://arxiv.org/abs/1809.04474 [47] H. van Hasselt, A. Guez, M. Hessel, and D. Silver, “Learning functions across many orders of magnitudes,” CoRR, vol. abs/1602.07714, 2016. [Online]. Available: http://arxiv.org/abs/1602.07714 [48] Y. Chevaleyre, “Theoretical analysis of the multi-agent patrolling problem,” in Proceedings. IEEE/WIC/ACM International Conference on Intelligent Agent Technology, 2004.(IAT 2004). IEEE, 2004, pp. 302–308. [49] A. Machado, G. Ramalho, J.-D. Zucker, and A. Drogoul, “Multi-agent patrolling: An empirical analysis of alternative architectures,” in International workshop on multi-agent systems and agent-based simulation. Springer, 2002, pp. 155–170. [50] A. Almeida, G. Ramalho, H. Santana, P. Tedesco, T. Menezes, V. Corruble, and Y. Chevaleyre, Recent Advances on Multi-agent Patrolling, ser. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, vol. 3171, p. 474–483. [Online]. Available: http://link.springer.com/10.1007/978-3-540-28645-5_48 [51] J. T. i Viñals, Introducción al aprendizaje por refuerzo profundo: Teoría y práctica en Python, 1st ed. Independently published, 14 abril 2021. [52] R. S. Sutton, “Learning to predict by the methods of temporal differences,” Machine learning, vol. 3, no. 1, pp. 9–44, 1988. [53] M. L. Littman, “Markov games as a framework for multi-agent reinforcement learning,” in Proceedings of the Eleventh International Conference on International Conference on Machine Learning, ser. ICML’94. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1994, p. 157–163.