Capitulo 2. Formalización del aprendizaje por refuerzo

En el capítulo anterior introdujimos varios conceptos fundamentales involucrados en el aprendizaje por refuerzo. En este segundo capítulo presentaremos la representación matemática y la notación de estos conceptos, que se utilizarán repetidamente en este libro. Será el mínimo formalismo necesario para empezar, e iremos introduciendo nuevas formulaciones a medida que las necesitemos a lo largo de los capítulos siguientes.

2.1 Proceso de decisión de Markov

El proceso de decisión de Markov es el marco del formalismo matemático de muchas de las ideas introducidas en el capítulo 1. Empecemos recapitulando estos conceptos y viendo cómo podemos formalizarlos.

Recapitulación de conceptos

Un agente influye en el comportamiento observado de un entorno eligiendo acciones. El objetivo es elegir el conjunto de acciones que permitan que el agente se comporte de manera óptima, según lo definido por algún criterio de éxito, expresado con la recompensa obtenida.

Recordemos que, en la mayoría de los casos que trataremos, el agente no puede observar completamente el estado del entorno. Pero, como hemos dicho, en general el agente considerará como estado actual del entorno este conjunto limitado de observaciones que representaremos con la letra s.

En la modelización que construiremos, los agentes realizan acciones que representaremos con la letra a en la interacción entre el entorno y el agente en cada time step, que indicaremos con la letra t. En resumen, el agente y el entorno interactúan en una secuencia de time steps discretos, de manera que en un momento dado en el que el entorno se encuentra en un estado s, al realizar el agente una acción a, este recibe en el siguiente time step t+1una recompensa r’ y el entorno cambia a un estado s’.

La Figura 2.1, como evolución de la Figura 1.2, visualiza estos elementos descritos. El conjunto del estado, la acción, la recompensa y el nuevo estado se llama experiencia. Con la notación anterior nos referiremos a ella en el texto de este libro como según nos convenga.

Figura 2.1 Representación de circuito de retroalimentación entre el entorno y el agente. El agente recibe en el time step t el estado actual y la recompensa del entorno y, basándose en esta información, decide una acción en un intento de controlarlo de manera favorable. El entorno realiza la acción y produce una nueva recompensa y estado para el siguiente time step t+1.

Markov Decision Processes

Un proceso de decisión de Markov, o Markov Decision Process (MDP) en inglés, proporciona un marco matemático para resolver algunos de los problemas de aprendizaje por refuerzo (RL).

Por el momento, podríamos considerar que un MDP consiste básicamente en una tupla de cinco elementos

cuyos símbolos significan lo siguiente:

Veamos poco a poco en más detalle qué es un MDP mientras presentamos cada uno de los cinco elementos de la tupla.

2.2 Piezas de un proceso de decisión de Markov

Usemos el ejemplo del entorno Frozen-Lake, presentado ya en el anterior capítulo, para dar ejemplos y facilitar las explicaciones.

Estados

Un estado (como sinónimo de «observación») es una configuración única y autónoma del problema. El conjunto de todos los estados posibles ya hemos dicho que se llama espacio de estado y que puede llegar a ser infinito. En nuestro ejemplo Frozen-Lake, el espacio de estados del entorno se compone de 16 estados. Lo podemos saber invocando el siguiente método del entorno:

Hay estados particulares, como estados de partida o estados terminales. Una representación menos caricaturizada de la Figura 1.5 podría ser la presentada en la Figura 2.2. En el entorno de Frozen-Lake, por ejemplo, solo hay un estado inicial (initial state), que es el estado 0, y cinco estados terminales (terminal states), que son los estados 5, 7, 11, 12 y 15.

En el caso de los MDP, aunque en general no podemos ver la dinámica del entorno, sí que podemos ver los estados que son observables. Estos estados deben contener todas las variables necesarias para ser independientes de todos los demás estados.

