WEBVTT

00:00.940 --> 00:04.150
Bonjour et bienvenue au cours sur l'intelligence artificielle.

00:04.150 --> 00:09.070
Très bien, j'espère que vous appréciez le didacticiel jusqu'à présent. Nous en avons presque fini avec l'intuition. Très

00:09.070 --> 00:13.390
bientôt, vous abordez rapidement le côté pratique de certaines choses que nous venons de traiter.

00:13.510 --> 00:20.320
Nous avons déjà parlé de la manière dont nous ajoutons les réseaux de neurones à toute cette équation de l’apprentissage

00:20.350 --> 00:25.360
CULE et passons à l’étape suivante pour en faire un apprentissage en profondeur.

00:25.690 --> 00:33.130
Et aujourd’hui, nous allons ajouter une fonctionnalité très importante qui consistera à coder dans le côté pratique, c’est pourquoi j'ai décidé qu'il était

00:33.130 --> 00:39.100
important pour nous de le couvrir souvent du côté de l'intuition afin d'être plus préparé pour cela quand

00:39.100 --> 00:42.430
il vient dans le côté de codage des choses.

00:42.430 --> 00:47.950
Ainsi, lorsque nous avons discuté du réseau, il y a deux étapes.

00:47.950 --> 00:53.110
Tout d’abord, c’est l’apprentissage afin que le réseau apprenne réellement à chaque nouvel état.

00:53.270 --> 00:58.870
Il met lentement à jour ses attentes pour devenir de mieux en mieux face à cet environnement.

00:58.870 --> 01:06.910
Et puis, il y a une action à l'intérieur de l'état, donc après que les valeurs q aient été comptées dans l'état, une fois que

01:06.970 --> 01:08.220
vous avez sélectionné.

01:08.230 --> 01:14.800
Donc, aujourd’hui, nous allons encore parler de la partie apprentissage, nous allons proposer une fonctionnalité intéressante

01:14.800 --> 01:20.050
qui aidera les étudiants de premier cycle à concevoir cette fonctionnalité

01:20.080 --> 01:29.690
nous-mêmes, mais nous parlerons d’une fonctionnalité qui est très importante pour nous. un apprentissage profondément cool et cette fonctionnalité est appelée expérience rejouer.

01:29.710 --> 01:30.030
D'accord.

01:30.040 --> 01:34.570
Voici donc notre réseau et nous venons de le copier ici.

01:34.570 --> 01:39.000
Nous avons perdu ce qui est Calcott au fond est un propagateur de retour à travers le réseau.

01:39.100 --> 01:44.770
Et regardons un exemple de ce qui arrive à comprendre le problème que nous traitons un

01:44.770 --> 01:45.670
peu mieux.

01:45.670 --> 01:49.120
Voici donc un exemple tiré des scores.

01:49.120 --> 01:54.820
Ceci est une capture d'écran exactement de ce cours, c'est ce que vous programmez.

01:54.820 --> 02:02.170
C'est une voiture autonome qui traverse cette route et doit apprendre à naviguer sur

02:02.170 --> 02:03.780
cette route.

02:03.820 --> 02:09.290
Et alors qu'est-ce que nous avons discuté précédemment Qu'est-ce que c'est dans cet état?

02:09.320 --> 02:15.850
Et bien sûr, l’état ne sera pas x1 x2 Lundell, mais décrivez-le de manière beaucoup plus

02:15.850 --> 02:23.650
détaillée en quoi consistera l’état, quelques paramètres relatifs à l’angle de la voiture et quelques paramètres relatifs, tels que les

02:23.650 --> 02:26.490
capteurs lire et ainsi de suite.

02:26.490 --> 02:29.820
Donc, il y aura plus de paramètres que cela pour décrire l'état.

02:29.830 --> 02:34.120
Néanmoins, il s'agira néanmoins d'un vecteur de valeurs passant par un réseau de neurones, puis,

02:34.120 --> 02:36.520
à la sortie, vous obtiendrez des valeurs d'ACU.

02:36.520 --> 02:39.850
Encore une fois, il y aura une différence en fonction de l'environnement.

02:39.850 --> 02:44.380
Ils peuvent être un nombre différent d'actions possibles.

