Hola y bienvenidos a Statoil y al hablar, inicializamos el mapa.
Y ahora es el momento para las cosas emocionantes que creamos el automóvil y lo hacemos con una clase de curso.
Verás que la clase es muy práctica para crear algunas cosas que tienen muchas propiedades porque, como puedes ver,
no solo encuentras algunas variables de mi auto sino también algunas funciones que, por supuesto, es la función que
hará que el auto se mueva al izquierda a la derecha o yendo derecho.
Entonces, tenemos un par de variables que son importantes para describir el entorno que tenemos,
por ejemplo, el ángulo que es el ángulo entre el eje xy el eje de la dirección del automóvil.
que es su última rotación que recuerda que es 0 grados 20 grados o menos 20 grados.
Luego tenemos la rotación
Luego tenemos la velocidad de la coordenada x del vector de velocidad y las coordenadas y del vector
de velocidad.
Y luego el vector de coordenadas velocidad xy velocidad Y entonces tenemos los sensores y las señales.
Y eso es muy importante, la llamada que estamos haciendo tendrá tres sensores, un sensor
dos y sensores, tres sensores, uno detectará si tiene sentido frente al automóvil.
Entonces el sensor 2 es el sensor que detectará si hay algún sentido a la izquierda del automóvil y los sensores
3 es el sensor que detectará si hay algún sentido a la derecha del automóvil.
Y luego, desde estos tres sensores obtenemos las señales de las señales recibidas por cada uno de los sensores.
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
la señal 3 es el único recibido por los sensores 3.
Y entonces, ¿cómo funciona?
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
sensor a la señal tres es la densidad de sensibilidad enviada alrededor y cómo calculamos esta densidad de arena.
Bueno, eso es muy simple.
Tomamos algunos cuadrados grandes alrededor de cada uno de los sensores.
En realidad, son cuadrados de 200 por 200 y para cada uno de los cuadrados, dividimos el número de unidades en el
cuadrado por el número total de celdas en el cuadrado que es 22 y 20 es igual a 400.
Y eso nos da la densidad de arena porque los corresponden al centro.
Hacemos esto para cada sensor y eso nos da la densidad de arena alrededor de cada sensor.
Esa es la señal.
Muy bien, ahora tenemos todo para detectar el sensor y luego tenemos la función de movimiento.
Y, por supuesto, la función de movimiento es lo que permitirá que el núcleo vaya hacia la izquierda yendo derecho o
hacia la derecha.
Entonces, repasemos rápidamente.
Aquí tenemos la actualización de la posición del automóvil con su última posición, que es el auto aquí y
el vector de velocidad.
Entonces, gracias al vector de velocidad, la posición se actualizará en la dirección del vector de velocidad.
Luego obtenemos la rotación que obtendremos más abajo en el código aquí.
La rotación es igual a la acción a la acción de rotación.
Él seleccionará la acción y luego entrará en la rotación.
Y entonces esta autoprotección es igual a la rotación aquí.
Es esta rotación la que nos permite saber cómo debemos rotar el automóvil hacia la izquierda
o hacia la derecha.
Luego actualizamos el ángulo que recuerdo es el ángulo entre el eje xy el eje de la
dirección del automóvil.
Y luego, una vez que el automóvil se ha movido, tenemos que actualizar los sensores y la
señal porque, por supuesto, cuando el automóvil acaba de girar mientras los sensores también han girado, necesitamos rotarlos
utilizando la función de rotación y a lo que añadimos la nueva posición.
Y por qué tenemos este vector de 30 0.
Bueno, eso es simplemente porque 30 es la distancia entre el automóvil y el sensor.
Ya sabes, la distancia entre el auto y lo que el auto detecta.
Y luego, una vez que se actualizan los sensores, entonces es hora de actualizar las señales.
Y aquí hacemos exactamente lo que te expliqué a las señales de tu computadora.
Le damos las coordenadas x de nuestro sensor, luego tomamos todas las celdas de Manston a más 10, luego
hacemos lo mismo para la coordenada y tomando todas las celdas de Madison a más 10.
Entonces, obtenemos el cuadrado de 20 por 20 píxeles que rodea el sensor y dentro del cuadrado tenemos
algunos más antiguos.
Así que, básicamente, con algunas de las celdas porque las celdas contienen 0 o 1 y dado que en un 20 por 20
cuadrado hay 20 por 20 es igual a 400 celdas.
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
la densidad de los centros alrededor del sensor y hacemos lo mismo para el segundo sensor y el tercer sensor para
obtener la segunda señal y el tercera señal.
DE ACUERDO.
Entonces eso es tomar el sensor y estas tres líneas de código son muy importantes.
que queremos que queremos llegar a nuestro automóvil cuando está llegando a uno de los bordes del mapa.
Es otro
Sabes que no queremos que el auto se precipite en algunas paredes y, por lo tanto, queremos penalizarlo para castigarlo
cuando se está acercando demasiado a Wall y, por lo tanto, eso es lo que hacemos aquí.
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
lo que es más largo, menos 10 aquí.
Entonces, si el sensor uno actúa más grande que las preocupaciones de Manison, todos los puntos están aquí.
al borde izquierdo del mapa o si el sensor Y es más grande que el más grande menos 10 ese es
el borde superior del mapa y, si la Y autocensurada es menor que 10, es el borde inferior del mapa.
Es decir, si el automóvil se acerca al borde derecho del mapa o si el sensor de celda uno actúa a menos
de 10 aquí si el automóvil se acerca
Y entonces, si el sensor uno está alcanzando cualquiera de estos cuatro bordes, pondremos la señal del sensor
cuando la señal envíe uno.
Lo estableceremos para ser uno.
Y qué significa eso.
Eso significa sonido completo como la densidad total de arena.
Es como lo peor y podrías tener.
Tiene tanto sentido que detendrá tu automóvil.
Entonces, la señal será una y, por lo tanto, el auto obtendrá una recompensa terriblemente mala.
Todo bien.
Y luego hacemos lo mismo con la señal y señala tres desde el sensor dos instancias tres.
Todo bien.
Y luego creamos la clase de juego, así que básicamente es la clase para crear el juego porque hasta
ahora solo hemos creado el auto y ahora, por supuesto, tenemos que crear el mapa.
Tenemos que crear el juego en sí.
Así que no jugaremos el juego. Es nuestra IA la que jugará el juego y el juego es
en realidad para evitar los obstáculos y para ir del aeropuerto al centro y viceversa.
Entonces en esta clase de juego necesitamos crear algunos objetos como el auto, entonces necesitamos definir la función
de actualización.
Eso es lo más importante y de hecho nos enfocaremos en eso ahora porque está
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.
Y esta acción es exactamente el resultado de nuestra red neuronal.
Lo nuevo será ese trabajo que estará en el corazón de nuestra inteligencia artificial.
Y entonces esta acción es devuelta por el cerebro del automóvil que sigue siendo el objeto de nuestra clase humana
que estará haciendo en nuestro archivo AI.
Y este objeto tiene un método que se llama actualización y toma como entrada la última palabra y
la última señal.
Así que la última palabra es, por supuesto, la última palabra alcanzada por el automóvil y la última señal
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
sensor 3.
Pero luego agrego otras dos entradas, que es la orientación del automóvil con respecto a la meta.
Entonces, por ejemplo, si el automóvil se dirige hacia la meta, entonces la orientación será igual a cero.
Si va ligeramente hacia la derecha, la orientación estará cerca de 45 grados.
Y si va ligeramente hacia la izquierda, la orientación será cercana a menos 45 grados.
Entonces esa es la entrada de fuerza de nuestros estados de entrada.
Y luego hay una lección puesta que es orientación negativa.
Por lo general, las entradas de la red neuronal son independientes. No hay multicolinealidad, pero en realidad no importa
si lo somos porque la red neuronal simplemente lo arregla con los pesos.
bien esta orientación negativa, permite que el auto entrene al auto para estabilizar la aceleración.
Pero todavía noto que al agregar
Sabes que estamos haciendo esto, es que la inteligencia artificial no siempre explora en la misma dirección al agregar
esta orientación negativa.
Nos aseguramos de que explora en ambas direcciones, derecha o izquierda.
Y entonces estas tres señales más la orientación y la orientación negativa son las cinco entradas de
nuestro vector codificado que irán a la red que nuestro vector de entrada ingresará en la red y
luego ingresará en la red. Bien, la red devolverá las salidas que es la acción para jugar.
estado de entrada y también la última palabra porque la acción para jugar también depende de la última palabra
Y cada vez y la salida es devuelta por esta función de actualización que contiene la red en
sí y la salida de la red y por eso tenemos que ingresar la última señal que es el
De acuerdo y luego actualizamos el puntaje principal de las palabras que actualizamos la rotación usamos la función mover para
rotar el auto de acuerdo con la acción que se seleccionó.
Llevamos la distancia del automóvil a la carretera y obtendremos las posiciones de la bola de sensores una bola dos en
ambas respuestas de Rieker a las bolas que representarán los sensores en el mapa.
Lo verás muy rápido.
como puede ver, esto significa que si el automóvil tiene algún sentido, se ralentizará.
Y luego, esa parte es muy importante porque es allí donde penalizamos al coche si entra en algún sentido porque,
Entonces ahí es donde reducimos su velocidad.
Usted sabe que su velocidad es generalmente 6, como puede ver aquí.
Y si continúa en algún sentido, será uno que se ralentizará a 1.
Verás cómo el coche se ralentizará una vez que entra en algún sentido.
Entonces es más lento.
Y además de que recibe una mala recompensa, obtiene un menos uno que queremos.
Y esa es en realidad la peor recompensa que puedes obtener.
La mejor recompensa es que lo peor que podemos decir es menos uno y la recompensa está entre menos 1 y más 1.
Y luego de lo contrario.
Y el auto no está sobre arena.
Bueno, mantiene su velocidad de velocidad de sexo habitual y luego agregamos algo más.
Si se acerca al objetivo, obtendrá una recompensa ligeramente positiva.
Y si se aleja cada vez más del objetivo Bueno, obtiene una recompensa ligeramente negativa menos 0. 2.
Y luego último.
Condiciones que están relacionadas con la recompensa.
Bueno, eso es si el automóvil se está acercando demasiado a uno de los bordes, como mencionamos anteriormente.
Recuerde cuando hablamos sobre el sensor de combustible.
Bueno, si el automóvil se acerca demasiado al borde izquierdo del mapa, recibe menos una palabra si se acerca
demasiado al borde derecho del mapa, se lo recompensa menos uno.
Y si se acerca demasiado al borde inferior del mapa, obtiene uno o menos.
Y si se acerca demasiado a la esquina superior izquierda del mapa, obtiene recompensas menos uno.
Entonces ese es un castigo terrible.
Y entonces verán cómo está lleno y rápido para no precipitarse a otra cosa.
Muy bien y luego esto es para actualizar el go cuando se alcanza el objetivo.
Entonces, usted sabe cuándo el automóvil llega al aeropuerto, que es el primero en llegar allí, que está en la esquina superior
izquierda del mapa.
Mientras que el objetivo cambia a la esquina inferior derecha del mapa que está en el centro.
Y eso es exactamente lo que hacemos aquí. Actualizamos la coordenada x de Crow y las
coordenadas blancas de la llamada y luego actualizamos la distancia desde el automóvil hasta el automóvil.
Todo bien.
Y luego eso es menos importante.
Esa es solo una clase que agregará las herramientas de pintura que usted conoce para que podamos pintar algunas carreteras o algunos obstáculos
en el mapa que están más relacionados con K. V. Puede echar un vistazo si lo
desea. Proporcionaré la versión condensada de este código y proporcionaré alguna referencia si desea profundizar en
cómo hacerlo con skivvy.
Pero nos estamos alejando de la inteligencia artificial, así que no voy a entrar en detalles.
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
despejan guardar y cargar.
Entonces eso es lo que hacemos aquí.
Claro lona segura.
Y eso es realmente muy importante para nosotros, poder salvar el día que sé para salvar el cerebro
y poder reutilizarlo más tarde tomando la función de carga, que es otra herramienta que agregamos en el mapa
para cargar el cerebro del automóvil que es cargar la memoria del automóvil cómo navegar en el mapa.
Y finalmente tenemos la última sección del código que ejecuta todo lo que
ejecuta el mapa y la propia IA.
Y en realidad eso es lo que vamos a hacer ahora.
Echemos un vistazo a todo lo que hicimos en este código.
Entonces, ahora la IA no está implementada.
Entonces el código tendrá un movimiento muy aleatorio.
En realidad se verá como un insecto, pero no te preocupes, arreglaremos eso.
Normalmente lo entrenaremos para que se mueva como un automóvil real y lo entrene para navegar siguiendo algunas carreteras
y evitar algunos obstáculos.
Hagámoslo.
Voy a seleccionar todo y ejecutar.
Y aquí está el mapa.
Y aquí está el auto.
Todo bien.
Entonces esa es la pequeña cosa que ves que parece un insecto en nuestro auto.
Entonces, como te dije, las acciones son totalmente aleatorias.
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.
Es por eso que está haciendo algunos movimientos sin sentido y es por eso que se ve como un insecto.
Así que lo arreglaremos, por supuesto.
no va al objetivo que es el aeropuerto aquí o al centro, en la parte inferior derecha del mapa.
Y, por supuesto, dado que la IA está activada,
Y arreglaremos todo esto haciendo que las IA que implementen la IA en este auto o este insecto puedan
verse las tres bolas, la amarilla, la roja y la blanca.
Esos son nuestros tres sensores.
Entonces eso es lo que detectaremos.
Hay un olor a su alrededor.
Y hablando de olor Bueno, tiremos un poco.
Entonces, para hacerlo, solo tengo que hacer un clic aquí y, en cierto sentido, sabes que sigues enseñando a la izquierda.
Así que en este momento estoy agregando un poco de arena, podemos agregar un poco más.
Así que, cada vez que esté loco, puede ver que colocando los que están en el centro de la matriz es enviar
una matriz que está a 00 coordenadas del origen.
Y aquí hay muchos.
Y como pueden ver bien, es bueno ver el auto.
Seguimos descendiendo y fuimos más lentos.
Entonces, como pueden ver ahora mismo, es realmente más lento porque se va a la arena.
Y ahora está tratando de escapar.
Y para que sepan qué haremos, dibujaremos algunos caminos y dibujaremos algunos caminos desde el aeropuerto hasta el centro de
la ciudad, y entrenaremos el automóvil para que se mantenga en el camino y evite los obstáculos.
Todo bien.
Y como pueden ver, está el botón claro para despejar la arena, existe el botón guardar para salvar
el cerebro del automóvil.
Y en realidad hay una curva central en la que hablamos de esa seguridad que salva a su modelo
en realidad el cerebro de su automóvil y luego puede saber cuándo se va del frío o apaga la computadora
y quiere volver a ella.
Puede usar el botón de carga para cargar su modo que es cargar el cerebro y que obtendrá
los trenes AI de su automóvil.
Está bien, así que ahora no puedo esperar para comenzar a hacer la IA.
Esto será muy divertido.
Crearemos nuestra red neuronal y castigaremos el automóvil tan pronto como no haga lo que queremos.
Así que hagámoslo en el próximo tutorial.
Y hasta entonces disfruta de a.