WEBVTT

00:00.660 --> 00:03.920
Bonjour et bienvenue au cours sur l'intelligence artificielle.

00:03.930 --> 00:09.440
Et enfin, nous passons aux choses amusantes que nous apprenons en profondeur.

00:09.450 --> 00:10.660
Très bien alors jetons un coup d'oeil.

00:10.720 --> 00:14.100
Bruce, nous avons parlé de gagner de l'argent et de quoi il en va.

00:14.140 --> 00:20.160
Et nous avons entendu parler de l'environnement de l'agent et de la manière dont l'agent va regarder l'état.

00:20.210 --> 00:23.620
Ou elle est en action prendre une récompense.

00:23.640 --> 00:28.610
Entrez dans un nouvel état et, en fonction de cette boucle de rétroaction, ils continueront à prendre des mesures et ils tireront des enseignements

00:28.610 --> 00:29.460
de cette expérience.

00:29.460 --> 00:32.310
Comprendre quelles sont les meilleures actions à prendre.

00:32.310 --> 00:35.040
Nous avons donc examiné cet exemple fondamental de labyrinthe.

00:35.040 --> 00:40.550
Nous avons compris qu’Asian Explorer explore l’environnement et comprend les valeurs des États.

00:40.560 --> 00:45.150
Nous sommes ensuite passés de la gestion des valeurs des États à celle

00:45.150 --> 00:52.230
des actions avec les valeurs, puis A-Basin nous a montré comment les plans fonctionnent dans des environnements non sarcastiques et

00:52.560 --> 00:57.070
comment les politiques fonctionnent dans des environnements stochastiques. exemple de politique.

00:57.120 --> 01:01.340
Voilà donc un récapitulatif rapide de tout ce dont nous avons discuté dans l’apprentissage de base.

01:01.450 --> 01:07.230
Et maintenant, regardons comment on peut passer à un niveau supérieur grâce à un apprentissage en profondeur en ajoutant un apprentissage

01:07.230 --> 01:08.080
en profondeur.

01:08.260 --> 01:08.510
D'ACCORD.

01:08.520 --> 01:16.110
C’est donc notre environnement et ce que nous allons faire maintenant, c’est que nous allons ajouter au lieu de

01:16.110 --> 01:21.860
simplement faire des calculs de base dans cette matrice, qui est assez simple.

01:21.870 --> 01:26.970
Ce que nous allons faire, c'est ajouter deux axes qui ajoutent un axe x et un axe ou nous

01:27.090 --> 01:28.480
les appellerons x1 et x2.

01:28.560 --> 01:30.430
Juste pour rendre les choses encore plus générales.

01:30.480 --> 01:36.830
Et ici nous avons le vrai numéro de la rangée les colonnes 1 2 trois 4 il règle le nombre des rangées 1 à 3

01:36.960 --> 01:44.730
Et donc maintenant, chaque état peut être décrit par une paire de deux valeurs x1 et x2, de sorte que l’un

01:44.730 --> 01:50.940
quelconque de ces carrés dans lequel l’agent peut éventuellement figurer peut être décrit par x1 x2.

01:50.940 --> 01:58.280
Ainsi, par exemple, il est dans le carré avec X1 égal à 1 et x 2 égal à 2.

01:58.470 --> 02:03.430
Et donc ce n'est pas une façon d'échapper à votre carré, ce qui signifie que nous pouvons décrire votre état.

02:03.480 --> 02:08.330
Ensuite, il s’agit bien entendu d’une version très simplifiée d’un environnement de description d’États.

02:08.340 --> 02:10.110
Mais néanmoins cela fonctionne dans ce cas.

02:10.290 --> 02:17.260
Et cela signifie que nous pouvons maintenant alimenter ces états dans un réseau de neurones.

02:17.400 --> 02:21.830
En passant, je voudrais juste mentionner qu’à la fin du cours des bonnes annexes,

02:21.830 --> 02:26.880
nous avons un x numéro un et des singeries et deux pour mener à bien cette section.

02:26.970 --> 02:32.280
Il est vivement conseillé de consulter le fichier inaccessible qui se trouve sur un réseau de neurones

