WEBVTT

00:00.270 --> 00:02.590
Bonjour et bienvenue dans ce tutoriel sur Python.

00:02.820 --> 00:08.730
Très bien, nous allons créer aujourd'hui la fonction de mise à jour qui mettra à jour tout ce qui existe

00:08.850 --> 00:12.240
à ce jour dès que l'œil aura atteint un nouvel état.

00:12.510 --> 00:16.140
Donc, quand il atteint une nouvelle étape, vous savez que nous devons mettre à jour l'action.

00:16.200 --> 00:19.320
La dernière vient en fait de la nouvelle action qui vient d’être jouée.

00:19.530 --> 00:22.630
Mais aussi la dernière date qui devient le nouvel état.

00:22.680 --> 00:27.450
Et enfin, le dernier mot qui devient le nouveau mot que nous recevons lorsque nous jouons l’action.

00:27.480 --> 00:31.480
C'est donc le chemin logique qui se produit juste après la sélection d'une action.

00:31.530 --> 00:35.100
Nous devons mettre à jour tous les éléments des transitions.

00:35.310 --> 00:37.370
Et bien sûr, vous aurez une nouvelle transition.

00:37.420 --> 00:40.300
Nous devrons donc ajouter cette nouvelle transition à la mémoire.

00:40.350 --> 00:46.200
Et enfin, nous mettrons également à jour ou récompenserons la fenêtre que vous connaissez pour

00:46.200 --> 00:49.460
surveiller l'évolution de la formation et de l'exploration.

00:49.680 --> 00:55.380
Mais le plus important pour vous de comprendre, c’est que nous

00:55.530 --> 01:01.650
pouvons enfin établir un lien entre l’intelligence artificielle que nous implémentons et notre

01:01.650 --> 01:08.580
carte, c’est là que nous avons créé le jeu avec la voiture et défini comment

01:08.580 --> 01:12.940
elle devrait être punie lorsqu’elle commet une erreur.

01:13.170 --> 01:19.140
Mais dans cette classe de jeu, nous avons remarqué cette fonction de mise à jour et dans cette fonction de mise à jour, nous avons

01:19.500 --> 01:24.700
remarqué cette action en ligne, car la dernière mise à jour du cerveau nous a permis de réduire le signal.

01:24.900 --> 01:28.410
Et en fait, c’est exactement ce que nous sommes sur le point de faire.

01:28.410 --> 01:36.300
Nous sommes sur le point de créer cette fonction de mise à jour qui prendra le dernier mot et le dernier signal pour que

01:36.300 --> 01:37.860
l’action suivante soit exécutée.

01:37.860 --> 01:41.640
Ainsi, non seulement la mise à jour mettra à jour tous les différents éléments de la transition.

01:41.910 --> 01:48.390
Mais surtout, nous allons jouer l'action que nous devrions jouer lors de l'obtention du dernier mot et du dernier signal.

01:48.390 --> 01:55.920
Ainsi, bien sûr, dans cette fonction de mise à jour, nous utiliserons la fonction de sélection d'action que nous venons de mettre en œuvre

01:55.920 --> 02:02.400
avant d'intégrer la fonction de sélection d'action fonction de mise à jour future que nous sommes sur le point de

02:02.400 --> 02:07.740
faire pour sélectionner la direction à jouer en plus de toutes les mises à jour.

02:07.860 --> 02:11.200
Il est donc très important d’établir ce lien avec la carte pour le moment.

02:11.310 --> 02:18.480
Ce que nous sommes sur le point de faire est finalement le lien entre notre œil et le jeu que nous faisons

02:18.480 --> 02:19.750
dans cette classe.

02:19.770 --> 02:24.030
Et si ce que nous pouvons faire maintenant est directement prendre cette mise à jour.

02:24.060 --> 02:29.970
Enfin, nous avions moins de signal, car c’est la fonction que nous allons utiliser avec ces deux

02:29.970 --> 02:30.430
arguments.

