WEBVTT

00:00.450 --> 00:05.700
Hola y bienvenidos a Statoil y al hablar, inicializamos el mapa.

00:05.850 --> 00:12.090
Y ahora es el momento para las cosas emocionantes que creamos el automóvil y lo hacemos con una clase de curso.

00:12.090 --> 00:18.660
Verás que la clase es muy práctica para crear algunas cosas que tienen muchas propiedades porque, como puedes ver,

00:18.660 --> 00:25.300
no solo encuentras algunas variables de mi auto sino también algunas funciones que, por supuesto, es la función que

00:25.300 --> 00:30.270
hará que el auto se mueva al izquierda a la derecha o yendo derecho.

00:30.720 --> 00:35.970
Entonces, tenemos un par de variables que son importantes para describir el entorno que tenemos,

00:35.970 --> 00:42.590
por ejemplo, el ángulo que es el ángulo entre el eje xy el eje de la dirección del automóvil.

00:42.630 --> 00:50.040
que es su última rotación que recuerda que es 0 grados 20 grados o menos 20 grados.

00:50.040 --> 00:51.550
Luego tenemos la rotación

00:51.570 --> 00:57.690
Luego tenemos la velocidad de la coordenada x del vector de velocidad y las coordenadas y del vector

00:57.690 --> 00:58.320
de velocidad.

00:58.470 --> 01:05.740
Y luego el vector de coordenadas velocidad xy velocidad Y entonces tenemos los sensores y las señales.

01:05.830 --> 01:12.280
Y eso es muy importante, la llamada que estamos haciendo tendrá tres sensores, un sensor

01:12.310 --> 01:18.240
dos y sensores, tres sensores, uno detectará si tiene sentido frente al automóvil.

01:18.420 --> 01:25.070
Entonces el sensor 2 es el sensor que detectará si hay algún sentido a la izquierda del automóvil y los sensores

01:25.080 --> 01:29.640
3 es el sensor que detectará si hay algún sentido a la derecha del automóvil.

01:29.950 --> 01:37.080
Y luego, desde estos tres sensores obtenemos las señales de las señales recibidas por cada uno de los sensores.

01:37.290 --> 01:43.320
Entonces la señal uno es la señal recibida por la señal del sensor uno es la señal recibida por el sensor 2 y

01:43.330 --> 01:46.370
la señal 3 es el único recibido por los sensores 3.

01:46.380 --> 01:47.700
Y entonces, ¿cómo funciona?

01:47.770 --> 01:54.310
La señal 1 es la densidad de envío alrededor de la señal del sensor uno a la densidad del centro alrededor del

01:54.820 --> 02:00.560
sensor a la señal tres es la densidad de sensibilidad enviada alrededor y cómo calculamos esta densidad de arena.

02:00.670 --> 02:01.690
Bueno, eso es muy simple.

02:01.700 --> 02:06.110
Tomamos algunos cuadrados grandes alrededor de cada uno de los sensores.

02:06.130 --> 02:12.490
En realidad, son cuadrados de 200 por 200 y para cada uno de los cuadrados, dividimos el número de unidades en el

02:12.490 --> 02:17.840
cuadrado por el número total de celdas en el cuadrado que es 22 y 20 es igual a 400.

02:18.070 --> 02:22.530
Y eso nos da la densidad de arena porque los corresponden al centro.

02:22.630 --> 02:27.790
Hacemos esto para cada sensor y eso nos da la densidad de arena alrededor de cada sensor.

02:27.790 --> 02:29.550
Esa es la señal.

02:29.650 --> 02:35.450
Muy bien, ahora tenemos todo para detectar el sensor y luego tenemos la función de movimiento.

02:35.450 --> 02:40.660
Y, por supuesto, la función de movimiento es lo que permitirá que el núcleo vaya hacia la izquierda yendo derecho o

02:40.660 --> 02:41.530
hacia la derecha.

02:41.920 --> 02:43.360
Entonces, repasemos rápidamente.

02:43.360 --> 02:50.410
Aquí tenemos la actualización de la posición del automóvil con su última posición, que es el auto aquí y

02:50.740 --> 02:52.400
el vector de velocidad.

