TC-IA · 3 ECTS

Introduction à l'Intelligence Artificielle

20h CM + 20h TP — 8 séances. Explorez l'IA embarquée, TensorFlow Lite, et les cas d'usage concrets pour Madagascar.

8 Séances 20h CM 20h TP 3 ECTS
1

Fiche IA embarquée — cas d'usage local

Semaine 9CM · 5h
Distinguer IA Cloud et Edge AI
Savoir expliquer
Comprendre les limites de l'IA sur microcontrôleur
Savoir faire
Identifier des cas d'usage IA+IoT à Madagascar
Savoir analyser
Utiliser Google Teachable Machine pour créer un prototype
Savoir produire

1. IA Cloud vs Edge AI

IA Cloud : le modèle est hébergé sur un serveur distant (AWS, GCP, Azure). Les données sont envoyées via Internet, traitées, et le résultat est renvoyé. Avantages : puissance de calcul illimitée, modèles complexes. Inconvénients : latence réseau, dépendance à la connexion, coût de bande passante, vie privée.

Edge AI : le modèle est exécuté directement sur le microcontrôleur ou le Raspberry Pi. Inférence en temps réel, pas de dépendance réseau, latence nulle. Idéal pour Tuléar où la connexion est instable. Inconvénients : mémoire et puissance limitées, modèles simplifiés.

CritèreIA CloudEdge AI
Lieu d'exécutionServeur distantMicrocontrôleur / RPi
Latence100 ms − 1 s (selon réseau)< 1 ms (temps réel)
Dépendance réseauObligatoireAucune
ConsommationÉlevée (serveur + réseau)Faible (mW)
Vie privéeDonnées envoyées à l'extérieurDonnées locales
Modèles possiblesGPT, YOLO, ResNet (illimité)TFLite quantifié, modèles < 1 Mo

2. Frameworks pour l'IA embarquée

TensorFlow Lite — version allégée de TensorFlow pour mobile et embarqué. Convertit un modèle .h5 ou .keras en .tflite. Supporte la quantification (float16, int8) pour réduire la taille et accélérer l'inférence.

Edge Impulse — plateforme en ligne pour créer des modèles ML optimisés pour microcontrôleurs (Arduino, ESP32, STM32). Idéale pour la classification audio, la détection de mouvement, etc.

Arduino TensorFlow Lite — bibliothèque expérimentale permettant d'exécuter des modèles .tflite directement sur Arduino Nano BLE 33 et ESP32.

3. Cas d'usage IA+IoT à Madagascar

  • Détection de maladies des plantes — caméra + modèle CNN sur RPi pour reconnaître le mildiou sur les feuilles de manioc. Alerte SMS immédiate.
  • Classification des poissons — reconnaissance automatique des espèces de poissons au débarquement des pirogues à Tuléar. Suivi des quotas.
  • Détection d'intrusion par audio — ESP32 + micro capte les sons (cris, moteurs, casse) et déclenche une alarme. Pas de caméra = respect de la vie privée.
💡 À retenir
L'IA embarquée est l'avenir de l'IoT. Un ingénieur IoT qui comprend l'IA est bien plus employable.
Exercice 1 — IA embarquée

a) Utilisez Google Teachable Machine pour entraîner un modèle de classification d'images (3 classes : capteur OK, capteur sale, capteur cassé). Exportez le modèle.

b) Identifiez et décrivez 3 cas d'usage IoT+IA spécifiques à Madagascar (hors exemples du cours).

c) BONUS — Déployez un modèle TensorFlow Lite sur ESP32 qui allume une LED si une température est classée comme "anormale".

✓ Corrigé 1c — TFLite sur ESP32
tflite_anomalie.inoArduino (ESP32)
#include <TensorFlowLite_ESP32.h>
#include "model_anomalie.h"

const int LED_ROUGE = 13;
float temperature = 0;

void setup() {
  Serial.begin(115200);
  pinMode(LED_ROUGE, OUTPUT);

  if (!tflite_setup()) {
    Serial.println("ERREUR TFLite");
    while (1);
  }
  Serial.println("Modèle TFLite chargé !");
}

void loop() {
  temperature = analogRead(34) * (3.3 / 4095.0) * 100;

  float input[1] = {temperature};
  float *output = tflite_infer(input);

  if (output[0] > 0.5) {
    digitalWrite(LED_ROUGE, HIGH);
    Serial.print("⚠ ANOMALIE détectée: ");
    Serial.println(temperature, 1);
  } else {
    digitalWrite(LED_ROUGE, LOW);
  }

  delay(1000);
}
2

