WEBVTT

00:00.630 --> 00:03.170
Hola y bienvenidos a este tutorial de Python.

00:03.170 --> 00:03.500
Todo bien.

00:03.510 --> 00:09.120
Ahora en la próxima función que estamos implementando, formaremos la red neuronal profunda que

00:09.120 --> 00:11.470
está dentro de nuestra inteligencia artificial.

00:11.490 --> 00:16.980
Entonces, básicamente, vamos a hacer todo el proceso de propagación y luego de propagación de regreso.

00:16.980 --> 00:19.140
Entonces, vamos a obtener nuestra producción.

00:19.200 --> 00:20.850
Vamos a obtener el objetivo.

00:20.890 --> 00:26.020
el último error y luego vamos a retroceder propagar este último error a la nueva red.

00:26.130 --> 00:28.410
Compararemos el resultado del objetivo para calcular

00:28.680 --> 00:33.960
Y usando el descenso gradiente sugerido, que tendrá que esperar de acuerdo con cuánto contribuyeron al

00:33.960 --> 00:34.780
último error.

00:35.190 --> 00:39.030
Así que hagámoslo por aquellos de ustedes que provienen del profundo Cuerpo de Marines.

00:39.030 --> 00:43.850
Esto será bueno, pero para los demás no te preocupes, voy a expandirlo de nuevo.

00:44.160 --> 00:51.630
Entonces vamos a llamar a esta nueva función de aprender y aprender que va a tomar varios argumentos.

00:51.630 --> 00:57.350
Primer yo por supuesto que se referirá al objeto del grado en clase.

00:57.510 --> 01:08.770
estado actual, luego nuestro estado del lote siguiente, luego nuestra recompensa That y finalmente la acción Arbat.

01:08.860 --> 01:15.570
Luego vamos a tomar nuestro estado por lotes para el

01:15.590 --> 01:16.960
Entonces, ¿por qué tomamos esto?

01:16.970 --> 01:19.770
Probablemente reconoces lo que es esta serie.

01:19.880 --> 01:26.350
Bueno, eso es, por supuesto, una transición, una transición del proceso de decisión del mercado que está en la base.

01:26.360 --> 01:27.440
Aprendiste.

01:27.500 --> 01:30.420
Y por qué todos los tomamos en algunos lotes.

01:30.560 --> 01:36.200
Bueno, eso es porque ya sabes recuerda que no consideramos las transiciones por una serie del estado superior o

01:36.200 --> 01:39.630
actual, la recompensa actual del estado actual y la acción actual.

01:39.650 --> 01:44.050
Creamos algunos lotes simples aquí gracias a la función simple.

01:44.210 --> 01:48.430
Y entonces ahora nuestras transiciones están en la forma del primer lote para este estado.

01:48.500 --> 01:53.520
Un segundo lote para la próxima fecha un lote para la recompensa y un lote para la acción.

01:53.510 --> 01:59.090
Esa es la forma de nuestra transición ahora y todos están bien alineados con respecto al

01:59.090 --> 02:04.150
tiempo gracias a esta concatenación que hicimos aquí con respecto a la primera dimensión.

02:04.160 --> 02:10.460
Entonces, el punto es que ahora tenemos esta transición de lotes un lote para cada uno de los estados los próximos días en

02:10.450 --> 02:15.400
que lo vemos en acción y hacemos todo esto porque estamos usando este truco de reproducción de experiencia.

02:15.530 --> 02:18.580
Entonces esa es nuestra red neuronal profunda que puede aprender algo.

02:18.590 --> 02:24.190
Recuerda que si solo tuviste una transición por sí mismos, sería un aprendizaje instantáneo.

02:24.260 --> 02:28.930
O si quieres un aprendizaje de la memoria muy corto y, por lo tanto, el topo no aprenderá nada.

02:29.180 --> 02:35.690
Entonces debemos tomar estos lotes de la memoria que se convierten en nuestras transiciones y eventualmente obtendremos las diferentes salidas

02:35.690 --> 02:40.940
para cada uno de los estados de los estados de entrada y haremos esto para los

02:41.160 --> 02:45.620
estados y para los próximos Estados porque necesitaremos ambos para calcular la pérdida.

02:45.680 --> 02:51.860
Pronto recordaré la ecuación de equilibrio que está en el corazón del algoritmo de aprendizaje.

02:51.860 --> 02:57.120
Así que ahora vamos a la función y obtengamos primero los resultados del estado de la caja.

02:57.170 --> 03:04.740
primeros resultados viables y luego vamos a decir, por supuesto, que nuestra autoconversación no es tan automática.

