Bonjour et bienvenue au Statoil.
OK, nous venons de calculer l'entropie et de l'ajouter à la liste des entropies.
Et maintenant, ce que nous allons faire, c'est abandonner une action au hasard en fonction de la distribution des
probabilités de la suivante.
Alors faisons ceci.
C'est la prochaine étape.
Nous sommes toujours dans la boucle parce que nous courons toujours sur les marches ici.
Et vous savez maintenant comment jouer l'action.
Nous allons d'abord introduire une variable pour l'action appelée action puis nous prenons
notre distribution de probabilités et nous allons utiliser la fonction multi-non-neuronale pour tirer au hasard de cette distribution
de probabilités, puis nous ajoutons ces données.
Il est donc important de noter que l'action sera en réalité un tenseur avec une seule valeur, mais vous ne devriez
pas voir cela comme une simple valeur.
Vous devriez voir cela comme un damier de tenseur, un par un, contenant cette valeur pour l'action.
Et c’est parce qu’il n’est pas évincé mais reste dans la même boucle.
Nous allons obtenir la probabilité de journal associée à l'action qui vient d'être jouée.
Et donc, quand je sors de ma chance de chance ici en prenant le précédent la chance précédente
de celle que nous avons calculée ici et puis je vais utiliser l'autre méthode à laquelle je vais entrer 1 et l'action qui vient d'être
jouer parce que nous voulons obtenir la probabilité de chance qui est associée à cette action.
Et donc le deuxième argument ici je vais mettre mon action, mais il doit y avoir une torture horrible
comme l'exige la fonction collectée et la fonction collectée indexe simplement avec un entier tenseur.
D'accord, nous avons maintenant l'apparence d'associé à l'action affichée.
Et maintenant, la prochaine étape consiste à ajouter ce que nous avons eu à la liste ici.
Nous avons donc eu la valeur.
C'est ce que nous avons obtenu ici en tant que sortie du modèle.
Ensuite, nous avons également eu le problème de verrouillage.
Nous allons donc ajouter le verrou à la liste des accessoires de verrouillage.
Nous ajoutons déjà que l'entropie à l'entropie est moins bonne et les récompenses l'obtiendront par la suite.
Nous allons donc maintenant nous ouvrir à la valeur et à la consultation de la liste de valeurs et du processus juridique.
Faisons cela.
Nous prenons notre liste de valeurs, nous ajoutons que nous utilisons la fonction dépenser et nous ajoutons la valeur
renvoyée par le modèle parfait, puis identique pour les probs de verrouillage Nous venons de recevoir nos nouveaux accessoires et nous allons
l’ajouter à la liste des accessoires de verrouillage.
Et donc dans cette fonction append, nous pouvons mettre un journal de notre chance, il a probablement été calculé ici.
Très bien, nos listes sont maintenant bien mises à jour.
Maintenant, ce que nous allons faire, c'est jouer l'action parce qu'en fait nous avons choisi l'action
en tirant au sort parmi la distribution des probabilités.
Mais en réalité, nous ne l'avons pas encore joué et nous allons le jouer maintenant pour pouvoir atteindre le nouvel état
et donc obtenir la nouvelle transition et la jouer.
Nous allons prendre notre environnement parce que nous jouons l'action dans notre environnement puis nous
allons utiliser la méthode step.
Et à l'intérieur, nous spécifions l'action qui a été sélectionnée pour la jouer. Pour ce faire, nous prenons notre action et
nous ajoutons que none, car c'est ce qui est attendu, c'est la fonction.
Ok, mais cela renvoie en fait le nouvel état et la nouvelle récompense car en atteignant le nouvel état, nous obtenons une nouvelle récompense
et nous obtenons une nouvelle valeur pour que Dunn sache si le jeu est terminé ou non.
Très bien, avec cela, nous jouons l'action, nous atteignons un nouvel état et nous obtenons une récompense et nous savons si nous en
avons fini avec le jeu.
Et en parlant d'être fait avec le jeu.
Eh bien, nous allons simplement ajouter quelque chose ici qui garantira qu'un agent n'est pas empilé dans un
état.
Et pour ce faire, nous allons mettre à jour cela très bien de la manière suivante.
Eh bien ça va être égal à fait ou nous allons ajouter une condition disant que l'épisode du jeu
ne devrait pas durer trop longtemps et nous verrons dans la fonction principale qu'il y aura un paramètre de longueur
maximale qui sera égal à à 10000.
Et nous ne voulons pas qu'un épisode dure plus de 10000 unités.
Nous allons donc entendre la longueur de l'épisode qui correspond à la durée d'un épisode et
écrire une condition plus grande que l'épisode max Lex que nous n'avons pas vraiment expliqué en détail.
Nous obtenons cela de nos paramètres pour une fin ici Paramjit mais Ramstad.
Max est en longueur.
Cela signifie donc que si le jeu est terminé ou si la longueur de l'épisode est supérieure à la longueur maximale de l'ensemble
d'épisodes qui sera égale à 10 000.
Le jeu sera terminé et nous commencerons un nouveau jeu.
OK, ce n'est qu'une précaution.
Et en parlant de précaution, nous allons ajouter une autre précaution pour fixer la récompense entre moins 1
et plus 1.
Nous avons déjà reçu le nous étions ici mais nous voulons nous assurer que la récompense est comprise entre moins 1 et
plus 1.
Et pour faire cela, nous devons simplement mettre à jour la récompense en faisant ceci en prenant le maximum puis
en prenant les hommes de récompense et 1.
Et ici nous prenons le maximum du minimum de récompense et 1 et moins 1 et cela assurera que la récompense
est comprise entre moins un et un.
D'accord.
Donc une autre percussion.
Et maintenant, nous voulons juste vérifier si le jeu est terminé, auquel cas nous allons redémarrer l'environnement.
Et pourquoi devons-nous vérifier cela maintenant parce que nous venons d'atteindre un nouvel état.
Nous venons de passer une nouvelle transition.
Nous devons donc vérifier cela après avoir passé cette nouvelle transition.
Eh bien, le jeu n'est pas terminé. Si c'est à refaire, le cas échéant, nous
redémarrerons les environnements en réglant la longueur de l'épisode à zéro.
Et aussi l'état sera ré-initialisé pour ré-initialiser lorsque nous prenons notre environnement et que nous
utilisons la fonction de réinitialisation OK.
Maintenant, nous sortons de cette condition qui était en train de vérifier.
Et maintenant, ce que nous allons faire, c’est que nous avons atteint un nouvel état alors que ce nouvel état
est de temps en temps par Ray, car rappelez-vous que les états sont les images d’entrée nommées à l’origine par des tableaux.
Et maintenant, nous devons convertir le nouvel État en une réponse torturée.
Nous allons donc mettre à jour notre état et nous allons utiliser la bibliothèque de flambeau.
Et bien sûr, la fonction de non-thaïlandaise pour convertir ces images de non-payeurs indique les images d'entrée dans un capteur de
torche.
Parfait.
Et maintenant, la dernière chose que nous devons faire avant de sortir de cette boucle, c'est la boucle
sur nos pas. C'est bien sûr de dépenser la récompense dans la Watchlist.
C'est la dernière chose à mettre à jour: nous avons mis à jour toute la liste sauf la récompense.
Donc, nous allons le faire tout de suite, nous recevons nos récompenses et nous utilisons votre fonction cérébrale
pour ajouter le dernier mot qui vient d'être parfait.
Et juste avant de sortir de la boucle, nous avons juste besoin de faire une dernière vérification pour vérifier que si c'est
fait, nous voulons arrêter l'expiration.
Et donc nous allons simplement ajouter ici une pause.
Cela signifie que si cela est fait, nous arrêtons l'exploration et passons directement à l'étape
suivante qui consistera à mettre à jour le modèle partagé. Nous en avons maintenant terminé avec cette opération, car l'agent a effectué
son exploration.
Il mettra à jour le modèle partagé et nous nous en occuperons dans le prochain tutoriel, et ainsi de suite.