WEBVTT

00:00.420 --> 00:03.950
Hola y bienvenidos de nuevo a nuestro auto Maggio auto.

00:03.960 --> 00:10.200
Así que en un toile voy a explicar el entorno en el que implementaremos nuestra inteligencia artificial y que

00:10.410 --> 00:16.500
contendrá, por supuesto, el coche que se entrenará para conducir y para evitar obstáculos y sobre el cual se

00:16.500 --> 00:20.950
dibujarán algunas carreteras y algunos bloques para nuestros autos para navegar a su alrededor.

00:21.210 --> 00:28.170
Así que más adelante construiremos esta inteligencia artificial para entrenar a este automóvil para conducir por la carretera que

00:28.170 --> 00:33.830
conoce sin cruzar los límites y evitar algunos obstáculos que se introducirán en la carretera.

00:34.140 --> 00:35.870
Entonces este es un desafío bastante emocionante.

00:35.910 --> 00:42.000
las aves, que son inteligencia artificial y que harán todo el entrenamiento para entrenar el automóvil sobre cómo venderlo.

00:42.000 --> 00:47.090
Y en realidad hay dos archivos separados, como se puede ver, están el vértice y

00:47.280 --> 00:52.080
Y tenemos un mapa que encontramos que es el código que hace que todo este entorno.

00:52.110 --> 00:57.090
Así que aquí está ese código que en realidad tiene 200 líneas de código un poco más.

00:57.090 --> 01:00.460
Entonces este código no está típicamente relacionado con AI.

01:00.510 --> 01:03.380
Es solo un código para que el entorno haga el mapa.

01:03.420 --> 01:08.430
Así que voy a explicar cada una de las secciones para explicarlas, pero no vamos

01:08.430 --> 01:13.610
a implementar este código línea por línea desde cero porque queremos centrarnos en la inteligencia artificial.

01:13.740 --> 01:17.160
Pero sigamos examinando las secciones una a una para comprender qué está pasando.

01:17.370 --> 01:22.020
Primero, importamos las bibliotecas centrales para cualquier código.

01:22.110 --> 01:28.770
Necesitamos algunas bibliotecas para realizar algunas tareas de manera más eficiente que importamos todos los paquetes de Cavy.

01:28.890 --> 01:35.140
Entonces eso no es muy importante porque todo esto es específico de Cavey, estamos usando Cavy para hacer el mapa.

01:35.190 --> 01:41.010
Y entonces estamos importando muchas clases y objetos para poder hacer este mapa y agregar algunas herramientas

01:41.010 --> 01:42.210
en el mapa.

01:42.210 --> 01:44.420
Está bien, entonces esta línea es importante.

01:44.430 --> 01:53.130
Esta línea está relacionada porque básicamente aquí es donde importamos nuestro cerebro, el cerebro del automóvil, que será otro chorro

01:53.220 --> 01:57.760
de esto, lo hizo en clase y el profesor en clase.

01:57.820 --> 02:00.570
Es nuestra inteligencia artificial en sí misma.

02:00.570 --> 02:04.680
Verá que implementaremos la dequeue en clase en los siguientes tutoriales.

02:04.680 --> 02:09.650
Y como ya habrás adivinado la instancia de dequeue para redes Q profundas.

02:09.650 --> 02:15.450
Entonces implementaremos una red de aprendizaje de dequeue y luego, una vez que esté lista, la

02:15.540 --> 02:21.910
importaremos aquí con esta línea de la IA y los ojos, por supuesto, son un archivo de Python.

02:21.990 --> 02:22.310
Todo bien.

02:22.320 --> 02:24.450
Entonces no puedo esperar para implementar esto.

02:24.450 --> 02:29.520
esto será muy emocionante porque gracias al I, el automóvil podrá conducir solo.

02:29.520 --> 02:33.200
Este va a ser todo un viaje, pero verá que

02:33.270 --> 02:33.880
Todo bien.

02:33.880 --> 02:39.060
Y ahora, antes de pasar a las siguientes secciones, tenemos que explicar cómo formaremos este automóvil.

02:39.060 --> 02:43.880
No voy a explicar la red neuronal en este momento, pero voy a explicar la

02:43.920 --> 02:48.080
idea de cómo podemos entrenar el auto para que maneje y evitar obstáculos.

02:48.360 --> 02:54.130
Entonces, usted sabe en la vida real si quiere entrenar un automóvil real para evitar algunas paredes o algunos obstáculos.

02:54.390 --> 02:55.580
Bueno, Qué harías.

02:55.830 --> 03:01.130
Definitivamente no tomarías paredes reales o obstáculos realmente grandes y aplastarías tu auto contra ellos.

03:01.200 --> 03:02.710
Eso te costaría mucho dinero.

