WEBVTT

00:00.490 --> 00:01.720
Salut tout le monde et bienvenue.

00:02.080 --> 00:05.290
Dans le dernier cours, nous avons fini par commencer à construire notre environnement.

00:05.300 --> 00:13.090
Nous avons essentiellement une grille 11 sur 11 ici que nous voulons que notre facteur parcoure pour résoudre notre défi.

00:14.020 --> 00:18.430
Nous voulons maintenant commencer à réfléchir une fois que nous aurons la grille.

00:18.430 --> 00:23.860
Nous avons également besoin d'actions pour notre agent et je vais les supprimer très rapidement.

00:23.860 --> 00:24.940
Nous n'avons pas besoin de ces cellules.

00:24.940 --> 00:27.670
Je voulais juste l'avoir pour un peu d'espacement.

00:27.790 --> 00:29.440
Il est simplement plus facile de vous voir.

00:29.440 --> 00:35.290
Donnez-moi 1/2, laissez-moi supprimer ceux-ci et nous pouvons laisser celui-ci ici.

00:35.950 --> 00:36.280
Alors.

00:37.390 --> 00:43.060
J'ai laissé un texte dans lequel nous avons et nous voulons définir nos actions comme en position verticale, en bas et à gauche.

00:43.630 --> 00:45.550
Avec Python, c'est assez simple.

00:45.550 --> 00:48.010
Nous pouvons construire la liste et définir nos actions.

00:48.280 --> 00:51.160
Nos actions vont être égales.

00:52.200 --> 00:55.170
Deux comme nous en avons en haut à droite, en bas à gauche.

00:55.380 --> 00:56.760
Alors mettons-le en place.

00:57.630 --> 01:01.050
Droite en bas et à gauche.

01:01.380 --> 01:06.570
Nous devons donner à notre agent, excusez-moi, une certaine capacité à manœuvrer avec ces actions à travers le

01:06.570 --> 01:07.020
labyrinthe.

01:08.300 --> 01:11.780
En plus de cela, nous devons également commencer à définir des récompenses.

01:12.110 --> 01:17.990
Maintenant, c'est là que ça va commencer à devenir un peu plus délicat car

01:17.990 --> 01:24.920
nous devons définir différents états de notre environnement, différents états dans le sens où nous voulons pouvoir attribuer

01:24.920 --> 01:31.670
ces -100 et un négatif ces étapes ou ces valeurs d'état à chaque case de la grille.

01:32.090 --> 01:39.260
Nous voyons donc que pour aider notre agent à apprendre chaque état ou emplacement de notre ville, nous voulons avoir une valeur de récompense.

01:39.260 --> 01:40.700
C'est comme ça que notre agent va apprendre.

01:41.030 --> 01:45.020
Ainsi, l'agent peut commencer par n'importe quelle case blanche, mais son but est toujours le même.

01:45.260 --> 01:50.900
Il veut maximiser ses récompenses totales avec dans Q l'apprentissage des récompenses négatives, nous savons qu'elles sont

01:50.900 --> 01:51.770
appelées punitions.

01:52.040 --> 01:54.040
Ceux-ci sont utilisés pour tous les états sauf le but.

01:54.050 --> 01:59.840
C'est ainsi que nous allons établir cette politique optimale, qui encourage l'œil à identifier le chemin le plus

01:59.840 --> 02:02.540
court vers le but en minimisant ses punitions.

02:03.200 --> 02:03.560
Très bien.

02:04.460 --> 02:09.830
De plus, pour maximiser les récompenses cumulées, l'agent devra trouver le chemin le plus court entre la zone d'emballage

02:09.830 --> 02:14.510
des articles, notre Carré Vert, rappelez-vous, et les autres endroits de la ville où le facteur

02:14.510 --> 02:16.310
peut parcourir les carrés blancs.

02:16.730 --> 02:20.420
Les agents vont apprendre à éviter de percuter les limites de la ville.

02:20.420 --> 02:23.050
Ce sont les carrés noirs, comme on le voit avec le -100.

02:23.120 --> 02:24.260
Nous voulons rester loin d'eux.

