Découvrez nos
ressources
Matériel :
- 1 robot minimum
- 1 ordinateur/robot
- Arène de base
Paramétrage :
- Apprentissage supervisé - Évitement d'obstacles (simple)
Durée :
30 minutes
Age :
8 ans et +
Les + de cette activité :
- Quantité de points de données très faibles.
- Facile à faire comprendre aux enfants les plus jeunes.
- Introduit des notions complexes pour aller plus loin dans la compréhension.
Recommandé pour découvrir en manipulant
Cette activité introduit parfaitement l’IA en utilisant le capteur ultrason et en expliquant en détail comment le robot prend une décision. Le robot est au d’abord entraîné par l’élève avec une quantité très limitée de points de données puis fonctionne parfaitement et nous permet de mieux comprendre la prise de décision du robot.
Contenu vidéo [en cours de réalisation]
Introduction
Construisez votre arène de manière à former un carré. Nous vous recommandons d’utiliser une arène conçue par Learning Robots, mais vous pouvez également construire votre propre arène.
Configuration
La configuration du logiciel peut se faire manuellement ou automatiquement.
Pour le configurer automatiquement :
Paramètres > Charger les paramètres d’exemple > Apprentissage supervisé – Évitement d’obstacles (simple)
La configuration peut également se faire manuellement en suivant les indications ci-contre.
- Capteurs > Ultrasons

- Actions > Avancer , Tourner

- IA > Type d’apprentissage”Apprentissage supervisé”, Algorithme« réseau de neurone », Vitesse d’apprentissage« 0.02 »,Couches de neurones intermédiaires : vide.

- Visualisation > Sélectionnez : « animation », « connexions », « activité synaptique », « valeurs entrée/sortie »

Entrainement
L’apprentissage du robot mBot peut se réaliser en seulement deux actions :
Lui apprendre à avancer tout droit lorsqu’il n’y a pas d’obstacle.
Lui apprendre à tourner (à droite ou à gauche) s' il y a un obstacle.
Avancer :
Dégagez tout objet se trouvant devant le robot et appuyez sur la flèche « ⇧ » de votre clavier ou cliquez sur l’action « Avancer » à droite de l’écran.

Tourner :
Placez un objet devant le robot et appuyez sur la flèche « ⇦ ou ⇨ » de votre clavier ou cliquez sur l’action « Tourner à droite » à droite de l’écran.

CA Y EST !
Votre robot est entraîné ! Appuyez désormais sur la barre espace ou cliquez sur « autonome » en bas à gauche de l’écran et laissez le robot se déplacer librement et réagir aux obstacles sur son passage.

A retenir :
En apprentissage supervisé, on entraîne l’IA à partir d’exemples. L’IA adapte son comportement de manière à reproduire ces exemples.
Compréhension
Partie 1
Comment le robot prend-il ses décisions ?
Désactivez le mode « Autonome » et « Apprentissage » en re-cliquant sur les boutons correspondants :


Chacun des petits carrés représente un neurone. On remarque que sur le neurone d’entrée (à gauche) la valeur augmente quand la distance augmente. (la valeur est égale à la distance en mètre). La valeur d’un neurone s’appelle le niveau d’activation.



Pour ce qui est des 3 neurones de sortie (à droite), chacun obtient une valeur calculée. L’action correspondant à la valeur la plus élevée est celle qui sera choisie. S’il n’y a pas d’obstacle, c’est l’action que l’on donne en exemple au robot lorsqu’il n’y a pas d’obstacle, qui obtient la plus grande valeur. Dans notre cas, c’est l’action « Avancer ».

Sans obstacle « Avancer » = 6.39 « Tourner » = -6.23:

Avec obstacle « Avancer » = -0.24 « Tourner » = 3.28:
Partie 2
Comment sont calculés les niveaux d’activation des neurones ?
Mettre le logiciel en mode avancé : Paramètres > Affichage des paramètres > Avancé.
Puis afficher les valeurs qui nous intéressent : Visualisation > Valeur des connexions.

On voit apparaître 6 nouvelles valeurs:
Les 3 « poids » des connexions entre les neurones. (en noir, à côté du symbole *)