02:30.720 --> 02:38.530
Et tout comme un cerveau de rappel rapide, notre objet IA est l’objet de la classe Dejuan.

02:38.540 --> 02:45.690
Donc, ce que nous allons faire maintenant, c'est que nous allons copier cette mise à jour, moins le mot, moins le signal, et ce

02:45.690 --> 02:48.390
sera notre prochaine fonction que nous allons créer.

02:48.480 --> 02:54.120
Et donc et en collant cela ici, alors juste pour faire attention, je voudrais juste donner des noms différents

02:54.120 --> 02:56.190
de ceux que nous avons ici.

02:56.200 --> 03:00.820
Vous savez que nous avons le dernier mot ici et je ne veux pas confondre ce dernier mot avec celui-ci.

03:00.900 --> 03:02.060
Cela peut être dangereux.

03:02.220 --> 03:06.100
Je vais donc remplacer le dernier mot par mot.

03:06.390 --> 03:13.880
Et en passant de même pour moins de signal, mettons simplement un signal ou même un nouveau signal pour spécifier que vous savez que nous

03:13.920 --> 03:18.900
voulons mesurer cela lorsque vous atteignez un nouvel état et obtenez ainsi un nouveau signal.

03:18.900 --> 03:26.100
Mais alors bien sûr, ce mot ici sera la dernière récompense que nous aurons ici.

03:26.280 --> 03:32.400
Vous savez, lorsque vous allez sur du sable ou pire encore, vous vous approchez trop d'un bord de la carte pour

03:32.670 --> 03:34.130
définir le dernier mot.

03:34.200 --> 03:39.400
Ce dernier mot sera l'entrée de la fonction de mise à jour, c'est pourquoi nous avons le dernier mot ici.

03:39.600 --> 03:43.660
Mais juste ici je donne juste un autre nom pour l'argument.

03:43.710 --> 03:47.640
Nous voulons ne pas confondre avec le dernier mot ici.

03:47.640 --> 03:50.160
Très bien, voici la fonction de mise à jour.

03:50.310 --> 03:54.090
Et maintenant, allons à l'intérieur et faisons ces deux choses.

03:54.090 --> 03:58.970
Ce sont les données de tous les éléments de notre transition et bien sûr la sélection de l'action.

03:59.290 --> 04:01.670
OK, que devons-nous d'abord mettre à jour?

04:01.950 --> 04:06.760
Comme vous l'avez compris, nous souhaitons fixer une date pour atteindre n'importe quel état.

04:06.840 --> 04:12.800
Donc, la première chose que nous allons mettre à jour est évidemment cette nouvelle que c’est la nouvelle que nous atteignons.

04:12.840 --> 04:17.340
Je vais donc appeler ce nouvel état nouvel état et ensuite il le fera.

04:17.340 --> 04:19.810
Et alors, comment pouvons-nous obtenir ce nouvel état.

04:20.040 --> 04:25.460
Bien sûr, cela dépend du nouveau signal que les capteurs ont détecté.

04:25.830 --> 04:32.760
Et pour rappel, l'état est le signal lui-même composé des trois signaux que les capteurs signalent

04:32.760 --> 04:37.470
un signal pour signaler trois plus orientation et moins orientation.

04:37.530 --> 04:38.600
C'est notre état.

04:38.610 --> 04:42.470
Alors assurez-vous de comprendre que le signal est l'état.

04:42.660 --> 04:46.160
Mais pour le moment, il s’agit d’une simple liste de cinq éléments.

04:46.200 --> 04:51.540
Et puisque cela va être l’entrée pour faire tout ce travail, rappelons-le, nous devons le convertir en capteur

04:51.540 --> 04:52.200
de torche.

04:52.490 --> 04:54.960
C'est donc exactement ce que nous allons faire maintenant.

04:54.960 --> 05:03.910
Nous allons prendre notre bibliothèque de flambeau, puis la classe de tenseurs, qui convertira notre nouveau signal en torche plus dense,