02:44.460 --> 02:49.660
Mais nous allons simplement pour simplifier, pour que nous puissions mieux comprendre ce qui

02:49.660 --> 02:50.830
se passe ici.

02:50.830 --> 02:55.710
Donc, dans ce cas, quelle est la question jusqu'à présent, qu'est-ce que c'est?

02:55.730 --> 03:03.510
Cela entre dans ce réseau de neurones ou plus précisément à quelle fréquence déclenchons-nous ce réseau de neurones.

03:03.520 --> 03:05.080
À quelle fréquence cette croissance nette neurale.

03:05.110 --> 03:11.410
Eh bien, chaque fois que la voiture se retrouve dans un nouvel état, elle se déplace dans un nouvel état, puis

03:11.530 --> 03:12.650
tout y passe.

03:12.670 --> 03:17.410
Toutes ces données, toutes ces informations provenant de l’état, passent par le réseau, ce qui donne à Alice les

03:17.650 --> 03:18.200
erreurs calculées.

03:18.280 --> 03:22.960
Cette erreur est calculée en fonction de ce que nous avons discuté dans les tutoriels précédents.

03:22.990 --> 03:26.080
Ceci est renvoyé à travers et leurs poids sont mis à jour.

03:26.080 --> 03:32.570
Ensuite, la voiture sélectionne l'action à entreprendre pour que ce mouvement aboutisse à un nouvel état, dans le nouvel état.

03:32.590 --> 03:34.390
Tout recommence.

03:34.450 --> 03:39.880
En gros, cela se produit chaque fois que la voiture est à l'intérieur et que vous avez bien dit de regarder cet exemple.

03:39.880 --> 03:46.240
J'ai spécifiquement pris la capture d'écran car elle semble très bien illustrer le problème résolu par la relecture d'expérience et les

03:46.240 --> 03:51.430
répétitions de dépenses, et pas seulement par quelque chose que nous utilisons dans ce cours ou

03:51.430 --> 03:52.730
dans ce problème spécifique.

03:52.810 --> 03:57.190
C'est quelque chose que vous verrez utilisé partout.

03:57.340 --> 04:04.480
Encore et encore, encore et encore dans les algorithmes d'intelligence artificielle, car il est si puissant et si

04:04.480 --> 04:05.140
important.

04:05.140 --> 04:11.440
Alors, regardez cette voiture cette voiture dans ce problème ou dans cet environnement, son objectif est d'aller d'ici à

04:11.440 --> 04:12.440
ici et retour.

04:12.440 --> 04:17.540
Son but est de s'y frayer un chemin ici sans traverser ces murs de sable.

04:17.790 --> 04:24.430
Et donc la voiture a démarré ici, elle est tombée et sa récompense est basée sur le fait que vous savez à quel point il est proche

04:24.430 --> 04:25.120
de commencer.

04:25.120 --> 04:29.890
Donc, la voiture est partie d'ici, elle est tombée et a continué comme ceci ou comme le long de ce

04:29.890 --> 04:31.490
mur le long de la digue.

04:31.570 --> 04:34.990
Et qu'est-ce que ça va faire ensuite va tourner va continuer.

04:34.990 --> 04:37.450
Eh bien, ce que nous voulions faire, c'est continuer ici.

04:37.690 --> 04:39.490
Mais réfléchissons-y une seconde.

04:39.580 --> 04:44.240
Une fois qu’il est arrivé à ce mur à chaque fois qu’il avance, il avance.

04:44.260 --> 04:48.570
Il avance, avance, avance, avance, avance, avance, et ainsi de suite.

04:48.580 --> 04:53.320
Donc, il pourrait y avoir comme si en fonction de l'environnement de la structure pourrait être comme une centaine de mouvements

04:53.320 --> 04:54.710
ici ou 50 mouvements ici.

04:54.990 --> 04:59.100
Cela ne fait que continuer d'avancer d'avancer d'avancer et rien ne change.

04:59.160 --> 05:03.310
Pas vraiment de changements, cela va beaucoup plus loin de cette histoire commencée.

05:03.310 --> 05:04.060
C'est adorable.

05:04.210 --> 05:09.990
Mais en ce qui concerne l'environnement, peu de choses changent, c'est toujours le même mur.

