WEBVTT

00:00.490 --> 00:01.720
Hola a todos, y bienvenidos de nuevo.

00:02.080 --> 00:05.290
En la última lección, empezamos a construir nuestro entorno.

00:05.300 --> 00:13.090
Tenemos esencialmente una cuadrícula de 11 por 11 aquí que queremos que nuestro cartero repita para resolver nuestro desafío.

00:14.020 --> 00:18.430
Ahora queremos empezar a pensar en una vez que tengamos la grilla.

00:18.430 --> 00:23.860
También necesitamos acciones para nuestro agente y las eliminaré muy rápido.

00:23.860 --> 00:24.940
No necesitamos estas células.

00:24.940 --> 00:27.670
Solo quería tenerlo para un poco de espacio.

00:27.790 --> 00:29.440
Solo hace que sea más fácil verte.

00:29.440 --> 00:35.290
Dame 1/2, déjame borrar estos y podemos dejar este aquí.

00:35.950 --> 00:36.280
Asi que.

00:37.390 --> 00:43.060
Dejé un texto en el que tenemos y queremos configurar nuestras acciones como en vertical, abajo e izquierda.

00:43.630 --> 00:45.550
Con Python, es bastante sencillo.

00:45.550 --> 00:48.010
Podemos construir la lista y establecer nuestras acciones.

00:48.280 --> 00:51.160
Nuestras acciones van a ser iguales.

00:52.200 --> 00:55.170
Dos como tenemos arriba a la derecha, abajo a la izquierda.

00:55.380 --> 00:56.760
Así que vamos a configurarlo.

00:57.630 --> 01:01.050
Derecha abajo e izquierda.

01:01.380 --> 01:06.570
Tenemos que darle a nuestro agente, discúlpeme, alguna habilidad para maniobrar con estas acciones a través del

01:06.570 --> 01:07.020
laberinto.

01:08.300 --> 01:11.780
Además de eso, también tenemos que empezar a establecer recompensas.

01:12.110 --> 01:17.990
Ahora, aquí es donde comenzará a ser un poco más complicado porque tenemos que

01:17.990 --> 01:24.920
establecer diferentes estados de nuestro entorno, diferentes estados en el sentido de que queremos poder asignar estos -100

01:24.920 --> 01:31.670
y uno negativo a estos pasos o estos valores de estado. a cada cuadrado dentro de la cuadrícula.

01:32.090 --> 01:39.260
Entonces vemos, para ayudar a nuestro agente a conocer cada estado o ubicación en nuestra ciudad, queremos tener un valor de recompensa.

01:39.260 --> 01:40.700
Así es como nuestro agente va a aprender.

01:41.030 --> 01:45.020
Entonces, el agente puede comenzar en cualquier cuadrado blanco, pero su objetivo es siempre el mismo.

01:45.260 --> 01:50.900
Quiere maximizar sus recompensas totales con en Q aprender recompensas negativas, sabemos que se conocen

01:50.900 --> 01:51.770
como castigos.

01:52.040 --> 01:54.040
Estos se utilizan para todos los estados excepto el objetivo.

01:54.050 --> 01:59.840
Así es como vamos a establecer esa política óptima, que incita al ojo a identificar el camino más

01:59.840 --> 02:02.540
corto hacia la meta minimizando sus castigos.

02:03.200 --> 02:03.560
Bien.

02:04.460 --> 02:09.830
Además, para maximizar las recompensas acumulativas, el agente deberá encontrar el camino más corto entre el área de empaquetado

02:09.830 --> 02:14.510
de artículos, nuestro Cuadrado Verde, recuerde, y los otros lugares de la ciudad donde el cartero

02:14.510 --> 02:16.310
puede recorrer los cuadrados blancos.

02:16.730 --> 02:20.420
Los agentes aprenderán a evitar chocar contra cualquiera de los límites de la ciudad.

02:20.420 --> 02:23.050
Esos son los cuadrados negros, como vemos con el -100.