02:52.540 --> 02:58.720
Entonces, gracias al vector de velocidad, la posición se actualizará en la dirección del vector de velocidad.

02:58.930 --> 03:05.320
Luego obtenemos la rotación que obtendremos más abajo en el código aquí.

03:05.320 --> 03:08.040
La rotación es igual a la acción a la acción de rotación.

03:08.040 --> 03:11.400
Él seleccionará la acción y luego entrará en la rotación.

03:11.410 --> 03:15.580
Y entonces esta autoprotección es igual a la rotación aquí.

03:15.610 --> 03:21.130
Es esta rotación la que nos permite saber cómo debemos rotar el automóvil hacia la izquierda

03:21.130 --> 03:22.360
o hacia la derecha.

03:22.420 --> 03:28.510
Luego actualizamos el ángulo que recuerdo es el ángulo entre el eje xy el eje de la

03:28.510 --> 03:29.560
dirección del automóvil.

03:29.620 --> 03:35.350
Y luego, una vez que el automóvil se ha movido, tenemos que actualizar los sensores y la

03:35.350 --> 03:41.380
señal porque, por supuesto, cuando el automóvil acaba de girar mientras los sensores también han girado, necesitamos rotarlos

03:41.380 --> 03:45.500
utilizando la función de rotación y a lo que añadimos la nueva posición.

03:45.790 --> 03:48.950
Y por qué tenemos este vector de 30 0.

03:49.090 --> 03:54.070
Bueno, eso es simplemente porque 30 es la distancia entre el automóvil y el sensor.

03:54.130 --> 03:59.080
Ya sabes, la distancia entre el auto y lo que el auto detecta.

03:59.230 --> 04:04.210
Y luego, una vez que se actualizan los sensores, entonces es hora de actualizar las señales.

04:04.270 --> 04:07.110
Y aquí hacemos exactamente lo que te expliqué a las señales de tu computadora.

04:07.240 --> 04:13.780
Le damos las coordenadas x de nuestro sensor, luego tomamos todas las celdas de Manston a más 10, luego

04:13.780 --> 04:19.070
hacemos lo mismo para la coordenada y tomando todas las celdas de Madison a más 10.

04:19.090 --> 04:27.040
Entonces, obtenemos el cuadrado de 20 por 20 píxeles que rodea el sensor y dentro del cuadrado tenemos

04:27.130 --> 04:28.280
algunos más antiguos.

04:28.300 --> 04:35.170
Así que, básicamente, con algunas de las celdas porque las celdas contienen 0 o 1 y dado que en un 20 por 20

04:35.170 --> 04:38.060
cuadrado hay 20 por 20 es igual a 400 celdas.

04:38.200 --> 04:45.520
Bueno, lo dividimos por 400 para obtener la densidad de los que están dentro del cuadrado y así es como obtenemos la señal de

04:45.730 --> 04:52.090
la densidad de los centros alrededor del sensor y hacemos lo mismo para el segundo sensor y el tercer sensor para

04:52.360 --> 04:54.870
obtener la segunda señal y el tercera señal.

04:55.060 --> 04:55.340
DE ACUERDO.

04:55.360 --> 05:00.220
Entonces eso es tomar el sensor y estas tres líneas de código son muy importantes.

05:00.220 --> 05:05.710
que queremos que queremos llegar a nuestro automóvil cuando está llegando a uno de los bordes del mapa.

05:05.710 --> 05:06.290
Es otro

05:06.290 --> 05:11.830
Sabes que no queremos que el auto se precipite en algunas paredes y, por lo tanto, queremos penalizarlo para castigarlo

05:11.830 --> 05:16.380
cuando se está acercando demasiado a Wall y, por lo tanto, eso es lo que hacemos aquí.

05:16.630 --> 05:24.970
Si el primer sensor es más grande que más largo menos 10, es más grande que aquí porque más larga es esta distancia, por

05:24.970 --> 05:27.580
lo que es más largo, menos 10 aquí.

05:27.580 --> 05:33.550
Entonces, si el sensor uno actúa más grande que las preocupaciones de Manison, todos los puntos están aquí.