05:10.090 --> 05:15.460
Si vous êtes assis dans la voiture, vous avez probablement constaté que la situation

05:15.460 --> 05:21.220
était telle que l'environnement est si monotone que vous voyez que la même chose se

05:21.220 --> 05:21.840
passe.

05:21.840 --> 05:26.680
Mais comme j'imagine que vous conduisez dans un désert et que vous voyez juste la même chose, c'est le même

05:26.680 --> 05:29.100
son, c'est le même son, rien ne se passe.

05:29.100 --> 05:30.340
Rien ne change.

05:30.550 --> 05:36.820
Et donc, mais chaque fois, nous mettons cet état dans ce nouvel état.

05:37.000 --> 05:42.010
Oui, bien sûr, quelque chose pourrait changer pour nous alors que vous conduisez la voiture et que votre GPS indique que vous

05:42.010 --> 05:43.530
êtes plus proche de votre destination.

05:43.540 --> 05:49.300
Donc, l’une de ces entrées est étrange, mais bon nombre de ces entrées, comme les capteurs de

05:49.300 --> 05:55.850
la voiture par exemple, ne changent pas et, par conséquent, alors que vous conduisez lentement ce jour-là, insérez les entrées

05:55.850 --> 06:02.380
ici même. ici ici ici ici ici ici et ici ici tout le temps les entrées sont à peu près

06:02.380 --> 06:03.220
les mêmes.

06:03.250 --> 06:11.140
Et donc, si vous continuez à saisir les mêmes entrées dans votre réseau, vous indiquez les mêmes valeurs vectorielles ou des vecteurs très

06:11.140 --> 06:14.240
similaires, car il n'y a pas de variété.

06:14.320 --> 06:16.840
La voiture va très bien apprendre.

06:16.870 --> 06:22.420
Vous apprendrez très bien à conduire le long de ce mur qui se trouve à sa droite. C’est ainsi que le

06:22.420 --> 06:27.970
réseau se mettra à jour et qu’il sera récompensé commencera lentement à être récompensé pour avoir si bien conduit, ce

06:27.970 --> 06:28.570
sera pareil.

06:28.580 --> 06:33.980
Ok, donc à partir d'ici, je vais apprendre tout ce que je fais si bien que je vais mieux que je fais mieux.

06:34.050 --> 06:34.420
Tout ça.

06:34.480 --> 06:41.920
Il aura cette fausse perception qu'il va vraiment très bien même s'il apprend à conduire ainsi que d'autres réseaux de neurones deviendront très adaptés

06:41.920 --> 06:47.560
à la conduite le long de ce puits et puis tout à coup il y a cette courbe

06:47.560 --> 06:51.100
et la voiture ne Je ne sais pas quoi faire.

06:51.310 --> 06:55.240
Et cela ne correspond absolument pas à ce réseau de neurones.

06:55.420 --> 07:01.870
Et même si cela se produit, disons de manière hypothétique qu'il passe un endroit et qu'il se retrouve ensuite sur ce

07:01.870 --> 07:02.250
mur.

07:02.260 --> 07:05.320
La même chose va se passer va conduire d'ici ici ici.

07:05.320 --> 07:10.870
OK, le réseau de neurones est en train de se restructurer pour s’adapter à ce mur.

07:10.900 --> 07:15.880
Et puis, même si d’une manière ou d’une autre, il est dépassé, cela conduira au-delà de cette chose, puis de la même

07:15.880 --> 07:16.260
chose.

07:16.260 --> 07:23.590
En résumé, c’est un exemple très frappant du problème que nous avons, c’est que, parce que nous utilisons le

07:23.590 --> 07:29.770
réseau neuronal pour le mettre à jour à chaque état une fois que nous avons beaucoup

07:29.770 --> 07:36.490
de choses consécutives, ils n’ont même pas besoin d’être les mêmes. Même chose, mais dans des environnements

07:36.880 --> 07:44.950
normaux, des états consécutifs sont en quelque sorte corrélés ou interdépendants, et nous ne voulons pas que cette interdépendance fausse notre

07:44.980 --> 07:45.550
réseau.

07:45.550 --> 07:52.600
Nous ne voulons pas que la voiture apprenne simplement à conduire comme une ligne droite ou une