02:32.280 --> 02:37.470
artificiels afin de comprendre leur fonctionnement, de sorte que nous ne puissions plus nous en occuper ici

02:37.470 --> 02:43.800
et que nous puissions simplement utiliser les avantages de la connaissance du fonctionnement des réseaux de neurones artificiels. et donc

02:43.830 --> 02:51.870
nous introduisons ces informations sur l'état dans un réseau de neurones, puis il traitera ces informations les X1 et x2 en fonction de la structure du

02:51.870 --> 02:55.380
réseau de neurones, il pourrait comporter plusieurs couches cachées, etc.

02:55.380 --> 03:00.900
C'est donc quelque chose que vous comprendrez dans les tutoriels pratiques, mais à la fin,

03:00.900 --> 03:06.570
nous structurerons de manière à générer des valeurs et ces quatre valeurs seront notre valeur Q.

03:06.570 --> 03:11.790
Ainsi, les valeurs qui dictent les actions à entreprendre et les actions à entreprendre de ce didacticiel verront exactement

03:11.790 --> 03:15.220
comment ces valeurs clés sont utilisées pour décider des actions à entreprendre.

03:15.240 --> 03:22.490
Mais l'essentiel ici est que nous ne regardons plus seulement ce labyrinthe du point de vue de l'apprentissage.

03:22.650 --> 03:29.760
Nous prenons maintenant les états du labyrinthe et nous les alimentons dans un réseau de neurones profonds afin d'obtenir

03:29.820 --> 03:31.360
ces cellules et.

03:31.410 --> 03:35.080
Et à la fin de la journée, nous allons toujours proposer une action, nous allons toujours

03:35.150 --> 03:39.900
comprendre quelle action nous devons prendre et nous allons discuter de tout cela plus en détail, mais la question qui se

03:39.900 --> 03:42.990
pose est de savoir pourquoi. nous faisons tout cela pourquoi nous l'avons appelé.

03:43.200 --> 03:47.990
Pourquoi est-ce que cela complique tellement les choses alors que cette approche initiale d’apprentissage fonctionnait

03:48.280 --> 03:48.990
déjà bien?

03:49.170 --> 03:54.980
La raison en est que to learning fonctionnait dans cet environnement très simpliste et nous continuons à traiter

03:54.990 --> 03:59.830
pour le moment avec cet environnement très simpliste afin de mieux comprendre les concepts.

04:00.000 --> 04:06.220
Mais en même temps, cet apprentissage Kial ne fonctionnera plus dans des environnements plus complexes et

04:06.600 --> 04:12.780
nous parlons par exemple des voitures autonomes qui créeront ou joueront à Doom lorsque l'intelligence artificielle

04:13.020 --> 04:19.200
joue à Doom ou à d'autres jeux Atari tels que Breakout ou même des voitures autonomes

04:19.260 --> 04:26.400
et des techniques d’apprentissage du renforcement plus avancées, telles que des robots marchant et exécutant des actions dans tous

04:26.730 --> 04:32.400
les cas. En principe, l’apprentissage est insuffisant, n’est pas assez puissant, mais pas assez

04:32.400 --> 04:34.700
puissant pour maîtriser ces défis.

04:34.710 --> 04:41.250
Et comme nous l’avons vu dans le cours d’apprentissage approfondi si vous avez été dans notre discipline ou si vous avez

04:41.250 --> 04:47.820
réalisé les sections annexes sur x numéro un et X-2, vous constaterez que l’apprentissage en profondeur est de loin supérieur à

04:47.820 --> 04:51.640
tout type d’apprentissage machine, encore moins un apprentissage simple et cool.

04:51.660 --> 04:55.770
Et c’est la raison pour laquelle nous exploitons le pouvoir de l’apprentissage en profondeur afin que nous

04:55.770 --> 04:58.580
puissions utiliser les informations sur l’environnement comme vecteur de valeurs.

04:58.590 --> 05:04.240
Dans ce cas, il suffit d’utiliser un réseau de neurones profonds et de les utiliser pour effectuer les actions que

