L'intelligence artificielle n'est pas de la magie, c'est une science basée sur des données. À travers une activité de tri d'images, nous allons découvrir les trois grandes familles d'apprentissage (supervisé, non supervisé et par renforcement) pour savoir quelle méthode utiliser pour notre poulailler. Vous allez faire une expérience de triage. En groupe vous testerez des méthodes d'apprentissages différentes.
L'élève qui écoute le maitre.
But : Trier les images en deux tas : les rouges d'un côté et les jaunes de l'autre.
L'enseignant vous présente les dix premières images une par une et vous dit explicitement "Cette image est rouge" ou "Cette image est jaune". Vous ne décidez pas seul, vous écoutez la consigne et mettez les images dans le bon tas.
A partir de la onzième image, l'enseignant arrête de vous présenter les couleurs. Vous continuez alors à trier les cartes restantes en vous basant sur ce que vous avez appris.
L'explorateur face à l'inconnu
But : Trier les images sans explication particulière
Vous observez les trente cartes, mais ne recevez aucune consignes quant aux couleurs.
Regroupez les cartes qui se ressemblent selon VOS propres critères. Justifiez la composition de vos groupes à la classe.
Le robot qui essaie, se trompe, et apprend de ses erreurs.
But : Trouver la règle secrète pour gagner un maximum de point.
Un camarade connait une règle secrète ( exemple tas 1 = fruits à noyau et tas 2 = fruits à pépins, ou tas 1 = fruits avec feuilles et tas 2 = fruits sans feuille).
Vous ne connaissez pas la règle et pour chaque image vous décidez de la placer dans le tas 1 ou 2.
Votre camarade vous avertie si le placement est le bon ou non et vous donne 1 point pour chaque bonne réponse.
A mesure des essais vous essayez de comprendre la règle pour maximiser votre score.
C’est la méthode la plus courante. On donne à l'IA des exemples déjà étiquetés (la réponse est fournie avec la question).
L'analogie : C'est comme réviser avec des cartes mémoire (flashcards). D'un côté il y a l'image, de l'autre le nom. L'élève regarde l'image, essaie de deviner, puis vérifie la réponse.
Le principe : On fournit à la machine des milliers d'images de "chats" et de "chiens" en lui disant explicitement ce qu'elles sont. À force, elle comprend les caractéristiques (oreilles, museau) qui définissent chaque animal.
Exemple concret : Le filtre anti-spam de tes emails. On lui a montré des millions de messages "Spam" et de messages "Normaux" pour qu'il sache les reconnaître.
Ici, il n'y a pas de professeur, pas d'étiquettes, et pas de "bonne réponse" prédéfinie. L'IA doit se débrouiller seule pour trouver des structures.
L'analogie : Imagine qu'on te donne une immense boîte de briques LEGO en vrac. On ne te dit pas ce que c'est, mais tu décides de les ranger par couleur ou par forme. Tu as créé des groupes (clusters) sans qu'on te dise quoi faire.
Le principe : L'IA analyse les données et regroupe celles qui se ressemblent.
Exemple concret : Les recommandations Netflix ou Spotify. L'IA remarque que les gens qui aiment le film A aiment aussi souvent le film B. Elle les regroupe dans une catégorie "Si vous avez aimé..." sans que personne ne lui ait dit que ces films étaient du même genre.
C’est une méthode basée sur l'expérience : l'IA apprend par essais et erreurs pour atteindre un objectif.
L'analogie : C'est comme dresser un chien ou jouer à un jeu vidéo pour la première fois. Si le chien fait une action (donner la patte), il reçoit une récompense (une croquette). S'il fait une bêtise, il n'a rien. Dans un jeu, si tu tombes dans un trou, tu perds (punition) ; si tu ramasses une pièce, tu gagnes (récompense).
Le principe : L'IA (l'agent) explore un environnement. Chaque "bonne" action lui donne des points, chaque "mauvaise" lui en enlève. Elle va chercher à maximiser son score.
Exemple concret : Les voitures autonomes (apprendre à rester sur la route sans toucher les obstacles) ou les IA qui battent les champions de jeux d'échecs ou de Go.
Avant de construire ou de coder, nous devons concevoir l'architecture du système. Comment organiser les composants pour qu'ils collaborent ensemble ?
Le système automatisé a pour objectif d’ouvrir la porte uniquement aux poules, et d’empêcher l’accès aux autres animaux comme le renard ou la fouine.
Tout d’abord, le système acquiert des informations grâce à une caméra reliée à un ordinateur qui capture des images des animaux présents devant la porte. Une intelligence artificielle entraînée avec Teachable Machine (un outil de Google) analyse ces images et reconnaît s’il s’agit d’une poule ou d’un autre animal. Quand l’IA identifie un animal, elle envoie un résultat texte simple : « Poule », « Renard » ou « Fouine ».
Ensuite, ces informations sont traitées par une carte Micro:bit, qui décide si la porte doit s’ouvrir ou rester fermée. En fonction du résultat de l’analyse, la carte envoie des informations aux utilisateurs à l’aide d’une matrice de LED, permettant de visualiser le résultat de la reconnaissance.
L’électricité nécessaire (5 V) arrive par un câble USB branché sur l'ordinateur ou une batterie et est distribuée par l'automate à l’ensemble des composants. Cette énergie est ensuite convertie par un servomoteur, qui transforme l’énergie électrique en mouvement mécanique.
Enfin, le mouvement est transmis à l’aide d’un système de pignon et crémaillère, ce qui permet d’ouvrir mécaniquement la porte lorsque l’animal reconnu est une poule. Si l’animal n’est pas autorisé, la porte reste fermée.
Carte Micro:bit
+ shield grove
caméra USB
servomoteur
PC
Attention, ici le système est décentralisé. La caméra ne se branche pas sur la carte Micro:bit mais sur le PC. C'est une architecture IoT (Internet des objets). La carte Micro:bit n'est pas assez puissante pour faire de la reconnaissance d'images par IA. Le PC fera les calculs lourds et transmettra à la carte un résultat simple ("Poule", "Renard", "Fouine").
Imaginez un bébé qui n'a jamais vu d'autres chiens que celui de sa famille : un petit bichon blanc tout mignon. Pour lui, un chien, c'est : petit, blanc et frisé. Si, demain, ce bébé croise un Dogue Allemand (un énorme chien noir et marron) ou un Carlin (tête plate et corp plissé), que va-t-il dire ? "Ce n'est pas un chien !" Pourquoi ?
Parce qu'il n'a pas vu assez d'exemples différents. Il n'a pas généralisé la notion de "Chien". L'IA, c'est pareil. Si on ne lui montre que des poules rouges vues de face, elle ne saura pas reconnaître une poule noire vue de dos. C'est pour ça qu'il faut beaucoup d'images variées."
Au cours de cette séance, nous allons nous concentrer sur : L'Apprentissage Supervisé. Nous découvrirons comment préparer des données, entraîner un modèle et tester son efficacité pour créer notre propre système de reconnaissance d'images.
Après avoir extrait l'archive, vous disposerez que quatre dossiers. Vérifiez rapidement chaque image et supprimez celles qui ne vous semblent pas exploitables (trop sombres, trop floues, animaux coupés car mal cadrés).
https://teachablemachine.withgoogle.com/
Teachable Machine est un outil Web accessible à tous, qui permet de créer des modèles de machine learning rapidement et facilement.
Trois étapes : Créez votre modèle de données / Entrainez le modèle / Testez
Créez trois classes :
Poules
Renards
Fouines
Importez vos images par Glisser/déposer
Entrainez le modèle
(Vous pouvez étudier les paramètres avancés)
Mauvaise pratique :
toutes les poules → dans un poulailler
tous les renards → neige
toutes les fouines → nuit / forêt
L’IA apprend tant le décor que l’animal.
Bonne pratique :
Pour CHAQUE classe, varier les paramètres des photos :
intérieur / extérieur
lumière forte / faible
fond flou / net
animal centré / excentré
On entraîne l’IA à reconnaître :
poule
renard
fouine
rien d’intéressant
Résultat :
L'IA reconnait les animaux enseignés, mais également l'environnement sans ces animaux.
Dans Teachable Machine :
Paramètres conseillés
Confidence threshold : 0.6 à 0.75 (pas 0.3 !)
“Si l’IA n’est pas sûre à 70 %, elle ne se prononce pas.”
Résultats :
Si un animal inconnu apparait, L'IA n'hallucinera pas en affirmant qu'il s'agit d'un animal connu.
Dans un premier temps nous allons programmer un système de porte automatisée SANS IA, uniquement équipé d'un détecteur crépusculaire. La porte se ferme automatiquement au crépuscule et s'ouvre automatiquement à l'aube. La mesure de la lumière se fera grace au capteur intégré de la carte Micro:bit et les ordres d'ouverture et de fermeture de la porte seront donnés en fonction d'un seuil défini.
Vous programmerez depuis makecode : https://makecode.microbit.org/#editor
Vous ajouterez l'extension "Servos" pour piloter le servomoteur)
Vous trouverez les différents capteurs dans l'onglet "Entrée"
Au démarrage
définir seuil à 64
mettre servo à 0°
Toujours
Si intensité lumineuse
<= seuil alors
montrer icône "😑"
mettre servo à 0°
sinon
montrer icône "🙂"
mettre servo à 90°
Maintenant que nous sommes assurés que l'automate ainsi que le servomoteur fonctionnent parfaitement, nous sommes prêts à exploiter notre modèle d'IA entrainé précedement. Nous utiliserons MakeAIrobots qui sera l'interface entre notre automate (Micro:bit) et notre modèle de machine learning (Teachable machine).
Trois étapes clés :
Il faut exporter le modèle d'IA préalablement entrainé depuis teachablemachine (IA)
Bouton "Exporter le modèle" / Tensorflow.js / Importer (lien partageable) / Bouton "Importer mon modèle" / Bouton "Copier le lien"
Programmer la carte Micro:bit depuis le site Makecode (automate)
Connecter l'ensemble grâce au site MakeAIrobots (interface)
Le principe de fonctionnement :
La caméra transmet le flux vidéo à l'interface.
L'interface intérroge l'IA pour reconnaitre d'éventuels animaux.
Si l'IA reconnait un nouvel animal alors l'interface envoie l'information à l'automate par le port série sous forme d'une chaine de caractères.
L'automate agit ensuite en fonction de la chaine reçue.
Au démarrage
Communication série associée au port USB
Si de nouvelles données sont reçues
Lire l'information reçue et mettre à jour SerialData
SI SerialData== "Renard"
OU SerialData== "Fouine" ALORS
Servo -> 0° (Fermé)
Afficher "💀" sur LED
SINON
Servo -> 90° (Ouvert)
Afficher "❤︎" sur LED
FIN SI
Décrire les liens entre usages et évolutions technologiques
L’évolution des OST
Grands types d’apprentissage de l’IA :
supervisé
non supervisé
par renforcement
Usages de l’IA :
reconnaissance
classification
prédiction
Incidences sociétales :
biais
effets de l’usage de l’IA