Découvrez nos
ressources

🚩 Algorithme : Détection d’intrus

Matériel nécessaire :

  • 1 robot minimum
  • 1 ordinateur/robot
  • un objet plat (boĂ®te, planche, smartphone…)

‍

Configuration logiciel :

  • configuration d'exemple : “dĂ©tection d’intrus”

Durée :

2 heures

Age :

15 ans et +

‍

Les + de cette activité : 

  • IdĂ©al Ă  faire en classe
  • Peu de matĂ©riel nĂ©cessaire
  • Pluridisciplinaire (maths / informatique)

‍

Compréhension mathématique des réseaux de neurones à travers une activité basée sur le capteur à ultrasons du robot. On y découvre notamment pourquoi on a besoin de couches de neurones intermédiaires.

[Contenu vidéo à venir]

‍

Mise en place

Placez le robot à côté de l’ordinateur, face à un mur (ou une planche d’arène) à environ 50 cm, et munissez-vous d’un objet à côté plat (une boîte, une planche, un smartphone) qui jouera le rôle de l’intrus.

Chargez la configuration "Détection d’intrus" dans la catégorie "Édition manuelle". Ce scénario utilise uniquement le capteur à ultrasons.

Toute l’activité est réalisée en mode "édition manuelle", c'est-à-dire que l’on va choisir soi-même les paramètres du réseau de neurones sans faire appel à un algorithme d’apprentissage.

‍

‍

Présentation de l’interface

Dans cette activité, votre écran principal comporte deux visualisations :

  • En bas, le rĂ©seau de neurones Ă©tudiĂ©. Au dĂ©but de l'activitĂ©, le mode Ă©dition manuelle (dans les boutons en bas de votre interface du logiciel) doit ĂŞtre activĂ©, ce qui permet de modifier soi-mĂŞme les paramètres du rĂ©seau de neurones. Pour modifier la valeur d'une connexion, placez votre souris sur cette connexion (elle devient rouge), puis utilisez votre clavier pour entrer la valeur souhaitĂ©e ou la molette de votre souris pour modifier la valeur actuelle. Pour modifier la valeur du biais d'un neurone, placez votre souris sur le neurone lui-mĂŞme (pas l'affichage de la valeur), puis procĂ©dez comme pour les connexions.
  • En haut, un graphique reprĂ©sentant l'espace d'Ă©tats. En abscisse, la distance mesurĂ©e par le capteur Ă  ultrasons. En ordonnĂ©e, les niveaux d'activation des neurones de sortie. Il y a deux courbes reprĂ©sentĂ©es car il y a deux neurones de sortie. La correspondance courbe/neurone est indiquĂ©e par un code couleur. La valeur des neurones de sortie est une fonction de la valeur d'entrĂ©e (la distance). La couleur de fond du graphique indique quelle courbe est au-dessus de l'autre pour chaque valeur d'entrĂ©e, et donc quelle action sera choisie par le robot pour cette valeur d'entrĂ©e.

‍‍

‍

‍

‍Objectif et problématique

Le robot est face à un mur et doit biper lorsque quelqu’un (un intrus) passe entre lui et le mur.

Il faut configurer le réseau de neurones pour accomplir cette tâche. Puisque le seul capteur utilisé est le capteur à ultrasons, l’objectif est d’obtenir un bip lorsque la distance est faible, et l’action "ne rien faire", lorsque la distance est normale.

‍

‍

Intégration de biais neuronaux

Les simples paramètres "poids des connexions" sont insuffisants pour accomplir cette tâche. Il faut activer l’option "biais neuronal" (dans l’onglet IA), cela débloque de nouveaux paramètres qui vont nous permettre d’atteindre cet objectif.

‍

‍

Tentative de triche

Problématique

Un intrus tente de tricher en exploitant les caractéristiques du capteur à ultrasons : si le côté plat est placé en diagonale par rapport au capteur, les ondes rebondissent et la distance captée est alors bien supérieure à celle du mur ! Il faut adapter notre réseau de neurones pour détecter également cette tentative de triche.

Couches de neurones intermédiaires

Pour cela, nous aurons besoin d’ajouter une couche intermédiaire à notre réseau de neurones (dans l'onglet IA), afin d’obtenir un modèle non-linéaire grâce aux fonctions d’activation.

‍

‍

‍

‍

Bilan et retours d'expérience

Je retiens :

  • Un rĂ©seau de neurones est un ensemble de neurones organisĂ© par couches. Chaque couche peut comporter un ou plusieurs neurones.
  • Les neurones sont des objets abstraits contenant une simple valeur numĂ©rique.
  • Les neurones sont reliĂ©s entre eux par des connexions dont les valeurs sont appelĂ©es poids.
  • Chaque neurone possède Ă©galement un biais qui est ajoutĂ© Ă  la valeur du neurone.
  • Les valeurs de neurones de la couche d’entrĂ©e sont dĂ©terminĂ©es par les valeurs des capteurs.
  • Les neurones de la couche de sortie correspondent aux actions du robot. En mode autonome, c’est toujours l’action avec la valeur la plus Ă©levĂ©e qui est sĂ©lectionnĂ©e.
  • Les couches intermĂ©diaires permettent au rĂ©seau d’accomplir des tâches plus complexes. On voit sur le graphique que les droites des neurones de sortie sont remplacĂ©es par des courbes de plus en plus complexes lorsqu’on augmente le nombre de couches intermĂ©diaires.
  • EntraĂ®ner un rĂ©seau de neurones consiste simplement Ă  choisir une valeur pour chacun de ses paramètres : poids des connexions et biais des neurones. Lorsque le nombre de neurones et de connexions devient important, cette tâche complexe est rĂ©alisĂ©e par un algorithme d’apprentissage !

‍

Cursus liés