Bonjour et bienvenue à nouveau dans notre voiture autonome Maggio.
Donc, dans une toile, je vais expliquer le contexte dans lequel nous allons mettre en œuvre
notre intelligence artificielle et qui contiendra bien sûr la voiture qui s’entraînera pour se conduire elle-même
et éviter les obstacles nos voitures pour naviguer autour d'eux.
Nous construirons donc plus tard cette intelligence artificielle pour entraîner cette voiture à rouler sur la route que vous
connaissez sans franchir les limites ni éviter certains obstacles qui se placeraient dans la route.
C'est donc un défi passionnant.
Et en réalité, il y a deux fichiers distincts, comme vous pouvez le voir, il y a le sommet et la volaille qui
sont une intelligence artificielle et qui feront toute la formation nécessaire pour former la voiture à la vente.
Et nous avons une carte que nous avons trouvée qui est le code qui crée tout cet environnement.
Donc, voici ce code qui est en réalité 200 lignes de code un peu plus.
Donc, ce code n'est généralement pas lié à l'IA.
C'est juste un code pour que l'environnement fasse la carte.
Je vais donc parcourir chacune des sections une à une pour l'expliquer, mais nous n'allons pas mettre
en œuvre ce code ligne par ligne à partir de zéro, car nous souhaitons nous concentrer sur l'intelligence artificielle.
Mais parcourons toujours les sections une à une pour comprendre ce qui se passe.
Donc, nous importons d’abord les bibliothèques centrales pour n’importe quel code.
Nous avons besoin de certaines bibliothèques pour effectuer certaines tâches plus efficacement que nous importons tous les paquets de Cavy.
Ce n'est donc pas très important car tout cela est spécifique à Cavey, nous utilisons du cobaye pour créer la carte.
Nous importons donc beaucoup de classes et d'objets pour pouvoir créer cette carte et ajouter des outils
à cette dernière.
Très bien alors cette ligne est importante.
Cette ligne est liée parce que, fondamentalement, c’est là que nous importons notre cerveau le cerveau de la voiture qui sera un autre jet
de ce que vous avez fait en classe et l’enseignant en classe.
Est notre intelligence artificielle elle-même.
Vous verrez que nous allons implémenter la suppression de la file d'attente en classe dans les tutoriels suivants.
Et comme vous l'avez peut-être deviné, instance de file d'attente pour les réseaux Q profonds.
Nous allons donc implémenter un réseau d’apprentissage en file d'attente, puis, une fois prêt,
nous l'importerons ici avec cette ligne de l'IA. Les yeux sont bien sûr un fichier python.
D'accord.
Donc, je ne peux pas attendre pour mettre cela en œuvre.
Ce sera un sacré voyage, mais vous verrez que ce sera très excitant car,
grâce au I, la voiture pourra se conduire toute seule.
D'accord.
Et maintenant, avant de passer aux sections suivantes, nous devons expliquer comment nous allons former cette voiture.
Je ne vais pas expliquer le réseau de neurones pour le moment, mais je vais expliquer comment nous
pouvons entraîner la voiture à conduire de manière autonome et à éviter les obstacles.
Vous savez donc dans la vie réelle si vous voulez former une vraie voiture pour éviter certains murs ou certains obstacles.
Bien que feriez-vous.
Vous ne voudriez certainement pas prendre de vrais murs ou de gros obstacles et écraser votre voiture dessus.
Cela vous coûterait beaucoup d'argent.
Au lieu de cela, une idée plus intelligente serait de punir votre voiture non pas lorsqu'elle heurte un mur ou un obstacle,
mais lorsqu'elle tombe sur du sable.
Donc, c'est comme si vous aviez un champ.
Ce champ a des routes sur lesquelles la voiture doit rester et les routes sont délimitées par du sable.
Et chaque fois que la voiture pénètre au centre, c'est comme si elle se heurtait à un obstacle, car une fois la
voiture plongée dans le sable, elle sera ralentie et nous veillerons à ce que la voiture soit sanctionnée soit punie
pour cela.
Et c'est un point essentiel de l'intelligence artificielle.
Le mauvais mot vient chaque fois que la voiture va dans un sens et est ralentie.
D'accord.
Et donc ici je présente le dernier texte et c'est pourquoi.
Quelles sont les coordonnées du dernier point en mémoire lorsque nous dessinons un parfum sur la carte.
D'accord.
Et puis nous obtenons notre intelligence artificielle que nous appelons cerveau et qui contient notre réseau de neurones et nous l'appellerons
cerveau parce que c'est en fait le cerveau de la voiture et qui contient notre réseau
de nouilles.
D'accord.
Donc, dans cette ligne de code, comme vous pouvez le voir, je crée des objets chez le professeur en classe.
Je vous rappellerai que les classes et les objets ne sont que l'objet de Brenna, il déshumanise les classes et 5:
3 et 0. 9 sont les entrées de la classe.
Donc, c'est très simple, cinq correspond aux états qui sont des vecteurs codés de cinq dimensions. Nous verrons ce
qu'ils décrivent parfaitement ce qui se passe dans l'environnement sur la carte.
Alors trois est le nombre d'actions il y aura trois actions possibles aller à gauche aller tout droit
ou aller à droite et 0. 9 est à nouveau un paramètre de l'algorithme d'apprentissage de la file d'attente.
Très bien et ensuite nous avons l'action par rotation.
L'action pour la rotation est donc un vecteur de trois éléments.
020 et moins 20.
Et nous devons le faire car les actions sont codées par trois nombres 0 1 et 2 et que cela correspond aux index
de cette action deux vecteurs de rotation.
Ainsi, par exemple, si l'action sélectionnée à l'instant t est égale à zéro.
Le zéro correspond à l’indice de cette action vecteur de rotation et la valeur de l’indice 0 est zéro.
Et donc nous irons tout de suite si l'action sélectionnée est 1.
Bien on correspond à l’indice de cette action deux vecteur additionnel et la valeur de ce vecteur
qui a un autre est 20.
Donc 20 correspond à une rotation de 20 degrés et cela signifie que le code ira
de 20 degrés à droite et ensuite, si l'action sélectionnée doit bien correspondre à l'index de cette action à rotation du vecteur.
Et donc, le code fera une rotation de moins 20 degrés et ira donc à gauche.
Très bien, nous introduisons le voivode de la récompense de gauche car à chaque étape, le dernier mot sera reçu.
Alors souvenez-vous que si la carte n’a pas un sens, la récompense sera positive.
Et si le code continue à bien aller, il obtiendra la mauvaise récompense et chaque fois que
cette variable contiendra cette récompense qu’elle obtiendra H20.
Et puis on initialise les scores qui est un vecteur qui contiendra la récompense.
Pas tous, mais la récompense.
Sur une fenêtre glissante pour que vous sachiez que nous pouvons faire une courbe de la moyenne accroupie la récompense par
rapport au temps.
Très bien, dans cette section de code, nous initialisons la carte et nous initialisons.
Par exemple, ladite variable.
Donc c'est important.
La deuxième variable sera en réalité un tableau dans lequel les cellules seront les pixels de la carte
et dans chaque cellule nous aurons un 1.
S'il y a un sens dans un zéro s'il n'y a pas de centre au début, nous ne dessinerons rien.
Il n'y aura donc aucun sens du tout et par conséquent toutes les cellules du tableau central auront un zéro.
Il y aura des zéros partout et dès que nous dessinerons un sens tandis que les cellules
sur lesquelles nous dessinons le sens en obtiendront un et que nous initialiserons la course avec tous les zéros envoyés ici à égaux et à zéros.
Ensuite, nous avons cette chose importante qui est le but.
Le but est donc un point sur la carte qui entraînera la voiture à atteindre.
Donc, c'est comme une destination.
Alors, quel est cet objectif va être.
Eh bien, cela va être le coin supérieur gauche de la carte pour permettre à tous de former la voiture pour aller dans le coin supérieur
gauche de la carte.
Et puis, une fois que cela aura atteint le coin supérieur gauche de la carte, nous aurons tendance à nous diriger
vers le coin inférieur droit de la carte pour imaginer le scénario suivant.
Le coin supérieur gauche de la carte est l'aéroport d'une ville et le coin inférieur droit de la carte est
le centre-ville de la ville.
Et nous formerons un taxi ou Uber pour faire des allers-retours entre l'aéroport et le centre-ville.
Et bien sûr, nous rendrons la tâche difficile à ce taxi en traçant des routes de plus en plus difficiles
et en ajoutant de plus en plus d'obstacles dans la rue pour voir si le taxi peut toujours arriver à se
rendre de l'aéroport au centre-ville.
Donc, ça va être amusant.
Et c’est la raison pour laquelle je mets ici les coordonnées du premier objectif, à savoir l’aéroport situé en haut
à gauche de l’écran.
Donc, la carte sera comme un carré comme celui-ci et les coordonnées de l'origine qui sont les coordonnées
00 est juste ici.
Et puis plus grande est cette distance ici.
Ainsi, les coordonnées 20 et Najah moins 20 seront donc ici au coin supérieur gauche de la carte.
Et pourquoi ai-je choisi 20 ans et non pas zéro?
Eh bien c'est parce que nous voulons former la voiture pour ne pas se précipiter dans les murs.
Vous savez que nous voulons aussi nous entraîner contre les murs et que, par conséquent, nous ne voulons pas être nuls parce que nous ne
voulons pas que la voiture touche la direction où nous voulons toucher.
Nous devons donc l'indiquer ici, puis j'introduis simplement la dernière variable de distance, qui indique simplement la
distance actuelle entre la voiture et la route et l'initialisation à zéro.
D'accord.
Et maintenant il est temps de faire la voiture et le jeu.
Nous allons donc faire deux classes, une classe pour la voiture et une classe pour le match.
Et à l’intérieur de ces classes, vous aurez déjà des liens avec notre intelligence artificielle.
Nous le ferons donc dans le prochain Statoil.
Et jusque-là profitez de moi