05:04.450 --> 05:12.420
il est donc préférable de s’assurer que tous les éléments de la torche à répondre sont des flotteurs,

05:12.420 --> 05:19.650
je vais donc Effectuez une conversion de type pour les convertir en flottants comme celui-ci.

05:19.900 --> 05:24.500
Et enfin, essayez d’avoir un réflexe sur ce que nous devons faire ensuite.

05:24.530 --> 05:29.590
C’est bien sûr créer ce fake down engine pour ajouter des diamants et correspondre

05:29.590 --> 05:37.080
au lot et nous le faisons bien sûr avec la fonction de compression à laquelle nous devons attribuer l’indice de ce gros diamant.

05:37.100 --> 05:40.210
Et nous voulons pour le lot qui est zéro.

05:40.770 --> 05:41.320
D'accord.

05:41.320 --> 05:47.110
Et maintenant nous avons nos nouveaux états composés des trois signaux des trois capteurs plus l’orientation

05:47.110 --> 05:54.290
moins l’orientation et bien sûr cela dépendra du nouveau signal que nous obtenons avec cette fonction de mise à jour.

05:54.400 --> 05:57.940
En ce moment, dernier signal, nous obtenons les trois signaux.

05:57.940 --> 06:04.450
Donc, en plus moins ou en plus et comme rappel, les trois signaux sont la densité du capteur

06:04.720 --> 06:06.490
détecté autour des capteurs.

06:06.490 --> 06:06.940
D'accord.

06:06.970 --> 06:13.710
Nous venons donc de passer à une nouvelle étape, ce qui signifie que nous avons atteint la nouvelle étape et que nous devons maintenant effectuer la prochaine mise à jour.

06:13.750 --> 06:16.440
Donc, selon vous, que devons-nous mettre à jour maintenant?

06:16.660 --> 06:22.320
Quelle serait la chose logique à ce jour maintenant après avoir atteint ce nouvel état.

06:22.630 --> 06:25.940
Eh bien, ce dont nous avons besoin maintenant, c'est de la mémoire.

06:25.960 --> 06:27.010
Pourquoi donc.

06:27.010 --> 06:34.200
C’est parce qu’à chaque instant t une transition est composée de l’état actuel Estey le lendemain sous forme de

06:34.220 --> 06:37.660
tipis lorsque la récompense est arti et l’action 80.

06:37.860 --> 06:44.020
Et maintenant nous avons déjà S-T nous avons déjà notre équipe et nous avons déjà 80 et nous venons de

06:44.020 --> 06:47.540
recevoir le dernier élément de la transition Estep plus un.

06:47.590 --> 06:55.720
Donc, en obtenant ce nouvel état aussi profond qu’un autre, nous obtenons une toute nouvelle transition de la mémoire et nous devons

06:55.720 --> 07:01.910
donc annexer cette toute nouvelle transition à la mémoire car c’est simplement notre prochaine transition.

07:01.930 --> 07:03.980
C'est pourquoi nous avons cette mémoire en ce moment.

07:04.120 --> 07:10.990
Et par conséquent, ce que je vais faire, c'est prendre mon objet mémoire créé à partir de la classe de

07:10.990 --> 07:17.130
mémoire de relecture et donc je vais prendre la mémoire propre pour faire référence à l'objet.

07:17.160 --> 07:22.700
Mais depuis que je me sers de moi-même, je dois l'inclure dans la fonction.

07:22.950 --> 07:25.440
Alors maintenant, vous pouvez vraiment voir à quoi sert ce moi.

07:25.550 --> 07:32.600
C'est chaque fois que vous utilisez une variable que vous avez créée et initialisée dans la fonction init dans cette mémoire.

07:32.600 --> 07:33.960
Et maintenant nous l'avons fait.

07:34.190 --> 07:36.950
Et selon vous, comment nous allons mettre à jour cela.

