Bonjour et bienvenue dans ce tutoriel.
Nous avons maintenant le cerveau de demain.
Nous avons également l'optimiseur.
Nous sommes donc prêts à former nos différents agents.
Ce sont nos différents cerveaux.
C’est donc à partir de maintenant que cette grande fonction de train contiendra tout l’algorithme A3 et que ce que nous sommes
sur le point de mettre en œuvre dans ce train que j’ai trouvé est tout simplement cette énorme fonction de
train qui ne sera que cette grosse fonction de train. classe, mais qui utilisera cette fonction de train.
Et la dernière étape de ce module avec le code principal.
Alors on y va.
Mais avant de commencer, vous pouvez le remarquer.
Eh bien d’abord, nous importons certaines bibliothèques, ce qui correspond aux bibliothèques classiques avec le module torche.
Je veux dire que votre bibliothèque de flambeau se termine alors pour créer l'environnement qui va éclater.
Ensuite, nous allons bien sûr importer les classes de notre modèle.
Fichier celui-ci.
Et enfin, nous utiliserons une variable de TORCIDA.
Je regrette de participer à des compétitions très performantes sur le gradient.
Merci aux graphiques dynamiques.
Et puis nous avons ceci afin d’assurer la fonction partagée des diplômés que je ne voulais pas consacrer trop
de temps à cela, car c’est d’abord une fonction qui garantit que tout fonctionne correctement.
Si le modèle utilisé par l'agent n'a pas de dégradé de partage.
C'est pourquoi on appelle cela les diplômés partagés courts et l'autre raison est que je ne pense pas que cette
fonction soit nécessaire.
Mais nous ne savons jamais et au moins avec cela nous serons sûrs à 100% que le code s'exécutera correctement mais
ce n'est pas vraiment important.
Ce sur quoi nous devons nous concentrer est cette fonction de tendance que nous commençons tous à créer en ce moment.
Alors on y va.
Def and train deviendra bientôt un train et cette transformation nécessitera plusieurs arguments.
Le premier est le rang.
Je vais expliquer ce que c'est et le second le second est harams afin que tous les
paramètres soient l'environnement.
Ensuite, le troisième paramètre va être la morale partagée.
Donc, vous savez que le modèle partagé est ce que l'agent va pouvoir exécuter
sur un certain nombre d'étapes de sa petite exploration, puis le dernier argument sera l'optimiseur que nous avons défini précédemment.
Donc, parfait pour les arguments.
Et maintenant, nous sommes prêts à commencer à mettre en œuvre la même fonction.
La première chose à faire est donc que vous sachiez que vous vous souvenez de ce qu’A-380 représente, c’est-à-dire des
agents Crilley actifs synchrones.
Donc, en 8: 3, il y a un synchrone.
Donc, comme vous l'avez compris, nous devons priver chacun de ses agents d'entraînement de leurs droits et leurs
économies, puis nous allons utiliser le rang pour déplacer chaque camp avec ce rang. Ce paramètre de rang est simplement ici pour décaler la
graine afin que chaque agent d'entraînement soit synchronisé.
Ainsi, par exemple, s’il ya des agents d’entraînement, les rangs vont de 1 à 10 et il y aura
un entier par agent de 1 à 10.
Ainsi, lorsque nous décalons la graine d'un fil, tous les nombres pseudo aléatoires créés par ce
fil seront totalement indépendants des autres.
Cependant la graine ou des nombres fixes.
Ainsi, lorsque nous reproduirons l'expérience, nous retrouverons exactement les mêmes événements.
Et c'est parce que c'est déterministe en ce qui concerne le siège.
Il est donc important de comprendre cela et c’est pourquoi nous devons faire est de synchroniser chaque agent stagiaire en utilisant
le bon ici pour déplacer la graine avec le rang.
Alors faisons ceci pour le faire.
Nous allons prendre notre bibliothèque de torche.
Ensuite, nous allons obtenir la graine avec le soulignement manuel souligne la parenthèse de la graine.
C'est une fonction et maintenant nous allons prendre les graines de tous les agents auxquels nous pouvons accéder
à partir de cette graine et les déplacer par rang pour se synchroniser.
Chacun de ces agents ajoutera simplement ici plus rec et cela changera la graine avec le rang afin de priver de ses droits chaque agent
stagiaire car il existe une graine pour chaque agence de formation.
Tout d’abord bien, la prochaine étape consiste à récupérer l’environnement.
Nous allons donc créer une nouvelle variable que nous allons appeler et que nous allons maintenant utiliser pour
créer Atari et fonctionner à partir du dernier module pour créer l’environnement d’évasion.
C'est pour obtenir l'environnement de rupture.
Nous prenons donc cette fonction pour créer Terry et nous devons maintenant entrer un seul argument, qui sont les paramètres
de l'environnement.
Et nous les avons parce que c'est l'une des entrées de la fonction cérébrale.
C’est ce paramètre ici qui sera les paramètres de l’environnement d’évasion
et donc pour obtenir les environnements d’évasion, nous prenons l’argument de ces programmes puis nous obtenons un nom qui, à
l’avenir, se trouve dans le code suivant exécutera tout
le code sera brisé vizir.
Très bien, cela nous procure un environnement parfait.
Et maintenant, la prochaine étape consiste à aligner le siège de l'environnement sur celui des agents.
Et pourquoi faisons-nous cela.
C’est parce que rappelez-vous que chaque agent de l’A-3 Silmaril a
sa propre vision de l’environnement, tout comme sa propre copie de l’environnement.
utiliser le siège car chaque siège détermine un environnement
spécifique.
Donc, en associant une graine différente à chaque agent, nous obtiendrons exactement ce que nous voulons, à
savoir que chaque agent aura son propre environnement.
Et alors, comment pouvons-nous faire pour que nous puissions prendre notre environnement? Utilisez ensuite la fonction de graine pour choisir
ceux qu’il aura pour l’environnement.
Et maintenant, aligner le siège de l'environnement sur la graine de l'agent.
Eh bien, nous devons simplement obtenir ceci, car cela correspond au siège de l'agent qui a été déplacé pour prendre des rangs
afin d'obtenir des agents de formation organisés et décents, car ils sont tous sur un plateau différent.
Nous devons donc simplement payer cela ici et cela alignera le siège de l'environnement sur celui
de l'agent Bon, nous allons maintenant avoir notre modèle.
C'est notre A-3 voir les cerveaux.
Et c'est donc maintenant que nous allons utiliser la classe active de notre fichier de modèle.
Nous allons donc créer un nouvel objet de cette classe d’activité et appeler ce modèle d’objet
ou cerveau si vous le souhaitez.
Mais fondamentalement, cet objet contiendra toutes les convolutions du CM La connexion linéaire et la fonction Ford
pour propager le signal.
Donc, il contiendra essentiellement le cerveau de l'acteur dans la critique avec la capacité de propager le signal
dans tout le cerveau pour obtenir le résultat final.
Faisons cela, créons notre modèle de manière à appeler ce modèle d’objet.
Et donc nous créons un objet de la classe create Act et nous prenons donc un critique d'acteur de classe et nous nous souvenons maintenant
des arguments lorsque les deux entrées.
C'est en fait les arguments de la fonction.
Donc nous devons l’entrer vous savez que c’est ce que nous devons faire pour utiliser l’objet dans la méthode.
Mais alors, les arguments que nous devons mettre en avant sont des noms nominaux en mauvais état qui sont
enchaînés dans des chaînes d’images imprimées et l’espace réel dans lequel se trouve l'ensemble des actions.
Mettons donc ces arguments dans la fonction train.
Donc, le premier que nous pouvons obtenir avec notre environnement et cela, puis nous utilisons un espace d'observation qui
correspond à l'espace d'observations, puis nous obtenons le nombre d'entrées pour lesquelles nous obtenons zéro.
D'accord.
C'est pour les entrées.
Et maintenant pour l'espace d'action.
Eh bien, c’est à peu près la même chose que nous devons tirer de notre environnement pour qu’il soit plus important que cela.
Et puis l'espace d'action.
D'accord.
Et cela nous donne les arguments que nous devons entrer lors de la création d'un objet.
Le modèle de la classe execrate.
OK, nous avons maintenant notre modèle et la prochaine étape consiste à préparer nos états d'entrée.
Alors rappelez-vous que nous continuons à approfondir notre apprentissage informel et que l'entrée saisit nos images d'entrée; par conséquent, cette tâche sera
effectuée à l'origine par Ray, qui contiendra un canal, car nous allons travailler avec des images en noir et blanc,
ce qui donnera du temps dans les océans de 42 par 42
Mais il est important de comprendre et de garder à l'esprit que les états d'entrée sont des images d'entrée.
Donc, ce que nous devons faire, c'est obtenir le non-pouvoir, puis nous le convertirons en réponse à la torture.
Mais la première étape comme celle que nous avons faite précédemment consiste à obtenir un arbitre et à l’obtenir.
C'est en fait assez simple.
Bien, nous devons d’abord créer une variable pour l’état d’entrée qui passera d’un état à l’autre pour obtenir un
tableau d’arbitres.
Nous devons simplement prendre notre environnement, puis nous adapter et utiliser ensuite la fonction de réinitialisation.
Et cela initialisera les États comme un empire de dimensions 42 par 42.
On signifie 1 canal de sorte que l'image en noir et blanc et 42 par 42 est bien sûr les dominations de l'image.
Le nombre de pixels et la largeur et le nombre de pixels et la hauteur.
Donc, fondamentalement, ce n’est que l’instance temporelle.
Et ce sont ceux avec lesquels nous travaillons.
Et maintenant que nous sommes en train d'arbitrer parce que cela nous donnera ces images d'une
telle assurance-temps dans Empire.
Maintenant, nous pouvons les convertir en danseurs de flambeau et pour bien le faire, nous passons à nouveau à l'état de données car nous
n'avons pas besoin de conserver les tableaux de nombres.
Et c’est là que nous utilisons le module torche.
Et rappelez-vous que nous avons déjà fait cela avec la fonction de soulignement de parenthèses non thaïes.
Et à l'intérieur de cette fonction, nous devons entrer le taux de numérotation que nous voulons convertir en capteur de torche.
Et c’est l’état où la version précédente du tableau d’État non payant deviendra un pipeline à partir de la fonction de
conduite de la torche, de sorte que l’intensificateur ne soit créé que par un état plus intense.
Et maintenant, il ne reste plus qu’à initialiser le viable.
Rappelez-vous que la variable est généralement la variable qui dit si un épisode est terminé ou si le jeu est terminé.
Bien, ici, nous voulons juste présenter très bien ce que nous avons fait et initialiser true pour spécifier que ce
ne sera pas le voivode sera vrai lorsque le jeu sera terminé.
Cela sera utile pour plus tard afin que l'IA ne joue pas indéfiniment pour éclater.
D'accord.
Donc, c’était fondamentalement le début de cette fonction de tendance avec une initialisation et des tâches
à faire.
La partie la plus importante ici est que nous devons priver chacun des agents stagiaires de leurs droits.
C'est un premier principe de l'A3 similaire que nous devons appliquer.
Et maintenant, dans le prochain tutoriel, nous allons procéder à la synchronisation avec le modèle partagé.
N'oublions pas qu'il existe un modèle différent, mais également le modèle de partage, qui est un modèle partagé
par tous les agents.
Nous devons donc nous synchroniser avec le modèle d'exposition afin que chaque agent puisse obtenir que ce modèle
partagé procède à une petite exploration d'un certain nombre d'étapes.
C'est ce que nous ferons dans le prochain Statoil.
Et jusque-là, profitez de l'IA.