03:04.740 --> 03:07.670
Así que voy a llamar a estos

03:07.740 --> 03:14.160
No, porque queremos obtener nuestras salidas modelo de los estados de entrada del estado.

03:14.510 --> 03:19.110
Y dado que nuestro modelo realmente está esperando un lote de estados de entrada.

03:19.310 --> 03:25.330
Bueno, podemos ingresar totalmente ese estado en este momento para la entrada de todos.

03:25.340 --> 03:31.550
Así es como iniciamos los estados que ingresan a la red con respuestas de tortura con

03:31.550 --> 03:35.080
esta dimensión vaga para el lote que es perfecto.

03:35.180 --> 03:37.720
Ahora obtenemos los resultados de todos ellos.

03:37.880 --> 03:45.680
obtendremos los resultados de todas las acciones posibles que conozca 0 1 y 2, pero eso no es lo que queremos.

03:45.860 --> 03:50.980
Pero luego hay otro truco técnico si solo vendemos bien ese estado de modelo

03:50.990 --> 03:54.580
Solo estamos interesados ​​en las acciones que fueron elegidas.

03:54.740 --> 04:01.190
Las acciones que se decidieron por la red para jugar en cada momento y para que

04:01.190 --> 04:09.320
estas realmente se interesen en eso son las acciones que se jugaron bien, tenemos que usar esta función de recopilación en

04:09.320 --> 04:16.840
la cual ingresamos una porque solo queremos la acción que se eligió y luego agregamos esa acción con este.

04:16.880 --> 04:23.600
Y en esa sección reuniremos cada vez la mejor acción para jugar para cada uno de los estados de

04:23.600 --> 04:24.560
entrada del estado.

04:24.830 --> 04:30.690
la acción que se juega sea la acción que se elija y obtenemos esto con esta acción.

04:30.840 --> 04:31.770
No queremos que

04:32.130 --> 04:33.390
Pero luego ten cuidado

04:33.450 --> 04:40.190
El estado aquí tiene diamantes falsos y grasa en el lote y esa sección no lo tiene.

04:40.190 --> 04:46.190
Backstay lo tiene porque solíamos Unsworth aquí, pero no hemos utilizado ningún apretón de brazo para las acciones,

04:46.430 --> 04:52.880
así que tenemos que agregarlo aquí para que la acción Bache tenga exactamente la misma dimensión que el estado.

04:53.150 --> 05:02.710
Así que agregaremos un punto y exprimiremos aquí, y en realidad esto no es cero, sino uno, porque la respuesta cero a

05:03.200 --> 05:09.120
la fe no es el estado y corresponderá al examen de las acciones.

05:09.370 --> 05:16.540
Y finalmente, lo último que tenemos que hacer aquí es que tenemos que matar este lote falso con un apretón.

05:16.600 --> 05:18.010
¿Por qué tenemos que hacer eso?

05:18.130 --> 05:20.130
Porque ahora estamos fuera de la red neuronal.

05:20.200 --> 05:22.820
Tenemos nuestros productos, pero no los queremos de vuelta.

05:22.900 --> 05:24.080
Los queremos

05:24.190 --> 05:26.260
Y la respuesta simple es simple vector.

05:26.260 --> 05:31.540
Un vector de salida de los lotes justo cuando trabajamos en la red neuronal porque la red

05:31.540 --> 05:34.880
neuronal espera el formato de los sensores en un lote.

05:34.990 --> 05:40.510
nuestros resultados y en la próxima ecuación de baluns del aprendizaje profundo no los necesitaremos en un lote.

05:40.510 --> 05:41.530
Pero ahora tenemos

05:41.530 --> 05:48.130
Así que estoy matando eso aquí y matando la dimensión de la fe para recuperar la forma simple de nuestros resultados.

05:48.160 --> 05:54.530
Así que solo estoy agregando aquí Dot y luego apretar y luego porque quiero matar la laminación falsa que corresponde a la

05:54.540 --> 05:56.120
parte posterior de la acción.

05:56.250 --> 06:01.430
Bueno, dado que el motor de espacio-tiempo tiene el índice uno, estoy agregando uno aquí.

06:01.560 --> 06:02.050
Todo bien.

06:02.100 --> 06:05.480
Y ahora ahí vamos tenemos nuestros productos.

06:05.490 --> 06:05.910
DE ACUERDO.

06:06.000 --> 06:11.100
Tenemos una pequeña advertencia de qué es que se asigna la salida de variable local, pero nunca se utiliza.

06:11.190 --> 06:11.860
Está bien.

06:11.880 --> 06:13.510
Lo usaremos muy rápido.

06:13.920 --> 06:15.540
Entonces esa es nuestra salida