05:04.240 --> 05:07.220
nous voulons décider des actions que les agents vont effectuer.

05:07.420 --> 05:11.700
Donc, c'est un peu comme une vue d'ensemble des raisons pour lesquelles nous faisons cela.

05:11.830 --> 05:17.920
Et maintenant, regardons un peu plus en détail ce qu'il advient du concept d'apprentissage cool lorsque

05:17.920 --> 05:24.100
nous transférons lorsque nous effectuons la transformation ou le passage d'un apprentissage simple à un Killary profond.

05:24.130 --> 05:31.720
Comme vous l'avez vu dans les précédents tutoriels sur l'intuition, nous avons présenté une diapositive comme celle-ci, qui constitue le fondement de

05:31.960 --> 05:33.550
l'apprentissage par différence temporelle.

05:33.700 --> 05:37.430
Telle est la formule de la différence temporelle et, fondamentalement, passons à travers.

05:37.430 --> 05:44.640
Donc, fondamentalement, nous avions un agent qui se trouvait dans cet état, indiqué par la flèche bleue.

05:45.070 --> 05:51.760
Et nous comprenions comment la différence temporelle fonctionne pour cette valeur d'augmentation par exemple.

05:51.790 --> 05:57.250
Et donc ce que nous avons vu ici était avant que ce soit dans le simple Killary pas l'apprentissage en profondeur est dans le simple

05:57.250 --> 05:57.610
tueur.

05:57.640 --> 06:05.560
Ce que nous avons vu, c’est avant que l’agent ait eu une valeur de teinte qu'il avait appris à propos de cette action

06:05.560 --> 06:06.260
de montée.

06:06.340 --> 06:08.700
Et alors, il décida de prendre la décision de monter.

06:08.860 --> 06:14.830
Et juste après son action, il reçoit une récompense pour avoir pris cette action dans cet état.

06:14.830 --> 06:21.070
Et c’est là la récompense, plus il peut maintenant évaluer la valeur de l’état actuel dans lequel il se trouve,

06:21.070 --> 06:27.850
ce qui correspond au maximum de toutes les nouvelles valeurs q de tout le cube des nouvelles actions qu’il peut prendre comme

06:27.850 --> 06:32.400
premier dans le nouvel état. lu multiplié par le facteur DK de gamma.

06:32.440 --> 06:40.450
Il s’agit donc essentiellement de la nouvelle valeur de cube ou de la valeur de cube empirique qu’il vient de

06:40.450 --> 06:43.200
recevoir pour avoir pris cette mesure.

06:43.270 --> 06:45.640
Et idéalement, ces deux deux devraient être les mêmes.

06:45.640 --> 06:51.430
Ainsi, la valeur Q qu'il avait en mémoire à propos de cette action dans cet état devrait

06:51.430 --> 06:57.420
correspondre à la récompense réelle plus le gamma fois la valeur de l'état dans lequel il s'est retrouvé.

06:57.610 --> 07:01.870
Et donc c'est comme ça que nous calculons la différence temporelle en prenant ce que vous êtes après moins

07:01.870 --> 07:05.200
ce qu'il a eu ce qu'il avait en tête ce à quoi il s'attendait.

07:05.200 --> 07:06.740
Vous soustrayez l'un de l'autre.

07:06.780 --> 07:07.690
C'est une différence temporelle.

07:07.690 --> 07:14.890
Et ensuite, vous utilisez votre taux d’apprentissage Alpha pour ajuster votre valeur q à votre nouvelle valeur q en fonction de la différence

07:14.890 --> 07:16.940
temporelle, mais avec un coefficient Alpha.

07:17.110 --> 07:20.360
Voilà donc l'essence de l'apprentissage simple.

07:20.460 --> 07:25.990
Voyons maintenant comment cela change en profondeur dans Killary. Nous allons donc continuer à travailler avec la diapositive,

07:26.000 --> 07:29.440
mais nous allons simplement voir exactement ce qui se passe.

07:29.620 --> 07:35.890
Ainsi, dans un apprentissage en profondeur, le réseau de neurones prédira pour Valis comme nous l’avons vu précédemment et comme nous le