02:23.120 --> 02:24.260
Queremos mantenernos alejados de ellos.

02:24.470 --> 02:26.480
Tienen más de un castigo.

02:26.930 --> 02:32.450
Entonces, para hacer esto, tenemos nuestra cuadrícula, el entorno que creamos arriba con nuestras filas.

02:32.810 --> 02:35.990
Pero también queremos asignarle estos valores.

02:36.410 --> 02:42.020
Entonces, para hacer eso, intentemos pensar en cómo podemos establecer que podemos usar NumPy y también

02:42.020 --> 02:46.880
podemos comenzar a establecerlo en -100 para las filas y columnas del entorno.

02:47.120 --> 02:49.310
Entonces tenemos nuestras filas de entorno y columnas de entorno.

02:49.580 --> 03:02.540
Así que llamemos a estas recompensas iguales a numpy full y pasemos nuestras filas de entorno, columnas de entorno

03:03.290 --> 03:10.100
y para establecer nuestros valores, podemos comenzar con -100.

03:11.920 --> 03:18.370
Además de eso, también queremos configurar nuestra ventana de recompensas.

03:20.090 --> 03:23.510
Utilice los índices de cero y cinco.

03:24.260 --> 03:25.640
Igual a 100.

03:26.650 --> 03:28.420
Y esto va a tener sentido en un segundo.

03:28.540 --> 03:30.130
Así que estamos echando un vistazo a nuestro Green Square.

03:30.160 --> 03:31.280
Tenemos nuestro cero cinco.

03:31.300 --> 03:37.060
Tenemos nuestro Green Square establecido en 100 tomando estas o esta ubicación para establecer el valor.

03:37.540 --> 03:41.650
Ahora, voy a pegar el siguiente fragmento de código para que podamos revisarlo.

03:41.680 --> 03:44.700
Así que no tienes que verme calificar cada paso porque es un poco repetitivo.

03:44.710 --> 03:47.440
Y ahora tenemos nuestros espacios en blanco.

03:47.650 --> 03:51.580
Configuremos nuestro conocimiento para nuestros puntos de recompensa.

03:52.120 --> 03:57.420
Y en este fragmento de código, estamos usando un diccionario y configurando cada uno de nuestros valores dentro de nuestro diccionario.

03:57.430 --> 03:58.450
Entonces tenemos nuestros pasillos.

03:58.450 --> 04:05.230
Estamos pensando en eso como cada fila individual, y podemos establecer con nuestro corte, con nuestro índice del uno

04:05.230 --> 04:06.340
al nueve.

04:06.610 --> 04:11.230
Y queremos usar una iteración con nuestro ciclo for para establecer estos valores.

04:11.860 --> 04:16.000
Al hacerlo, verán si miramos del uno al diez, uno, siete y nueve.

04:16.180 --> 04:21.280
Y al usar esto, podemos establecer el índice de fila en nuestro rango de uno a diez, en el

04:21.280 --> 04:23.050
que estamos trabajando en nuestro entorno.

04:23.530 --> 04:25.300
Podemos establecer el índice de la columna.

04:26.530 --> 04:33.280
En nuestros pasillos de nuestro índice de fila con nuestro diccionario, nuestro índice de fila de recompensas y el índice de columna, podemos establecerlo

04:33.280 --> 04:34.450
en uno negativo.

04:34.870 --> 04:41.590
Entonces, lo que esto está haciendo es esencialmente, si observamos cada uno específico, si tomamos un rango aquí, por ejemplo, seré

04:41.590 --> 04:48.100
nueve para I en nuestro rango, tenemos un conjunto negativo en todo el entorno o cada estado dentro de nuestro

04:48.100 --> 04:49.030
entorno. .

04:49.570 --> 04:52.410
Para ocho, tenemos tres y siete.

04:52.420 --> 04:57.670
Entonces, si podemos desplazarnos hacia arriba, podemos ver que en tres y siete, estamos configurando uno negativo ya que todos