06:15.600 --> 06:23.660
Y ahora queremos sacar nuestros próximos regalos Ahora puede que esté pensando por qué necesitamos los próximos productos.

06:23.840 --> 06:29.160
Para entender esto, necesitamos volver al algoritmo de aprendizaje profundo que está aquí, que

06:29.180 --> 06:31.670
es parte del manual de Letak.

06:31.850 --> 06:33.820
Entonces ese es todo el proceso de difusión.

06:33.860 --> 06:39.180
Al principio estábamos inicializando todos los valores clave y luego en cada momento t.

06:39.440 --> 06:44.770
Bueno, ahí vamos, seleccionamos la acción con Max mejorado, eso es lo que hicimos con la función de selección de acción.

06:44.870 --> 06:51.050
Luego abrimos la transición y luego, como pueden ver, obtenemos la predicción de que obtenemos el objetivo y podemos

06:51.050 --> 06:52.120
ser los últimos.

06:52.190 --> 06:54.330
Entonces, ¿por qué necesitamos la próxima salida también?

06:54.350 --> 07:01.640
Eso se debe a que el objetivo es igual a Ghana multiplicado por el siguiente producto más el que queremos y calcularemos

07:01.640 --> 07:06.060
los objetivos inmediatamente después de eso, ya que necesitamos la siguiente salida del objetivo.

07:06.200 --> 07:07.790
Vamos a calcular esto primero.

07:07.820 --> 07:14.060
Así que, de nuevo, para obtener la siguiente actualización muy simple, el próximo resultado será el resultado

07:14.060 --> 07:19.180
de nuestra red neuronal cuando el próximo estado por lotes lo ingrese como entrada.

07:19.190 --> 07:27.110
Entonces, de manera muy simple, tomamos nuestro modelo que es nuestra red neuronal y esta vez la entrada de la red neuronal

07:27.110 --> 07:33.020
va a ser el próximo estado por lotes que se ha programado para la próxima fecha.

07:33.200 --> 07:41.290
Pero ahora recuerda si volvemos al algoritmo inicial. Bien, puedes ver que el siguiente resultado es el máximo de los valores

07:41.290 --> 07:45.530
q para el siguiente estado con respecto a todas las acciones.

07:45.730 --> 07:51.790
Así que ahora mismo para obtener el siguiente resultado que necesitamos para obtener el máximo de estos valores q, y por lo tanto lo

07:51.790 --> 07:52.720
voy a hacer aquí.

07:52.840 --> 08:00.550
Separar usted sabe cómo separar todas las salidas del modelo porque tenemos varios estados en este lote. Estados siguientes es

08:00.550 --> 08:06.730
el lote de todos los estados siguientes en todas las transiciones tomadas de la muestra aleatoria

08:06.730 --> 08:07.620
de nuestra memoria.

08:07.840 --> 08:14.530
Así que los desconectaré a todos usando la función de separación y luego tomaré el máximo de estos

08:14.530 --> 08:15.250
dos valores.

08:15.340 --> 08:20.920
Y dado que estamos tomando el máximo de estos dos valores con respecto a la acción Bueno, tenemos que

08:20.920 --> 08:23.080
especificar que es con respecto a la acción.

08:23.080 --> 08:26.310
Y dado que la acción está representada por el índice uno.

08:26.530 --> 08:32.770
Bueno, de nuevo tenemos que poner el siguiente aquí y luego tenemos que especificar que estamos tomando los

08:33.290 --> 08:41.140
valores cue como T más 1 que es la siguiente etapa y el siguiente estado está representado por 0 porque el cero del

08:41.380 --> 08:47.370
índice corresponde a los estados y por lo tanto, aquí tenemos que agregar paréntesis con el índice 0.

08:47.770 --> 08:54.400
De esta forma obtenemos el máximo de los valores clave de los próximos estados representados por el próximo cero

08:54.400 --> 09:01.490
de acuerdo con todas las acciones que están representadas por el índice uno y ahora perfecto obtenemos nuestros próximos resultados.

09:01.570 --> 09:02.860
Estos son un nuevo conjunto.

09:02.870 --> 09:04.320
Entonces fue cuando tuvimos la advertencia.

09:04.320 --> 09:05.050
Pero está bien.

09:05.080 --> 09:07.950
Lo usaremos ahora para calcular el objetivo.

09:08.470 --> 09:12.510
Y hablando del objetivo que es el siguiente paso de esta función conocida.

09:12.520 --> 09:13.210
Entonces ahí vamos

09:13.220 --> 09:15.460
El objetivo es igual

09:15.670 --> 09:18.220
Ahora volvamos a nuestro manual AI AI.

