Hola a todos, y bienvenidos de nuevo.
En la última lección, empezamos a construir nuestro entorno.
Tenemos esencialmente una cuadrícula de 11 por 11 aquí que queremos que nuestro cartero repita para resolver nuestro desafío.
Ahora queremos empezar a pensar en una vez que tengamos la grilla.
También necesitamos acciones para nuestro agente y las eliminaré muy rápido.
No necesitamos estas células.
Solo quería tenerlo para un poco de espacio.
Solo hace que sea más fácil verte.
Dame 1/2, déjame borrar estos y podemos dejar este aquí.
Asi que.
Dejé un texto en el que tenemos y queremos configurar nuestras acciones como en vertical, abajo e izquierda.
Con Python, es bastante sencillo.
Podemos construir la lista y establecer nuestras acciones.
Nuestras acciones van a ser iguales.
Dos como tenemos arriba a la derecha, abajo a la izquierda.
Así que vamos a configurarlo.
Derecha abajo e izquierda.
Tenemos que darle a nuestro agente, discúlpeme, alguna habilidad para maniobrar con estas acciones a través del
laberinto.
Además de eso, también tenemos que empezar a establecer recompensas.
Ahora, aquí es donde comenzará a ser un poco más complicado porque tenemos que
establecer diferentes estados de nuestro entorno, diferentes estados en el sentido de que queremos poder asignar estos -100
y uno negativo a estos pasos o estos valores de estado. a cada cuadrado dentro de la cuadrícula.
Entonces vemos, para ayudar a nuestro agente a conocer cada estado o ubicación en nuestra ciudad, queremos tener un valor de recompensa.
Así es como nuestro agente va a aprender.
Entonces, el agente puede comenzar en cualquier cuadrado blanco, pero su objetivo es siempre el mismo.
Quiere maximizar sus recompensas totales con en Q aprender recompensas negativas, sabemos que se conocen
como castigos.
Estos se utilizan para todos los estados excepto el objetivo.
Así es como vamos a establecer esa política óptima, que incita al ojo a identificar el camino más
corto hacia la meta minimizando sus castigos.
Bien.
Además, para maximizar las recompensas acumulativas, el agente deberá encontrar el camino más corto entre el área de empaquetado
de artículos, nuestro Cuadrado Verde, recuerde, y los otros lugares de la ciudad donde el cartero
puede recorrer los cuadrados blancos.
Los agentes aprenderán a evitar chocar contra cualquiera de los límites de la ciudad.
Esos son los cuadrados negros, como vemos con el -100.
Queremos mantenernos alejados de ellos.
Tienen más de un castigo.
Entonces, para hacer esto, tenemos nuestra cuadrícula, el entorno que creamos arriba con nuestras filas.
Pero también queremos asignarle estos valores.
Entonces, para hacer eso, intentemos pensar en cómo podemos establecer que podemos usar NumPy y también
podemos comenzar a establecerlo en -100 para las filas y columnas del entorno.
Entonces tenemos nuestras filas de entorno y columnas de entorno.
Así que llamemos a estas recompensas iguales a numpy full y pasemos nuestras filas de entorno, columnas de entorno
y para establecer nuestros valores, podemos comenzar con -100.
Además de eso, también queremos configurar nuestra ventana de recompensas.
Utilice los índices de cero y cinco.
Igual a 100.
Y esto va a tener sentido en un segundo.
Así que estamos echando un vistazo a nuestro Green Square.
Tenemos nuestro cero cinco.
Tenemos nuestro Green Square establecido en 100 tomando estas o esta ubicación para establecer el valor.
Ahora, voy a pegar el siguiente fragmento de código para que podamos revisarlo.
Así que no tienes que verme calificar cada paso porque es un poco repetitivo.
Y ahora tenemos nuestros espacios en blanco.
Configuremos nuestro conocimiento para nuestros puntos de recompensa.
Y en este fragmento de código, estamos usando un diccionario y configurando cada uno de nuestros valores dentro de nuestro diccionario.
Entonces tenemos nuestros pasillos.
Estamos pensando en eso como cada fila individual, y podemos establecer con nuestro corte, con nuestro índice del uno
al nueve.
Y queremos usar una iteración con nuestro ciclo for para establecer estos valores.
Al hacerlo, verán si miramos del uno al diez, uno, siete y nueve.
Y al usar esto, podemos establecer el índice de fila en nuestro rango de uno a diez, en el
que estamos trabajando en nuestro entorno.
Podemos establecer el índice de la columna.
En nuestros pasillos de nuestro índice de fila con nuestro diccionario, nuestro índice de fila de recompensas y el índice de columna, podemos establecerlo
en uno negativo.
Entonces, lo que esto está haciendo es esencialmente, si observamos cada uno específico, si tomamos un rango aquí, por ejemplo, seré
nueve para I en nuestro rango, tenemos un conjunto negativo en todo el entorno o cada estado dentro de nuestro
entorno. .
Para ocho, tenemos tres y siete.
Entonces, si podemos desplazarnos hacia arriba, podemos ver que en tres y siete, estamos configurando uno negativo ya que todos
serían -100 o configurados en una centena negativa.
Y con esta iteración, podemos establecer esas recompensas o establecer cada estado que estamos definiendo dentro de nuestros
pasillos en negativo.
Lo hace muy fácil.
En lugar de tener que escribir más lógica o tal vez funciones o declaraciones más detalladas, podemos iterar y
establecer estos valores.
Le recomiendo que se tome un minuto para explorar el experimento si desea cambiar el entorno más
adelante.
Después de ejecutar esta solución, es una excelente manera de aprender y reforzar estas políticas.
Pero esto está empezando a tomar forma y algo genial que podemos hacer es visualizarlo.
Así que hagamos cuatro filas en recompensas.
Imprima la fila e imprimamos esto y podemos ver que podría tener que volver a ejecutar estas celdas.
Mis disculpas.
No estaba conectado a la computadora portátil que funcionaba aquí.
Dale 1/2.
Va a arrojar un error.
Necesito volver y volver a ejecutar las celdas.
Así que permítanme volver a ejecutar esto muy rápido.
Quiero importar NumPy.
De hecho, sólo puedo esperar mis disculpas.
Déjame pasar este año.
Voy a bajar.
Queremos ejecutar nuestro entorno.
Queremos ejecutar nuestras acciones.
Los otros son solo texto, así que no los necesitamos.
Pero me gusta tener eso para que ustedes puedan tener una referencia.
Queremos premiar con puntos y finalmente queremos visualizar esto.
Podemos ver la visualización, la representación numérica real en números de nuestro entorno.
Realmente genial.
Así que tenemos nuestro entorno configurado.
Increíble trabajo.
Espero que ustedes estén encontrando esto útil.
Ahora vamos a rematar aquí porque en la próxima lección vamos a empezar a entrenar el modelo.
Así que esto fue para establecer las acciones de nuestros agentes, para establecer nuestro entorno, para establecer nuestras recompensas.
Nuestro castigo ayudará a ese agente a establecer la política óptima dentro de Q learning.
En general, tenemos esta representación visual o esta imagen construida, y podemos verla aquí si
imprimimos nuestra fila.
Increíble.
Bien.
No seguiré divagando.
Dejémoslo aquí en la próxima lección.
Comencemos a entrenar el modelo.
Los veré en la próxima conferencia.