02:24.470 --> 02:26.480
Ils ont plus d'une punition.

02:26.930 --> 02:32.450
Donc, pour ce faire, nous avons notre grille, l'environnement que nous avons créé ci-dessus avec nos lignes.

02:32.810 --> 02:35.990
Mais nous voulons aussi lui attribuer ces valeurs.

02:36.410 --> 02:42.020
Donc, pour ce faire, essayons de réfléchir à la manière dont nous pouvons établir que nous pouvons utiliser NumPy et

02:42.020 --> 02:46.880
nous pouvons également commencer à le définir sur -100 pour les lignes et les colonnes d'environnement.

02:47.120 --> 02:49.310
Nous avons donc nos lignes d'environnement et nos colonnes d'environnement.

02:49.580 --> 03:02.540
Appelons donc ces récompenses égales à numpy full et passons dans nos lignes d'environnement, colonnes d'environnement et pour

03:03.290 --> 03:10.100
définir nos valeurs, nous pouvons commencer par -100.

03:11.920 --> 03:18.370
En plus de cela, nous voulons également définir notre fenêtre de récompenses sur.

03:20.090 --> 03:23.510
Utilisez les indices de zéro et de cinq.

03:24.260 --> 03:25.640
Égal à 100.

03:26.650 --> 03:28.420
Et cela va avoir un sens dans une seconde.

03:28.540 --> 03:30.130
Nous jetons donc un coup d'œil à notre Carré Vert.

03:30.160 --> 03:31.280
Nous avons notre zéro cinq.

03:31.300 --> 03:37.060
Nous avons notre carré vert défini sur 100 en prenant ces ou cet emplacement pour définir la valeur.

03:37.540 --> 03:41.650
Maintenant, je vais coller le prochain extrait de code afin que nous puissions le parcourir.

03:41.680 --> 03:44.700
Vous n'avez donc pas à me regarder évaluer chaque étape parce que c'est un peu répétitif.

03:44.710 --> 03:47.440
Et maintenant nous avons nos espaces blancs.

03:47.650 --> 03:51.580
Définissons notre savoir pour nos points de récompense.

03:52.120 --> 03:57.420
Et dans cet extrait de code, nous utilisons un dictionnaire et définissons chacune de nos valeurs dans notre dictionnaire.

03:57.430 --> 03:58.450
Nous avons donc nos allées.

03:58.450 --> 04:05.230
Nous pensons à cela comme à chaque ligne individuelle, et nous pouvons définir avec notre découpage, avec notre index

04:05.230 --> 04:06.340
un à neuf.

04:06.610 --> 04:11.230
Et nous voulons utiliser une itération avec notre boucle for pour définir ces valeurs.

04:11.860 --> 04:16.000
Ce faisant, vous verrez si nous examinons un à dix, un, sept et neuf.

04:16.180 --> 04:21.280
Et en l'utilisant, nous pouvons en fait définir l'index de ligne dans notre plage de un à dix, sur

04:21.280 --> 04:23.050
laquelle nous travaillons dans notre environnement.

04:23.530 --> 04:25.300
Nous pouvons définir l'index de la colonne.

04:26.530 --> 04:33.280
Dans nos allées de notre index de ligne avec notre dictionnaire, notre index de ligne de récompenses et notre index de colonne, nous pouvons le

04:33.280 --> 04:34.450
définir sur moins un.

04:34.870 --> 04:41.590
Donc, ce que cela fait, c'est essentiellement, si nous regardons chaque détail, si nous prenons une plage ici, par exemple, je

04:41.590 --> 04:48.100
vais neuf pour moi dans notre plage, nous avons un ensemble négatif dans tout l'environnement ou chaque état de notre

04:48.100 --> 04:49.030
environnement .

04:49.570 --> 04:52.410
Pour huit, nous avons trois et sept.

04:52.420 --> 04:57.670
Donc, si nous pouvons faire défiler vers le haut, nous pouvons voir qu'en trois et sept, nous définissons un négatif puisqu'ils seraient

