Bonjour et bienvenue au cours sur l'intelligence artificielle.
Très bien, j'espère que vous appréciez le didacticiel jusqu'à présent. Nous en avons presque fini avec l'intuition. Très
bientôt, vous abordez rapidement le côté pratique de certaines choses que nous venons de traiter.
Nous avons déjà parlé de la manière dont nous ajoutons les réseaux de neurones à toute cette équation de l’apprentissage
CULE et passons à l’étape suivante pour en faire un apprentissage en profondeur.
Et aujourd’hui, nous allons ajouter une fonctionnalité très importante qui consistera à coder dans le côté pratique, c’est pourquoi j'ai décidé qu'il était
important pour nous de le couvrir souvent du côté de l'intuition afin d'être plus préparé pour cela quand
il vient dans le côté de codage des choses.
Ainsi, lorsque nous avons discuté du réseau, il y a deux étapes.
Tout d’abord, c’est l’apprentissage afin que le réseau apprenne réellement à chaque nouvel état.
Il met lentement à jour ses attentes pour devenir de mieux en mieux face à cet environnement.
Et puis, il y a une action à l'intérieur de l'état, donc après que les valeurs q aient été comptées dans l'état, une fois que
vous avez sélectionné.
Donc, aujourd’hui, nous allons encore parler de la partie apprentissage, nous allons proposer une fonctionnalité intéressante
qui aidera les étudiants de premier cycle à concevoir cette fonctionnalité
nous-mêmes, mais nous parlerons d’une fonctionnalité qui est très importante pour nous. un apprentissage profondément cool et cette fonctionnalité est appelée expérience rejouer.
D'accord.
Voici donc notre réseau et nous venons de le copier ici.
Nous avons perdu ce qui est Calcott au fond est un propagateur de retour à travers le réseau.
Et regardons un exemple de ce qui arrive à comprendre le problème que nous traitons un
peu mieux.
Voici donc un exemple tiré des scores.
Ceci est une capture d'écran exactement de ce cours, c'est ce que vous programmez.
C'est une voiture autonome qui traverse cette route et doit apprendre à naviguer sur
cette route.
Et alors qu'est-ce que nous avons discuté précédemment Qu'est-ce que c'est dans cet état?
Et bien sûr, l’état ne sera pas x1 x2 Lundell, mais décrivez-le de manière beaucoup plus
détaillée en quoi consistera l’état, quelques paramètres relatifs à l’angle de la voiture et quelques paramètres relatifs, tels que les
capteurs lire et ainsi de suite.
Donc, il y aura plus de paramètres que cela pour décrire l'état.
Néanmoins, il s'agira néanmoins d'un vecteur de valeurs passant par un réseau de neurones, puis,
à la sortie, vous obtiendrez des valeurs d'ACU.
Encore une fois, il y aura une différence en fonction de l'environnement.
Ils peuvent être un nombre différent d'actions possibles.
Mais nous allons simplement pour simplifier, pour que nous puissions mieux comprendre ce qui
se passe ici.
Donc, dans ce cas, quelle est la question jusqu'à présent, qu'est-ce que c'est?
Cela entre dans ce réseau de neurones ou plus précisément à quelle fréquence déclenchons-nous ce réseau de neurones.
À quelle fréquence cette croissance nette neurale.
Eh bien, chaque fois que la voiture se retrouve dans un nouvel état, elle se déplace dans un nouvel état, puis
tout y passe.
Toutes ces données, toutes ces informations provenant de l’état, passent par le réseau, ce qui donne à Alice les
erreurs calculées.
Cette erreur est calculée en fonction de ce que nous avons discuté dans les tutoriels précédents.
Ceci est renvoyé à travers et leurs poids sont mis à jour.
Ensuite, la voiture sélectionne l'action à entreprendre pour que ce mouvement aboutisse à un nouvel état, dans le nouvel état.
Tout recommence.
En gros, cela se produit chaque fois que la voiture est à l'intérieur et que vous avez bien dit de regarder cet exemple.
J'ai spécifiquement pris la capture d'écran car elle semble très bien illustrer le problème résolu par la relecture d'expérience et les
répétitions de dépenses, et pas seulement par quelque chose que nous utilisons dans ce cours ou
dans ce problème spécifique.
C'est quelque chose que vous verrez utilisé partout.
Encore et encore, encore et encore dans les algorithmes d'intelligence artificielle, car il est si puissant et si
important.
Alors, regardez cette voiture cette voiture dans ce problème ou dans cet environnement, son objectif est d'aller d'ici à
ici et retour.
Son but est de s'y frayer un chemin ici sans traverser ces murs de sable.
Et donc la voiture a démarré ici, elle est tombée et sa récompense est basée sur le fait que vous savez à quel point il est proche
de commencer.
Donc, la voiture est partie d'ici, elle est tombée et a continué comme ceci ou comme le long de ce
mur le long de la digue.
Et qu'est-ce que ça va faire ensuite va tourner va continuer.
Eh bien, ce que nous voulions faire, c'est continuer ici.
Mais réfléchissons-y une seconde.
Une fois qu’il est arrivé à ce mur à chaque fois qu’il avance, il avance.
Il avance, avance, avance, avance, avance, avance, et ainsi de suite.
Donc, il pourrait y avoir comme si en fonction de l'environnement de la structure pourrait être comme une centaine de mouvements
ici ou 50 mouvements ici.
Cela ne fait que continuer d'avancer d'avancer d'avancer et rien ne change.
Pas vraiment de changements, cela va beaucoup plus loin de cette histoire commencée.
C'est adorable.
Mais en ce qui concerne l'environnement, peu de choses changent, c'est toujours le même mur.
Si vous êtes assis dans la voiture, vous avez probablement constaté que la situation
était telle que l'environnement est si monotone que vous voyez que la même chose se
passe.
Mais comme j'imagine que vous conduisez dans un désert et que vous voyez juste la même chose, c'est le même
son, c'est le même son, rien ne se passe.
Rien ne change.
Et donc, mais chaque fois, nous mettons cet état dans ce nouvel état.
Oui, bien sûr, quelque chose pourrait changer pour nous alors que vous conduisez la voiture et que votre GPS indique que vous
êtes plus proche de votre destination.
Donc, l’une de ces entrées est étrange, mais bon nombre de ces entrées, comme les capteurs de
la voiture par exemple, ne changent pas et, par conséquent, alors que vous conduisez lentement ce jour-là, insérez les entrées
ici même. ici ici ici ici ici ici et ici ici tout le temps les entrées sont à peu près
les mêmes.
Et donc, si vous continuez à saisir les mêmes entrées dans votre réseau, vous indiquez les mêmes valeurs vectorielles ou des vecteurs très
similaires, car il n'y a pas de variété.
La voiture va très bien apprendre.
Vous apprendrez très bien à conduire le long de ce mur qui se trouve à sa droite. C’est ainsi que le
réseau se mettra à jour et qu’il sera récompensé commencera lentement à être récompensé pour avoir si bien conduit, ce
sera pareil.
Ok, donc à partir d'ici, je vais apprendre tout ce que je fais si bien que je vais mieux que je fais mieux.
Tout ça.
Il aura cette fausse perception qu'il va vraiment très bien même s'il apprend à conduire ainsi que d'autres réseaux de neurones deviendront très adaptés
à la conduite le long de ce puits et puis tout à coup il y a cette courbe
et la voiture ne Je ne sais pas quoi faire.
Et cela ne correspond absolument pas à ce réseau de neurones.
Et même si cela se produit, disons de manière hypothétique qu'il passe un endroit et qu'il se retrouve ensuite sur ce
mur.
La même chose va se passer va conduire d'ici ici ici.
OK, le réseau de neurones est en train de se restructurer pour s’adapter à ce mur.
Et puis, même si d’une manière ou d’une autre, il est dépassé, cela conduira au-delà de cette chose, puis de la même
chose.
En résumé, c’est un exemple très frappant du problème que nous avons, c’est que, parce que nous utilisons le
réseau neuronal pour le mettre à jour à chaque état une fois que nous avons beaucoup
de choses consécutives, ils n’ont même pas besoin d’être les mêmes. Même chose, mais dans des environnements
normaux, des états consécutifs sont en quelque sorte corrélés ou interdépendants, et nous ne voulons pas que cette interdépendance fausse notre
réseau.
Nous ne voulons pas que la voiture apprenne simplement à conduire comme une ligne droite ou une
longue ligne courbe ou tout ce que vous pensez pouvoir penser à dans la vie où un agent serait
un environnement Navigant où nous pourrions penser à un lien ou des états interdépendants qui se succèdent et peuvent vraiment gâcher votre
réseau de neurones.
Si vous laissez simplement l'agent apprendre de cela.
Et c'est là qu'intervient la relecture d'expérience.
Ce qui se passe dans la relecture d’expérience, c’est donc ces expériences, de sorte que ces États sont classés dans un deux
ou trois des 50 États d’ici dans Neuro, ils ne sont pas transmis immédiatement par le réseau.
Ils sont en réalité enregistrés dans la mémoire de l'agent.
Ainsi, par exemple, toutes ces sauvegardes sont sauvegardées, ainsi que certaines sauvegardes, et certaines à un moment donné, une fois atteint un certain
seuil que vous serez en mesure de coder et Atlanta vous montrera comment faire.
Une fois qu'il atteint un certain seuil, l'agent décide pour lui-même qu'il est temps d'apprendre.
Je n'ai pas à apprendre de cette série d'expériences et je vais
donc en tirer une distribution aléatoire. L'uniformité est essentielle, car nous allons en parler
dans la diapositive suivante.
Nous réserverons nous le mentionnerons.
Mais il faut un échantillon uniformément distribué.
Donc, fondamentalement, toutes les expériences sont considérées comme égales.
Il prend un échantillon uniformément distribué à partir de son lot d’expériences qu’il possède, puis il les étudie et apprend d’eux-mêmes, de
sorte qu’il n’exige pas toute l’expérience ou qu’il distribue uniformément des échantillons
qu’il pourrait prendre d’ici voici un couple d'ici et chaque expérience est caractérisée par
l'état dans lequel elle a pris l'action dans laquelle elle s'est retrouvée et la récompense qu'elle a obtenue grâce
à cette action dans cet état spécifique, de sorte que quatre éléments dans chaque expérience en déclarent un action state
deux et récompense et prend donc toutes ces expériences, puis il les passe à travers le réseau
et il apprend.
Et ainsi, cela brise le schéma de ce biais qui vient de la nature séquentielle de l'expérience, comme si vous deviez les faire passer à travers
le réseau, les unes après les autres.
C’est donc le cœur de l’expérience que nous jouons.
C’est là le problème et le problème et un autre avantage de la relecture d’expérience est que parfois,
dans un environnement comme celui-ci, vous pouvez vivre des expériences rares et très précieuses.
Donc, par exemple, je ne sais pas, regardons ce coin à droite, c'est le coin à droite.
Droite.
Et un très forte est forte.
Donc, ça va venir d'ici en supposant que ça va serrer ce coin.
Donc, si vous avez des angles serrés, nous aurons un coin droit
ici et un coin droit ici.
Bon alors quand ça vient comme ça c'est le bon coin.
Et puis quand ça retourne, c'est un très mauvais coin ici.
Donc, et celui-ci n'est pas tranchant de la sorte dans le magasin, il n'y a donc
qu'une seule opportunité, dans l'environnement, d'apprendre à partir d'un coin droit.
Et c’est une expérience très importante, car il est possible de vraiment bien rouler en ligne droite,
mais de vraiment bien faire les virages mous comme celui-là.
Et puis ça va continuer à bousiller ce coin droit tout simplement parce que tout simplement parce qu’il n’a pas
beaucoup d’opportunités pour en tirer des leçons et qu’il apprendra donc tout
le reste très rapidement, cours.
C'est un exemple très simplifié, une explication très simplifiée, mais elle illustre le concept selon lequel
il s'agit parfois d'expériences rares qui peuvent être précieuses.
Et si vous ne faites qu'un simple réseau de neurones dans lequel vous mettez vos valeurs ici et vous savez
qu'elles traversent et vous savez même si vous oubliez ce problème de la nature séquentielle des expériences
et de la façon dont elles peuvent être interdépendant et tous corrélés Thimphu oublient même que
pour une seconde.
Ce qui se passe, c’est qu’une fois que vous avez mis une expérience dans le réseau de données, vous
oubliez instantanément cette expérience.
Vous passez au suivant.
Voilà comment fonctionne le réseau de neurones.
Ensuite, vous passez à l’état suivant, à l’étape suivante, à l’étape suivante, à la prochaine expérience
X et à cette expérience.
Donc, ce coin droit dès qu’il passe par un réseau est parti et vous n’avez plus aucun souvenir de
cette expérience précieuse.
Alors que nous avons expérimenté le replay parce que vous mettez ces expériences en
lots, vous pouvez organiser votre bash comme une fenêtre continue, par exemple,
vous pourriez avoir environ 100 lots. il a cela enregistré cette expérience dans
son lot.
Ensuite, comme à un moment donné, il prend une distribution uniforme de son lot d’expériences et ensuite, il ya une fenêtre
glissante pour qu’il oublie ces expériences mais conserve ces expériences.
Et encore une fois, il apprend qu'une fois que c'est ici, il apprend de ce lot et ensuite, une fois que c'est là, il oublie tout
le chemin jusqu'à ici.
Mais alors il a beaucoup d'expériences comme ça, donc ne tirez pas les leçons de ces expériences.
Et ainsi, ce que vous obtenez est que ce coin droit peut apparaître plusieurs fois dans son processus d’apprentissage parce qu’il faisait partie
de ce lot lorsque le lot était comme celui-ci ici qu’il y en avait
dans le lot ici à peu près ici. en plusieurs lots car l’abash pourrait être mis
à jour comme une fenêtre glissante d’expérience.
Ainsi, les expériences les plus anciennes sont mises à la porte, les expériences les plus récentes sont ajoutées, puis les expériences les plus anciennes le
sont à nouveau.
Donc, et l'expérience reste dans le lot pendant un certain temps et la voiture ou l'agent peut apprendre de cette
expérience plusieurs fois.
C'est donc un autre avantage de la relecture d'expérience.
Et bien sûr, l’avantage final est que la relecture d’expérience vous donne la possibilité d’apprendre de nombreuses expériences
plutôt que si vous n’en appreniez qu’une à une, parce que vous avez ce lot
et donc qu’il s’agit d’une fenêtre évolutive et donc même si votre environnement est limité. faire l'expérience de votre expérience de rejeu
peut vous aider à apprendre plus rapidement.
Et au lieu de simplement refaire, il y a beaucoup de fois où vous pouvez apprendre rapidement parce que vous n'avez pas à le
refaire.
Vous avez ces expériences enregistrées.
Voilà donc les principaux avantages de l'expérience.
Rappelons que nous avons le.
Nous rompons ce modèle d'indépendance et de corrélation d'expériences séquentielles. Nous sauvons des expériences rares qui
pourraient être importantes. Nous pouvons donc en tirer des leçons plus souvent et apprendre
dans des environnements où nous pouvons apprendre les environnements Fosler.
Nous avons une pénurie d'expériences qui ne sont pas aussi nombreuses que celles vécues par l'agent, mais nous
pouvons quand même apprendre cela.
C'est donc ce que l'expérience rediffuse tout.
Si vous souhaitez lire un peu plus que cela.
Deep Mind a publié en 2016 un article intéressant intitulé «rejeu d'expérience
prioritaire» qui explique pourquoi.
Pourquoi utilisons-nous une distribution uniforme pour sélectionner nos expériences à partir de l'expérience Bachche? Pourquoi ne trouvons-nous pas
un meilleur moyen de sélectionner nos expériences et de hiérarchiser certaines des expériences que
nous estimons importantes.
C’est une chose très intéressante, mais dans ce cas, vous pourrez non seulement renforcer
ou non vos connaissances en matière de répétition d’expérience, mais vous pourrez également évoluer avec les dernières
technologies.
Nous sommes donc en 2016 et publiés par des esprits profonds.
C'est un document très récent et très puissant qui vous permettra d'explorer réellement les limites ou d'explorer davantage
cet algorithme et de l'amener au niveau supérieur.
Je vous laisse donc le soin de savoir pourquoi et comment nous pouvons changer l'uniforme pour adopter une approche différente de la
répétition de ce document si vous le souhaitez.
Et j'espère que ça vous plaira.
Tauriel et maintenant, nous savons ce qu’est réellement une expérience et nous pouvons l’utiliser en toute confiance dans nos cercles pratiques. Je vous
attend pour la prochaine fois.
Jusque-là, profitez de l'IA.