04:57.670 --> 05:00.130
serían -100 o configurados en una centena negativa.

05:00.370 --> 05:07.180
Y con esta iteración, podemos establecer esas recompensas o establecer cada estado que estamos definiendo dentro de nuestros

05:07.180 --> 05:08.590
pasillos en negativo.

05:08.860 --> 05:10.390
Lo hace muy fácil.

05:10.390 --> 05:17.200
En lugar de tener que escribir más lógica o tal vez funciones o declaraciones más detalladas, podemos iterar y

05:17.200 --> 05:18.640
establecer estos valores.

05:18.940 --> 05:23.890
Le recomiendo que se tome un minuto para explorar el experimento si desea cambiar el entorno más

05:23.920 --> 05:24.280
adelante.

05:24.280 --> 05:29.410
Después de ejecutar esta solución, es una excelente manera de aprender y reforzar estas políticas.

05:29.410 --> 05:34.990
Pero esto está empezando a tomar forma y algo genial que podemos hacer es visualizarlo.

05:34.990 --> 05:38.380
Así que hagamos cuatro filas en recompensas.

05:40.050 --> 05:46.620
Imprima la fila e imprimamos esto y podemos ver que podría tener que volver a ejecutar estas celdas.

05:46.620 --> 05:47.400
Mis disculpas.

05:47.640 --> 05:50.010
No estaba conectado a la computadora portátil que funcionaba aquí.

05:50.280 --> 05:51.210
Dale 1/2.

05:51.210 --> 05:52.260
Va a arrojar un error.

05:52.620 --> 05:55.240
Necesito volver y volver a ejecutar las celdas.

05:55.240 --> 05:56.940
Así que permítanme volver a ejecutar esto muy rápido.

05:57.210 --> 05:58.560
Quiero importar NumPy.

05:58.770 --> 06:01.470
De hecho, sólo puedo esperar mis disculpas.

06:02.130 --> 06:03.360
Déjame pasar este año.

06:03.690 --> 06:04.830
Voy a bajar.

06:04.830 --> 06:06.780
Queremos ejecutar nuestro entorno.

06:07.170 --> 06:08.550
Queremos ejecutar nuestras acciones.

06:08.550 --> 06:10.680
Los otros son solo texto, así que no los necesitamos.

06:10.680 --> 06:14.430
Pero me gusta tener eso para que ustedes puedan tener una referencia.

06:14.730 --> 06:18.450
Queremos premiar con puntos y finalmente queremos visualizar esto.

06:18.870 --> 06:25.770
Podemos ver la visualización, la representación numérica real en números de nuestro entorno.

06:25.920 --> 06:26.760
Realmente genial.

06:27.030 --> 06:28.860
Así que tenemos nuestro entorno configurado.

06:29.130 --> 06:30.140
Increíble trabajo.

06:30.150 --> 06:31.620
Espero que ustedes estén encontrando esto útil.

06:31.740 --> 06:36.540
Ahora vamos a rematar aquí porque en la próxima lección vamos a empezar a entrenar el modelo.

06:36.810 --> 06:41.910
Así que esto fue para establecer las acciones de nuestros agentes, para establecer nuestro entorno, para establecer nuestras recompensas.

06:41.910 --> 06:46.440
Nuestro castigo ayudará a ese agente a establecer la política óptima dentro de Q learning.

06:46.680 --> 06:53.310
En general, tenemos esta representación visual o esta imagen construida, y podemos verla aquí si

06:53.310 --> 06:54.750
imprimimos nuestra fila.

06:55.970 --> 06:56.510
Increíble.

06:56.900 --> 06:57.290
Bien.

06:57.740 --> 06:58.970
No seguiré divagando.

06:58.970 --> 07:00.630
Dejémoslo aquí en la próxima lección.

07:00.650 --> 07:02.090
Comencemos a entrenar el modelo.

07:02.570 --> 07:03.860
Los veré en la próxima conferencia.