Les 3 « biais neuronaux » ou « valeurs au repos » : placées sur les connexions à côté de chaque neurone de sortie. (Entre parenthèses)
La valeur de sortie la plus élevée sera choisie comme action par le robot. Ces valeurs sont calculées par la formule suivante :
Sortie = Entrée * Connexion + Biais

4.00*2.50+(-0.79)=9.20
Partie 3
On remarque que l’équation précédente a la même forme que l’équation d’une droite :
y = a x + b.
y = Sortie, a = Poids de la connexion, x = Entrée, b = Biais
En mettant la formule sous cette forme on comprend que modifier a, x ou b modifiera le résultat y.
Nous pouvons donc vérifier la formule en modifiant une de ces valeurs. Parmi ces valeurs il n’existe qu’une seule valeur que nous pouvons modifier.
Il s’agit de l’entrée (x). En effet x représente le neurone d’entrée. Dans notre cas, le neurone d’entrée est le capteur ultrason du robot. Pour modifier la valeur de x il vous suffit d’approcher ou d’ éloigner votre main ou un objet du capteur ultrason du robot.
Obstacle très proche
En mettant sa main très proche du capteur ultrason on fait baisser la valeur de l’entrée x, puisque celle-ci est égale à la distance mesurée par le capteur.
Lorsque la valeur de l’entrée x est petite, les niveaux d’activation y des neurones de sortie se rapprochent des valeurs de biais b.
Dans ce cas, c'est l'action Tourner qui l’emporte car elle a la plus grande valeur de biais.


Éloigner l’obstacle
En éloignant sa main du capteur, on augmente progressivement la valeur de l’entrée x.
Lorsque la valeur de l’entrée x augmente, les niveaux d’activation y des neurones de sortie s’éloignent des biais neuronaux b. La valeur de l’action Tourner diminue car le poids de sa connexion est négatif, tandis que la valeur de l’action Avancer augmente car sa connexion est positive.


À partir d’une certaine valeur de x, c’est l’action Avancer qui l’emporte car sa valeur dépasse les autres.
Partie 4
Réinitialiser l’IA

Lorsque l’on réinitialise l’IA, les valeurs des connexions (a) et des biais (b) sont remplacées par des valeurs aléatoires. Vérifiez par vous-même !
Lorsque l’apprentissage est en cours (bouton « Apprentissage » actif et « mémoire d’expérience » non vide), les poids des connexions et des biais évoluent : c’est l’apprentissage automatique.

+ Mémoire d’expérience : 36 = Variation de (+3.78)
En revanche, lorsque l’apprentissage est arrêté (bouton « Apprentissage » blanc ou « mémoire d’expérience » vide), les valeurs de connexions et de biais se figent.

OU Mémoire d’expérience : vide = Fixation de (+3.78)
À retenir :
L’apprentissage supervisé est une méthode d’apprentissage automatique qui permet à un réseau de neurones d’apprendre un comportement à partir d’exemples donnés par des humains.
Lorsqu’un réseau de neurones apprend, ses paramètres internes (poids des connexions et valeurs des biais) évoluent. Ils se figent lorsque l’apprentissage est terminé.
Bonus
Si vous le souhaitez, vous pouvez ajouter des actions au robot et améliorer son entraînement afin de rendre ses déplacements plus complexes, plus naturels, et afin qu’il puisse sortir des impasses plus facilement.
Dans le volet « Actions » ajoutez par exemple « Reculer » et apprenez au robot également à reculer lorsqu’il est trop proche d’un obstacle.

Vous pouvez aussi régler le degré du virage. Dans le volet « Actions » activez l’action « Tourner légèrement ». Vous pourrez entraîner le robot à effectuer un virage plus ou moins fort selon la distance avec l’obstacle.
Remarque : Lorsque le robot arrive en diagonale sur un obstacle, le capteur ultrason ne détecte pas bien cet obstacle. Savez-vous pourquoi ?

Pour résoudre ce problème, rdv dans l’activité 4 : Évitement d’obstacle complexe