Introduction à l’intelligence artificielle : outils et enjeux

Introduction à l’intelligence artificielle : outils et enjeux

Public : « Grand public », Gestion ou direction de projet non spécialisée en informatique ou mathématiques

Durée : Deux jours (la formation peut être effectuée sur une unique journée pour moitié du programme)

Pré-requis : Gestion d’un projet numérique

Tarif : 400€ par élève et par jour (min. 4 élèves).

Conditions d'annulation : Annulation sans frais jusqu'à 3 semaines avant le premier jour de la session. Au-delà, 25% de la somme est due.

Modalités de paiement : Émission de la facture à l'issue de la formation. Paiement à 30 jours.

L’intelligence artificielle, après avoir bouleversé de nombreux domaines scientifiques, a commencé à révolutionner un grand nombre de secteurs économiques (industrie, médecine, communication, etc.). Néanmoins, sa présentation dans les grands media relève souvent du fantasme, très éloignée de ce que sont réellement les domaines du Machine Learning ou du Deep Learning. L’objet de cette formation est de présenter ces approches et ce qu’elles apportent dans la résolution de problèmes considérés comme « intelligents ».

Un grand nombre d’applications sont présentées, du traitement de donnée brute à la création de contenus « originaux » en passant par le contrôle d’agents, la classification automatisée ou l’approximation d’une donnée pour faciliter sa compréhension et sa manipulation.

Enfin, nous aborderons les sujets de l’opportunité et de la méthodologie de mise en oeuvre de tels projets. Le Deep Learning connaît comme tout outil de nombreuses limites, et son application suppose une réelle méthode pour comprendre, contrôler et garantir un résultat final de qualité.

JOUR 1 : Introduction aux différentes composantes de l'intelligence artificielle, présentation des concepts fondamentaux, applications et principaux algorithmes.

1. Qu’est-ce que l’intelligence artificielle (jusqu’aux réseaux de neurones) ?

  • Le fantasme de l’intelligence artificielle face aux réalités d’aujourd’hui.
  • Disparition des algorithmes, nouvelle modélisation des problèmes.
  • Machine learning : présentation de l'apprentissage
  • Approches principales : supervised learning, unsupervised learning, reinforcement learning, self supervised learning.
  • Actions principales : classification, régression, clustering, estimation de densité, réduction de dimensionalité, prédiction, génération.
  • Algorithmes à évolution : introduction et état actuel.

2. Réseaux de neurones et Deep Learning

  • Qu’est-ce qu’un réseau de neurones ? Du simple neurone au Multi Layer Perceptron, shallow to deep network.
  • Qu’est-ce que l’apprentissage d’un réseau de neurones ? Fonction de coût, Back propagation et convergence
  • Généralisation d'un réseau de neurones : comment s'assurer de l'utilité d'un modèle ? Train, validation, test sets. Occam's razor et capacité optimale.
  • Dépendence à la donnée d'entrée : modélisations possibles, recherche et neutralisation de biais.
  • Data augmentation : amélioration d'un dataset par identification d'invariances.
  • Génération de représentations internes au sein d’un réseau de neurones.
  • Révolution du Deep Learning face au Machine Learning.

