Découvrez nos
ressources

Activité : 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 "Apprentissage supervisé". 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 !