07:54.100 --> 08:01.750
longue ligne courbe ou tout ce que vous pensez pouvoir penser à dans la vie où un agent serait

08:01.780 --> 08:10.570
un environnement Navigant où nous pourrions penser à un lien ou des états interdépendants qui se succèdent et peuvent vraiment gâcher votre

08:10.630 --> 08:12.130
réseau de neurones.

08:12.190 --> 08:15.270
Si vous laissez simplement l'agent apprendre de cela.

08:15.430 --> 08:17.600
Et c'est là qu'intervient la relecture d'expérience.

08:17.620 --> 08:24.850
Ce qui se passe dans la relecture d’expérience, c’est donc ces expériences, de sorte que ces États sont classés dans un deux

08:24.850 --> 08:31.040
ou trois des 50 États d’ici dans Neuro, ils ne sont pas transmis immédiatement par le réseau.

08:31.350 --> 08:35.980
Ils sont en réalité enregistrés dans la mémoire de l'agent.

08:36.160 --> 08:41.440
Ainsi, par exemple, toutes ces sauvegardes sont sauvegardées, ainsi que certaines sauvegardes, et certaines à un moment donné, une fois atteint un certain

08:41.590 --> 08:44.940
seuil que vous serez en mesure de coder et Atlanta vous montrera comment faire.

08:45.100 --> 08:51.310
Une fois qu'il atteint un certain seuil, l'agent décide pour lui-même qu'il est temps d'apprendre.

08:51.310 --> 08:57.580
Je n'ai pas à apprendre de cette série d'expériences et je vais

08:57.580 --> 09:04.120
donc en tirer une distribution aléatoire. L'uniformité est essentielle, car nous allons en parler

09:04.240 --> 09:06.460
dans la diapositive suivante.

09:06.820 --> 09:08.140
Nous réserverons nous le mentionnerons.

09:08.140 --> 09:12.400
Mais il faut un échantillon uniformément distribué.

09:12.460 --> 09:15.660
Donc, fondamentalement, toutes les expériences sont considérées comme égales.

09:15.670 --> 09:23.410
Il prend un échantillon uniformément distribué à partir de son lot d’expériences qu’il possède, puis il les étudie et apprend d’eux-mêmes, de

09:23.410 --> 09:28.060
sorte qu’il n’exige pas toute l’expérience ou qu’il distribue uniformément des échantillons

09:28.060 --> 09:33.130
qu’il pourrait prendre d’ici voici un couple d'ici et chaque expérience est caractérisée par

09:33.130 --> 09:39.940
l'état dans lequel elle a pris l'action dans laquelle elle s'est retrouvée et la récompense qu'elle a obtenue grâce

09:40.000 --> 09:47.110
à cette action dans cet état spécifique, de sorte que quatre éléments dans chaque expérience en déclarent un action state

09:47.110 --> 09:53.470
deux et récompense et prend donc toutes ces expériences, puis il les passe à travers le réseau

09:53.470 --> 09:54.660
et il apprend.

09:54.660 --> 10:05.160
Et ainsi, cela brise le schéma de ce biais qui vient de la nature séquentielle de l'expérience, comme si vous deviez les faire passer à travers

10:05.160 --> 10:08.110
le réseau, les unes après les autres.

10:08.340 --> 10:11.930
C’est donc le cœur de l’expérience que nous jouons.

10:11.930 --> 10:17.730
C’est là le problème et le problème et un autre avantage de la relecture d’expérience est que parfois,

10:17.730 --> 10:22.400
dans un environnement comme celui-ci, vous pouvez vivre des expériences rares et très précieuses.

10:22.410 --> 10:28.340
Donc, par exemple, je ne sais pas, regardons ce coin à droite, c'est le coin à droite.

10:28.440 --> 10:28.730
Droite.

10:28.740 --> 10:30.880
Et un très forte est forte.

10:30.900 --> 10:35.640
Donc, ça va venir d'ici en supposant que ça va serrer ce coin.

10:35.640 --> 10:40.500
Donc, si vous avez des angles serrés, nous aurons un coin droit

10:40.500 --> 10:43.410
ici et un coin droit ici.

10:43.680 --> 10:46.240
Bon alors quand ça vient comme ça c'est le bon coin.