05:33.550 --> 05:40.930
al borde izquierdo del mapa o si el sensor Y es más grande que el más grande menos 10 ese es

05:40.950 --> 05:48.250
el borde superior del mapa y, si la Y autocensurada es menor que 10, es el borde inferior del mapa.

05:48.250 --> 05:55.870
Es decir, si el automóvil se acerca al borde derecho del mapa o si el sensor de celda uno actúa a menos

05:55.870 --> 05:58.670
de 10 aquí si el automóvil se acerca

05:58.720 --> 06:06.370
Y entonces, si el sensor uno está alcanzando cualquiera de estos cuatro bordes, pondremos la señal del sensor

06:06.490 --> 06:08.760
cuando la señal envíe uno.

06:08.800 --> 06:10.290
Lo estableceremos para ser uno.

06:10.540 --> 06:11.610
Y qué significa eso.

06:11.650 --> 06:15.390
Eso significa sonido completo como la densidad total de arena.

06:15.580 --> 06:17.270
Es como lo peor y podrías tener.

06:17.330 --> 06:19.540
Tiene tanto sentido que detendrá tu automóvil.

06:19.660 --> 06:24.480
Entonces, la señal será una y, por lo tanto, el auto obtendrá una recompensa terriblemente mala.

06:24.490 --> 06:24.830
Todo bien.

06:24.820 --> 06:30.190
Y luego hacemos lo mismo con la señal y señala tres desde el sensor dos instancias tres.

06:30.410 --> 06:30.790
Todo bien.

06:30.800 --> 06:36.470
Y luego creamos la clase de juego, así que básicamente es la clase para crear el juego porque hasta

06:36.470 --> 06:40.720
ahora solo hemos creado el auto y ahora, por supuesto, tenemos que crear el mapa.

06:40.820 --> 06:42.310
Tenemos que crear el juego en sí.

06:42.410 --> 06:47.750
Así que no jugaremos el juego. Es nuestra IA la que jugará el juego y el juego es

06:47.750 --> 06:52.240
en realidad para evitar los obstáculos y para ir del aeropuerto al centro y viceversa.

06:52.520 --> 06:59.610
Entonces en esta clase de juego necesitamos crear algunos objetos como el auto, entonces necesitamos definir la función

06:59.630 --> 07:00.540
de actualización.

07:00.590 --> 07:05.330
Eso es lo más importante y de hecho nos enfocaremos en eso ahora porque está

07:05.330 --> 07:12.250
en esta función de actualización que seleccionará la acción que el auto tiene que hacer y cada vez para lograr su objetivo.

07:12.350 --> 07:16.880
Y esta acción es exactamente el resultado de nuestra red neuronal.

07:16.880 --> 07:20.860
Lo nuevo será ese trabajo que estará en el corazón de nuestra inteligencia artificial.

07:20.930 --> 07:27.550
Y entonces esta acción es devuelta por el cerebro del automóvil que sigue siendo el objeto de nuestra clase humana

07:27.560 --> 07:29.780
que estará haciendo en nuestro archivo AI.

07:29.930 --> 07:36.500
Y este objeto tiene un método que se llama actualización y toma como entrada la última palabra y

07:36.500 --> 07:37.590
la última señal.

07:37.610 --> 07:43.250
Así que la última palabra es, por supuesto, la última palabra alcanzada por el automóvil y la última señal

07:43.250 --> 07:50.480
es, por supuesto, la última señal de los tres sensores, una señal del sensor una señal dos del sensor a la señal tres del

07:50.480 --> 07:51.240
sensor 3.

07:51.440 --> 07:56.870
Pero luego agrego otras dos entradas, que es la orientación del automóvil con respecto a la meta.

07:56.900 --> 08:01.540
Entonces, por ejemplo, si el automóvil se dirige hacia la meta, entonces la orientación será igual a cero.

08:01.730 --> 08:06.730
Si va ligeramente hacia la derecha, la orientación estará cerca de 45 grados.

08:06.920 --> 08:11.820
Y si va ligeramente hacia la izquierda, la orientación será cercana a menos 45 grados.

08:11.900 --> 08:15.380
Entonces esa es la entrada de fuerza de nuestros estados de entrada.