09:18.400 --> 09:24.800
El objetivo es igual a la palabra más gamma multiplicada por la siguiente salida es el máximo de los valores de cubo

09:24.800 --> 09:25.710
del día siguiente.

09:25.930 --> 09:29.290
De acuerdo con las acciones que podemos calcular eso.

09:29.340 --> 09:35.590
Entonces eso es igual a uno mismo que gamma y self que Gamma fue inicializado.

09:35.590 --> 09:45.100
Aquí se introduce una variable que es la Virgen Q. Un objeto se autoejecuta a Times los próximos resultados como

09:45.100 --> 09:49.910
acabamos de decir más ¿Deseamos que sea la mejor opción?

09:49.940 --> 09:57.400
Estamos trabajando con lotes aquí, así que más lote queremos y ese es el objetivo.

09:57.520 --> 10:03.820
En una muestra de la memoria gamma multiplicada por las siguientes salidas Más la recompensa.

10:03.900 --> 10:04.480
Todo bien.

10:04.480 --> 10:05.080
Perfecto.

10:05.110 --> 10:07.100
Entonces ahora tenemos nuestros productos.

10:07.180 --> 10:13.270
También tenemos nuestros objetivos y, por lo tanto, podemos calcular la pérdida, la pérdida que representa el error

10:13.270 --> 10:14.260
de la predicción.

10:14.500 --> 10:21.000
Así que llamemos esto último; los dos últimos son, por supuesto, para la diferencia temporal.

10:21.040 --> 10:28.720
Esa es una vez más en el corazón del aprendizaje de Q, y esta forma de limpiarnos va a ser igual a la versión

10:28.720 --> 10:30.330
que mejora mucho el Cunanan.

10:30.520 --> 10:34.730
Esa es la última función que elegiremos para nuestra inteligencia artificial.

10:34.800 --> 10:38.640
Para aquellos de ustedes que vienen del curso de verde profundo, es realmente el último que recomiendo.

10:38.680 --> 10:43.280
Si desea implementar Coonerty, entonces, ¿cómo vamos a obtener esto?

10:43.510 --> 10:50.380
Bueno, de nuevo tomaremos una función del módulo funcional representado por F y, por lo

10:50.380 --> 10:57.970
tanto, aquí voy a usar nuestro módulo funcional de patos y el Hubble us puede obtenerse

10:57.970 --> 11:02.420
gracias a la función que le gusta a Smoots L-1.

11:02.420 --> 11:03.850
Entonces presionando enter.

11:03.850 --> 11:07.910
Y esa es realmente la mejor función perdida que recomiendo para el aprendizaje profundo.

11:07.930 --> 11:09.680
Realmente mejora el Culin.

11:09.820 --> 11:12.670
Pero esta es una función, así que estoy agregando algunos paréntesis.

11:12.850 --> 11:14.740
Y ahora no hay nada más simple.

11:14.830 --> 11:19.340
Los argumentos que necesitamos ingresar son las predicciones y los objetivos.

11:19.420 --> 11:24.010
Entonces, las predicciones, por supuesto, son resultados porque esa es la salida de la red neuronal.

11:24.190 --> 11:27.600
No, el resultado de la red neuronal es lo que predice la red neuronal.

11:27.730 --> 11:29.030
Entonces esa es la predicción

11:29.260 --> 11:35.900
Entonces, el primer argumento aquí es salidas y luego el segundo argumento es, por supuesto, el objetivo.

11:36.100 --> 11:40.110
Lo que estamos tratando de conseguir y ya está calculado perfecto.

11:40.150 --> 11:43.150
Podemos ingresar directamente el objetivo.

11:43.150 --> 11:43.630
Perfecto.

11:43.650 --> 11:48.200
Ahora nos han dicho que tenemos un poco de té aquí.

11:48.220 --> 11:48.760
Aquí vamos.

11:48.760 --> 11:50.470
Ahora la advertencia debería desaparecer.

11:50.890 --> 11:51.420
Sí.

11:51.430 --> 11:52.110
Perfecto.

11:52.180 --> 11:58.090
Y ahora que tenemos el último error, podemos respaldar el error de los propagadores en la red para actualizar los pesos

11:58.090 --> 12:03.230
con descenso de gradiente estocástico y eso es exactamente lo que vamos a hacer en el próximo paso.

12:03.490 --> 12:12.040
que tenemos que hacer, como es de suponer, es optimizar nuestro optimizador, que una vez más lo presentamos lo inicializó.

12:12.190 --> 12:14.850
Así que, por supuesto, ahora lo