07:35.890 --> 07:36.320
verrons.

07:36.370 --> 07:42.340
Donna Citronelle, le réseau de neurones prédit des valeurs ou pourrait prédire davantage de valeurs

07:42.340 --> 07:44.790
d’actions possibles dans un état donné.

07:44.800 --> 07:48.500
Mais dans ce cas, nous savons qu'il ne reste que quatre actions à faire.

07:48.670 --> 07:56.160
Et donc le réseau de neurones va prédire quatre de ces valeurs afin qu'il n'y ait pas de fin dans une situation d'apprentissage en profondeur est

07:56.170 --> 07:58.800
important, c'est qu'il n'y a pas avant ou après.

07:58.960 --> 08:01.610
Et voici comment nous allons apprendre à le connaître un peu mieux.

08:01.720 --> 08:08.080
Ainsi, le réseau de neurones prédira quatre de ces valeurs et ne comparera pas à ce qui

08:08.140 --> 08:15.280
se passera après, mais le réseau de neurones sera comparé à cette valeur exacte, mais c'est la valeur qui

08:15.400 --> 08:17.740
a été calculée à l'étape précédente.

08:17.740 --> 08:22.950
Donc, dans le temps précédent, lorsque l'agent était dans cette case exacte.

08:23.080 --> 08:30.850
Donc, disons que je ne sais pas il y a quelque temps, l'agent était de nouveau dans cette case

08:30.850 --> 08:34.420
exacte et il a déjà calculé cette valeur.

08:34.420 --> 08:40.630
Ainsi, dans le passé, il y a longtemps, l'agent avait calculé cette valeur, puis les agents l'avaient stockée

08:40.630 --> 08:43.720
pour le futur et le futur est maintenant.

08:43.720 --> 08:48.640
Alors maintenant, il est de nouveau sur la place et maintenant il a ces valeurs de cube qui sont prédites et

08:48.640 --> 08:50.510
l'une d'elles est pour les quatre montantes.

08:50.680 --> 08:57.220
Il va maintenant comparer la valeur prédite de Q à la valeur qu'il a enregistrée lors

08:57.220 --> 09:02.520
de l'étape précédente et comprendre exactement pourquoi c'est important maintenant, alors comprenez

09:02.530 --> 09:03.440
bien ici.

09:03.520 --> 09:07.990
Il n'y a pas d'agent avant dans cette case spécifique cette fois-ci.

09:08.140 --> 09:14.650
Nous prenons la valeur Q qu'il a prédit en utilisant le réseau de neurones cette fois-ci et nous

09:14.710 --> 09:22.060
la comparons à cette valeur qu'il avait précédemment de la fois précédente lorsqu'il était dans cette case en train d'évaluer

09:22.110 --> 09:28.100
la situation et vous savez comme la précédente temps il a effectivement effectué cette action.

09:28.270 --> 09:29.290
Alors on y va.

09:29.290 --> 09:33.360
Voyons maintenant comment cela fonctionne dans le réseau de neurones et pourquoi.

09:33.370 --> 09:38.740
Pourquoi est-ce que c'est comme si je savais que ça a l'air un peu compliqué en ce moment mais nous allons le décomposer en termes simples

09:39.310 --> 09:39.990
dans une seconde.

09:40.000 --> 09:44.380
Donc, sur votre propre réseau, nous alimentons les états de l’environnement dans le réseau

09:44.380 --> 09:48.880
de neurones, qui traverse les couches cachées générées par ces sorties Q1 Q2 Q3 Q4.

09:48.880 --> 09:56.830
Dans cet état spécifique, ce sont les valeurs de cube prédites par le réseau de neurones pour des actions

09:56.830 --> 09:57.380
possibles.

09:57.400 --> 09:58.420
Ce sont les cumulous.

09:58.420 --> 10:04.270
Alors, nous semblons cibler et ces cibles existent exactement, alors si nous revenons ici, c’est la

10:04.270 --> 10:07.230
cible, c’est la valeur qui a été prédite.

