Hola y bienvenido a este tutorial.
Todo bien.
Entonces en los tutoriales anteriores hicimos el cerebro o si quieres que los cerebros del A-3 vean ahora,
necesitamos entrenar este cerebro.
Pero para entrenar sus cerebros necesitamos un optimizador que sea el uso de esta herramienta y pegar un
cigarrillo en el centro para tomar el peso de acuerdo con cuánto contribuyen al error entre las predicciones
y los objetivos.
que hicimos hasta ahora en el primer y segundo módulo usamos el optimizador de átomos por torche en el entrenamiento.
Y lo
Pero como te dije, estamos lidiando con un problema muy desafiante que se desata y el algoritmo A-380 en
sí mismo no es suficiente para resolver este problema.
Necesitamos algunos optimizadores personalizados y muchos trucos diferentes para resolver este problema sin esperar
por años.
Así que ese es el propósito de hacer esto y es por eso que tenemos un optimizador personalizado separado basado en
el optimizador de átomos.
Y eso está contenido en esta clase enemiga compartida y por qué el átomo compartido.
Es porque en realidad es el optimizador de átomos, pero funcionará en Estados compartidos.
Así que vamos a explicar cómo funciona y cómo funciona. Así que vamos a ver las
diferentes funciones aquí sin matarlas porque sabes que queremos mantener algo de energía para la siguiente y además
ese es el tren que yo cayó, lo que tomará más de cien líneas de código.
Así que prepárate para eso.
Y por lo tanto trataremos de explicar qué está pasando aquí en un Statoil Statoil.
Y comencemos ahora.
de clases que contendrá tres funciones, la función de inicio, la función de memoria compartida y la función de paso.
De acuerdo, primero, presentamos este átomo de intercambio
Entonces, lo que hacemos primero es que heredamos de ese átomo el que es, por supuesto, el optimizador de átomos y
que obtenemos del módulo Upton de la biblioteca de antorchas.
Así que aquí tenemos una herencia simple para obtener todas las herramientas relacionadas con el optimizador de átomos y luego
comenzamos con la función init.
Entonces, ¿qué pasa aquí?
Primero usamos la superfunción para heredar de todas las herramientas y todos los parámetros básicos del átomo, la
clase Atom y estos parámetros básicos están aquí.
Harams aprendiendo los baiters de la raza Epsilon y la descomposición del peso.
Y luego comenzamos un seguimiento.
Este primer Foluke para grupo en sí mismo que grupos de Paramo.
Entonces, para nosotros, ¿qué es un grupo de parum configurado en grupos? Contiene todos los atributos del optimizador.
Y entre estos atributos tenemos los parámetros que tenemos para optimizar estos parámetros
que deseamos atomizar otras formas de la red que están contenidas en grupos auto parum quizás.
Entonces, allí vamos, el grupo pertenece a grupos de autoayuda.
que queremos optimizar y que están exactamente contenidos en grupos de auto-duda parum tal vez.
Y aquí tenemos el segundo Faltu que obtendrá estos parámetros
Así que, básicamente, pasamos por grupos de autoayuda que contienen todos los parámetros y para cada grupo de parámetros
y autoconversación de grupos vamos a ir a través de los parámetros que queremos optimizar.
Por lo tanto, para el grupo Páramo aquí significa para cada Tancer de pesos que queremos optimizar.
Entonces, para cada peso de sensor que queremos optimizar y luego qué sucede dentro de este grupo con estas
cuatro líneas de código.
Básicamente, lo que sucede es que la actualización realizada por el optimizador se basa en un promedio móvil
exponencial del gradiente.
Esa es esta línea de código aquí.
Esa es la media móvil exponencial del gradiente del momento uno que es de orden uno.
Pero los objetos hechos por átomo no solo se basan en que también se basan en un promedio
móvil exponencial del cuadrado del gradiente.
Esa es una media móvil exponencial del gradiente de impulso ao dos.
Así que aquí está el promedio móvil exponencial de todos.
Y aquí está el promedio móvil exponencial de dos para cada uno de ellos que EMJ ha degradado.
Entonces, ¿qué pasa aquí?
Y ahora, si desea obtener más información sobre cómo funciona la media móvil exponencial, le recomiendo
que eche un vistazo a este método de investigación de Adam para la optimización estocástica porque básicamente el
optimizador de átomos que estamos implementando en este momento se basa en el algoritmo uno aquí.
Entonces, si desea obtener más detalles sobre cómo funciona el algoritmo, este documento será definitivamente útil.
Y luego tienes algunas explicaciones adicionales sobre el algoritmo con los átomos y las reglas.
Y para que sepa que eso es solo si quiere atacar esto antes de atacar la función de
tren grande que realizará después.
De acuerdo, volvamos a Bison.
Y ahora pasemos a la segunda función de memoria compartida.
Así que ahora solo voy a decir algunas palabras.
La idea de esta función de memoria compartida es algo así como tensor que kuda, usted sabe, es un acelerador
basado en una vista.
Y así, básicamente, lo que sucede aquí es que tenemos estos tensores de los estados que comparten aquí
y aquí la memoria que se comportan un poco como tenso que podrían acelerar el cálculo acelerado.
Pero la diferencia es que aquí los sensores que comparten memoria envían el cálculo a una parte
del GP que usted o usted tiene acceso a toda la amenaza paralizada.
Entonces eso es básicamente lo que se hace aquí.
Eso es un poco como 10 para ese kuda, pero solo se envía a una parte del GP para ser
accesible a las amenazas en paralelo.
Todo bien.
Y luego tenemos el último paso de función.
Entonces sabes que esta función es como el método de paso del optimizador de átomos que utilizamos en este curso.
Y así, de nuevo, esto se basa en el algoritmo, uno del mismo papel que vimos antes.
Entonces este algoritmo
Entonces, de nuevo, desea comprender en detalle las siguientes líneas de código.
Bueno, una vez más, Ingrid le dice que eche un vistazo a este algoritmo en este artículo.
Y además de lo que se hace aquí no es totalmente obligatorio porque esto es en realidad un copiar y pegar del
método de paso que actúa esa clase de átomo.
aquí podría haberlo hecho al usar nuestra herencia porque aquí heredamos de Acton que Adam y así usar
nuestra herencia Bien, lo que podemos hacer en lugar de hacer todo esto solo va a escribir aquí
el comentario es solo usar el superfunción que aplicamos a nuestra clase compartida de Adán luego a nuestro ser objetivo y aquí solo
agregamos el paso con el paso de paréntesis es el método del acto en esa clase y eso es exactamente lo mismo.
Entonces, básicamente, lo que se hace
Es por eso que estaba diciendo que aquí solo hay un copiar y pegar del método de paso del acto
en la clase Atom.
Así que creo que si reemplazas todo esto por esta súper función aplicada para compartir bien el método de Adam y
el paso, podríamos obtener exactamente lo mismo.
Muy bien, así que fue interesante echarle un vistazo rápido.
Básicamente puedes ver esto como el optimizador de Adam.
Es como si tuviéramos una mirada más profunda.
Pero, nuevamente, si quiere ver más detalles de todo esto y si quiere entender qué sucede detrás de
la escena, le recomiendo que eche un vistazo a este trabajo de investigación.
Pondré el enlace en los comentarios aquí.
Sabes recordar que tendrás todo el código conectado en gran detalle.
Así que es realmente bueno si puedes echarle un vistazo.
Y ahora espero que tengas una gran energía porque vamos a pasar al archivo del tren que contendrá esta enorme
función de tren y que básicamente entrenará a nuestro cerebro, lo que ahora podemos
hacer porque tenemos nuestro optimizador.
Así que tenga un buen descanso ahora.
Duerme bien y cuando te sientas en buena forma.
Pasemos al siguiente paso.
Hasta entonces, disfruta de la IA.