En el entorno Frozen-Lake, solo se necesita conocer el estado actual del entorno para indicar sus próximos estados posibles. Es decir, no se necesita el historial de estados visitados por el agente anteriormente. Por ejemplo, sabemos que desde el estado 2 el agente solo puede realizar la transición a los estados 1, 2, 3 o 6, y esto es cierto independientemente de si el estado anterior del agente era 1, 2, 3 o 6, que son los estados desde los que podemos llegar al estado 2.

Figura 2.2 Representación gráfica del espacio de estados del entorno Frozen-Lake y de la etiqueta de cada uno de ellos.

En resumen, la probabilidad del siguiente estado, dado el estado actual y la acción, es independiente del historial de interacciones entre el entorno y el agente. Esta propiedad de los MDP, se conoce como propiedad de Markov(Markov property)y puede resumirse así: «la probabilidad de pasar de un estado s a otro estado s’ en dos ocasiones distintas, dada la misma acción a, es la misma independientemente de todos los estados o acciones anteriores encontrados antes de ese punto».

De manera simple, decimos que la propiedad de Markov establece que el futuro depende solo del presente y no del pasado, en el sentido de que el estado actual que obtenemos del entorno contiene lo que se necesita para decidir el estado futuro cuando se da una acción de entrada.

La capacidad de crear entornos que cumplan la propiedad de Markov para un problema dado es una habilidad importante cuando queremos resolver el problema con aprendizaje por refuerzo, debido a que la mayoría de los métodos de RL están diseñados para aprovechar esta suposición. Pero esto queda fuera del alcance de este libro de introducción al RL. Por suerte, podemos encontrar varios entornos para los que ya hay creados los MDP, como es el caso de la librería Gym que usamos en este libro.

Acciones

Un MDP define un conjunto de acciones A que dependen del estado. Por tanto, puede haber estados que tengan diferentes acciones disponibles. Es decir, en cada estado, el entorno pone a disposición un conjunto de acciones, un espacio de acción A(s), del cual el agente elegirá una acción. El agente influye en el entorno a través de estas acciones, y el entorno puede cambiar los estados como respuesta a la acción realizada por el agente.

En el ejemplo de entorno Frozen-Lake, todos los estados disponen de las mismas acciones y las podemos saber con la siguiente línea de código:

Como vemos, el entorno Frozen-Lake nos indica que disponemos de 4 acciones en todos los estados, que recordemos que eran «izquierda», «abajo», «derecha» y «arriba».

En general, podemos categorizar los espacios de acción en dos tipos:

  • Espacio de acción discreto: cuando nuestro espacio de acción consta de acciones que son discretas. Por ejemplo, en el entorno Frozen-Lake, nuestro espacio de acción consta de cuatro acciones discretas: «izquierda», «abajo», «derecha» y «arriba». Un entorno discreto es aquel cuyo espacio de acción es discreto.
  • Espacio de acción continua: cuando nuestro espacio de acción se compone de acciones que son continuas. Por ejemplo, cuando conducimos un automóvil, nuestras acciones tienen valores continuos, como la velocidad del automóvil o los grados que necesitamos para girar la rueda, etc. Un entorno continuo es aquel cuyo espacio de acción es continuo.

Función de transición

Como ya hemos apuntado antes, a menudo la dinámica de los entornos es oculta e inaccesible para el agente. Sin embargo, como veremos en próximos capítulos, los agentes del aprendizaje por refuerzo no necesitan conocer el MDP preciso de un problema para aprender comportamientos robustos. Pero saber acerca de MDP es esencial porque los agentes se diseñan comúnmente con la suposición de que un MDP, incluso si es inaccesible, está presente en el comportamiento del entorno con el cual interactúan.

Por ejemplo, la función de transición, que indica la forma en que el entorno cambia como respuesta a las acciones, representa la probabilidad de moverse de un estado a otro, y se denota por P, como hemos dicho. Esta función forma parte de este MDP y normalmente no es conocida por el agente y representa la dinámica de un time step del entorno.