10:07.300 --> 10:11.740
Et puis, mais nous savons aussi que nous avons une cible de la dernière fois que nous étions sur la place.

10:11.800 --> 10:16.660
Nous avons un objectif pour cette même action qui est en hausse, par exemple.

10:16.660 --> 10:21.490
Nous avons donc ici un objectif et nous allons comparer le Q1 par rapport à cet objectif.

10:21.490 --> 10:28.390
Nous comparons le Q2 par rapport à l’objectif que nous avions avant le troisième trimestre par rapport à un objectif Q4 par rapport à la cible.

10:28.420 --> 10:36.610
Et c'est donc la partie où le réseau de neurones ou l'agent est en train d'apprendre par le biais d'un apprentissage

10:36.610 --> 10:38.630
approfondi pour mieux traverser.

10:38.650 --> 10:44.920
Et le point clé ici est que nous appliquons toujours un apprentissage cool, mais la réponse aux concepts est simple: vous apprenez que vous

10:44.980 --> 10:48.940
apprenez à travers des différences temporelles assez simples, dont nous avons déjà parlé et que

10:48.940 --> 10:50.720
nous savons très bien pourquoi pas.

10:50.920 --> 10:56.100
Mais en même temps, en apprentissage en profondeur, comment les réseaux de neurones apprennent-ils? Les réseaux de neurones apprennent en

10:56.100 --> 10:56.970
ajustant les poids.

10:57.010 --> 11:07.120
Nous devons donc adapter les concepts de renforcement, les concepts d’apprentissage simple de la destruction à la manière dont les réseaux de

11:07.120 --> 11:08.550
neurones fonctionnent réellement.

11:08.710 --> 11:10.950
Et c'est en mettant à jour leurs poids.

11:10.960 --> 11:14.950
C’est ce que nous essayons de comprendre ici: comment adapter ce concept

11:15.400 --> 11:21.060
de différence temporelle à votre propre réseau afin de pouvoir exploiter toute la puissance des réseaux de neurones.

11:21.260 --> 11:27.790
Jusqu'ici, nous avons obtenu cela. Nous entrons ici dans notre environnement lorsqu'un vecteur passe par un réseau de neurones, nous obtenons des

11:27.790 --> 11:33.240
prédictions des valeurs clés, puis à partir de la période précédente où l'agent était dans cet état.

11:33.240 --> 11:39.480
Nous avons pour nouvel objectif de cibler un deux, trois et quatre pour chacune de ces actions respectives.

11:39.490 --> 11:40.870
Et maintenant nous sommes prêts à le faire.

11:40.870 --> 11:43.360
OK, comparons chacun avec chacun.

11:43.630 --> 11:50.500
Et à partir d'ici, cela devient assez simple si vous maîtrisez les réseaux de neurones.

11:50.500 --> 11:52.500
Encore une fois, c'est sur un Anax.

11:52.570 --> 12:00.070
Premièrement, nous allons calculer une perte qui est ici et nous allons cibler celle-ci moins

12:00.070 --> 12:01.760
Q moins celle-ci.

12:01.840 --> 12:06.160
Nous allons faire la différence entre les deux et nous allons les

12:06.160 --> 12:06.730
résumer.

12:06.820 --> 12:12.310
Nous prenons donc la somme des différences quadratiques de ces valeurs et de leurs objectifs et nous les enverrons,

12:12.310 --> 12:13.940
ce qui sera une perte.

12:14.020 --> 12:19.030
Et donc, idéalement, comme dans l'apprentissage de la différence temporelle, si nous revenons un

12:19.420 --> 12:25.180
instant en arrière, rappelons-nous, nous disons: idéalement, nous voulons que cela soit égal à cela, donc

12:25.180 --> 12:31.750
nous voulons que la différence temporelle soit nulle, c'est-à-dire que l'agent est prédire correctement ce que vous savez sur

12:31.750 --> 12:37.900
la valeur Q, c’est que l’agent prévoit exactement ce qu’il a ou que la mémoire décrit exactement

12:38.590 --> 12:42.940
l’environnement. Par conséquent, l’agent ne peut jamais obtenir l’environnement parfaitement correct.