08:15.410 --> 08:18.950
Y luego hay una lección puesta que es orientación negativa.

08:19.010 --> 08:25.250
Por lo general, las entradas de la red neuronal son independientes. No hay multicolinealidad, pero en realidad no importa

08:25.250 --> 08:29.360
si lo somos porque la red neuronal simplemente lo arregla con los pesos.

08:29.480 --> 08:35.450
bien esta orientación negativa, permite que el auto entrene al auto para estabilizar la aceleración.

08:35.450 --> 08:37.840
Pero todavía noto que al agregar

08:37.940 --> 08:43.460
Sabes que estamos haciendo esto, es que la inteligencia artificial no siempre explora en la misma dirección al agregar

08:43.460 --> 08:44.390
esta orientación negativa.

08:44.390 --> 08:48.680
Nos aseguramos de que explora en ambas direcciones, derecha o izquierda.

08:48.920 --> 08:55.780
Y entonces estas tres señales más la orientación y la orientación negativa son las cinco entradas de

08:55.810 --> 09:03.020
nuestro vector codificado que irán a la red que nuestro vector de entrada ingresará en la red y

09:03.050 --> 09:09.560
luego ingresará en la red. Bien, la red devolverá las salidas que es la acción para jugar.

09:09.650 --> 09:15.290
estado de entrada y también la última palabra porque la acción para jugar también depende de la última palabra

09:15.290 --> 09:20.450
Y cada vez y la salida es devuelta por esta función de actualización que contiene la red en

09:20.450 --> 09:26.110
sí y la salida de la red y por eso tenemos que ingresar la última señal que es el

09:26.950 --> 09:33.700
De acuerdo y luego actualizamos el puntaje principal de las palabras que actualizamos la rotación usamos la función mover para

09:33.700 --> 09:37.500
rotar el auto de acuerdo con la acción que se seleccionó.

09:37.510 --> 09:44.230
Llevamos la distancia del automóvil a la carretera y obtendremos las posiciones de la bola de sensores una bola dos en

09:44.230 --> 09:48.490
ambas respuestas de Rieker a las bolas que representarán los sensores en el mapa.

09:48.530 --> 09:49.880
Lo verás muy rápido.

09:50.550 --> 09:56.230
como puede ver, esto significa que si el automóvil tiene algún sentido, se ralentizará.

09:56.230 --> 10:04.060
Y luego, esa parte es muy importante porque es allí donde penalizamos al coche si entra en algún sentido porque,

10:04.150 --> 10:06.550
Entonces ahí es donde reducimos su velocidad.

10:06.590 --> 10:10.020
Usted sabe que su velocidad es generalmente 6, como puede ver aquí.

10:10.150 --> 10:14.410
Y si continúa en algún sentido, será uno que se ralentizará a 1.

10:14.430 --> 10:17.810
Verás cómo el coche se ralentizará una vez que entra en algún sentido.

10:18.030 --> 10:19.090
Entonces es más lento.

10:19.210 --> 10:23.610
Y además de que recibe una mala recompensa, obtiene un menos uno que queremos.

10:23.920 --> 10:26.140
Y esa es en realidad la peor recompensa que puedes obtener.

10:26.140 --> 10:32.100
La mejor recompensa es que lo peor que podemos decir es menos uno y la recompensa está entre menos 1 y más 1.

10:32.530 --> 10:33.450
Y luego de lo contrario.

10:33.570 --> 10:35.770
Y el auto no está sobre arena.

10:35.980 --> 10:41.000
Bueno, mantiene su velocidad de velocidad de sexo habitual y luego agregamos algo más.

10:41.080 --> 10:45.710
Si se acerca al objetivo, obtendrá una recompensa ligeramente positiva.

10:45.910 --> 10:53.410
Y si se aleja cada vez más del objetivo Bueno, obtiene una recompensa ligeramente negativa menos 0. 2.

10:53.590 --> 10:54.830
Y luego último.

10:54.830 --> 10:57.280
Condiciones que están relacionadas con la recompensa.

10:57.470 --> 11:02.840
Bueno, eso es si el automóvil se está acercando demasiado a uno de los bordes, como mencionamos anteriormente.