07:37.160 --> 07:41.290
La bonne nouvelle est que nous avons déjà créé une fonction pour le faire.

07:41.300 --> 07:46.990
C'est la fonction push qui interdit un événement ou une transition en mémoire.

07:47.190 --> 07:49.060
C'est donc exactement ce que nous allons utiliser maintenant.

07:49.070 --> 07:55.460
Nous allons utiliser la fonction push pour écrire dans la mémoire notre nouvelle transition que nous venons de

07:55.760 --> 08:01.820
faire. Par conséquent, je ne prends pas un égal, nous allons utiliser la méthode et donc nous

08:02.320 --> 08:04.200
pouvons utiliser directement cette poussée.

08:04.280 --> 08:10.010
Et je vais d’abord ajouter la transition à cette nouvelle transition que nous venons de recevoir et qui est la première à la

08:10.010 --> 08:10.780
dernière date.

08:10.850 --> 08:14.010
Donc moi-même ce dernier rendez-vous.

08:14.270 --> 08:18.680
Donc, c'est S-T. C'est exactement celui-là, il existe déjà.

08:18.680 --> 08:23.620
Ensuite, l'élément suivant de cette transition est bien sûr le nouvel état que nous venons d'atteindre.

08:23.840 --> 08:29.720
Et par conséquent, puisque l'objet que nous avons créé et initialisé dans cette fonction init n'est pas viable, nous ne

08:30.080 --> 08:31.470
le mettons pas ici.

08:31.580 --> 08:39.940
Nous mettons directement le Newstead puis le prochain élément de la transition est l'action et disons que nous avons déjà la dernière section

08:39.940 --> 08:43.690
qui est ce soi-même que la dernière action ici.

08:43.840 --> 08:45.320
Alors bien sûr, il est égal à zéro.

08:45.350 --> 08:50.050
Mais alors bien sûr, il sera mis à jour avec la fonction d’action select.

08:50.170 --> 08:51.190
Mais c'est celui-ci.

08:51.190 --> 08:55.620
Alors, c’est soi-même que la dernière action.

08:55.840 --> 08:57.120
Mais maintenant soyez prudent.

08:57.190 --> 09:01.540
Les éléments qui ont été inclus dans cette transition devraient tous être des réponses incendiées.

09:01.870 --> 09:03.860
Comme vous pouvez le voir, c'est le cas pour la dernière date.

09:03.880 --> 09:05.200
C'est un capteur de torche.

09:05.350 --> 09:07.860
Le nouvel état est également incendié en réponse.

09:07.900 --> 09:12.050
Et si cela doit être la même chose pour l'action et ensuite la récompense bien sûr.

09:12.190 --> 09:17.320
Mais maintenant, vous allez penser à une réponse incendiaire, alors qu’il s’agit simplement d’un chiffre.

09:17.410 --> 09:20.700
Vous savez que l'action est 0 1 ou 2.

09:20.890 --> 09:22.370
Mais en fait, ce n'est pas un problème.

09:22.390 --> 09:28.640
Nous pouvons toujours convertir cette variable 0 1 ou 2 en un capteur de torche.

09:28.660 --> 09:31.530
Ce sera juste ce que nous appelons un tenseur long.

09:31.540 --> 09:36.910
Le long est un type et c'est le tenseur qui contiendra un entier car la dernière action

09:36.910 --> 09:39.660
est un entier c'est 0 1 ou 2.

09:39.670 --> 09:47.650
Donc, ce que nous allons prendre maintenant, c’est notre flambeau de bibliothèque, puis nous allons prendre une classe

09:48.190 --> 09:53.470
de tenseur qui crée un objet qui sera le non-tenure lui-même.

09:53.710 --> 10:00.370
Et en prenant cette dernière fonction d’action comme entrée, il créera ce long

10:00.370 --> 10:08.590
objet tenseur, mais il contiendra toujours 0 1 ou 2 dans un objet tenseur long. travailler avec