12:43.000 --> 12:48.880
Il n'y a pas de surprises, il n'y a pas de s. a tant qu'une différence temporelle est un pilote hautement positif

12:48.880 --> 12:49.970
ou fortement négatif.

12:50.040 --> 12:51.340
Ensuite, nous avons des surprises.

12:51.340 --> 12:55.690
Mais si les différences générales sont nulles, il connaît si bien l’environnement qu’il peut prédire ce

12:55.690 --> 13:01.110
qui se passe et qu’il le peut. Par conséquent, sa politique sera très bonne et il sera capable de naviguer.

13:01.350 --> 13:02.200
Alors voilà.

13:02.200 --> 13:07.460
Même chose, nous voulons donc que cette loi soit aussi proche de zéro que possible.

13:07.720 --> 13:14.680
Et c’est la raison pour laquelle nous en venons maintenant à la partie où nous allons exploiter le véritable pouvoir réel du réseau

13:14.680 --> 13:19.910
neuronal afin que nous puissions supporter cette perte et que nous allons utiliser la propagation en retour

13:19.970 --> 13:27.040
ou le bâton comme descente de gradient. prendre cette perte et la transmettre à travers le réseau, retour ou retour propagé à travers un

13:27.040 --> 13:31.120
réseau et à jeter une bonne et décente date pour les poids.

13:31.120 --> 13:37.780
Tous ces synopsis dans le réseau, de sorte que la prochaine fois que nous allons le parcourir, il décrit déjà un peu

13:37.930 --> 13:41.050
mieux l'environnement et c'est exactement ce que nous sommes.

13:41.080 --> 13:48.090
Donc, vous avez ici, si vous revenez en arrière, les pertes calculées sont Kalka et supposons que le propagateur du réseau les poids

13:48.100 --> 13:49.330
sont mis à jour.

13:49.330 --> 13:55.720
Ensuite, la prochaine fois que nous arriverons ici, cela se

13:55.780 --> 14:02.560
reproduira encore et encore ici, cela se reproduira et ainsi de

14:02.560 --> 14:09.880
suite, etc. plus descriptif de l'environnement et donc l'agent est capable de

14:09.880 --> 14:12.100
naviguer dans l'environnement.

14:12.130 --> 14:17.980
Lorsque nous disons environnement descriptif, cela signifie essentiellement que lorsque nous définissons les états de l'environnement dans lesquels

14:17.980 --> 14:25.510
se trouve cet agent, nous sommes plus susceptibles de nous rapprocher des valeurs de repère réelles, ce qui se produit car les valeurs

14:25.510 --> 14:30.790
de cube que nous voulons trouver sont correctes. action et cela se produit parce que

14:30.790 --> 14:36.940
ces nouvelles cibles sont réellement empiriquement dérivées afin qu'il trouve tous les jours comment il trouve ces cibles mignonnes.

14:37.090 --> 14:40.090
C'est en fait là donc il observe.

14:40.100 --> 14:42.940
OK, une fois cette étape franchie, quelle est ma récompense?

14:43.060 --> 14:45.070
Et puis quelles sont les valeurs de cet état.

14:45.070 --> 14:48.850
Donc, la même chose que nous avons vu précédemment dans Q learning et la simple intuition d’apprentissage.

14:48.850 --> 14:54.550
Donc, il apprend cela par essais et erreurs, puis il construit son réseau ou

14:54.880 --> 14:59.260
c'est comme ça que les valeurs prédites sont proches.

14:59.380 --> 15:01.330
Consommer cette cible.

15:01.330 --> 15:07.360
Les valeurs Q sont très similaires au concept que nous avons discuté ici dans l’apprentissage par différence temporelle

15:07.420 --> 15:09.870
simple de l’algorithme d’apprentissage des compétences simples.

15:09.910 --> 15:10.460
Alors voilà.

15:10.460 --> 15:12.540
C'est comme ça que l'agent apprend.

15:12.550 --> 15:13.930
Donc, nous sommes à la hauteur.

15:14.260 --> 15:15.490
Et c'est la partie d'apprentissage.