3. Applications du Deep Learning : revue des états de l'art et exemples d'applications

  • Classification de données
    • Comprendre ce qu’est la classification de données dans différents scénarios : donnée brute, image, son, texte, etc.
    • Comprendre les enjeux d’une classification de données et les choix impliqués par un modèle de classification.
    • Présentation des outils usuels de classification et notamment des réseaux de type MLP (Multilayer perceptron) ou CNN (Convolutional neural network) VS outils de Machine Learnig (Random Forest, Naïve bayes)
    • Présentation d’exemples de solutions existantes (par exemple : classification d’images médicales, d’historique client, de textes rédigés par des utilisateurs, etc.)
    • Clustering : cas particulier d’apprentissage non supervisé. Présentation des différents algorithmes (k-means, Random Forests, etc.)
    • Détection d'anomalies : outils et limites.
  • Prédiction d’information et donnée séquentielle/temporelle
    • Enjeux et limite d’une prédiction d’information. Recherche de règles structurelles au sein de la donnée pouvant permettre une logique de prédiction.
    • La prédiction comme une classification ou une régression.
    • Pièges usuels d'une approche prédictive.
    • Présentation des outils usuels de prédiction : RNN (Recurrent Neural Networks), LSTM (Long Short Term Memory).
    • Exemples : prévision des images suivant une séquence vidéo. Prédiction de pollution atmosphérique en milieu urbain, ou autres.
  • Transformation/Génération de données
    • Qu’est-ce que transformer une donnée exactement ? Quelles barrières, quels enjeux.
    • Opération de ré-interprétation d’une même donnée : dé-bruitage, génération de résumés textuels, segmentation d’image.
    • Opération de transformation sur un même format : traduction de texte d’une langue à une autre (présentation sommaire de l’architecture Google Machine Translation ou BERT par Google).
    • Opération de génération de donnée « originale » : neural Style, superrésolution, génération d’images à partir de présentations textuelles.
  • Reinforcement Learning : contrôle d’un environnement
    • Présentation du Deep Reinforcement Learning
    • Experience Replay et apprentissage de jeux vidéo par un réseau de neurones
    • Applications : contrôle de simulations numériques, voiture automatique, robotique

JOUR 2 : Revue d'une méthodologie projet d'intelligence artificielle. Revue des étapes d'avancement et de contrôle, présentation des points d'application industrielle à partir d'exemples décidés par les élèves.

4. Quels problèmes peut-on adresser avec Machine/Deep Learning ?

  • Condition sur les données : volumétries, dimensionnement, équilibre entre les classes, description. (Curse of dimensionality, No Free Lunch theorem)
  • Donnée brute VS features travaillées : que choisir ? Comment créer des features ? Utilisation des états intermédiaires d'un réseau de neurones.
  • Machine Learning VS Deep Learning : quand préférer les algorithmes plus anciens du Machine Learning aux réseaux de neurones ? Volumétrie, complexité, etc.
  • Qualifier un problème : unsupervised learning ? Supervised learning ? Reinforcement learning ?
  • Qualifier une solution : comprendre la distance entre une affirmation métier et le résultat d’un algorithme. Mises en situation, étude des outils d'analyse usuels des résultats d'un modèle

5. Mise en œuvre d’un projet, étape 1 : générer un Dataset

  • Qu’est-ce qu’un Dataset ? Qu’est-ce qui le sépare une base de données usuelle ? Modélisations de données VS choix technologiques
  • Accumuler et contrôler la donnée : surveiller les biais, nettoyer ou convertir la donnée sur une architecture incrémentale
  • Comprendre la donnée : outils statistiques permettant une première vision d’une donnée, sa distribution, ses comportements aberrants… Bonnes pratiques de surveillance d'une donnée massive.
  • Formater une donnée : modélisations possibles face aux utilisations métier.
  • Préparer la donnée : définition des train set, validation set et test set. Structure de contrôle des résultats. Cross validation.
  • Protéger la donnée et l'anonymiser : bonnes pratiques, differential privacy, etc.

6. Mise en œuvre d’un projet, étape 2 : itérations successives

  • Revue des choix techniques, avantages et inconvénients. Frameworks : Tensorflow, PyTorch, Caffe. Services cloud : Google Cloud Service, Microsoft Azure, Amazon SageMaker
  • Méthodologie pour avancer vers meilleure solution pour un problème ML/DL.
  • Transfert Learning : réutilisation d'un modèle existant et transfert de ses paramètres à un nouveau problème.
  • Itérations successives depuis les algorithmes les plus simples jusqu’aux architectures les plus complexes
  • Simplification et division du problèmes en sous-problématiques pour une solution multi-modèles
  • Model ensembling sur une problématique
  • Debugging/contrôle du fonctionnement d'un réseau de neurones. Approches existantes (GradCam, Contextual Decompositions, analyse des cellules RNN ou d'un modèle d'attention)

