Bonjour et bienvenue dans la partie super excitante de notre création, la partie où nous la rendons intelligente.
C'est donc exactement ce qui se passe lorsque je m'entraîne le jour où je formerai son intelligence pour atteindre
l'objectif que nous voulions accomplir: atteindre le gilet sans se faire tuer.
Et pour ce faire, nous allons essentiellement former le réseau de neurones à la sortie des bonnes prédictions,
puis tout est déjà prêt car ces signaux de sortie du cerveau ont déjà la
bonne transmission au corps pour jouer les actions finales.
Donc, fondamentalement, ce que nous sommes sur le point de faire est quelque chose que nous avons déjà fait auparavant.
Nous allons juste prendre quelques lots aléatoires dans la mémoire, obtenir nos entrées à partir des échantillons,
obtenir les sorties, obtenir la cible, obtenir les prédictions calculer la dernière zone entre les prédictions et la cible,
puis effectuer une propagation en arrière pour catégoriser dans le sens où le poids en fonction de
combien ils ont contribué à cette dernière erreur.
Alors faisons tout ça.
Vous allez voir comment cela va être si facile car nous avons déjà tous
les outils pour l'implémenter, nous avons non seulement les outils de flambeau tels que l'optimiseur et les dernières fonctions, mais également toutes les
classes que nous avons créées auparavant, comme nos cerveau bien sûr que nous allons utiliser pour obtenir les prévisions.
Ensuite, notre expérience, notre parcours d’éligibilité d’implémentation pour la mise en œuvre et tous ces outils, ont été combinés aux éléments
qui contribueront à la performance de la formation. Nous aurons donc à terme une intelligence artificielle extrêmement
puissante.
Alors faisons en sorte que cela se produise.
Soyons intelligents et la première chose que nous allons faire maintenant est d'obtenir la dernière fonction à laquelle nous sommes
habitués dans la formation lors du calcul de l'erreur et de l'optimiseur.
C'est la première chose que nous ferons.
Créons donc une variable pour la dernière fonction.
Nous allons appeler cela une perte qui sera égale à la fonction de perte MSEE du module final.
Et cette MSEE nous, c’est la dernière fonction que nous allons utiliser parce que nos prévisions sont essentiellement des valeurs clés. Vous
savez que nous prédisons les valeurs fondamentales des différentes actions.
Et donc, puisque ce sont des nombres réels, nous faisons en quelque sorte un travail de réseau neuronal pour la régression et,
par conséquent, la dernière fonction est l’erreur de tomodensitométrie moyenne.
C'est la dernière fonction que nous utilisons.
En général pour la régression.
Bon, maintenant que nous avons notre dernière fonction, obtenons notre optimiseur.
Donc optimisé ici, c'est le voïvode que nous avons créé l'optimiseur de Freda.
Et nous allons prendre comme d'habitude.
En ce qui concerne la voiture autonome, l'atomiseur à atomes.
C'est un optimiseur très puissant qui fera des merveilles pour la formation.
Alors prenons celui-ci dans cet Adam.
Et rappelez-vous que c’est exactement ce que la voiture autonome doit saisir deux arguments essentiels.
Le premier est celui qui établira la connexion entre l’optimiseur et les paramètres de notre réseau
de neurones.
C'est le poids des neurones de notre cerveau.
Et pour ce faire, nous prenons notre cerveau que nous avons appelé CNN.
C'est l'objet que nous avons créé pour notre cerveau.
Et ainsi, CNN se souvient des paramètres que nous suivons et de quelques parenthèses, ce qui établit un lien entre l'optimiseur et
le poids des neurones dans le cerveau de notre IA.
Et puis le deuxième argument est un taux d’apprentissage et cela est donné par notre.
Nous devons donc prendre une plus petite augmentation, car nous ne voulons pas converger trop rapidement et nous voulons avoir une
accélération et donc de bonnes méthodes d'apprentissage que nous pouvons utiliser.
Voici un petit qui est sur le point ou celui qui est ouvert 1 pour cent.
Je pense que c'est la même chose que nous utilisons pour la voiture autonome.
Bon, maintenant nous avons un dernier atomiseur, nous sommes donc presque prêts à commencer l'automne.
En fait, nous allons commencer tout de suite, mais juste avant, nous allons décider de la
taille du nombre d’époques que nous allons former.
Et donc en créant une nouvelle variable ici qui va répondre à ce nombre d'abox et disons-le
égal à 100.
Ce sera suffisant pour entraîner l'IA.
Et même cela, je parviendrai à atteindre le meilleur chemin avant 100 ans.
Comme 20 ou 30.
Voyons voir.
Mais pour l'instant prenons 100.
Et si nous en avons besoin, nous allons l'augmenter.
Mais je ne pense pas que cela sera nécessaire.
OK, maintenant que nous avons notre nombre d’airbags, nous pouvons commencer à faire le suivi.
Vous connaissez cette boucle principale de la formation lorsque nous nous entraînons sur la Xbox.
Donc, pour que ce soit vraiment viable, ce sera un livre.
C'est ce que nous avons choisi pour cela.
Maintenant, bien sûr, nous allons utiliser la fonction range pour indiquer que nous voulons passer du premier au premier
au nombre de livres
plus un, car rappelez-vous que la limite supérieure d'une plage n'est pas.
Nous voulons donc aller jusqu'à 100.
Eh bien, nous devons spécifier et être le plus un pour aller jusqu'à 100.
Bon alors CULLEN Et maintenant entrons dans la boucle.
Très bien, la première chose à faire est de faire 200 cycles de 10 étapes.
Ainsi, chaque époque sera de 200 cycles les uns après les autres sur 10 étapes. Pour ce faire, nous avons cette fonction en une étape de
notre classe de répétition d’expérience et nous utilisons donc cette fonction, qui est en fait une méthode
car elle sera obtenue à partir de notre objet mémoire. est un objet de la classe de mémoire de relecture pour générer
ces deux cents exécutions de 10 étapes.
Eh bien, nous devons dire à notre objet de mémoire que nous rappelons que nous avons créé ici que memory est un objet permettant de
rejouer une classe de mémoire avec des étapes de 10 étapes et une capacité de 10000.
Nous avons créé cet objet et de cet objet nous prenons.
Eh bien cette fonction d’étape d’exécution exécute pas à pas et nous spécifions deux cents exécutions successives de 10 étapes.
Cela ne fera donc qu'ajouter chaque époque.
En gros cent pas.
Maintenant, maintenant que nous avons ces 200 étapes en cours à chaque époque.
Eh bien, il est temps d’échantillonner certains lots de ces séries et de les échantillonner.
Nous avons une autre fonction de notre mémoire qui est un lot d’échantillons et qui générera exactement quelques lots de
ces deux cents exécutions.
Mais rappelez-vous que ces lots sont cette fois des lots de séries de transitions.
Il y a une série de 10 étapes, par opposition à avant où les lots n'étaient que quelques lots
de transitions simples ici cette fois.
Il va y avoir des lots de dix étapes 10 transitions et donc maintenant il est temps de sortir
de notre mémoire.
Ces lots aléatoires.
Et pour les obtenir, nous avons utilisé la fonction de traitement par lots simple à laquelle nous devons appliquer la
taille de lot pour la taille de lot où nous pouvons prendre 32 voire même 64 voire 128.
N'oubliez pas que cela est dit C'est une pratique courante d'utiliser 32.
C'est ce que vous verrez généralement dans les architectures de réseaux de neurones lors de l'apprentissage de Bachche.
Mais cette fois, c'est assez différent.
Nous venions d'envoyer quelques lots de dix étapes.
Il est donc préférable de prendre des bancs avec des tailles plus grandes.
C'est pourquoi nous pouvons prendre 64 ou 128.
Donc, nous allons en prendre 128 et, en réalité, cela va être à l'intérieur d'un Fulop, car nous voulons prendre plusieurs lots
et nous les prenons dans ce qui est renvoyé par la fonction de lot d'échantillons.
Donc, ce Fulop pour cet échantillon en mémoire dans le lot 128 signifie que toutes les 128 étapes, notre mémoire nous
donnera une taille de lot de 128 qui contiendra en réalité les 128 dernières étapes qui ont été exécutées.
Nous venons d'obtenir des lots de taille 128 et l'apprentissage se produira sur ces lots.
Et en plus de ces lots, nous disposerons de plateaux d’éligibilité pour apprendre toutes
les dix étapes.
D'accord, maintenant dans cette boucle qui se passe encore à une époque.
Mais cette fois, nous faisons partie d’un lot spécifique et la première chose à faire est
d’obtenir nos intrants et nos objectifs séparément.
Et comme je vous l'ai dit, vous pouvez le faire avec l'un des outils que nous avons mis en œuvre, à savoir des astuces d'éligibilité, comme vous pouvez
le voir ici.
Cette fonction de trace illisible prend un lot en entrée.
Nous devons maintenant regrouper et renvoyer en sortie les entrées et les cibles.
Donc, pour le moment, nous pouvons simplement créer deux nouvelles variables qui seront
les entrées et les cibles. Ces entrées ne peuvent pas nous dire exactement ce qui retourne cette fonction de trace LGBTI appliquée à un
lot pour appliquer cette fonction au lot de notre boucle.
Et donc, ce que nous ferons, c’est une simple trace d’éligibilité appliquée au lot de notre lot.
D'accord.
Cela nous donne l’entrée et les toilettes, mais dans la torche PI, il y a toujours quelque chose de plus à
faire.
Et bien sûr, il s’agit de convertir les entrées du réseau de neurones ainsi que la cible en certaines variables.
Mais il n'y a rien de nouveau non plus.
Nous savons comment le faire.
Nous pouvons le faire de cette façon, nous prenons nos intrants, puis nos objectifs.
Et bien qu’ils soient égaux aux entrées variables, c’est pour les entrées et les cibles variables et c’est là que
les cibles
Très bien, les entrées du cerveau sont converties en certaines variables de torche et les cibles sont également
converties en certaines variables.
Nous pouvons maintenant obtenir les entrées dans le réseau de neurones.
Et pourquoi avons-nous besoin de faire cela?
C'est parce que la prochaine étape consiste à obtenir les prévisions que nous devons cibler.
Bien entendu, nous avons besoin de nos prévisions, car ce qui se passe alors, c’est que nous allons calculer
la perte entre les prévisions et les cibles.
Faisons en sorte que ces prédictions nous parviennent ensuite.
Encore une fois, c’est tellement simple que nous devons maintenant prendre notre cerveau, notre
réseau d’informations constitutionnelles CNN, et l’appliquer à nos entrées.
Nous y voilà.
Les entrées vont dans le réseau de neurones et le réseau de neurones produira les prédictions.
Parfait.
Nous avons donc maintenant les protections que nous devons cibler pour pouvoir obtenir les lois et c'est l'étape suivante.
Nous allons introduire une nouvelle variable car nous allons maintenant obtenir la dernière erreur qui est différente
de la dernière fonction car nous utilisons la fonction de lois pour obtenir la dernière erreur.
Donc dernière erreur ici et que nous allons l’obtenir avec la dernière fonction appliquée à nos prévisions et les cibles que nous allons
voir pour voir si tout se passe bien.
Maintenant tout est logique.
Nous obtenons les entrées d'abord les cibles, puis les entrées, nous obtenons les prévisions, puis, grâce aux prévisions
et aux toilettes, nous obtenons la dernière erreur.
Tellement très logique et fluide.
Et maintenant quelle est la prochaine étape.
Même chemin logique maintenant que nous avons le dernier mot, nous pouvons propager la dernière erreur en arrière dans le réseau de
neurones pour faire des poids et nous le faisons avec le gril à gaz au centre et pour obtenir des diplômes au sens
où nous avons besoin de notre optimiseur.
Mais nous l'avons déjà eu ici.
Notre atomiseur Adam.
Mais maintenant, rappelez-vous ce que nous devions faire.
Nous devions l'initialiser et l'initialiser.
N'oubliez pas que nous prenons notre objet optimiseur.
Et ensuite, nous appliquons la méthode zéro grette.
On y va on n’oublie pas la parenthèse qui l’a initialisée.
Et maintenant, la prochaine étape consiste à propager la dernière erreur dans le nouveau
réseau et à le faire correctement. Nous prenons notre dernière erreur et nous y appliquons la méthode arrière.
Donc, c’est exactement pour favoriser la propagation en arrière.
Et puis finalement, maintenant que la dernière erreur est de nouveau propagée dans la nouvelle qui fonctionne bien, nous pouvons mettre à jour
les poids.
Nous continuons à nous surpasser dans le sens et pour ce faire, rappelons que nous prenons notre optimiseur et appliquons ensuite
la méthode des étapes.
Nous y voilà.
Les poids sont maintenant datés.
Comme je vous l'ai dit, non seulement nous l'avons déjà fait, mais maintenant, cela semble si simple et si naturel.
Alors maintenant, nous allons faire quelque chose d'amusant.
Nous allons imprimer la moyenne, nous travaillons à chaque époque.
Vous savez donc que nous pouvons suivre l'évolution de l'IA et de la formation.
Nous voulons voir la récompense moyenne augmenter au fil des époques et au début, bien sûr,
il y a cette phase d'exploitation afin que la moyenne n'augmente pas au début, mais ensuite, une fois
la phase d'exploitation atteinte, la récompense moyenne sera définitivement augmenter et il augmentera jusqu’à un certain
niveau, c’est-à-dire quand il atteindra le gilet aussi vite que possible.
Commençons donc par la prémisse.
Vous savez que nous procédons de cette façon, mais nous devons revenir à la boucle imprimée
et imprimer.
Eh bien d’abord, mais ensuite cent pour cent parce que nous allons tout convertir en une chaîne meilleure.
Et ensuite, nous allons ajouter la moyenne que nous étions, puis nous ajoutons le pourcentage S, puis nous allons
fermer la citation, puis nous ajoutons un pourcentage.
Et de l’autre côté, vous savez que nous pouvons définir les variables qui vont être cette première
personne, car c’est l’époque.
Et la deuxième variable correspond au mot moyen qui va calculer maintenant.
Donc, le mot moyen viable n'existe pas encore.
Nous allons le créer maintenant.
Nous allons donc utiliser Esti notre époque, même si le nombre de personnes qui convertissent cela
dans son train s'améliore et si nous ajoutons le résultat moyen.
Nous allons donc créer une variable que nous appellerons une récompense Viji.
Et maintenant, nous allons créer cette variable et la calculer.
OK alors faisons ceci.
C'est la seule chose que nous devions faire, alors EPOC nous avons déjà.
Calculons maintenant le mot moyen et nous devons le calculer ici.
Nous sommes toujours au courant, mais nous sommes le célibataire, car nous avons maintenant nos échantillons de patch et nous avons une formation
dans le lot.
Mais maintenant que pour la propagation Plus, la propagation en arrière est effectuée dans le lot.
Nous revenons donc dans la boucle des époques et nous pouvons maintenant calculer les mots cumulés que nous
pouvons utiliser avec notre objet steps car notre objet insteps contient cette fonction. Elle nous permet de définir les étapes permettant
d’obtenir les récompenses cumulatives dans les étapes que vous connaissez. les pas courent.
Nous allons donc l'utiliser maintenant pour mettre à jour les nouvelles récompenses des étapes, puis nous mettrons à jour l'objet
à moyenne mobile en ajoutant les mots cumulés au déplacement de chaque objet.
Ensuite, nous calculons la moyenne et c’est ainsi que nous obtiendrons la moyenne de ce que nous pensons être
la première chose dont nous avons besoin, c’est le mot Stribild.
Alors appelons-les les mots étapes et ensuite, comme nous l'avons dit, prenons notre objet étapes finales que je rappelle ici créé et objet de
la classe de progression pas à partir de notre expérience rejouée pour des objets exemples.
Ensuite, nous ajoutons des mots étapes puis des parenthèses.
D'accord.
Cela nous apportera les nouvelles récompenses cumulatives des étapes.
D'accord, mais nous devons ensuite ajouter ces nouvelles récompenses cumulatives dans notre objet à moyenne mobile. Pour ce faire,
nous avons cette fois une méthode dans la classe des moyennes mobiles. Cette méthode très simple prend
notre objet à moyenne mobile que nous avons créé ici avec 100 étapes alors nous allons utiliser notre méthode
add.
Et ensuite, dans Admetus, nous avons placé nos mots pas à pas, ce qui ajoutera les avantages des pas dans
la moyenne mobile.
Très bien et enfin nous pouvons calculer le mot moyen et c’est bien vous savez que c’est la
variable ici.
Donc, c'est ce qui va être égal au mot moyen et pour l'obtenir, nous devons simplement
utiliser la méthode moyenne cette fois-ci à partir de notre objet à moyenne mobile. avec les nouvelles étapes
de mots que nous venons d’ajouter des éléments à la méthode
Add, très bien.
Maintenant nous avons notre mot moyen donc ça va peupler ici.
Et cela va être imprimé toutes les heures.
Cela va donc être très excitant, car chaque épisode, nous allons suivre l'évolution de
l'air.
Vous savez que nous allons voir si le mot moyen augmente.
Et en parlant de quelque chose d'excitant.
Ce qui est très excitant, c’est que je sais que le gilet atteindra à coup sûr le cap des 1500.
Donc, ce que nous allons faire maintenant, c’est que si la récompense moyenne atteint 1500.
Maintenant, si cela dépasse 1500 Eh bien, nous allons imprimer quelque chose de nouveau et ce
sera l'impression finale.
L'impression très réussie que nous allons imprimer que nous pouvons dire.
Félicitations à votre IA parce que votre IA gagne.
Donc, ce serait génial si cela se produisait si nous atteignions un mot non moyen.
Plus grand que 1500.
Nous pouvons être sûrs à 100% que l'IA est la meilleure.
C’est peut-être un peu plus bas que cela, mais j’ai expérimenté avec 1000 et parfois je n’ai pas atteint les
niveaux avancés mais avec 1500 si nous y arrivons bien, l’IA gagne à coup sûr.
Nous allons donc regarder cela après.
D'accord, ce serait très excitant.
Et puis ce n'est en réalité que la fin de la courbe.
Nous devons spécifier que nous voulons commencer la formation.
Si cela se produit, vous savez que si elle atteint l'immense richesse, elle n'a plus besoin de s'entraîner.
Nous allons donc mettre fin à tout le processus avec une pause si nous atteignons un monde moyen de 1500 personnes.
Nous pouvons terminer tout le processus et pour ce faire, nous pouvons utiliser cette pause ici.
D'accord.
Et puis, une dernière chose à faire à la fin du jeu, c'est lorsque l'IA gagne.
Eh bien, nous pouvons fermer l’environnement et ainsi de suite en ajoutant une dernière action ici, que
je vais appeler la fermeture de l’environnement catastrophique.
Donc, pour ce faire, nous prenons notre environnement Dume que nous avons appelé Doom et dont nous nous souvenons.
Et ensuite, nous pouvons simplement ajouter cette fermeture et c’est tout ce que nous allons fermer, qu’il est préférable de faire
une fois que vous avez terminé.
Bon alors c'est fini.
Je suis tellement excitée de voir les résultats et en fait, je vais avoir une surprise pour vous dans le prochain tutoriel
tout en regardant les résultats.
Ça va être très excitant.
Et maintenant je suppose qu'il est temps de jouer avec et de s'amuser.
Espérons donc que nous pourrons atteindre ce gilet aussi vite que possible.
C'est l'objectif de ce nouvel environnement.
Très bien alors amusons-nous.
Préparez-vous un bon café ou un bon thé.
Maintenant, assoyez-vous confortablement dans notre fauteuil et regardez des vidéos très cool de nos avions.
Faisons-le dans le prochain tutoriel.
Et jusque-là, profitez de l'IA.