Recordemos que el entorno responde al agente en el time step t+1 del tiempo considerando solo el estado y la acción en el time step t anterior. No le importa qué estados fueron presentados al agente anteriormente ni qué acciones adoptó el agente anteriormente. Esto es lo que se quiere enfatizar con la formulación de la función de transición P(s’|s,a); se quiere expresar que el siguiente estado s’ depende solo del estado anterior s y la acción a. En la siguiente sección entraremos en más detalle sobre esta función de transición, pero antes debemos hablar un poco más de la recompensa que recibe un agente por sus acciones.

Recompensa

Una vez que se realiza una acción, el entorno entrega una recompensacomo una medida de bondad a transiciones utilizando una función de recompensa. La función de recompensa la denotaremos con R(s,a) o R(s,a,s’) según nos convenga. Representa la recompensa que nuestro agente obtiene durante la transición de estado s al estado s’ al realizar una acción a. Es solo un valor escalar que el agente obtiene en cada time step, y puede ser positivo o negativo, grande o pequeño.

Es importante notar que la palabra «refuerzo» de «aprendizaje por refuerzo» es un término originario de la ciencia del comportamiento y no es una coincidencia. Se refiere a un estímulo que se entrega inmediatamente después de un comportamiento para hacer que sea más probable que este ocurra en el futuro. Debemos diseñar la recompensa como un mecanismo de retroalimentación que le indique al agente que ha elegido la acción apropiada. La recompensa será nuestra forma de decirle al agente que está haciendo un «buen trabajo» o un «mal trabajo». O, en otras palabras, será la manera de decirle a nuestro agente cuán bien se ha comportado.

Por ejemplo, considere un agente al que le gustaría aprender a escapar de un laberinto. ¿Qué señales de recompensa alentarán al agente a escapar del laberinto lo más rápido posible? La recompensa puede ser «-1» por cada time step que el agente gasta dentro del laberinto (por tanto, cuanto más tiempo tarde en salir más negativa será la recompensa final). Una vez que el agente escapa, recibe una recompensa de «+10» y el episodio termina. El agente estará motivado para escapar para ganar la recompensa de «+10» pero, a su vez, querrá hacerlo en el menor tiempo posible para evitar recompensas (penalizaciones) de «-1».

Ahora, pensemos en un agente al que le gustaría aprender a equilibrar una pelota sobre su cabeza. ¿Qué señales de recompensa alentarán al agente a mantener la pelota equilibrada durante el mayor tiempo posible? Por ejemplo, puede haber una recompensa de «+1» por cada time step en que el agente mantenga la pelota en equilibrio sobre su cabeza. Si la pelota cae, el episodio termina.

Estos son dos sencillos ejemplos que espero que sirvan para ayudar a intuir la idea de cómo la recompensa puede contribuir a «reforzar» el aprendizaje de un agente.

Como resumen, la recompensa le da al agente retroalimentación sobre su comportamiento, y esa recompensa obtenida debe reforzar su comportamiento de una manera positiva o negativa. Sin embargo, la recompensa solo refleja el éxito de la actividad reciente del agente y no todos los éxitos logrados por el agente anteriormente. Porque, en realidad, lo que un agente está tratando de lograr es la mayor recompensa acumulada en su secuencia de acciones. Para ello usamos otra métrica, el retorno (return), que presentamos ya en el capítulo anterior y que en la última sección de este capítulo volveremos a tratar en más detalle.

En nuestro ejemplo de entorno Frozen-Lake, la función de recompensa es «+1» al llegar al estado final (estado 15), y 0 en cualquier otro caso. Por tanto, el agente se ve estimulado a llegar al estado 15 y no a los estados agujero. Pero como en el resto de las transiciones la recompensa es 0 — no hay penalización — , parece que no está recibiendo ningún estímulo para llegar cuanto antes al final.

Factor de descuento

Ya adelantamos en el primer capítulo que la tarea que el agente está tratando de resolver puede tener o no un final natural. Las tareas que tienen un final natural, como un juego, se denominan tareas episódicas y a la secuencia de time steps desde el principio hasta el final de una tarea episódica se la llama episodio. El entorno del Frozen-Lake presenta tareas episódicas porque hay estados terminales; hay estados claros de meta y fracaso. Por el contrario, las tareas que no tienen un final natural ya hemos avanzado que se denominan tareas continuas.