11:02.910 --> 11:04.990
Recuerde cuando hablamos sobre el sensor de combustible.

11:05.220 --> 11:11.840
Bueno, si el automóvil se acerca demasiado al borde izquierdo del mapa, recibe menos una palabra si se acerca

11:11.840 --> 11:15.440
demasiado al borde derecho del mapa, se lo recompensa menos uno.

11:15.710 --> 11:20.220
Y si se acerca demasiado al borde inferior del mapa, obtiene uno o menos.

11:20.360 --> 11:25.230
Y si se acerca demasiado a la esquina superior izquierda del mapa, obtiene recompensas menos uno.

11:25.230 --> 11:27.620
Entonces ese es un castigo terrible.

11:27.620 --> 11:31.910
Y entonces verán cómo está lleno y rápido para no precipitarse a otra cosa.

11:31.940 --> 11:36.600
Muy bien y luego esto es para actualizar el go cuando se alcanza el objetivo.

11:36.620 --> 11:41.390
Entonces, usted sabe cuándo el automóvil llega al aeropuerto, que es el primero en llegar allí, que está en la esquina superior

11:41.390 --> 11:41.920
izquierda del mapa.

11:41.930 --> 11:45.990
Mientras que el objetivo cambia a la esquina inferior derecha del mapa que está en el centro.

11:46.250 --> 11:51.080
Y eso es exactamente lo que hacemos aquí. Actualizamos la coordenada x de Crow y las

11:51.140 --> 11:55.870
coordenadas blancas de la llamada y luego actualizamos la distancia desde el automóvil hasta el automóvil.

11:55.880 --> 11:56.260
Todo bien.

11:56.270 --> 11:58.320
Y luego eso es menos importante.

11:58.340 --> 12:04.130
Esa es solo una clase que agregará las herramientas de pintura que usted conoce para que podamos pintar algunas carreteras o algunos obstáculos

12:04.130 --> 12:10.790
en el mapa que están más relacionados con K. V. Puede echar un vistazo si lo

12:10.790 --> 12:16.370
desea. Proporcionaré la versión condensada de este código y proporcionaré alguna referencia si desea profundizar en

12:16.370 --> 12:17.570
cómo hacerlo con skivvy.

12:17.570 --> 12:22.730
Pero nos estamos alejando de la inteligencia artificial, así que no voy a entrar en detalles.

12:22.910 --> 12:30.110
Y eso es lo mismo para la última sección del código con la clase del coche que es justo como los botones de la API

12:30.110 --> 12:31.320
despejan guardar y cargar.

12:31.520 --> 12:32.810
Entonces eso es lo que hacemos aquí.

12:32.820 --> 12:34.900
Claro lona segura.

12:34.940 --> 12:40.220
Y eso es realmente muy importante para nosotros, poder salvar el día que sé para salvar el cerebro

12:40.700 --> 12:46.520
y poder reutilizarlo más tarde tomando la función de carga, que es otra herramienta que agregamos en el mapa

12:46.520 --> 12:52.010
para cargar el cerebro del automóvil que es cargar la memoria del automóvil cómo navegar en el mapa.

12:52.250 --> 12:57.830
Y finalmente tenemos la última sección del código que ejecuta todo lo que

12:57.830 --> 13:00.660
ejecuta el mapa y la propia IA.

13:00.980 --> 13:03.340
Y en realidad eso es lo que vamos a hacer ahora.

13:03.590 --> 13:07.020
Echemos un vistazo a todo lo que hicimos en este código.

13:07.040 --> 13:10.520
Entonces, ahora la IA no está implementada.

13:10.520 --> 13:13.910
Entonces el código tendrá un movimiento muy aleatorio.

13:13.940 --> 13:17.810
En realidad se verá como un insecto, pero no te preocupes, arreglaremos eso.

13:17.810 --> 13:24.860
Normalmente lo entrenaremos para que se mueva como un automóvil real y lo entrene para navegar siguiendo algunas carreteras

13:24.920 --> 13:26.380
y evitar algunos obstáculos.

13:26.660 --> 13:27.710
Hagámoslo.

13:27.710 --> 13:32.240
Voy a seleccionar todo y ejecutar.

