PIA - Projet d'Intelligence Artificielle
Appartient à l'UE Intelligence artificielle
Personnes enseignantes
##Description générale du cours L’intelligence artificielle s’invite dans tous les secteurs. Toutefois, contrairement à ce que l’on peut penser, l’IA n’est pas une technologie unique. Il existe de nombreuses branches et sous-catégories telles que le Machine Learning et le Deep Learning. Dans cette UE, nous allons découvrir l’apprentissage par renforcement (Reinforcement Learning). Vous utiliserez le langage de programmation Python et des librairies spécialisées dans le traitement des données comme par exemple Numpy, Pandas, Matplotlib ou encore Seaborn. .
L’UE permet l’approfondissement des connaissances acquises au cours AUTI3. Cette UE aborde les automatismes multi-grafes et l’utilisation des interfaces homme-machine (HMI). En plus des langages déjà vu au cours AUTI3, la programmation avec des langages évolués S7Graph et SCL (Structured Control Langage) sont introduits à travers plusieurs problèmes à résoudre. Dans cette UE,nous allons comprendre comment construire les algorithmes d’apprentissage automatique et comment les mettre en œuvre avec Python.
##Charge de travail L’UE vaut 2 crédits ECTS, soit une charge estimée à 60h de travail, dont 28h prévues en classe.
##Matières de base utilisées
- Cours de programmation (c, C++, java, Python)
- Cours de logique de programmation (les structure de données)
##Objectifs Approfondir les connaissances dans le domaine de l’apprentissage automatique en général et l’apprentissage par Renforcement en particulier.
Modalités d’évaluation
- La note de l’UE se compose de :
- Oral-Machine 100%
- En cas de 2ème session:
- Oral-Machine 100%
##Plan du cours ###Cours théorique
- Apprentissage supervisé
Toutes les données sont étiquetées et les algorithmes apprennent à prédire le résultat des données d’entrée.
- classification
- Détection de courrier électronique indésirable (spam, pas spam).
- En médecine, pour prédire si un patient a une maladie particulière ou non. - Régression
- Prédire le prix de l’immobilier
- Prédire le cours de bourse
- classification
Voici quelques exemples d’algorithmes d’apprentissage automatique supervisé: - Arbres de décision - K Nearest Neighbours - SVC linéaire (classificateur de vecteur de support) - Naive Bayes - Les réseaux de neurones - Régression linéaire - etc
- Apprentissage automatique non supervisé
Toutes les données ne sont pas étiquetées et les algorithmes apprennent la structure inhérente à partir des données en entrée.
L’apprentissage non supervisé comprend deux catégories d’algorithmes: Algorithmes de regroupement et d’association.
- Clustering ou Regroupement
- Association
Le clustering consiste à grouper des points de données en fonction de leurs similitudes, tandis que l’association consiste à découvrir des relations entre les attributs de ces points de données.
Voici quelques exemples d’algorithmes d’apprentissage automatique supervisé: - Dimensionality Reduction (Réduction de la dimensionnalité) - k-means clustering - Neural networks/Deep Learning - Principal Component Analysis (Analyse des composants principaux) - etc
- Apprentissage par Renforcement L’apprentissage par renforcement ou Reinforcement Learning est une méthode de Machine Learning. Elle consiste à entraîner des modèles d’intelligence artificielle d’une manière bien spécifique.
L’agent IA doit apprendre à atteindre un objectif au sein d’un environnement incertain et potentiellement complexe. Pour y parvenir, l’ordinateur essaye toutes les façons possibles et apprend de ses erreurs. À chaque tentative, l’IA reçoit une récompense ou une punition en fonction des actions effectuées. Elle est programmée pour maximiser sa récompense, et tentera donc de trouver la méthode le lui permettant. Le programmeur se charge de mettre en place les conditions de récompenses. Il se charge donc de fixer les “règles du jeu”.
Un des nombreux concepts important pour mener à bien ce travail est de modéliser correctement l’environnement dans lequel l’agent évolue. Cela se fait à l’aide des processus de décision Markovien (MDP – Markov Decision Process). Une grande partie de ce cours est dédié à l’étude de ces processus.
###Travaux pratiques - première partie
- Prise en main de l’environnement de programmation (google Colab, jupiter, pytorch etc)
- Réseau de neurone simple et complexe
- Réseau de convolution CNN
- resolution de XOR par réseau de neurone
- reconnaissance des chiffres manuscrites par le réseau de neurone
- prédiction des prix
###Travaux pratiques - deuxième partie(projets)
- la machine de Boltzmann restreinte ( Apprentissage non supervisé)
- LSTM ( réseau récurent)
- Optimisation des processus (optimisation des flux dans un entrepôts d’un e-commerce)
- Minimisation des coûts (minimisation des coûts de consommation d’énergie dans un data center)
##Bibliographie
- Syllabus, énoncés des problèmes et manuels d’utilisation : disponibles sur la plateforme Moodle de l’école (POESI)
- Intelligence artificielle 4e édition Une approche moderne Tome 4, Peter Norvig (Auteur), Stuart Russell (Auteur)
- Artificial Intelligence A Modern Approach Fourth EditionStuart J. Russell and Peter Norvig
- Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (Aurélien Géron)