Debido a la posibilidad de secuencias infinitas de time steps en las tareas continuas, necesitamos una forma de descontar el valor de las recompensas a lo largo del tiempo. Es decir, necesitamos una forma de decirle al agente que es mejor obtener recompensa positiva cuanto antes. Por lo tanto, comúnmente usamos un valor real positivo menor que uno para poder descontar exponencialmente el valor de las recompensas futuras.

Este parámetro se denomina factor de descuento (discount factor), y se denota con γ; lo llamaremos también gamma cuando tratemos con el código. Su rango es entre [0,1]. El agente usa el factor de descuento para ajustar la importancia de las recompensas a lo largo del tiempo. Cuanto más tarde reciba las recompensas el agente, menos atractivo será para él obtenerla. En otras palabras, el agente está más interesado en obtener recompensas que llegan antes y son más probables que en obtener recompensas que llegan después y son menos probables.

2.3 Entornos deterministas y estocásticos

Recordemos que, cuando tengamos un problema real en mente, necesitaremos especificar el MDP como una forma de definir formalmente el problema y, por lo tanto, la función de transición. El agente conocerá los estados, acciones y recompensas, junto con el factor de descuento, pero lo habitual es que la función de transición sea desconocida. Pero, como hemos dicho, a pesar de no tener esta información, el agente tendrá que aprender a lograr su objetivo a partir de la interacción con el entorno.

Los estados y las recompensas pueden ser variables aleatorias porque la mayoría de los entornos son estocásticos. Por ejemplo, un agente podría optar por girar el volante en un automóvil autónomo, pero no hay garantía de que el automóvil realmente gire lo esperado por el agente, ya que el suelo podría estar helado y eso afectaría en el giro. En esta sección vamos a analizar un poco más a fondo, con la ayuda de nuestro ejemplo de entorno Frozen-Lake, los entornos deterministas versus los entornos estocásticos, y vamos a ver cómo es la función de transición para ambos casos.

Entorno determinista

Retomemos el ejemplo del entorno Frozen-Lake, con una superficie no resbaladiza, creando este entorno determinista con el argumento is_slippery = False, cómo ya hemos visto anteriormente:

En este caso, la probabilidad en el time step t del siguiente estado st+1,dado el estado actual st y la acción at, es siempre 1. En otras palabras, se trata de un entorno determinista donde siempre hay un único estado siguiente posible para una acción dada. En este caso, podemos considerar la función de transición como una simple tabla de búsqueda de una matriz de dos dimensiones (2D). En nuestro ejemplo de entorno Frozen-Lake, podemos obtener esta función en env.env.P, que contiene la función de transmisión como un diccionario:

En esta visualización por pantalla de env.P se ven todos los estados (hemos eliminados una parte de ellos para mayor claridad, pero en el notebook se puede obtener la salida completa), y cada estado contiene un diccionario que mapea todas las acciones posibles — «izquierda», «abajo», «derecha» y «arriba» — de ese estado al siguiente estado si realizamos esa acción concreta. Además, cada acción incluye una lista, donde cada elemento es una tupla que muestra la probabilidad de pasar al siguiente estado, el siguiente estado, la recompensa y si el episodio termina allí o no (True significa que el siguiente estado es un estado terminal, agujero o la meta).

Por ejemplo, en este entorno no resbaladizo, si ejecutamos la secuencia de acciones — o plan — que hemos llamado «good plan», indicado en la Figura 2.3 (que es equivalente a la Figura 1.5), el agente conseguirá cumplir su objetivo de llegar al estado 15.

Figura 2.3 Secuencia de acciones de un «good plan» en el entorno Frozen-Lake.

En el siguiente código mostramos cómo podemos programar un agente que sabe cómo decidir un «good plan» y, por ello, llega a la celda final del entorno con éxito:

Ahora, esta clase agente implementa la política «good plan». Vemos que, a diferencia de la anterior clase agente (del capítulo 1), implementamos otro método, reset(), para inicializar el agente cada vez que es llamado. Si ejecutamos el código que mostramos a continuación, que es equivalente al mostrado en el capítulo 1 (aunque en ese código la acción se elegía aleatoriamente), vemos que el resultado es el esperado (Figura 2.4).

Figura 2.4 Resultado de la ejecución del «good plan» en el entorno Frozen-Lake no resbaladizo.

Ahora, si ejecutamos la misma función test() mostrada en el capítulo anterior, añadiendo el método reset() del agente en cada nuevo episodio, vemos que el agente llega a tener éxito en el 100% de los casos, como era de esperar:

Entorno estocástico

En el anterior apartado hemos comprobado cómo el entorno reacciona de manera determinista a las acciones del agente, y hemos introducido que lo que decide el estado al que un agente llegará es la función de transición. Pero en el caso de un entorno estocástico esta función resulta un poco más compleja, dado que la función debe indicar las diversas probabilidades de acabar en diferentes estados que tiene cada acción.

Siguiendo nuestro ejemplo de entorno Frozen-Lake, ahora, para capturar todos los detalles sobre el entorno y las posibles reacciones a las acciones del agente, la función de transición no puede ser representada solo como una matriz 2D, como en el caso de la versión determinista del entorno. En este caso, necesitamos una matriz 3D, donde cada elemento indique la probabilidad de transición de un estado de origen s a un estado de destino s’ dada una acción a.

Para verificar que estamos hablando de una matriz 3D, podríamos obtener la función de transición como antes, pero ahora para el entorno con comportamiento resbaladizo:

Recordemos que esta función de transición implementa que hay solo un tercio (33.33%) de probabilidad de que vayamos al estado de la celda prevista y dos tercios (66.66%) de probabilidad de que vayamos en direcciones ortogonales no deseadas. También existe la posibilidad de que volvamos al estado desde el que salimos si estamos al lado de la valla transparente y nos dirigimos hacia ella.

Ahora, este agente, que sabía cómo moverse bien por un entorno no resbaladizo siguiendo el «good plan», lo más probable es que no consiga llegar a la celda destino. Si ejecutamos varias veces el código, podemos ver que no se comporta siempre igual y que da resultados muy diferentes, como se muestra en la Figura 2.5, en la que se han representado cuatro posibles ejecuciones.

Figura 2.5 Cuatro ejecuciones del «good plan» en el entorno Frozen-Lake resbaladizo.

Si ejecutamos la misma prueba de antes al agente, pero ahora en un entorno resbaladizo, como muestra el siguiente código, podemos ver que de una efectividad del 100% pasamos a un porcentaje muy mínimo:

Podría ser útil una representación visual de la función de transición para visualizar más fácilmente lo que ocurre con la dinámica del entorno; por ejemplo, un gráfico con nodos que representara los estados y las aristas etiquetados con probabilidades (y recompensas) y una posible transición entre estados.

En la Figura 2.6 se muestra gráficamente la función de transición para las cuatro acciones que se pueden realizar desde el estado 14:

Figura 2.6 Parte correspondiente al estado 14 del diagrama que representa la función de transición del entorno Frozen-Lake.

Podemos observar, por ejemplo, que cuando realizamos la acción 1 (ir hacia abajo), esta nunca se podrá hacer realidad, ya que nos topamos con la valla transparente. En este caso, con un tercio de las probabilidades, el entorno nos devuelve el mismo estado 14 donde nos encontrábamos. Con la misma probabilidad, nos devuelve el 13 o el 15. En este caso, realizar la acción hacia abajo lo único que nos asegura es que nunca iremos hacia arriba. Esto puede ser importante si, por ejemplo, el estado de arriba fuera un agujero y quisiéramos estar seguros de no caer en él. Más adelante, volveremos a analizar en más detalle el efecto real en las acciones de este comportamiento estocástico del entorno Frozen-Lake.

2.4 Configuración del problema a resolver