12:15.030 --> 12:21.430
Y ese es un optimizador de átomos que en realidad es un objeto de la clase Atom y ya está

12:21.580 --> 12:23.720
equipado con los parámetros de nuestro modelo.

12:23.810 --> 12:31.480
Y ya elegimos una tasa de aprendizaje de 0. El 1 por ciento para perfeccionar nuestro optimizador está listo, pero ahora tenemos

12:31.480 --> 12:37.150
que jugarlo en el último error para realizar la cuadrícula estocástica en el sentido y el peso de los datos.

12:37.180 --> 12:43.540
Entonces, cuando se trabaja con luchadores, lo primero que tenemos que hacer es volver a inicializarlo en cada iteración

12:43.540 --> 12:44.150
del ciclo.

12:44.200 --> 12:50.620
a otra en el ciclo de esto para obtener la cuadrícula en el conjunto y reiniciarlo.

12:50.660 --> 12:53.310
Debemos reinicializar el optimizador de una interacción

12:53.350 --> 12:54.820
Y cada iteración del ciclo.

12:55.200 --> 12:59.410
Bueno, vamos a utilizar el siguiente método, que es cero.

12:59.940 --> 13:00.400
Aquí vamos.

13:00.410 --> 13:05.180
Zero Grad reinicializará el optimizador en cada iteración del ciclo.

13:05.230 --> 13:07.300
Entonces, no olvidemos el paréntesis.

13:07.390 --> 13:08.180
Perfecto.

13:08.200 --> 13:14.850
Y ahora que se reinicia, podemos realizar una propagación hacia atrás con nuestro optimizador.

13:15.190 --> 13:16.380
Y cómo hacemos eso.

13:16.540 --> 13:22.660
Bueno, tomamos nuestras leyes y vamos a retroceder propagarlas de vuelta a la red y retroceder

13:22.660 --> 13:24.330
propagadas a la red.

13:24.460 --> 13:33.190
Necesitamos usar la función hacia atrás y dentro de esta función hacia atrás recomiendo ingresar las variables

13:33.220 --> 13:37.180
de subrayado y establecerlo igual a verdadero.

13:37.240 --> 13:40.990
Recomiendo hacer esto porque esto mejorará la propagación de regreso.

13:41.200 --> 13:46.420
El uso de variables escritas es verdadero para liberar algo de memoria y tenemos que liberar

13:46.420 --> 13:52.730
la memoria porque vamos a ir varias veces sobre la última para que definitivamente mejore el rendimiento de la capacitación.

13:52.900 --> 13:58.980
Y finalmente, el último paso de esta función aprendida es tener pesos de datos de acuerdo con la propagación hacia atrás.

13:58.980 --> 14:02.570
Eso depende de cuánto contribuyeron los pesos al error.

14:02.800 --> 14:11.680
Y para hacer esto tomamos nuestro optimizador de nuevo que se inicializó en la reinicialización y usamos la función de paso

14:12.250 --> 14:17.560
y simplemente con esta línea de código usando la función de paso.

14:17.560 --> 14:19.450
Esto actualizará los pesos.

14:19.480 --> 14:21.860
Esa es la línea de código que actualiza los pesos.

14:21.910 --> 14:28.750
Esta línea de código que propaga el error en la red neuronal y esta línea de código utiliza el optimizador

14:28.930 --> 14:31.510
para actualizar los pesos y allí vamos.

14:31.510 --> 14:36.800
Tenemos una red neuronal de aprendizaje bien así que felicitaciones.

14:36.840 --> 14:42.320
Esta fue probablemente la parte más técnica y difícil de toda esta disputa o mañana.

14:42.450 --> 14:47.880
Sé que mi linterna puede ser difícil a veces con facilidad y apretar y apretar,

14:47.880 --> 14:54.900
pero al final prometo que obtendrá una red neuronal muy funcional y, por lo tanto, modelo peculiar y, finalmente,

14:54.960 --> 14:56.580
una gran inteligencia artificial.

14:56.580 --> 15:03.150
Así que ahora pasemos al siguiente paso o maestro y modelo que será la función de actualización

15:03.210 --> 15:07.170
que obviamente se actualizará cuando la IA descubra el nuevo estado.

15:07.170 --> 15:11.420
Entonces sabrá que descubrirá el nuevo estado y luego recibirá la recompensa.

15:11.520 --> 15:16.860
Dependiendo de la acción que se muestra y este nuevo estado se encargará de esto con la función

15:16.860 --> 15:19.510
de actualización y lo hará en el siguiente tutorial.

15:19.710 --> 15:21.000
Hasta entonces disfruta.

15:21.020 --> 15:21.300
YO.
