ECTS
30 crédits
Composante
ENSEIRB-MATMECA
Code interne
EIS9IA
Liste des enseignements
UE I9IA-A - Connaissance et Raisonnement
6 créditsUE I9IA-B - Science des Données et Apprentissage
6 créditsUE I9IA-C -Applications de l'Intelligence Artificielle
6 créditsUE I9IA-E - Parcours de Professionnalisation
7 créditsUE Langues et culture de l'ingénieur
5 crédits
UE I9IA-A - Connaissance et Raisonnement
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Algorithmes de Recherche
Composante
ENSEIRB-MATMECA
Ce module permet de d'approfondir les liens entre Intelligence Artificielle et complexité algorithmique liée aux problèmes de décision et de recherche de solution. Y sont introduits les concepts d'heuristiques pour les jeux, pour la recherche dans les graphes d'états ainsi que les approches d'optimisations à l'aide de méta-heuristiques. SAT, la programmation par contraintes et answer set programming permettent de découvrir les approches déclaratives et à base de modélisation.Les cours sont mis en pratique à l'aide de TP en python.Plan du cours :Algorithmique des jeux avancée (3h / 6h)Rappels Heuristiques, Alpha-Béta, Iterative DeepeningAlgos sur des fenêtres nullesMonte Carlo Tree SearchPrincipes du Deep Reinforcement Learning pour les arbres de jeuxRecherches dans les graphes d'état (2h / 3h)Heuristique, A*Recherche localeRecherches méta-heuristiques (1h / 3h)Optimisation par colonies de fourmisAlgorithmes GénétiquesSAT et Programmation par Contraintes (3h / 3h)Answer Sets Programming (4h / 6h)Livre de référence : Intelligence Artificielle, une approche moderne (Stuart et Russell)
Représentation des Connaissances
Composante
ENSEIRB-MATMECA
Ce module permet d'appréhender les problématiques de représentations des connaissances en mettant en évidence le lien entre le pouvoir d'expression du langage représentant la connaissance avec l'efficacité pratique de sa manipulation. Le plan du cours est le suivant :Systèmes d'aides à la décision (2h / 3h)Systèmes à base de règlesBases de connaissances et raisonnementCompilation de bases de connaissances (requêtes / manipulation / transformation) (2h / 3h)Logique Propositionnelle / Impliquants / Impliqués Premiers / ROBDDApplications aux diagnostics de systèmes / configuration / inférence BayésienneNotions de causalités (2h / 2h)Ontologies (8h / 6h)Langages d'ontologies: logiques de description, standards du Web Sémantique (OWL, RDF, SPARQL)Raisonner sur les ontologies: principales techniques algorithmiques (tableaux, saturation, réécriture de requêtes), complexité du raisonnementConstruction d'ontologies: méthodologie, utilisation de l'éditeur d'ontologies ProtégéLes cours sont mis en pratique à l'aide de TP en python, ainsi que Protégé pour la partie Ontologies.
Intelligence Artificielle pour les Jeux Vidéos
Composante
ENSEIRB-MATMECA
Ce module permet de découvrir les approches IA utilisées dans le domaine du jeu vidéo, ayant des contraintes temps réel très fortes. Le plan est le suivant :
- Introduction à l'IA pour les jeux vidéos (1h)
- Steering Behaviors (1h/3h)
- A* pour le pathfinding (1h/3h)
- Goal Oriented Action Planning / Behavior Trees (2h/2h)
- Automates cellulaires (1h / 2h)
UE I9IA-B - Science des Données et Apprentissage
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Apprentissage automatique
Composante
ENSEIRB-MATMECA
Fondamentaux de l'apprentissage automatique : apprentissage supervisé/non-supervisé, classification/régression, optimisation, surapprentissage, généralisation, etc.
Régression linéaire et modélisation probabiliste (maximum de vraisemblance, maximum a posteriori)
Classifieurs linéaires : régression logistique, descente de gradient, classifieur bayésien
SVM et méthodes à noyaux
Arbres de décision et combinaison de modèles (bagging, boosting, etc).
Apprentissage non-supervisé (clustering) et réduction de dimension
Traitement de séries temporelles, chaînes de Markov
Introduction au traitement du langage naturel (NLP)
Apprentissage profond
Composante
ENSEIRB-MATMECA
Réseaux de neurones et perceptron multicouches : architectures, fonctions d'activation, algorithme de rétropropagation du gradient, fonctions de perte
Techniques d'apprentissage profond : momentum, batch normalization, dropout, data augmentation, etc.
Réseaux de neurones convolutifs
Réseaux de neurones récurrents
Apprentissage de représentations, modèles génératifs : auto-encodeurs, GANs, etc.
Introduction au traitement du langage naturel (NLP)
Mécanisme d'attention et architectures type Transformers
Apprentissage par renforcement
Composante
ENSEIRB-MATMECA
Ce cours est une introduction à une branche de l'apprentissage automatique ("machine learning") appelée apprentissage par récompense ("reinforcement learning", RL). Dans ce cours nous aborderons les modèles principaux utilisés en RL : les bandits manchots ("multi-armed bandits"), les processus de décision Markoviens ("Markov decision process"), et leurs extensions multi-agents et à observation partielle, à la fois dans le cadre dynamique et dans le cadre d'approximation de fonctions (par réseaux de neurones en particulier). Nous étudierons les algorithmes les plus importants : value iteration, strategy iteration, Q-learning, DQN (Deep Q-learning). Ils seront implémentés en Python.
UE I9IA-C -Applications de l'Intelligence Artificielle
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Vision par ordinateur
Composante
ENSEIRB-MATMECA
Bases de la vision par ordinateur : formation et géométrie de l'image, filtres/contours, caractéristiques visuelles.
Classification, détection d'objets et segmentation sémantique : principes des CNNs, architectures R-CNN/YOLO, U-Net, Mask R-CNN, etc.
Modèles génératifs pour le traitement et l'analyse d'images (VAEs, GANs, etc).
Autres approches de l'état de l'art.
Réalisation d'un projet mettant en œuvre les concepts étudiés.
Outils pour l'apprentissage
Composante
ENSEIRB-MATMECA
Ce cours aborde les défis posés par les réseaux neuronaux modernes, qui nécessitent une mémoire et une puissance de calcul importantes, rendant difficile leur déploiement sur des dispositifs mobiles et périphériques. De plus, l'échelle et la complexité croissantes des réseaux neuronaux rendent l'entraînement très exigeant en ressources, créant souvent des goulets d'étranglement qui ralentissent les progrès des applications d'IA. Le cours est divisé en deux parties principales : l'amélioration de l'efficacité de l'inférence et l'optimisation du processus d'entraînement.
Dans la première partie, les étudiants se concentreront sur l'amélioration de l'efficacité de l'inférence en évaluant l'efficacité des réseaux neuronaux et en appliquant diverses techniques de compression, telles que le pruning, la factorisation tensorielle et la quantization, afin de créer des modèles plus petits et plus rapides sans perte de précision. La deuxième partie du cours est consacrée à l'optimisation du processus d'entraînement, en abordant les défis liés à la mise à l'échelle et à la complexité de l'entraînement des modèles d'IA modernes. Les étudiants exploreront des techniques telles que les méthodes d'économie de mémoire, y compris la re-materialization (activation checkpointing) et le offloading, ainsi que différents types de parallélisme—data, tensor, model, et pipeline parallelism—qui sont essentiels pour un entraînement efficace.
Le profilage des réseaux neuronaux pour identifier les goulets d'étranglement est souligné tout au long du cours, aidant les étudiants à comprendre et à résoudre les problèmes de performance tant pour l'inférence que pour l'entraînement. À la fin du cours, les étudiants auront acquis les compétences nécessaires pour optimiser la performance des réseaux neuronaux et réussir le déploiement et l'entraînement de modèles d'IA avancés dans des scénarios réels.
Ingénierie logicielle pour l'IA
Composante
ENSEIRB-MATMECA
Données déséquilibrées
Choix du modèle, choix de la métrique
Travail sur les données
Application à un cas industriel sur données de capteurs
Détection d'objets
Utilisation de modèles pré-entraînés
Transfer learning
Application à un cas industriel sur données de vision par ordinateur
Déploiement
Packaging d'un modèle ML
Usage de FastAPI et Docker
Notions de monitoring d'un modèle
Intelligence artificielle musicale
Composante
ENSEIRB-MATMECA
* Traitement de représentations numériques musicales symboliques (MIDI, MusicXML) et audio.* Extraction de descripteurs haut niveau et encodages pour l'apprentissage automatique (segmentation en vecteurs, tokenization)* Classification stylistique et détection de structure (régression logistique, HMMs, MLP, RNNs)* Génération de contenu (chaînes de Markov, RNNs)* Autres techniques d'apprentissage automatique dans le domaine du Music Information Retrieval* Réalisation d'un projet mettant en œuvre les concepts étudiés.
Analyse de vidéos
Composante
ENSEIRB-MATMECA
Ce projet s'intéresse à l'aide à la préhension par des outils de vision par ordinateur aux amputés des membres supérieurs équipés de neuroprothèses.
Suivi des objets à saisir dans la vidéo égocentrée: approche par l'apprentissage incrémental temporel
Bases technologiques d'un flux vidéo
Estimation de déplacement
CNN et modèles attentionnels pour la vidéo
Introduction à l'apprentissage continu
Cours enseigné en anglais.
UE I9IA-E - Parcours de Professionnalisation
ECTS
7 crédits
Composante
ENSEIRB-MATMECA
Projet Semestriel
Composante
ENSEIRB-MATMECA
Projet proposé par une entreprise ou un labo de recherche
Durée : tout le semestre
Créneau horaire : vendredi après-midi
Séminaires Professionnels
Composante
ENSEIRB-MATMECA
Workshop AI4Industry
Conférences et séminaires sur des thématiques IA ou connexes
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.