10:46.380 --> 10:48.630
Et puis quand ça retourne, c'est un très mauvais coin ici.

10:48.620 --> 10:53.070
Donc, et celui-ci n'est pas tranchant de la sorte dans le magasin, il n'y a donc

10:53.640 --> 10:56.770
qu'une seule opportunité, dans l'environnement, d'apprendre à partir d'un coin droit.

10:56.970 --> 11:03.050
Et c’est une expérience très importante, car il est possible de vraiment bien rouler en ligne droite,

11:03.060 --> 11:06.990
mais de vraiment bien faire les virages mous comme celui-là.

11:07.170 --> 11:14.070
Et puis ça va continuer à bousiller ce coin droit tout simplement parce que tout simplement parce qu’il n’a pas

11:14.070 --> 11:18.070
beaucoup d’opportunités pour en tirer des leçons et qu’il apprendra donc tout

11:18.070 --> 11:20.180
le reste très rapidement, cours.

11:20.180 --> 11:26.010
C'est un exemple très simplifié, une explication très simplifiée, mais elle illustre le concept selon lequel

11:26.280 --> 11:30.140
il s'agit parfois d'expériences rares qui peuvent être précieuses.

11:30.270 --> 11:35.880
Et si vous ne faites qu'un simple réseau de neurones dans lequel vous mettez vos valeurs ici et vous savez

11:35.880 --> 11:40.950
qu'elles traversent et vous savez même si vous oubliez ce problème de la nature séquentielle des expériences

11:40.950 --> 11:45.690
et de la façon dont elles peuvent être interdépendant et tous corrélés Thimphu oublient même que

11:45.680 --> 11:46.640
pour une seconde.

11:46.800 --> 11:52.110
Ce qui se passe, c’est qu’une fois que vous avez mis une expérience dans le réseau de données, vous

11:52.120 --> 11:53.370
oubliez instantanément cette expérience.

11:53.370 --> 11:54.380
Vous passez au suivant.

11:54.420 --> 11:56.180
Voilà comment fonctionne le réseau de neurones.

11:56.220 --> 11:59.710
Ensuite, vous passez à l’état suivant, à l’étape suivante, à l’étape suivante, à la prochaine expérience

11:59.780 --> 12:01.170
X et à cette expérience.

12:01.170 --> 12:06.180
Donc, ce coin droit dès qu’il passe par un réseau est parti et vous n’avez plus aucun souvenir de

12:06.510 --> 12:07.450
cette expérience précieuse.

12:07.560 --> 12:14.220
Alors que nous avons expérimenté le replay parce que vous mettez ces expériences en

12:14.220 --> 12:19.920
lots, vous pouvez organiser votre bash comme une fenêtre continue, par exemple,

12:19.920 --> 12:25.920
vous pourriez avoir environ 100 lots. il a cela enregistré cette expérience dans

12:25.920 --> 12:27.380
son lot.

12:27.390 --> 12:34.260
Ensuite, comme à un moment donné, il prend une distribution uniforme de son lot d’expériences et ensuite, il ya une fenêtre

12:34.260 --> 12:37.980
glissante pour qu’il oublie ces expériences mais conserve ces expériences.

12:37.980 --> 12:44.160
Et encore une fois, il apprend qu'une fois que c'est ici, il apprend de ce lot et ensuite, une fois que c'est là, il oublie tout

12:44.280 --> 12:45.410
le chemin jusqu'à ici.

12:45.420 --> 12:50.550
Mais alors il a beaucoup d'expériences comme ça, donc ne tirez pas les leçons de ces expériences.

12:50.730 --> 12:58.380
Et ainsi, ce que vous obtenez est que ce coin droit peut apparaître plusieurs fois dans son processus d’apprentissage parce qu’il faisait partie

12:58.380 --> 13:03.480
de ce lot lorsque le lot était comme celui-ci ici qu’il y en avait

13:03.480 --> 13:08.760
dans le lot ici à peu près ici. en plusieurs lots car l’abash pourrait être mis

13:08.790 --> 13:11.430
à jour comme une fenêtre glissante d’expérience.

13:11.430 --> 13:15.630
Ainsi, les expériences les plus anciennes sont mises à la porte, les expériences les plus récentes sont ajoutées, puis les expériences les plus anciennes le