13:32.510 --> 13:33.900
Y aquí está el mapa.

13:33.950 --> 13:35.270
Y aquí está el auto.

13:35.690 --> 13:36.070
Todo bien.

13:36.080 --> 13:41.600
Entonces esa es la pequeña cosa que ves que parece un insecto en nuestro auto.

13:41.630 --> 13:45.960
Entonces, como te dije, las acciones son totalmente aleatorias.

13:46.220 --> 13:53.890
Por lo tanto, cada vez que el automóvil selecciona al azar una acción, ya sea para ir directamente a la izquierda o a la derecha.

13:53.930 --> 13:59.260
Es por eso que está haciendo algunos movimientos sin sentido y es por eso que se ve como un insecto.

13:59.450 --> 14:01.460
Así que lo arreglaremos, por supuesto.

14:01.730 --> 14:09.500
no va al objetivo que es el aeropuerto aquí o al centro, en la parte inferior derecha del mapa.

14:09.500 --> 14:12.930
Y, por supuesto, dado que la IA está activada,

14:13.760 --> 14:21.850
Y arreglaremos todo esto haciendo que las IA que implementen la IA en este auto o este insecto puedan

14:21.860 --> 14:26.480
verse las tres bolas, la amarilla, la roja y la blanca.

14:26.630 --> 14:28.190
Esos son nuestros tres sensores.

14:28.220 --> 14:30.020
Entonces eso es lo que detectaremos.

14:30.020 --> 14:32.580
Hay un olor a su alrededor.

14:32.810 --> 14:35.720
Y hablando de olor Bueno, tiremos un poco.

14:35.720 --> 14:45.510
Entonces, para hacerlo, solo tengo que hacer un clic aquí y, en cierto sentido, sabes que sigues enseñando a la izquierda.

14:45.510 --> 14:50.240
Así que en este momento estoy agregando un poco de arena, podemos agregar un poco más.

14:50.250 --> 14:57.360
Así que, cada vez que esté loco, puede ver que colocando los que están en el centro de la matriz es enviar

14:57.360 --> 15:00.100
una matriz que está a 00 coordenadas del origen.

15:00.180 --> 15:01.990
Y aquí hay muchos.

15:02.080 --> 15:04.720
Y como pueden ver bien, es bueno ver el auto.

15:04.770 --> 15:07.240
Seguimos descendiendo y fuimos más lentos.

15:07.620 --> 15:12.230
Entonces, como pueden ver ahora mismo, es realmente más lento porque se va a la arena.

15:12.510 --> 15:14.820
Y ahora está tratando de escapar.

15:16.310 --> 15:23.030
Y para que sepan qué haremos, dibujaremos algunos caminos y dibujaremos algunos caminos desde el aeropuerto hasta el centro de

15:23.030 --> 15:28.490
la ciudad, y entrenaremos el automóvil para que se mantenga en el camino y evite los obstáculos.

15:28.490 --> 15:28.830
Todo bien.

15:28.850 --> 15:35.690
Y como pueden ver, está el botón claro para despejar la arena, existe el botón guardar para salvar

15:35.690 --> 15:37.230
el cerebro del automóvil.

15:37.310 --> 15:43.640
Y en realidad hay una curva central en la que hablamos de esa seguridad que salva a su modelo

15:43.640 --> 15:50.270
en realidad el cerebro de su automóvil y luego puede saber cuándo se va del frío o apaga la computadora

15:50.270 --> 15:51.680
y quiere volver a ella.

15:51.920 --> 15:59.290
Puede usar el botón de carga para cargar su modo que es cargar el cerebro y que obtendrá

15:59.360 --> 16:01.760
los trenes AI de su automóvil.

16:01.820 --> 16:06.030
Está bien, así que ahora no puedo esperar para comenzar a hacer la IA.

16:06.080 --> 16:07.450
Esto será muy divertido.

16:07.490 --> 16:13.910
Crearemos nuestra red neuronal y castigaremos el automóvil tan pronto como no haga lo que queremos.

16:14.120 --> 16:16.290
Así que hagámoslo en el próximo tutorial.

16:16.400 --> 16:18.140
Y hasta entonces disfruta de a.