10:08.830 --> 10:14.070
PI torch et nous travaillons avec un réseau de neurones.

10:14.170 --> 10:18.480
Nous devons donc travailler avec des capteurs pour pouvoir répondre rapidement.

10:18.580 --> 10:20.780
Et une dernière conversion à faire.

10:20.860 --> 10:27.520
Nous devons nous assurer que le contenu de cette réponse longue est un entier et pour s’en assurer, même

10:27.520 --> 10:34.000
si nous savons déjà que la dernière action est 0 1 ou 2 pour nous assurer que nous allons

10:34.000 --> 10:39.310
effectuer à nouveau cette conversion de type int. auto dernière action en un entier.

10:39.310 --> 10:46.450
Nous y voilà et nous devons ensuite simplement mettre cette action désintéressée entière entre crochets ici pour obtenir

10:46.450 --> 10:52.810
maintenant un long tenseur d'un élément qui sera cette dernière action 0, 1 ou 2 elle-même.

10:52.810 --> 10:59.880
Le point clé est donc que vous convertissez un simple nombre zéro un ou deux en un tenseur avec torche.

11:00.060 --> 11:00.360
D'accord.

11:00.360 --> 11:06.820
Et puis enfin le dernier élément de la transition et c'est bien sûr le dernier mot que nous avons eu.

11:06.880 --> 11:12.980
C'est exactement le dernier mot de volleyball que nous avons créé dans n'importe quelle fonction initialisée à zéro.

11:13.110 --> 11:19.720
Mais alors bien sûr, est mis à jour ici dans ce code, soit lorsque nous passons à un sens qui est un

11:19.770 --> 11:24.020
mot négatif, soit si nous nous éloignons de l’objectif, c’est encore une récompense négative.

11:24.180 --> 11:30.090
Si nous nous rapprochons de l’objectif, c’est une récompense positive et la pire punition si nous nous approchons trop près

11:30.090 --> 11:34.080
d’un bord de la carte. C’est un terrible mot négatif moins un.

11:34.290 --> 11:36.190
Et c'est ça.

11:36.260 --> 11:40.810
Ajoutons donc ce dernier élément de la transition auto-dirigeant le mot.

11:41.060 --> 11:47.660
Donc, je copie ce collage ici et maintenant, nous devons faire une autre conversion qui sera bien sûr exactement

11:47.750 --> 11:53.570
identique à celle-ci uniquement puisque le mot n'est pas un entier, mais un nombre flottant.

11:53.780 --> 12:00.350
Nous ferons simplement un flambeau cette conversion tenseur mais sans cela nous garderons les crochets ici car vous savez

12:00.350 --> 12:06.200
d’abord nous devons mettre le numéro dans une liste et ensuite cette liste ira mettre le flambeau

12:06.200 --> 12:11.510
en classe faire cela en conversion car le dernier mot est un nombre flottant.

12:11.510 --> 12:21.400
Nous allons donc simplement ajouter ici le tenseur des points de la torche, puis les parenthèses.

12:21.680 --> 12:27.470
Et nous allons fermer les crochets ici et nous fermons la parenthèse.

12:27.470 --> 12:28.820
Nous y voilà.

12:28.820 --> 12:35.180
Donc, pour résumer, vous avez dit que nous venons d’atteindre et que nous observons un nouvel événement de transition que

12:35.540 --> 12:37.150
nous ajoutons à la mémoire.

12:37.550 --> 12:44.240
Et cette transition contient la dernière date et voit le nouvel état comme tipis lorsque la dernière action

12:44.540 --> 12:47.640
joue 80 et le dernier mot Archie.

12:48.020 --> 12:48.390
D'accord.

12:48.440 --> 12:51.220
Et maintenant nous allons avec notre mémoire de dates.

12:51.410 --> 12:55.710
Alors faisons une petite pause et nous nous occuperons de la prochaine mise à jour dans le prochain tutoriel.

12:55.970 --> 12:57.440
Jusque là je