7. Mise en œuvre d’un projet, étape 3 : industrialisation

  • Industrialiser un réseau de neurones par un encadrement strict de son processus et un monitoring continu
  • Présentation de solutions techniques : Tensorflow Serving, Kubernetes, Docker.
  • Gestion d'une première version et surveillance des résultats.
  • Mise en place de réapprentissages successifs pour conserver un réseau à jour et optimal dans sa qualité de réponse.
  • Formation des utilisateurs à la compréhension du réseau et à sa bonne utilisation.
  • Optimisation d'un réseau de neurones : stratégie de pruning pour inférence sur un périphérique mobile ou limité
  • Sécurité d'un réseau de neurones : Adversarial attacks

JOUR 1 : Introduction aux différentes composantes de l'intelligence artificielle, présentation des concepts fondamentaux, applications et principaux algorithmes.

1. Qu’est-ce que l’intelligence artificielle (jusqu’aux réseaux de neurones) ?

  • Le fantasme de l’intelligence artificielle face aux réalités d’aujourd’hui.
  • Disparition des algorithmes, nouvelle modélisation des problèmes.
  • Machine learning : présentation de l'apprentissage
  • Approches principales : supervised learning, unsupervised learning, reinforcement learning, self supervised learning.
  • Actions principales : classification, régression, clustering, estimation de densité, réduction de dimensionalité, prédiction, génération.
  • Algorithmes à évolution : introduction et état actuel.

2. Réseaux de neurones et Deep Learning

  • Qu’est-ce qu’un réseau de neurones ? Du simple neurone au Multi Layer Perceptron, shallow to deep network.
  • Qu’est-ce que l’apprentissage d’un réseau de neurones ? Fonction de coût, Back propagation et convergence
  • Généralisation d'un réseau de neurones : comment s'assurer de l'utilité d'un modèle ? Train, validation, test sets. Occam's razor et capacité optimale.
  • Dépendence à la donnée d'entrée : modélisations possibles, recherche et neutralisation de biais.
  • Data augmentation : amélioration d'un dataset par identification d'invariances.
  • Génération de représentations internes au sein d’un réseau de neurones.
  • Révolution du Deep Learning face au Machine Learning.

3. Applications du Deep Learning : revue des états de l'art et exemples d'applications

  • Classification de données
    • Comprendre ce qu’est la classification de données dans différents scénarios : donnée brute, image, son, texte, etc.
    • Comprendre les enjeux d’une classification de données et les choix impliqués par un modèle de classification.
    • Présentation des outils usuels de classification et notamment des réseaux de type MLP (Multilayer perceptron) ou CNN (Convolutional neural network) VS outils de Machine Learnig (Random Forest, Naïve bayes)
    • Présentation d’exemples de solutions existantes (par exemple : classification d’images médicales, d’historique client, de textes rédigés par des utilisateurs, etc.)
    • Clustering : cas particulier d’apprentissage non supervisé. Présentation des différents algorithmes (k-means, Random Forests, etc.)
    • Détection d'anomalies : outils et limites.
  • Prédiction d’information et donnée séquentielle/temporelle
    • Enjeux et limite d’une prédiction d’information. Recherche de règles structurelles au sein de la donnée pouvant permettre une logique de prédiction.
    • La prédiction comme une classification ou une régression.
    • Pièges usuels d'une approche prédictive.
    • Présentation des outils usuels de prédiction : RNN (Recurrent Neural Networks), LSTM (Long Short Term Memory).
    • Exemples : prévision des images suivant une séquence vidéo. Prédiction de pollution atmosphérique en milieu urbain, ou autres.
  • Transformation/Génération de données
    • Qu’est-ce que transformer une donnée exactement ? Quelles barrières, quels enjeux.
    • Opération de ré-interprétation d’une même donnée : dé-bruitage, génération de résumés textuels, segmentation d’image.
    • Opération de transformation sur un même format : traduction de texte d’une langue à une autre (présentation sommaire de l’architecture Google Machine Translation ou BERT par Google).
    • Opération de génération de donnée « originale » : neural Style, superrésolution, génération d’images à partir de présentations textuelles.
  • Reinforcement Learning : contrôle d’un environnement
    • Présentation du Deep Reinforcement Learning
    • Experience Replay et apprentissage de jeux vidéo par un réseau de neurones
    • Applications : contrôle de simulations numériques, voiture automatique, robotique