En el capítulo anterior, presentamos el ciclo de aprendizaje por refuerzo en el que un agente de aprendizaje por refuerzo interactúa con un entorno a lo largo del tiempo. Resumiendo, en cada time step t, el agente recibe un estado s, y selecciona una acción a siguiendo una estrategia (a la que llamaremos «política»). De acuerdo con la dinámica de entorno, el agente recibe una recompensa escalar r’, y se realiza la transición al siguiente estado s’. En un problema episódico, este proceso continúa hasta que el agente llega a un estado terminal, y luego se reinicia.

Episodio y trayectoria

El agente interactúa con el entorno realizando algunas acciones, comenzando desde el estado inicial y alcanzando el estado final. A esta interacción agente-entorno que va desde el estado inicial hasta el estado final la hemos llamado episodio. Recordemos que a cada interacción se la llama experiencia y que se representa como

Pero, a veces, nos interesará solo una parte de la interacción agente-entorno.

También lo veremos como que en un time step arbitrario t, la interacción agente-entorno ha evolucionado como una secuencia de estados, acciones y recompensas. A cada una de estas interacciones la llamaremos transicióny se define como una tupla en el time step t. De esta manera, podemos definir como trayectoria a una parte de un episodio, compuesta por una secuencia de transiciones. Una trayectoria es ligeramente más flexible que un episodio porque no hay restricciones en su longitud; puede corresponder a un episodio completo o solo a una parte de un episodio. Representamos una trayectoria del siguiente modo:

Denotamos la longitud de la trayectoria con una H, que llamamos «horizonte», en contraposición con T , que denota la longitud final de un episodio finito. El concepto de trayectoria resulta muy útil cuando tratamos con tareas infinitas (T = infinito).

Retorno con descuento

En el capítulo 1 comentamos que, en general, los agentes están diseñados para maximizar la recompensa acumulada que reciben a largo plazo, y que hemos llamado retorno (return).

Es decir, el retorno denotado Gt en el time step t, después de realizar la acción at, se puede calcular como:

Ahora que hemos introducido el factor de descuento gamma, podemos definir otra forma de calcular el retorno usando gamma. Definimos retorno con descuento (discounted return), denotado también con Gt en el time step t, como:

Por time step t, podemos calcular el retorno con descuento Gt como una suma de recompensas posteriores. Pero las recompensas más distantes se multiplican por el factor de descuento gamma elevado a la potencia del número de time steps que estamos alejados. Si el valor de gamma es igual a 1, entonces el retorno descontado equivale a la suma de todas las recompensas posteriores, el retorno. Si gamma es igual a 0, el retorno será solo la recompensa inmediata, sin incluir las recompensas correspondientes a ningún estado posterior.

Los valores extremos son útiles solo en casos concretos, y la mayoría de las veces gamma se establece con un valor intermedio. Cuando fijamos el factor de descuento gamma en un valor pequeño (cerca de 0), damos más importancia a las recompensas inmediatas que a las futuras. Cuando fijamos el factor de descuento en un valor alto (cerca de 1), damos más importancia a las recompensas futuras que a las recompensas inmediatas. Un agente da importancia a recompensas inmediatas y futuras dependiendo de las tareas. En algunas tareas, las recompensas futuras son más deseables que las recompensas inmediatas, y viceversa.

En resumen, las acciones tienen consecuencias a corto y largo plazo, y el agente necesita comprender los complejos efectos que sus acciones tienen sobre el entorno. El retorno con descuento ayudará al agente en la tarea de elegir siempre una acción hacia el objetivo de maximizar sus recompensas obtenidas. Pero, como veremos, en general, un agente no puede predecir con total certeza cuál es el retorno con descuento esperado, por lo que se requiere realizar predicciones o estimaciones dependiendo de la familia de métodos que vayamos a utilizar para aprender. Aquí es donde entran en juego los conceptos clave de política y funciones de valor.

Política

