Salut tout le monde et bienvenue.
Dans le dernier cours, nous avons fini par commencer à construire notre environnement.
Nous avons essentiellement une grille 11 sur 11 ici que nous voulons que notre facteur parcoure pour résoudre notre défi.
Nous voulons maintenant commencer à réfléchir une fois que nous aurons la grille.
Nous avons également besoin d'actions pour notre agent et je vais les supprimer très rapidement.
Nous n'avons pas besoin de ces cellules.
Je voulais juste l'avoir pour un peu d'espacement.
Il est simplement plus facile de vous voir.
Donnez-moi 1/2, laissez-moi supprimer ceux-ci et nous pouvons laisser celui-ci ici.
Alors.
J'ai laissé un texte dans lequel nous avons et nous voulons définir nos actions comme en position verticale, en bas et à gauche.
Avec Python, c'est assez simple.
Nous pouvons construire la liste et définir nos actions.
Nos actions vont être égales.
Deux comme nous en avons en haut à droite, en bas à gauche.
Alors mettons-le en place.
Droite en bas et à gauche.
Nous devons donner à notre agent, excusez-moi, une certaine capacité à manœuvrer avec ces actions à travers le
labyrinthe.
En plus de cela, nous devons également commencer à définir des récompenses.
Maintenant, c'est là que ça va commencer à devenir un peu plus délicat car
nous devons définir différents états de notre environnement, différents états dans le sens où nous voulons pouvoir attribuer
ces -100 et un négatif ces étapes ou ces valeurs d'état à chaque case de la grille.
Nous voyons donc que pour aider notre agent à apprendre chaque état ou emplacement de notre ville, nous voulons avoir une valeur de récompense.
C'est comme ça que notre agent va apprendre.
Ainsi, l'agent peut commencer par n'importe quelle case blanche, mais son but est toujours le même.
Il veut maximiser ses récompenses totales avec dans Q l'apprentissage des récompenses négatives, nous savons qu'elles sont
appelées punitions.
Ceux-ci sont utilisés pour tous les états sauf le but.
C'est ainsi que nous allons établir cette politique optimale, qui encourage l'œil à identifier le chemin le plus
court vers le but en minimisant ses punitions.
Très bien.
De plus, pour maximiser les récompenses cumulées, l'agent devra trouver le chemin le plus court entre la zone d'emballage
des articles, notre Carré Vert, rappelez-vous, et les autres endroits de la ville où le facteur
peut parcourir les carrés blancs.
Les agents vont apprendre à éviter de percuter les limites de la ville.
Ce sont les carrés noirs, comme on le voit avec le -100.
Nous voulons rester loin d'eux.
Ils ont plus d'une punition.
Donc, pour ce faire, nous avons notre grille, l'environnement que nous avons créé ci-dessus avec nos lignes.
Mais nous voulons aussi lui attribuer ces valeurs.
Donc, pour ce faire, essayons de réfléchir à la manière dont nous pouvons établir que nous pouvons utiliser NumPy et
nous pouvons également commencer à le définir sur -100 pour les lignes et les colonnes d'environnement.
Nous avons donc nos lignes d'environnement et nos colonnes d'environnement.
Appelons donc ces récompenses égales à numpy full et passons dans nos lignes d'environnement, colonnes d'environnement et pour
définir nos valeurs, nous pouvons commencer par -100.
En plus de cela, nous voulons également définir notre fenêtre de récompenses sur.
Utilisez les indices de zéro et de cinq.
Égal à 100.
Et cela va avoir un sens dans une seconde.
Nous jetons donc un coup d'œil à notre Carré Vert.
Nous avons notre zéro cinq.
Nous avons notre carré vert défini sur 100 en prenant ces ou cet emplacement pour définir la valeur.
Maintenant, je vais coller le prochain extrait de code afin que nous puissions le parcourir.
Vous n'avez donc pas à me regarder évaluer chaque étape parce que c'est un peu répétitif.
Et maintenant nous avons nos espaces blancs.
Définissons notre savoir pour nos points de récompense.
Et dans cet extrait de code, nous utilisons un dictionnaire et définissons chacune de nos valeurs dans notre dictionnaire.
Nous avons donc nos allées.
Nous pensons à cela comme à chaque ligne individuelle, et nous pouvons définir avec notre découpage, avec notre index
un à neuf.
Et nous voulons utiliser une itération avec notre boucle for pour définir ces valeurs.
Ce faisant, vous verrez si nous examinons un à dix, un, sept et neuf.
Et en l'utilisant, nous pouvons en fait définir l'index de ligne dans notre plage de un à dix, sur
laquelle nous travaillons dans notre environnement.
Nous pouvons définir l'index de la colonne.
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
définir sur moins un.
Donc, ce que cela fait, c'est essentiellement, si nous regardons chaque détail, si nous prenons une plage ici, par exemple, je
vais neuf pour moi dans notre plage, nous avons un ensemble négatif dans tout l'environnement ou chaque état de notre
environnement .
Pour huit, nous avons trois et sept.
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
tous à -100 ou définis sur une centaine négative.
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
sur un négatif.
C'est très facile.
Au lieu d'avoir à écrire une logique supplémentaire ou peut-être des fonctions ou des instructions plus détaillées, nous pouvons parcourir
et définir ces valeurs.
Je vous recommande fortement de prendre une minute pour explorer l'expérience si vous souhaitez modifier l'environnement plus
tard.
Après avoir exécuté cette solution, c'est un excellent moyen d'apprendre et de renforcer ces politiques.
Mais cela commence à prendre forme et une chose cool que nous pouvons faire est de pouvoir le visualiser.
Faisons donc quatre rangées de récompenses.
Imprimez la ligne et imprimons ceci et nous pouvons voir que je devrai peut-être réexécuter ces cellules.
Mes excuses.
Je n'étais pas connecté au portable qui travaillait ici.
Donnez-lui 1/2.
Cela va lancer une erreur.
Je dois revenir en arrière et réexécuter les cellules.
Alors permettez-moi de relancer cela très rapidement.
Je veux importer NumPy.
En fait, je peux juste espérer mes excuses.
Laissez-moi traverser cette année.
Vais descendre.
Nous voulons gérer notre environnement.
Nous voulons mener nos actions.
Les autres ne sont que du texte, nous n'en avons donc pas besoin.
Mais j'aime avoir ça pour que vous puissiez y faire référence.
Nous voulons récompenser des points et nous voulons enfin visualiser cela.
Nous pouvons voir la visualisation, la représentation numérique réelle en numpy de notre environnement.
Vraiment cool.
Nous avons donc notre environnement mis en place.
Travail incroyable.
J'espère que vous trouvez cela utile.
Maintenant, nous allons terminer ici parce que dans la prochaine session, nous allons commencer à entraîner le modèle.
Il s'agissait donc de définir les actions de nos agents, de définir notre environnement, de définir nos récompenses.
Notre punition va aider cet agent à établir la politique optimale au sein de l'apprentissage Q.
Dans l'ensemble, nous avons cette représentation visuelle ou cette image construite, et nous pouvons la voir ici si nous
imprimons notre ligne.
Étonnante.
Très bien.
Je ne vais pas continuer à radoter.
Gardons cela ici dans la prochaine leçon.
Commençons la formation du modèle.
Je vous verrai les gars dans la prochaine conférence.