03:02.850 --> 03:10.170
En cambio, una idea más inteligente sería castigar a su automóvil no cuando rompe una pared o un obstáculo,

03:10.410 --> 03:12.690
sino cuando cae sobre la arena.

03:12.810 --> 03:14.220
Entonces es como si tuvieras un campo.

03:14.220 --> 03:19.680
Este campo tiene algunas carreteras en las que el automóvil debe permanecer y las carreteras están delimitadas por un poco de arena.

03:19.860 --> 03:25.500
Y cada vez que el auto se dirige hacia el centro, es como si se tratara de un obstáculo, porque

03:25.500 --> 03:31.050
una vez que el automóvil entra en un poco de arena se ralentizará y nos aseguraremos de que el auto

03:31.050 --> 03:31.630
sea penalizado.

03:31.860 --> 03:35.200
Y ese es un punto esencial de la inteligencia artificial.

03:35.220 --> 03:40.210
La mala palabra viene cuando el automóvil entra en algún sentido y se ralentiza.

03:40.230 --> 03:40.770
Todo bien.

03:40.770 --> 03:45.160
Y, por lo tanto, aquí presento el último texto y es por eso.

03:45.300 --> 03:50.650
¿Cuáles son las coordenadas del último punto en la memoria cuando dibujamos algún aroma en el mapa?

03:50.760 --> 03:51.110
Todo bien.

03:51.120 --> 03:57.720
obtenemos nuestra inteligencia artificial que llamamos cerebro y que contiene nuestra red neuronal y la llamaremos cerebro porque

03:57.900 --> 04:03.020
este es en realidad el cerebro del automóvil y contiene nuestra Red de Noodle.

04:03.030 --> 04:03.920
Y luego

04:04.350 --> 04:04.730
Todo bien.

04:04.770 --> 04:10.200
Entonces, en esta línea de código, como pueden ver, estoy creando objetos en el profesor en clase.

04:10.230 --> 04:17.000
Les recordaré que las clases y los objetos son pero el objeto de Brenna deshumaniza la clase y

04:17.010 --> 04:19.660
5: 3 y 0. 9 son las entradas de la clase.

04:19.680 --> 04:26.880
Entonces, eso es muy simple: cinco corresponden a los estados que son vectores codificados de cinco dimensiones; veremos qué

04:26.880 --> 04:31.710
describen perfectamente lo que está sucediendo en el entorno en el mapa.

04:31.830 --> 04:38.820
acciones que habrá tres acciones posibles ir a la izquierda ir directamente o ir a la derecha y 0.

04:39.330 --> 04:44.190
Entonces tres es el número de 9 es de nuevo un parámetro en el algoritmo de aprendizaje de dequeue.

04:44.220 --> 04:46.900
Está bien y luego tenemos la acción a través de la rotación.

04:46.980 --> 04:50.910
Entonces la acción a la rotación es un vector de tres elementos.

04:50.910 --> 04:53.290
020 y menos 20.

04:53.300 --> 05:01.820
Y entonces tenemos que hacer esto porque las acciones están codificadas por tres números 0 1 y 2 y eso corresponde a los

05:01.820 --> 05:04.700
índices de esta acción dos vectores de rotación.

05:04.710 --> 05:11.160
Entonces, por ejemplo, si la acción que se selecciona en el tiempo t es cero.

05:11.270 --> 05:18.990
El pozo cero corresponde al índice de esta acción, dos vectores de rotación y el valor del índice 0 es cero.

05:19.150 --> 05:24.490
Y por lo tanto, iremos directamente si la acción seleccionada es 1.

05:24.770 --> 05:30.380
Bueno, uno corresponde al índice de esta acción dos vectores adicionales y el valor de este

05:30.380 --> 05:32.810
vector que tiene uno siguiente es 20.

05:32.810 --> 05:38.580
Entonces 20 corresponde a una rotación de 20 grados y eso significa que el código irá 20 grados

05:39.260 --> 05:46.500
hacia la derecha y luego si la acción seleccionada se corresponde bien con el índice de esta acción con el vector de rotación.

05:46.700 --> 05:52.570
Y por lo tanto, el código hará una rotación de menos 20 grados y por lo tanto irá a la izquierda.

05:52.580 --> 06:00.200
Muy bien, entonces presentamos el Voivode de recompensa izquierdo porque en cada etapa recibirá la última palabra.

06:00.200 --> 06:04.970
Así que recuerda que si la carta no entra en algún sentido, la recompensa será positiva.

06:05.180 --> 06:11.780
Y si el código continúa bien, recibirá la mala recompensa y cada vez que

06:11.780 --> 06:15.270
esta variable contenga esta recompensa obtendrá H20.

06:15.500 --> 06:20.760
Y luego inicializamos los puntajes, que es un vector que contendrá la recompensa.

06:20.780 --> 06:22.780
No todos ellos, sino la recompensa.

