Hola y bienvenidos a la parte más emocionante de nuestra creación, la parte donde lo hacemos inteligente.
Así que eso es exactamente lo que ocurre cuando entreno el día en que entrenaré su inteligencia para alcanzar
el objetivo que queríamos conseguir: alcanzar el chaleco sin que lo maten.
Y para hacer esto básicamente vamos a entrenar a la red neuronal para generar las predicciones correctas
y luego todo estará listo ya que estas señales de salida del cerebro ya tienen
la transmisión correcta al cuerpo para ejecutar las acciones finales.
Entonces, básicamente, ahora lo que estamos a punto de hacer es algo que ya hicimos antes.
atrás para categorizar en el sentido de que el Pesos según cuánto contribuyeron a este último error.
Solo vamos a tomar algunos lotes aleatorios de la memoria obtener nuestras entradas de las muestras obtener
las salidas obtener el objetivo obtener las predicciones calcular la última área entre las predicciones y
el objetivo y luego realizar la propagación hacia
Así que hagamos todo esto.
Vas a ver cómo va a ser tan fácil porque ya tenemos todas las
herramientas para implementar esto, no solo tenemos las herramientas de antorcha como el optimizador y las últimas funciones, sino que también tenemos
todas las clases que hicimos antes, como nuestra cerebro, por supuesto, que vamos a utilizar para obtener las predicciones.
que herramientas harán que el entrenamiento sea súper efectivo y, por lo tanto, con el tiempo obtendremos una inteligencia artificial súper poderosa.
Luego, nuestra experiencia reproduce la trazabilidad de elegibilidad de implementación y todas estas herramientas se combinan con
las partes
Así que hagamos que esto suceda.
Hagamos nuestra inteligencia y lo primero que vamos a hacer ahora es obtener la última función a la que
estamos acostumbrados en el entrenamiento al calcular el error y un optimizador.
Eso es lo primero que haremos.
Entonces, creemos una variable para la última función.
Vamos a llamarlo pérdida y esto será igual a la función de pérdida MSEE del módulo final.
Y eso nos dice que esa es la última función que usaremos porque básicamente nuestras predicciones son valores clave que usted
sabe que estamos prediciendo los valores centrales de las diferentes acciones.
Y, por lo tanto, dado que estos son números reales, estamos haciendo un poco de trabajo de red neuronal para la regresión y,
por lo tanto, la última función es el error de media CT.
Esa es la última función que usamos.
En general para la regresión.
Muy bien, ahora que tenemos nuestra última función, obtengamos nuestro optimizador.
Así optimizado aquí, ese es el voivoda que creamos el optimizador de Freda.
Y vamos a tomar como de costumbre.
En cuanto al automóvil autónomo el atomizador del átomo.
Es un optimizador muy poderoso que hará maravillas para el entrenamiento.
Así que vamos a poner esto en eso Adam.
Y recuerda que eso es exactamente lo que el auto que maneja tiene que ingresar dos argumentos esenciales.
El primero es el que establecerá la conexión entre el optimizador y los parámetros de nuestra
red neuronal.
Ese es el peso de las neuronas de nuestro cerebro.
Y para hacer esto tomamos nuestro cerebro al que llamamos CNN.
Ese es el objeto que creamos para nuestro cerebro.
Y así CNN que recuerda los parámetros que vamos y algunos paréntesis para que haga la conexión entre el optimizador y
los pesos de las neuronas en el cerebro de nuestra IA.
Y luego el segundo argumento es una tasa de aprendizaje y eso es dado por nuestro.
Y aquí tenemos que hacer un aumento menor porque no queremos converger demasiado rápido y queremos tener algo de aceleración
y, por lo tanto, buenas formas de aprendizaje que podamos tomar.
Aquí hay uno pequeño que está a punto o uno que está abierto al 1 por ciento.
Creo que es lo mismo que usamos para el auto sin conductor.
De acuerdo, ahora tenemos un atomizador de última función, así que estamos casi listos para comenzar la caída.
Bueno, en realidad comenzaremos en este momento, pero justo antes de hacerlo decidiremos el tamaño de
la cantidad de épocas en las que entrenaremos.
Y por lo tanto al crear una nueva variable aquí que responderá a este número de abox y digamos
que igual a 100.
Eso será suficiente para entrenar a la IA.
E incluso esa es la forma en que lograré llegar de la mejor manera antes de 100.
Como 20 o 30.
Veamos.
Pero por ahora tomemos 100.
Y si lo necesitamos, lo aumentaremos.
Pero no creo que sea necesario.
De acuerdo, entonces ahora que tenemos nuestra cantidad de bolsas de aire, podemos comenzar a hacer el seguimiento.
Conoces este ciclo principal del entrenamiento cuando entrenamos en Xbox.
Entonces, para entonces, es un libro realmente viable.
Eso es lo que elegimos para que regrese.
Ahora, por supuesto, vamos a usar la función de rango para decir que queremos ir desde la primera atrás hasta
la cantidad de libros más
uno porque recuerde que el límite superior de un rango no lo es.
Por lo tanto, queremos llegar a 100.
Bueno, tenemos que especificar y ser el más uno para ir hasta 100.
Muy bien, así que CULLEN Y ahora entremos en el circuito.
De acuerdo, lo primero que haremos es hacer 200 carreras de 10 pasos.
Entonces cada época será 200 carreras una después de la otra de 10 pasos y para hacer esto tenemos esta función de un paso de
nuestra clase de reproducción de experiencia y por lo tanto para usar esta función que es realmente
un método porque lo obtendremos de nuestro objeto de memoria que es un objeto de la clase de memoria de reproducción para
generar estas doscientas carreras de 10 pasos.
Bueno, tenemos que decir nuestro objeto de memoria que recuerdo que creamos aquí. La memoria es un objeto para reproducir
clases de memoria con pasos de 10 pasos y una capacidad de 10000.
Creamos este objeto y desde este objeto tomamos.
Bueno, esta función paso a paso ejecuta los pasos y especificamos doscientas ejecuciones sucesivas de 10 pasos.
Entonces eso solo agregará cada época.
Básicamente cien pasos.
Ahora que tenemos estos 200 pasos en ejecución en cada época.
Bueno, es hora de probar algunos lotes de estas corridas y de probar estos lotes.
Tenemos otra función de nuestra memoria que es un lote de muestra y que generará exactamente algunos lotes a
partir de estas doscientas ejecuciones.
Pero recuerde que estos lotes son esta vez lotes de series de transiciones.
a diferencia de antes, donde los lotes eran solo algunos lotes de transiciones individuales aquí esta vez.
Hay una serie de 10 pasos
Habrá lotes de 10 pasos, 10 transiciones y, por lo tanto, ahora es el momento de obtener
de nuestra memoria.
Estos lotes aleatorios.
Y para obtenerlos usamos la función de lote simple a la que tenemos que aplicar el tamaño
del lote para el tamaño del lote donde podemos tomar 32 o incluso 64 o incluso 128.
Recuerda que dice esto. Es una práctica común usar 32.
Eso es lo que verás en general en las arquitecturas de redes neuronales cuando hagas algún aprendizaje de Bachche.
Pero esta vez es bastante diferente.
Solo estábamos enviando algunos lotes de diez pasos.
Entonces es mejor tomar bancos con tamaños más grandes.
Entonces, es por eso que podemos tomar 64 o 128.
Así que vamos a tomar 128 y en realidad esto va a estar dentro de un Fulop porque queremos tomar varios
lotes y los estamos tomando en lo que devuelve la función de lote de muestra.
Entonces este Fulop para eso en el lote de muestras de memoria 128 significa que cada 128 pasos Bueno, nuestra
memoria nos dará un tamaño de lote 128 que contendrá los últimos 128 pasos que acabamos de ejecutar.
Estamos recibiendo algunos lotes de tamaño 128 y el aprendizaje va a suceder en estos lotes.
Y además, dentro de estos lotes, tendremos bandejas de elegibilidad en funcionamiento para
aprender cada diez pasos.
Muy bien, ahora dentro de este ciclo que todavía está sucediendo en una época.
Pero ahora esta vez estamos en un lote específico y por lo tanto, lo primero que vamos a hacer
es obtener nuestras entradas y nuestros objetivos por separado.
Y eso, como te dije, puedes hacerlo con una de las herramientas que implementamos, que son los trucos de elegibilidad, como
puedes ver aquí.
Esta función de rastreo ilegible toma un lote como entrada.
Ahora tenemos que hacer un lote y devolver como salida las entradas y los objetivos.
Entonces, ahora mismo, lo que podemos hacer simplemente es crear dos variables nuevas
que serán las entradas y los objetivos, y estas entradas no pueden decirnos exactamente igual a lo que devuelve esta función de rastreo LGBTI aplicada
al lote para aplicar esta función al lote de nuestro lazo.
Y entonces, lo que haremos es solo el seguimiento de elegibilidad aplicado al lote de nuestro up.
Todo bien.
nos da la entrada y los baños, pero en la antorcha PI siempre hay algo más que tenemos que hacer.
Entonces eso
Y, por supuesto, esto es convertir las entradas de la red neuronal y también el objetivo en algunas de las variables.
Pero tampoco hay nada nuevo.
Sabemos cómo hacerlo.
Podemos hacerlo de esta manera tomamos nuestras entradas y luego nuestros objetivos.
Y a pesar de que serán iguales a las entradas variables que son para las entradas y los objetivos variables, ahí
están los objetivos.
cerebro se convierten en algunas variables de torche y los objetivos también se convierten en algunas variables.
De acuerdo, las entradas del
Entonces ahora podemos obtener las entradas en la red neuronal.
Y por qué tenemos que hacer esto.
Eso es porque el siguiente paso es obtener las predicciones que tenemos en las que tenemos que apuntar.
Ahora, por supuesto, necesitamos nuestras predicciones porque entonces lo que sucede es que calcularemos la
pérdida entre las predicciones y los objetivos.
Vamos a obtener estas predicciones para entonces.
tomar nuestro cerebro, que es CNN, nuestra red de noticias constitucional y aplicarlo a nuestras aportaciones.
Bueno, de nuevo, esto es tan simple ahora que solo tenemos que
Aquí vamos.
Las entradas van a la red neuronal y la red neuronal emitirá las predicciones.
Perfecto.
Entonces ahora tenemos las protecciones que tenemos que apuntar para poder obtener las leyes y ese es el siguiente paso.
Vamos a introducir una nueva variable porque en este momento vamos a obtener el último error que
es diferente a la última función porque usamos la función de leyes para obtener el último error.
lo obtendremos con la última función aplicada a nuestras predicciones y los objetivos que vamos a ver cómo todo está sin problemas.
Así que el último error aquí y que
Ahora todo es lógico
Primero obtenemos los objetivos, gracias a las entradas obtenemos las predicciones y luego, gracias a las
predicciones y los baños, obtenemos el último error.
Muy lógico y sin problemas.
Y ahora, ¿cuál es el próximo paso?
tenemos la última vez que podemos volver a propagar este último error en la red neuronal para hacer pesas y lo
hacemos con la parrilla de gas en el centro y para obtener grados en el sentido en que necesitamos nuestro optimizador.
Bueno, la misma ruta lógica ahora que
Pero ya lo tenemos aquí.
Nuestro atomizador Adam.
Pero ahora en este punto recuerda lo que teníamos que hacer.
Tuvimos que inicializarlo e inicializarlo.
Recuerde que tomamos nuestro objeto optimizador.
Y luego aplicamos el método zero grette.
Ahí vamos, no olvidamos el paréntesis que lo inicializó.
Y ahora el siguiente paso es retroceder propagando el último error a la nueva
red y para hacerlo bien tomamos nuestro último error y aplicamos el método hacia atrás.
Entonces eso es exactamente para propagar hacia atrás.
Y finalmente, ahora que el último error vuelve a propagarse en el nuevo que funciona bien, podemos actualizar
los pesos.
Todavía estamos mejorando en el sentido y para hacerlo recordamos que tomamos nuestro optimizador y luego aplicamos
el método de paso.
Aquí vamos.
Los pesos ahora están fechados.
Como te dije, no solo ya lo hicimos, sino que ahora parece tan simple y tan natural.
Entonces, vamos a hacer algo divertido.
Vamos a imprimir el promedio en el que trabajamos cada época.
Entonces, usted sabe que podemos hacer un seguimiento de cómo evoluciona la IA, cómo va la capacitación.
épocas y al principio por supuesto existe esta fase de explotación, por lo que el promedio no
aumentaría al principio, pero luego, una vez que alcance la fase de explotación, veremos la recompensa promedio definitivamente
aumentará y aumentará hasta cierto nivel que es cuando alcanza el chaleco lo más rápido posible.
Queremos ver que la recompensa promedio aumenta con los pasos de las
Así que comencemos con la premisa.
Sabes que estamos haciendo esto de una manera, pero tenemos que volver al ciclo aquí imprimir y luego
vamos a imprimir.
Bueno, primero, pero luego, por ciento, porque vamos a convertir todo a una cadena que es mejor.
Y luego vamos a agregar el promedio que fuimos y luego agregamos el porcentaje S también, entonces vamos
a cerrar la cotización y luego agregamos un porcentaje.
usted sabe que podemos poner las variables que van a ser esta primera persona, ya que es la época aquí.
Y en el otro lado,
Y la segunda variable corresponde a la palabra promedio que se calculará en este momento.
Entonces la palabra promedio viable aún no existe.
Vamos a crearlo ahora mismo.
Así que vamos a usar Esti nuestra época, incluso si el número para convertir eso en su tren mejora
y vamos a agregar s t que va a ser la recompensa promedio.
Y entonces vamos a crear una variable que vamos a llamar una recompensa de Viji.
Y ahora vamos a crear esta variable y calcularla.
OK, hagamos esto.
Eso es lo único que tuvimos que hacer, así que EPOC ya lo tenemos.
Ahora calculemos la palabra promedio y tenemos que calcular eso aquí mismo.
Todavía en el circuito, pero nuestro soltero porque ahora tenemos nuestras muestras de parche y tenemos un entrenamiento que sucede
en el lote.
Pero ahora que para la propagación Plus la propagación hacia atrás se realiza en el lote.
acumulativas que podemos hacer con nuestro objeto de pasos porque nuestro objeto insteps contiene esta función,
y los pasos que nos permiten obtener las recompensas acumuladas en los pasos que usted conoce y pasos corre
Así que estamos volviendo al ciclo epoche y ahora podemos calcular las palabras
Así que vamos a usarlo ahora mismo para actualizar las nuevas recompensas de los pasos y luego actualizaremos el
objeto de promedio móvil agregando las palabras acumulativas al movimiento de cada objeto.
Y luego calculamos el promedio y así es como vamos a obtener el promedio de lo que
creemos que es lo primero que necesitamos es la palabra Stribild.
Así que vamos a llamarlos pasos de palabras y luego, como dijimos, tomamos nuestro objeto de pasos finales, que fue lo que recuerdo que he creado aquí
y objeto de la clase de progreso de paso de nuestra experiencia de reproducción, por ejemplo, objetos.
Luego agregamos pasos de palabras y luego algunos paréntesis.
Todo bien.
Eso nos dará las nuevas recompensas acumulativas de los pasos.
Muy bien, pero luego tenemos que agregar estas nuevas recompensas acumulativas en nuestro objeto de promedio móvil y para
hacerlo tenemos un método esta vez en la clase de promedio móvil que es este método que
es muy simple. Tomamos nuestro objeto promedio móvil que creamos aquí con 100 pasos, entonces vamos a usar nuestro
método de agregar.
Y luego en el Admetus ponemos nuestras palabras pasos y esto agregará las recompensas de los pasos en
la media móvil.
Está bien y finalmente podemos calcular la palabra promedio y está bien, sabes que esa es la
variable aquí.
Así que eso es lo que va a ser igual a la palabra promedio y para obtenerlo solo tenemos que usar el
método promedio esta vez de nuestro objeto de promedio móvil y eso es lo que hacemos y decir ese promedio para decir eso porque nuestra
media móvil ya se actualizó con los pasos de la nueva palabra que acabamos de agregar
cosas al método Agregar genial.
Ahora tenemos nuestra palabra promedio para que se complete aquí.
Y esto se va a imprimir cada hora.
Así que esto va a ser muy emocionante porque en cada episodio vamos a hacer un seguimiento de cómo
va el aire.
Sabes que vamos a ver si la palabra promedio está aumentando.
Y hablando de algo emocionante.
Lo que es muy emocionante es que sé que alcanza el chaleco con seguridad cuando llega a 1500.
Entonces, lo que vamos a hacer ahora es que si la recompensa promedio llega a 1500.
Ahora si se está volviendo más alto que 1500 Well vamos a imprimir algo nuevo y esa será
la impresión final.
La impresión muy exitosa que vamos a imprimir que podemos decir.
Felicidades a tu IA porque tu IA gana.
Entonces eso sería increíble si eso sucede si alcanzamos una palabra no promedio.
Más grande que 1500
Podemos estar 100 por ciento seguros de que la IA es la mejor.
Tal vez es un poco más bajo que eso, pero experimenté con 1000 y, a veces, no alcancé
el nivel avanzado, pero con 1500 si llegamos bien, la IA gana sin dudas.
Así que vamos a ver eso luego.
Está bien, así que sería muy emocionante.
Y entonces eso es en realidad solo el final de la curva.
Necesitamos especificar que queremos comenzar el entrenamiento.
Si eso ocurre, sabrá si alcanza la gran riqueza que ya no necesita para entrenar.
Así que vamos a terminar todo el proceso con un descanso si alcanzamos un mundo promedio de 1500.
Podemos terminar todo el proceso y para hacer esto podemos usar este descanso aquí.
Todo bien.
Y luego, una última cosa que hacer cuando el juego termine es cuando la IA gana.
Bueno, podemos cerrar el entorno, y así sucesivamente, agregando solo una última acción aquí, que voy
a llamar cerrar el entorno de la fatalidad.
Para hacer esto tomamos nuestro entorno Dume que llamamos Doom y lo recordamos.
Y luego podemos agregar ese cierre y eso es todo lo que cerraremos entorno que es mejor hacer una
vez que haya terminado el juego.
Está bien, así que terminamos.
Así que estoy muy emocionado de ver los resultados y de hecho voy a tener una sorpresa para ti en el
próximo tutorial mientras observo los resultados.
Va a ser muy emocionante.
Y ahora creo que es hora de jugar con eso y divertirme.
Así que esperemos que podamos alcanzar este chaleco lo más rápido posible.
Ese es el objetivo de este nuevo entorno.
Está bien, así que divirtámonos.
Prepárese un buen café o un buen té.
Ahora siéntate cómodamente en nuestra silla y mira videos muy geniales de nuestros aviones.
Hagámoslo en el próximo tutorial.
Y hasta entonces, disfruta de la IA.