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.