06:22.800 --> 06:28.340
En una ventana deslizante para que sepas que podemos hacer una curva de la media sentadilla la recompensa

06:28.340 --> 06:29.440
con respecto al tiempo.

06:29.450 --> 06:34.520
Muy bien, entonces en esta sección del código inicializamos el mapa para inicializarlo.

06:34.520 --> 06:36.170
Por ejemplo, dicha variable.

06:36.170 --> 06:37.220
Entonces eso es importante

06:37.220 --> 06:42.710
La segunda variable realmente será una matriz en la que las celdas serán los píxeles del

06:43.250 --> 06:45.880
mapa y en cada celda tendremos un 1.

06:45.980 --> 06:52.120
Si hay algún sentido en un cero si no hay un centro al principio, no dibujaremos nada.

06:52.160 --> 06:57.840
Por lo tanto, no tendrá ningún sentido y, por lo tanto, todas las celdas del conjunto central tendrán un cero.

06:57.860 --> 07:02.990
Habrá ceros en todas partes y tan pronto como tengamos algún sentido, las celdas

07:02.990 --> 07:10.290
en las que dibujamos el sentido obtendrán uno e inicializaremos la carrera con todos los ceros enviados aquí iguales y ceros.

07:10.370 --> 07:13.510
Entonces tenemos esta cosa importante que es el objetivo.

07:13.520 --> 07:17.630
Entonces, el objetivo es un punto en el mapa que capacitará al automóvil para alcanzarlo.

07:17.630 --> 07:19.850
Entonces es como un destino.

07:19.850 --> 07:21.460
Entonces, ¿cuál es este objetivo?

07:21.560 --> 07:27.380
Bueno, esta será la esquina superior izquierda del mapa para que todos entrenen el auto y vayan a la esquina

07:27.380 --> 07:28.480
superior izquierda del mapa.

07:28.550 --> 07:33.290
Y una vez que llegue a la esquina superior izquierda del mapa, tendremos tendencia a ir a la

07:33.290 --> 07:36.590
esquina inferior derecha del mapa para que podamos imaginar el siguiente escenario.

07:36.590 --> 07:42.620
mapa es el aeropuerto de una ciudad y la esquina inferior derecha del mapa es el centro de la ciudad.

07:42.620 --> 07:44.320
La esquina superior izquierda del

07:44.570 --> 07:50.180
Y entrenaremos un taxi o Uber para hacer algunos viajes de ida y vuelta entre el aeropuerto y el centro de la ciudad.

07:50.210 --> 07:55.610
Y, por supuesto, haremos la tarea difícil a este taxi dibujando más y más caminos

07:55.700 --> 08:01.190
difíciles y añadiendo más y más obstáculos en la calle para ver si el taxi

08:01.190 --> 08:02.760
todavía puede llegar al aeropuerto.

08:02.990 --> 08:04.170
Entonces esto va a ser divertido.

08:04.190 --> 08:11.030
Y es por eso que aquí estoy configurando las coordenadas del primer objetivo que es el aeropuerto que se encuentra en la esquina

08:11.030 --> 08:12.640
superior izquierda de la pantalla.

08:12.830 --> 08:20.000
Entonces el mapa será como un cuadrado como este y las coordenadas del origen que son

08:20.090 --> 08:22.090
las coordenadas 00 están aquí.

08:22.340 --> 08:25.250
Y luego más grande es esta distancia aquí.

08:25.310 --> 08:32.640
Entonces, las coordenadas 20 y Najah menos 20 estarán por lo tanto aquí, en la esquina superior izquierda del mapa.

08:32.790 --> 08:35.650
Y por qué elegí 20 y no cero.

08:35.850 --> 08:40.300
Bueno, eso es porque queremos entrenar el auto para que no se apresure en las paredes.

08:40.320 --> 08:45.450
Sabes que también queremos entrenar en las paredes y, por lo tanto, no es cero porque no queremos

08:45.450 --> 08:48.120
que el coche toque donde queremos tocar para ir.

08:48.180 --> 08:53.910
Entonces tenemos que ponerlo aquí y luego solo estoy presentando la última variable de distancia que solo da la

08:53.910 --> 08:58.200
distancia actual desde el automóvil a la carretera y que estoy inicializando a cero.

08:59.020 --> 08:59.470
Todo bien.

08:59.480 --> 09:02.220
Y ahora es el momento de hacer el auto y el juego.

09:02.370 --> 09:06.650
Así que vamos a hacer dos clases de una clase para el automóvil y una clase para el juego.

09:06.850 --> 09:10.850
Y dentro de estas clases ya hará algunas conexiones con nuestra IA.

09:11.170 --> 09:13.170
Así que haremos eso en el próximo Statoil.

09:13.180 --> 09:15.000
Y hasta entonces, disfrute yo.