13:15.630 --> 13:16.290
sont à nouveau.

13:16.440 --> 13:23.040
Donc, et l'expérience reste dans le lot pendant un certain temps et la voiture ou l'agent peut apprendre de cette

13:23.040 --> 13:24.100
expérience plusieurs fois.

13:24.210 --> 13:27.430
C'est donc un autre avantage de la relecture d'expérience.

13:27.570 --> 13:33.480
Et bien sûr, l’avantage final est que la relecture d’expérience vous donne la possibilité d’apprendre de nombreuses expériences

13:34.220 --> 13:39.290
plutôt que si vous n’en appreniez qu’une à une, parce que vous avez ce lot

13:39.300 --> 13:46.710
et donc qu’il s’agit d’une fenêtre évolutive et donc même si votre environnement est limité. faire l'expérience de votre expérience de rejeu

13:46.710 --> 13:49.260
peut vous aider à apprendre plus rapidement.

13:49.410 --> 13:55.230
Et au lieu de simplement refaire, il y a beaucoup de fois où vous pouvez apprendre rapidement parce que vous n'avez pas à le

13:55.230 --> 13:55.710
refaire.

13:55.710 --> 13:57.440
Vous avez ces expériences enregistrées.

13:57.810 --> 13:59.850
Voilà donc les principaux avantages de l'expérience.

13:59.910 --> 14:01.760
Rappelons que nous avons le.

14:01.840 --> 14:09.280
Nous rompons ce modèle d'indépendance et de corrélation d'expériences séquentielles. Nous sauvons des expériences rares qui

14:09.280 --> 14:15.640
pourraient être importantes. Nous pouvons donc en tirer des leçons plus souvent et apprendre

14:16.090 --> 14:21.260
dans des environnements où nous pouvons apprendre les environnements Fosler.

14:21.520 --> 14:27.310
Nous avons une pénurie d'expériences qui ne sont pas aussi nombreuses que celles vécues par l'agent, mais nous

14:27.310 --> 14:29.180
pouvons quand même apprendre cela.

14:29.380 --> 14:32.470
C'est donc ce que l'expérience rediffuse tout.

14:32.470 --> 14:34.530
Si vous souhaitez lire un peu plus que cela.

14:34.630 --> 14:41.290
Deep Mind a publié en 2016 un article intéressant intitulé «rejeu d'expérience

14:41.560 --> 14:44.380
prioritaire» qui explique pourquoi.

14:44.410 --> 14:50.860
Pourquoi utilisons-nous une distribution uniforme pour sélectionner nos expériences à partir de l'expérience Bachche? Pourquoi ne trouvons-nous pas

14:50.860 --> 14:55.870
un meilleur moyen de sélectionner nos expériences et de hiérarchiser certaines des expériences que

14:55.870 --> 14:57.160
nous estimons importantes.

14:57.220 --> 15:03.880
C’est une chose très intéressante, mais dans ce cas, vous pourrez non seulement renforcer

15:03.880 --> 15:11.800
ou non vos connaissances en matière de répétition d’expérience, mais vous pourrez également évoluer avec les dernières

15:11.800 --> 15:12.660
technologies.

15:12.660 --> 15:15.120
Nous sommes donc en 2016 et publiés par des esprits profonds.

15:15.120 --> 15:21.580
C'est un document très récent et très puissant qui vous permettra d'explorer réellement les limites ou d'explorer davantage

15:21.580 --> 15:24.530
cet algorithme et de l'amener au niveau supérieur.

15:24.550 --> 15:31.270
Je vous laisse donc le soin de savoir pourquoi et comment nous pouvons changer l'uniforme pour adopter une approche différente de la

15:31.270 --> 15:33.810
répétition de ce document si vous le souhaitez.

15:33.940 --> 15:35.270
Et j'espère que ça vous plaira.

15:35.270 --> 15:41.020
Tauriel et maintenant, nous savons ce qu’est réellement une expérience et nous pouvons l’utiliser en toute confiance dans nos cercles pratiques. Je vous

15:41.440 --> 15:42.860
attend pour la prochaine fois.

15:42.940 --> 15:44.550
Jusque-là, profitez de l'IA.
