Bonjour et bienvenue dans ce tutoriel, ce jouet spécial va être super excitant car nous nous rapprochons de
l’A. S. C. algorithme.
Vous allez voir que ce que nous sommes sur le point de mettre en œuvre et que nous appelons trace
d'éligibilité ou Sarsour est en réalité un algorithme des algorithmes d'agents de critiques actifs synchrones que nous ne pouvons pas prendre en compte.
Et nous voyons parce que nous allons toujours avoir un agent mais que vous allez voir
que ce que nous sommes sur le point de mettre en œuvre est en fait extrait du document suivant, qui est ce document
en tant que méthode Synchronoss pour l'apprentissage en renforcement profond. Dans cet article, vous trouverez les algorithmes A-3 que nous
allons implémenter comme bonus ultime de ce cours.
Mais comme je l’ai dit, nous nous en approchons car le modèle qui sera mis en œuvre actuellement est
en fait celui qui est synchrone et sécularisé, c’est celui qui est presque le A3 C qui est en train
de le faire après, mais avec un agent puissant Ceci et l'étape Cunanan nous allons apprendre à accumuler des récompenses et à
apprendre la cible cumulative sur les étapes finales au lieu d'une étape comme celle de Priestley.
Et c’est ce qui rendra l’entraînement beaucoup plus performant et donc beaucoup plus puissant.
Nous avons donc le pseudo-code pour cet algorithme, c'est cet algorithme comme ici.
Alors cliquons dessus et c'est parti.
C'est l'algorithme que nous allons implémenter.
Mais rappelez-vous qu’avec un seul agent, la différence est qu’ils agissent ici.
80 selon le président Greely, une politique basée sur les valeurs q pour l'état actuel et l'action
jouée.
Mais dans notre cas, nous n’avons pas mis en place une excellente politique verte.
Nous avons mis en place un soft Max.
Mais le reste est le même que vous pouvez voir.
Nous allons calculer le cumulatif sur lequel nous avons travaillé et en fait 10 étapes.
Rappelez-vous que les étapes sont égales à 10.
Nous allons donc implémenter cette ligne de code dans notre algorithme que nous sommes sur le point d'implémenter maintenant.
Nous allons l'obtenir.
Et surtout, nous allons implémenter cela aussi.
Vous verrez que nous obtiendrons le maximum des valeurs q pour l'état actuel et l'action en cours
dans cette thêta.
Voici juste un paramètre cible.
Alors faisons ceci attaquons cet algorithme.
Celui-ci s'appelle l'apprentissage synchrone et stick.
Mais nous n'avons pas le droit de dire synchrone en ce qui nous concerne car nous n'avons qu'un seul moteur.
Mais par conséquent, nous pouvons l'appeler et apprendre trace d'éligibilité ou même Sarsour.
Très bien alors faisons ceci.
Ça va être assez amusant.
Nous pouvons essentiellement suivre le code ici et c'est ce que nous allons faire.
Et comme vous pouvez le voir, un paramètre dont nous aurons besoin est de nouveau le paramètre qui
est le paramètre decay et nous allons donc commencer par introduire une variable pour ce paramètre Gahanna et les choisir.
Alors faisons ceci.
Nous n’avons en fait pas besoin d’une salle de classe formidable. Nous pouvons simplement implémenter cela avec une fonction
car vous savez que nous n’avons pas vraiment besoin de créer des objets pour que cela soit de
tracer un modèle de fonction suffira parce que, fondamentalement, nous voulons: renvoyer les entrées et la cible de manière à ce que plus tard,
lors de la formation de l'IA, nous soyons prêts à minimiser la distance entre les prédictions et la cible et d'obtenir les prédictions
dont nous avons besoin des entrées car nous allons appliquer notre cerveau à l'entrée pour obtenir la sortie des signaux
qui seront nos prédictions.
Et ensuite, une fois que nous aurons nos prévisions et nos objectifs, nous serons prêts à former l'IA
en essayant de minimiser cette grande distance entre les prévisions et les toilettes.
C'est donc tout l'intérêt de le faire maintenant.
Nous mettons en œuvre cette fonction pour pouvoir restituer ces entrées aux Soviétiques afin d’être prêts pour
l’entraînement afin de minimiser les prédictions de distance au carré à gérer des toilettes.
Très bien, faisons ceci car nous avons dit que nous voulions implémenter des fonctions.
Nous commençons par ceci.
Nous allons appeler cela la trace soulignée d'admissibilité.
Vous pouvez aussi l'appeler Sarsour.
Vous pouvez également appeler cela étape pour appeler ce que vous voulez, mais appelons-le trace d'éligibilité
et cette fonction prendra un argument qui va être un lot et pourquoi c'est parce que nous
allons obtenir des entrées et des cibles nous allons former l'IA sur des lots.
Ainsi, les entrées et les cibles iront à l'intérieur de certains lots. Par
conséquent, l'argument d'entrée est ce lot qui contiendra plusieurs entrées, puis plusieurs cibles à calculer.
Alors on y va.
C'est le seul argument dont nous avons besoin.
Entrons maintenant dans une fonction et définissons ce que nous devons faire.
Ainsi, comme nous l'avons vu dans la basilique du document, nous avons à nouveau besoin des paramètres. Nous avons donc commencé par
introduire ce paramètre gamma à demi-fermeture et nous pouvons déjà déchiffrer la valeur.
Et nous allons choisir quatre virgule quatre-vingt-dix-neuf qui est un bon rapport qualité prix classique pour le Ghana et Norreys.
J'ai vérifié qu'il s'agissait d'un bon rapport qualité-prix pour notre intelligence artificielle.
La prochaine étape consiste à préparer notre contribution et nos objectifs, car c’est exactement ce que nous
souhaitons obtenir.
Nous voulons retourner les entrées dans les cibles pour préparer la formation.
Et donc nous pouvons déjà les initialiser avec une liste vide parce que bien sûr ces entrées Dans le meilleur
des cas, nous aurons plusieurs entrées dans une liste. C’est lors de l’initialisation des entrées en
tant que liste ainsi que des cibles que nous allons.
Nous avons donc initialisé notre et mis dans nos cibles et à la fin cette fonction de trace d'éligibilité
retournera exactement ces entrées.
Et ces oui étaient bien sûr Filton.
Nous avons plusieurs entrées et les cibles associées dans ce qui sera retourné par la fonction.
La prochaine étape consiste à démarrer une boucle et c’est précisément parce que nous suivons le code
lent du document.
Ce genre de code.
Et comme vous pouvez le voir, il y a cette section de code de répétition et répété exactement une boucle complète dans le code.
Nous allons calculer la récompense cumulée accumulée ici au cours des 10 étapes.
Et comment est-il calculé?
Dans chaque étape qui ne correspond pas à la dernière étape, nous allons obtenir le maximum des valeurs fondamentales de la devise
dans laquelle nous nous trouvons au cours de cette étape.
Et si nous atteignons bien le dernier état des 10 étapes, cela sera égal à zéro.
C'est que nous ne voulons plus le faire.
Et puis nous avons cette boucle qui va être une autre place.
Ils ne disent pas répéter ici, mais c'est pareil, ce sera la deuxième boucle complète de notre algorithme.
Eh bien, nous aurons ce que nous avons été ainsi en le multipliant par le paramètre de désintégration gamma et en ajoutant
le mot.
Faisons cela, revenons à Python et commençons notre plein.
Et quelle va être la variable itérative.
Cela va être notre série de 10 étapes.
Vous connaissez notre série de 10 transitions, nous allons donc appeler cette série de variables qui représente une série de
10 transitions comme une séquence de 10 transitions.
Donc pour les séries en.
Et puis qu'en pensez-vous.
Eh bien notre série sera à notre lot.
Il y a les lots sur lesquels formeront les séries AI et ainsi de suite en lot, c'est-à-dire pour toutes les
séries de 10 transitions de notre lot d'entrée.
Eh bien, où allons-nous bien faire pour obtenir une récompense cumulative, vous verrez dans la silice qu'il nous faut
l'état de la première transition de la série ainsi que l'état de la dernière transition de la série
Donc, ce que nous devons faire maintenant, c’est d’obtenir ces états d’entrée et nous allons donc placer ces
deux États dans une situation viable qui appelera l’entrée et nous obtiendrons ces deux états d’entrée.
Le premier de la série et le dernier que nous allons mettre dans une configuration non pilote, mais ne vous en
faites pas et Ampyra le convertiront bien sûr en horrible, mais la première étape consiste
à placer ces deux déclare le premier dans le dernier dans un empire.
Et donc ici, dans ce tableau, nous ajoutons la première entrée qui est l’étage d’entrée de la première
transition de la série et c’est Series, puis pour le prendre pour une transition, prenons l’indice zéro de la
série et la nous pouvons y accéder en prenant ses attributs qui sont state et thats car, dans notre
fichier de relecture d’expérience, nous avons trouvé une structure spéciale pour chaque transition et vous en
connaissez la structure.
Chaque transition est composée d'un état d'un mot d'action.
Mais ensuite, le dernier élément réalisé pour cette structure spéciale que nous sommes autorisés à utiliser maintenant provient
de la façon dont nous avons défini la transition et la reprise d'expérience.
Très bien, avec cela, nous obtenons l’état d’entrée de la première transition et passons également à l’étape
d’entrée de la dernière transition de la série.
Et faire cela, c'est dire que nous pouvons simplement copier ceci et le coller et le remplacer comme vous êtes ici par le dernier
index de la série auquel nous pouvons accéder avec cette astuce moins une série moins une qui cet état
obtiendra l'état d'entrée du dernier transition de la série.
Très bien alors nous devons mettre ces deux éléments entre crochets car c’est ce que l’arbitre attend
d’une fonction puis d’une chose importante à faire puisque nous allons convertir cela en
réponse torche dans une variable torche.
Souvenez-vous bien qu'un tenseur de torche est par définition un tableau spécial contenant un seul type.
Et nous devons donc forcer un seul type.
Et comme d'habitude, nous allons choisir le type float, et ainsi de suite, en ajoutant ce paramètre ici D type est
égal à et P qui flotte.
Pour que vous puissiez prendre celui-ci et que nous puissions maintenant le convertir en un tenseur de torche dans un voïvode de torche.
Alors faisons ceci.
Eh bien, convertissons d'abord cela en capteur de torche.
Et rappelez-vous que nous pouvons utiliser la torche que nous n'allons pas et que nous plaçons tout le tableau des deux états
d'entrée à l'intérieur de cette danseuse de torche avec sa torche par fonction parfaite qui convertira ces matrices de
l'état d'entrée en une torche capteur.
Et maintenant, nous plaçons très bien cette réponse dans une torche en utilisant la classe variable. L'entrée sera donc un objet
de la classe précieuse.
Et en fait, comme vous l'avez compris, cette classe de variables prend tout cela comme argument
et crée l'objet.
D'accord, maintenant nous devrions être bons.
Nous avons nos deux entrées dont nous avons besoin.
C'est l'état d'entrée de la première transition, puis l'entrée dit que la dernière transition.
Et maintenant que nous avons les entrées Eh bien, que pouvons-nous obtenir, nous pouvons obtenir le signal de sortie du cerveau
de l'IA.
C'est la prédiction que nous allons appeler cela des sorties.
C'est le signal de sortie.
Et pour obtenir les sorties.
Eh bien, c’est très facile, car nous avons déjà créé un cerveau, notre réseau de neurones
convolutionnels.
Et ainsi nous pouvons simplement prendre notre cerveau CNN appliqué aux entrées qui retournera la prédiction qui est la
sortie aussi simple que cela.
Et maintenant, nous sommes déjà prêts à passer à l'étape suivante.
Et la prochaine étape consiste à commencer à calculer cette communauté si vous le souhaitez.
Alors maintenant, nous allons faire exactement la même chose que notre algorithme de Sarsour ou devrions-nous l'appeler et
les étapes pour apprendre.
Nous allons introduire la variable de récompense cumulative qui sera la récompense cumulative. Revenons au document, car vous pouvez voir
maintenant ce que nous devons faire pour obtenir cette récompense communautaire qui est
notre ici.
Eh bien et chaque étape des 10 étapes exécutées, nous devons la mettre à jour en ajoutant un zéro à cette communauté
si nous l’avions été si nous avions atteint la dernière étape de la série ou le maximum des valeurs fondamentales la
série qui est pour toute la statique qui a duré.
Donc, c'est simplement un bonanzas.
Revenons à Piscean.
Donc, cette récompense de communauté, comme nous venons de le voir, sera égale à zéro si nous avons atteint le dernier état
et nous pouvons écrire cette condition de cette façon si la série d’index moins 1
C'est la dernière transition de la série.
Ensuite, nous ajoutons que done car done est un attribut de vous savez cette structure transitoire que nous
avons définie dans l'expérience, nous jouons notre expérience rejouer faute et cela fait en réalité les structures d'ouverture
parce que si nous allons sur le site Web ouvert Allergan qui est en fait juste ici je l'ai
préparé.
C'est le bien ou le vizir.
Et si nous allons à la documentation et ensuite si nous.
C'est le tutoriel que je vous encourage vraiment à regarder.
Vous pouvez exécuter un environnement dans lequel Knowsley, vous pouvez constater que nos observations selon lesquelles il s’agit
de transitions sont définies par une observation.
Nous voulons que cela soit fait ici et cela signifie exactement qu'une transition ou une étape est terminée.
Et donc nous allons utiliser ceci fait ici pour notre condition IF.
Par conséquent, lorsque cela est terminé, la folie iSeries signifie que la fin de la dernière transition de la série est terminée.
Et donc, cette récompense cumulative sera égale à zéro si la dernière transition de la série est effectuée.
Sinon, si nous n'avons pas atteint la dernière transition, la récompense cumulative sera mise à jour avec, comme
nous l'avons dit, le maximum des valeurs clés.
Et puisque cette sortie est la sortie du cerveau qui est la prédiction du réseau de neurones.
Et comme vous le savez, les prévisions du réseau de neurones correspondent aux valeurs prévues. Cette sortie
contient les valeurs.
Et puisque nous devons bien prendre le maximum des q valeurs, nous devons d'abord ajouter cet index car
cette structure contient deux valeurs de clé et la suivante.
Et nous devons ensuite ajouter des données pour accéder aux données.
Vous savez que cette structure de sortie a la structure particulière d’un voïvode de torche.
Donc, avec cela, nous obtenons nos valeurs fondamentales et ensuite nous voulons prendre le maximum de nos valeurs
de repère et nous ajoutons donc que Max.
Et maintenant, nous obtenons exactement ce que nous voulons, comme dans le document, ce maximum des valeurs de cube pour
les états non terminaux est parfait.
Et maintenant, nous allons faire le deuxième pli.
C’est pour les 10 étapes de la série que nous allons mettre à jour le cumulatif ainsi obtenu en multipliant d’abord
par Gamma le paramètre de décroissance que nous avons déjà, puis en ajoutant le mot B.
Alors faisons ceci.
Nous allons faire exactement la même chose que dans le pseudocode, comme vous pouvez le constater, ils partent de
la droite.
Donc, ils ne commencent pas à la première étape et vont au dernier test, ils commencent par la dernière étape.
T-moins 1 à la première étape pour commencer.
C’est exactement ce que nous allons faire et c’est parce que
nous voulons obtenir à la fin une récompense cumulative égale à nos égaux ou zéro plus gamma ou 1 plus gamma carré ou deux plus que l’addition
plus le gamma à la puissance 10 ou 10 où sont 1 ou 2 qui sont 10 sont le mot obtenu dans chacune des étapes
de la série.
Faisons donc une petite pause avant de passer à la deuxième boucle complète et nous vous reverrons dans le prochain tutoriel.
Jusque-là, profitez de l'IA.