JOUR 2 : Revue d'une méthodologie projet d'intelligence artificielle. Revue des étapes d'avancement et de contrôle, présentation des points d'application industrielle à partir d'exemples décidés par les élèves.

4. Quels problèmes peut-on adresser avec Machine/Deep Learning ?

  • Condition sur les données : volumétries, dimensionnement, équilibre entre les classes, description. (Curse of dimensionality, No Free Lunch theorem)
  • Donnée brute VS features travaillées : que choisir ? Comment créer des features ? Utilisation des états intermédiaires d'un réseau de neurones.
  • Machine Learning VS Deep Learning : quand préférer les algorithmes plus anciens du Machine Learning aux réseaux de neurones ? Volumétrie, complexité, etc.
  • Qualifier un problème : unsupervised learning ? Supervised learning ? Reinforcement learning ?
  • Qualifier une solution : comprendre la distance entre une affirmation métier et le résultat d’un algorithme. Mises en situation, étude des outils d'analyse usuels des résultats d'un modèle

5. Mise en œuvre d’un projet, étape 1 : générer un Dataset

  • Qu’est-ce qu’un Dataset ? Qu’est-ce qui le sépare une base de données usuelle ? Modélisations de données VS choix technologiques
  • Accumuler et contrôler la donnée : surveiller les biais, nettoyer ou convertir la donnée sur une architecture incrémentale
  • Comprendre la donnée : outils statistiques permettant une première vision d’une donnée, sa distribution, ses comportements aberrants… Bonnes pratiques de surveillance d'une donnée massive.
  • Formater une donnée : modélisations possibles face aux utilisations métier.
  • Préparer la donnée : définition des train set, validation set et test set. Structure de contrôle des résultats. Cross validation.
  • Protéger la donnée et l'anonymiser : bonnes pratiques, differential privacy, etc.

6. Mise en œuvre d’un projet, étape 2 : itérations successives

  • Revue des choix techniques, avantages et inconvénients. Frameworks : Tensorflow, PyTorch, Caffe. Services cloud : Google Cloud Service, Microsoft Azure, Amazon SageMaker
  • Méthodologie pour avancer vers meilleure solution pour un problème ML/DL.
  • Transfert Learning : réutilisation d'un modèle existant et transfert de ses paramètres à un nouveau problème.
  • Itérations successives depuis les algorithmes les plus simples jusqu’aux architectures les plus complexes
  • Simplification et division du problèmes en sous-problématiques pour une solution multi-modèles
  • Model ensembling sur une problématique
  • Debugging/contrôle du fonctionnement d'un réseau de neurones. Approches existantes (GradCam, Contextual Decompositions, analyse des cellules RNN ou d'un modèle d'attention)

7. Mise en œuvre d’un projet, étape 3 : industrialisation

  • Industrialiser un réseau de neurones par un encadrement strict de son processus et un monitoring continu
  • Présentation de solutions techniques : Tensorflow Serving, Kubernetes, Docker.
  • Gestion d'une première version et surveillance des résultats.
  • Mise en place de réapprentissages successifs pour conserver un réseau à jour et optimal dans sa qualité de réponse.
  • Formation des utilisateurs à la compréhension du réseau et à sa bonne utilisation.
  • Optimisation d'un réseau de neurones : stratégie de pruning pour inférence sur un périphérique mobile ou limité
  • Sécurité d'un réseau de neurones : Adversarial attacks