En este apartado vamos a ver cómo el agente toma la decisión de cumplir su objetivo de encontrar una secuencia de acciones que maximice el retorno con descuento durante un episodio. En otras palabras, el agente debe tener un plan, una secuencia de acciones desde el estado de inicio al estado destino.

Previamente introdujimos un «good plan» para el ejemplo Frozen-Lake, que parece intuitivamente el mejor. Pero cuando lo ejecutamos en un entorno estocástico, incluso los mejores planes caen, debido a que las acciones realizadas no siempre funcionarán de la manera que esperamos. Recuerde que en el entorno Frozen-Lake, las acciones no intencionadas tienen una probabilidad aún mayor que las intencionadas: 66.6% versus 33.3%, respectivamente.

En particular sucede que, debido a la estocasticidad del entorno, nuestro agente llega a un estado no cubierto por nuestro plan. Entonces, ¿qué hay que hacer? Bueno, lo que necesitamos es un plan para cada estado posible, un «plan universal», una política que cubra todos los estados posibles en un entorno.

Una política (policy) define el comportamiento del agente en un entorno. Es «la estrategia» (por ejemplo, algún conjunto de reglas) que el agente emplea para determinar la siguiente acción a realizar. Una política es una función que determina la siguiente acción a realizar cuando el agente se encuentra en un estado del entorno.

En general las políticas también pueden clasificarse como deterministas o estocásticas. Por ejemplo, la política que acabamos de mencionar la consideramos una política determinista (deterministic policy). Una política determinista le dice al agente que realice una acción en particular siempre que se encuentre en un determinado estado s. Es decir, la política determinista mapea cada uno de los estados a una acción en particular.

Pero, en general, nos encontraremos con políticas más generales con comportamiento estocástico. Una política estocástica(stochastic policy)tiene una distribución de probabilidad sobre las acciones que un agente puede realizar en un estado dado. Así que en lugar de realizar la misma acción cada vez que el agente visita el estado, el agente realiza diferentes acciones basado cada vez en una distribución de probabilidad devuelta por la política estocástica.

Como veremos más adelante en este libro, otra característica de la política de un agente es que esta puede ir cambiando a medida que el agente adquiera más experiencia durante el proceso de aprendizaje. Por ejemplo, el agente puede partir de una política aleatoria, donde la probabilidad de todas las acciones es uniforme, y a medida que va entrenándose puede aprender a optimizar su política para alcanzar una política mejor. En una iteración inicial, este agente realiza una acción aleatoria en cada estado y trata de saber si la acción es buena o mala en base a la recompensa obtenida. A través de una serie de iteraciones, time steps, el agente aprenderá a realizar buenas acciones en cada estado. Lo que perseguimos en realidad es que el agente aprenda una buena política o — incluso — una política óptima, como veremos.

Podemos clasificar las políticas estocásticas en dos grupos:

  • Política categórica (categorical policy): cuando el espacio de acción es discreto, y la política utiliza una distribución categórica de probabilidad sobre el espacio de acción para seleccionar. Por ejemplo, en el entorno Frozen-Lake podemos tener una política en la que, dado un estado, seleccionemos una acción dando una probabilidad a «izquierda», «abajo», «derecha» y «arriba» del 5%, 80%, 5% y 10%, respectivamente. En este caso, en este estado concreto, el agente en la mayoría de las ocasiones seleccionará ir hacia abajo, pero de vez en cuando seleccionará las otras acciones.
  • Política gaussiana (gaussian policy): cuando nuestro espacio de acción es continuo, y la política utiliza una distribución de probabilidad gaussiana sobre el espacio para seleccionar la acción.

Incluso para entornos razonablemente simples, podemos tener una variedad de políticas. Ya hemos dicho que, durante el proceso de aprendizaje, la política puede cambiar a medida que el agente gana más experiencia; en realidad, el agente está interesado en encontrar automáticamente la política óptima. Definimos política óptima (optimal policy) como «aquella política que le dice al agente que realice la mejor acción en cada estado para que el agente pueda recibir la mejor recompensa posible». En este punto es donde las funciones de valor entran en juego. Veámoslo en el siguiente capítulo.