Histoire de l'IA — des débuts à ChatGPT

Semaine 10CM+TP · 5h
Connaître les grandes étapes de l'IA (1950 à aujourd'hui)
Savoir expliquer
Distinguer IA symbolique, ML et DL
Savoir faire
Comprendre l'impact des LLM sur l'IoT
Savoir analyser
Replacer les innovations dans leur contexte
Savoir produire
Exercice 2

a) Créez une frise chronologique des 10 dates clés de l'IA.

b) Discutez : un LLM peut-il être embarqué sur un ESP32 ? Pourquoi ?

3

Machine Learning supervisé — régression, classification

Semaine 11CM+TP · 5h
Comprendre le principe de l'apprentissage supervisé
Savoir expliquer
Entraîner une régression linéaire et un k-NN
Savoir faire
Évaluer un modèle (RMSE, accuracy, matrice de confusion)
Savoir analyser
Classifier des états de capteurs (OK / DÉFAILLANT)
Savoir produire
Exercice 3

a) Entraînez un k-NN sur un dataset de mesures capteurs (température, humidité → état).

b) Calculez la matrice de confusion et l'accuracy.

4

Machine Learning non supervisé — clustering, PCA

Semaine 12CM+TP · 5h
Comprendre l'apprentissage non supervisé
Savoir expliquer
Appliquer K-Means pour segmenter des données capteurs
Savoir faire
Réduire la dimensionnalité avec PCA
Savoir analyser
Détecter des modes de fonctionnement cachés
Savoir produire
Exercice 4

a) Appliquez K-Means (k=3) sur un jeu de données multi-capteurs. Interprétez les clusters.

b) Utilisez PCA pour visualiser les données en 2D.

5

Deep Learning — réseaux de neurones, CNN, RNN

Semaine 13CM+TP · 5h
Comprendre le neurone formel et la rétropropagation
Savoir expliquer
Construire un MLP avec Keras
Savoir faire
Comprendre CNN pour les images et RNN pour les séries temporelles
Savoir analyser
Prédire la prochaine valeur d'un capteur avec un RNN
Savoir produire
Exercice 5

a) Construisez un MLP à 3 couches avec Keras pour classifier des données capteurs.

b) Comparez les performances avec un k-NN.

c) BONUS : Entraînez un RNN (LSTM) pour prédire la température à 5 pas de temps.

6

Edge AI avec TensorFlow Lite — conversion et déploiement

Semaine 14CM+TP · 5h
Comprendre la quantification (float32 → int8)
Savoir expliquer
Convertir un modèle Keras en .tflite
Savoir faire
Déployer et exécuter le modèle sur ESP32
Savoir analyser
Mesurer le temps d'inférence et la consommation
Savoir produire
Exercice 6

a) Convertissez un modèle Keras de classification en TFLite quantifié.

b) Déployez-le sur ESP32 et mesurez le temps d'inférence.

c) Comparez la taille du modèle avant/après quantification.

7

Éthique de l'IA — biais, transparence, impact social

Semaine 15CM+TP · 5h
Comprendre les biais algorithmiques
Savoir expliquer
Analyser la transparence des modèles
Savoir faire
Évaluer l'impact social de l'IA à Madagascar
Savoir analyser
Proposer des garde-fous éthiques pour un projet IoT
Savoir produire
Exercice 7

a) Identifiez 3 biais potentiels dans un système IoT+IA à Madagascar.

b) Débat : faut-il autoriser la reconnaissance faciale dans les espaces publics à Tuléar ?

8

Projet IA — classifier des données capteurs avec ML embarqué

Semaine 16CM+TP · 5h
Intégrer tout le pipeline IA : collecte → entraînement → déploiement
Savoir expliquer
Entraîner un modèle sur des données réelles
Savoir faire
Déployer le modèle sur un microcontrôleur
Savoir analyser
Présenter le projet avec démonstration
Savoir produire
Projet

a) Collectez des données depuis un capteur (température, accéléromètre, micro, etc.).

b) Entraînez un modèle de classification sur ces données (normal / anomalie).

c) Convertissez en TFLite et déployez sur ESP32 ou Arduino.

d) Présentez le projet : problème, données, modèle, résultats, démo live.