04:57.670 --> 05:00.130
tous à -100 ou définis sur une centaine négative.

05:00.370 --> 05:07.180
Et avec cette itération, nous pouvons définir ces récompenses ou définir chaque état que nous définissons dans nos allées

05:07.180 --> 05:08.590
sur un négatif.

05:08.860 --> 05:10.390
C'est très facile.

05:10.390 --> 05:17.200
Au lieu d'avoir à écrire une logique supplémentaire ou peut-être des fonctions ou des instructions plus détaillées, nous pouvons parcourir

05:17.200 --> 05:18.640
et définir ces valeurs.

05:18.940 --> 05:23.890
Je vous recommande fortement de prendre une minute pour explorer l'expérience si vous souhaitez modifier l'environnement plus

05:23.920 --> 05:24.280
tard.

05:24.280 --> 05:29.410
Après avoir exécuté cette solution, c'est un excellent moyen d'apprendre et de renforcer ces politiques.

05:29.410 --> 05:34.990
Mais cela commence à prendre forme et une chose cool que nous pouvons faire est de pouvoir le visualiser.

05:34.990 --> 05:38.380
Faisons donc quatre rangées de récompenses.

05:40.050 --> 05:46.620
Imprimez la ligne et imprimons ceci et nous pouvons voir que je devrai peut-être réexécuter ces cellules.

05:46.620 --> 05:47.400
Mes excuses.

05:47.640 --> 05:50.010
Je n'étais pas connecté au portable qui travaillait ici.

05:50.280 --> 05:51.210
Donnez-lui 1/2.

05:51.210 --> 05:52.260
Cela va lancer une erreur.

05:52.620 --> 05:55.240
Je dois revenir en arrière et réexécuter les cellules.

05:55.240 --> 05:56.940
Alors permettez-moi de relancer cela très rapidement.

05:57.210 --> 05:58.560
Je veux importer NumPy.

05:58.770 --> 06:01.470
En fait, je peux juste espérer mes excuses.

06:02.130 --> 06:03.360
Laissez-moi traverser cette année.

06:03.690 --> 06:04.830
Vais descendre.

06:04.830 --> 06:06.780
Nous voulons gérer notre environnement.

06:07.170 --> 06:08.550
Nous voulons mener nos actions.

06:08.550 --> 06:10.680
Les autres ne sont que du texte, nous n'en avons donc pas besoin.

06:10.680 --> 06:14.430
Mais j'aime avoir ça pour que vous puissiez y faire référence.

06:14.730 --> 06:18.450
Nous voulons récompenser des points et nous voulons enfin visualiser cela.

06:18.870 --> 06:25.770
Nous pouvons voir la visualisation, la représentation numérique réelle en numpy de notre environnement.

06:25.920 --> 06:26.760
Vraiment cool.

06:27.030 --> 06:28.860
Nous avons donc notre environnement mis en place.

06:29.130 --> 06:30.140
Travail incroyable.

06:30.150 --> 06:31.620
J'espère que vous trouvez cela utile.

06:31.740 --> 06:36.540
Maintenant, nous allons terminer ici parce que dans la prochaine session, nous allons commencer à entraîner le modèle.

06:36.810 --> 06:41.910
Il s'agissait donc de définir les actions de nos agents, de définir notre environnement, de définir nos récompenses.

06:41.910 --> 06:46.440
Notre punition va aider cet agent à établir la politique optimale au sein de l'apprentissage Q.

06:46.680 --> 06:53.310
Dans l'ensemble, nous avons cette représentation visuelle ou cette image construite, et nous pouvons la voir ici si nous

06:53.310 --> 06:54.750
imprimons notre ligne.

06:55.970 --> 06:56.510
Étonnante.

06:56.900 --> 06:57.290
Très bien.

06:57.740 --> 06:58.970
Je ne vais pas continuer à radoter.

06:58.970 --> 07:00.630
Gardons cela ici dans la prochaine leçon.

07:00.650 --> 07:02.090
Commençons la formation du modèle.

07:02.570 --> 07:03.860
Je vous verrai les gars dans la prochaine conférence.
