Espacio de acción y función de recompensa de AWS DeepRacer - AWS DeepRacer

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Espacio de acción y función de recompensa de AWS DeepRacer

Espacio de acción

En el aprendizaje por refuerzo, el conjunto de todas las acciones válidas, o elecciones, disponibles para un agente cuando interactúa con un entorno se denomina espacio de acción. En la consola de AWS DeepRacer, puede entrenar a los agentes en un espacio de acción discreto o continuo.

Espacio de acción discreto

Un espacio de acción discreto representa todas las acciones posibles de un agente para cada estado en un conjunto finito. Para AWS DeepRacer, esto significa que para cada situación ambiental incrementalmente diferente, la red neuronal del agente selecciona una velocidad y una dirección para el coche basándose en el aporte de sus cámaras y su sensor LiDAR (opcional). La elección se limita a una agrupación de combinaciones predefinidas de ángulo de dirección y valor de acelerador.

Un coche de AWS DeepRacer en un espacio de acción discreto que se aproxima a un giro puede elegir acelerar o frenar y girar a la izquierda, a la derecha o seguir recto. Estas acciones se definen como una combinación de ángulo de giro y velocidad al crearse un menú de opciones, 0-9, para el agente. Por ejemplo, 0 podría representar -30 grados y 0,4 m/s, 1 podría representar -30 grados y 0,8 m/s, 2 podría representar -15 grados y 0,4 m/s, 3 podría representar -15 grados y 0,8 m/s y así sucesivamente hasta 9. Los grados negativos giran el coche a la derecha, los positivos a la izquierda y 0 mantiene las ruedas rectas.

El espacio de acción discreto predeterminado de AWS DeepRacer contiene las siguientes acciones:

Espacio de acción discreto predeterminado de AWS DeepRacer
Número de acción Dirección Velocidad
0 -30 grados 0,4 m/s
1 -30 grados 0,8 m/s
2 -15 grados 0,4 m/s
3 -15 grados 0,8 m/s
4 0 grados 0,4 m/s
5 0 grados 0,8 m/s
6 15 grados 0,4 m/s
7 15 grados 0,8 m/s
8 30 grados 0,4 m/s
9 30 grados 0,8 m/s
Espacio de acción continuo

Un espacio de acción continuo permite al agente seleccionar una acción de entre un rango de valores para cada estado. Al igual que con un espacio de acción discreto, esto significa que para cada situación ambiental incrementalmente diferente, la red neuronal del agente selecciona una velocidad y una dirección para el coche basándose en los aportes de sus cámaras y su sensor LiDAR (opcional). Sin embargo, en un espacio de acción continuo, puede definir el rango de opciones entre las que el agente elige su acción.

En este ejemplo, el coche AWS DeepRacer en un espacio de acción continuo que se aproxima a un giro puede elegir una velocidad de 0,75 m/s a 4 m/s y girar a la izquierda, a la derecha o seguir recto eligiendo un ángulo de giro de -20 a 20 grados.

Discreto frente a continuo

La ventaja de utilizar un espacio de acción continuo es que puede escribir funciones de recompensa que entrenen a los modelos para incentivar las acciones de velocidad/dirección en puntos específicos de una pista que optimicen el rendimiento. Poder elegir entre una gama de acciones también crea la posibilidad de cambios suaves en los valores de velocidad y dirección que, en un modelo bien entrenado, podrían producir mejores resultados en condiciones reales.

En la configuración del espacio de acción discreto, la limitación de opciones de un agente a un número finito de acciones predefinidas pone en sus manos la responsabilidad de comprender el impacto de estas acciones y definirlas en función del entorno (pista, formato de carrera) y de sus funciones de recompensa. Sin embargo, en un entorno de espacio de acción continuo, el agente aprende a elegir los valores óptimos de velocidad y dirección a partir de los límites mín./máx. que usted le proporciona a través del entrenamiento.

Si bien proporcionar un rango de valores para que el modelo elija parece la mejor opción, el agente requiere más tiempo de entrenamiento para aprender a elegir las acciones óptimas. El éxito también depende de la definición de la función de recompensa.

Función de recompensa

A medida que el agente explora el entorno, aprende una función de valor. La función de valor ayuda al agente a juzgar, tras observar el entorno, cómo de buena es una acción realizada. La función de valor utiliza la función de recompensa que usted escribe en la consola de AWS DeepRacer para puntuar la acción. Por ejemplo, en la función de recompensa de prueba de seguimiento de la línea central en la consola de AWS DeepRacer, una buena acción mantendría al agente cerca del centro de la pista y recibiría una puntuación más alta que una mala acción, que alejaría al agente del centro de la pista.

Con el tiempo, la función de valor ayuda al agente a aprender políticas que aumentan la recompensa total. La política óptima, o mejor, equilibraría la cantidad de tiempo que el agente dedica a explorar el entorno con la cantidad de tiempo que dedica a explotar, o aprovechar al máximo, lo que la política ha aprendido a través de la experiencia.

En el ejemplo de función de recompensa de prueba de AWS DeepRacer de seguimiento de la línea central, el agente primero realiza acciones aleatorias para explorar el entorno, lo que significa que no hace un buen trabajo para mantenerse en el centro de la pista. Con el tiempo, el agente empieza a aprender qué acciones lo mantienen cerca de la línea central, pero si lo sigue haciendo realizando acciones aleatorias, tardará mucho tiempo en aprender a permanecer cerca del centro de la pista durante toda la vuelta. Así, a medida que la política empieza a aprender buenas acciones, el agente empieza a utilizar esas acciones en lugar de tomar acciones aleatorias. Sin embargo, si siempre utiliza o explota las buenas acciones, el agente no hará nuevos descubrimientos, porque ya no explora el entorno. Este compromiso se conoce a menudo en RL como el problema de exploración frente a explotación.

Experimente con los espacios de acción predeterminados y las funciones de recompensa de prueba. Una vez que los haya explorado todos, ponga en práctica sus conocimientos mediante el diseño de sus propios espacios de acción personalizados y funciones de recompensa personalizadas.