Intelligence Artificielle & Data
Science
Contact: [Link]@[Link]
Auteurs: Houda YAHI, Abdelmoudjib BENTERKI
Quand envisager l'apprentissage non
supervisé ?
L'apprentissage non supervisé est utile lorsqu’on souhaite explorer des
données mais que on n’a pas encore d'objectif spécifique ou qu’on ne sait
pas quelles informations contiennent les données. C’est également un bon
moyen de réduire les dimensions des données.
Initiation à l’intelligence artificielle 2
Les algorithmes de clustering
K-moyennes (k-Means) Étant donnés des points et un entier k, l’algorithme
Principe vise à diviser les points en k groupes, appelés
Partitionne les données en un nombre k de clusters clusters, homogènes et compacts. Regardons
mutuellement exclusifs. l’exemple ci-dessous :
L'adéquation d'un point dans un cluster est
déterminée par la distance entre ce point et le
centre du cluster.
Utilisation
• Lorsque le nombre de clusters est connu
• Pour une mise en cluster rapide de grands
ensembles de données
Sur ce jeu de données en 2D il apparaît clair que l’on
Résultats: Les centres du peut le diviser en 3 groupes.
cluster
Initiation à l’intelligence artificielle 3
Les algorithmes de clustering
K-moyennes (k-Means) Distance et initialisation
Concrètement comment s’y prend-on ? Dans l’algorithme des k-moyennes généralement on
La première étape consiste à définir 3 centroïdes utilise la distance euclidienne, soient p = (p1,….,pn) et
aléatoirement auxquels on associe 3 étiquettes par q = (q1,….,qn)
exemple 0,1,2. Ensuite nous allons pour chaque
point regarder leur distance aux 3 centroïdes et
nous associons le point au centroïde le plus proche
et l’étiquette correspondante. Cela revient
à étiqueter nos données.
Enfin on recalcule 3 nouveaux centroïdes qui seront
les centres de gravité de chaque nuage de points
labellisés. On répète ces étapes jusqu’à ce que les
nouveaux centroïdes ne bougent plus des
précédents. Le résultat final se trouve sur la figure
de droite.
Initiation à l’intelligence artificielle 4
Les algorithmes de clustering
K-moyennes (k-Means)- Méthodes du coude
Inertie en fonction du nombre de cluster
Nombre optimum de clusters
Nombre de cluster
Initiation à l’intelligence artificielle 5
Les algorithmes de Clustering
Clustering hiérarchique Nombre optimum de clusters
Principe
Produit des ensembles imbriqués de clusters
en analysant les similitudes entre les paires
de points et en regroupant les objets dans
un arbre hiérarchique binaire.
Utilisation
• Lorsque vous ne savez pas à l'avance
combien de clusters se trouvent dans vos
données
• Vous souhaitez que la visualisation guide
votre sélection
Résultats: Dendrogramme montrant la
relation hiérarchique entre les clusters
Initiation à l’intelligence artificielle 6
Les algorithmes de Clustering
Carte auto-adaptative (Self Organizing Map SOM)
Principe
Clustering basé sur un réseau de neurone qui transforme
un jeu de données en une carte 2D préservant la
topologie.
L’algorithme est le même que le Kmeans avec deux V1 V2 V3 V4
améliorations de ce dernier qui sont le voisinage et la
topologie.
V5 V6 V7 V8
Utilisation
• Pour visualiser des données de grande dimension
en 2D ou 3D V9 V9 V10 V11 V12
• Déduire la dimensionnalité des données en
préservant leur topologie (forme)
V13 V14
Résultats: Représentation de dimension
inférieure (généralement 2D)
Initiation à l’intelligence artificielle 7
Quand envisager
l'apprentissage supervisé ?
Un algorithme d'apprentissage supervisé prend un ensemble
connu de données d'entrée (l'ensemble d'apprentissage) et
des réponses connues aux données (sortie), et entraîne un
modèle pour générer des prédictions raisonnables pour la
réponse aux nouvelles données d'entrée. Utilisez
l'apprentissage supervisé si vous disposez de données
existantes pour la sortie que vous essayez de prédire.
Initiation à l’intelligence artificielle 8
Les techniques d’apprentissage supervisé
Toutes les techniques d'apprentissage supervisé sont
une forme de classification ou de régression.
Les techniques de classification prédisent des
réponses discrètes, par exemple, si un e-mail est
authentique ou spam, ou si une tumeur est petite,
moyenne ou grande. Les modèles de classification
sont formés pour classer les données en catégories.
Les applications incluent l'imagerie médicale, la
reconnaissance vocale et la notation de crédit.
Les techniques de régression prédisent des réponses • Vos données peuvent-elles être étiquetées ou
continues - par exemple, des changements de catégorisées? Si vos données peuvent être séparées en
groupes ou classes spécifiques, utilisez des algorithmes de
température ou des fluctuations de la demande classification.
d'électricité. Les applications incluent la prévision des • Vous travaillez avec une plage de données? Si la nature de
votre réponse est un nombre réel - comme la température
cours des actions, la reconnaissance de l'écriture ou le temps jusqu'à la panne d'un équipement - utilisez des
manuscrite et le traitement du signal acoustique. techniques de régression.
Initiation à l’intelligence artificielle 9
Optimisation et sélection du meilleur algorithme
Fonction de perte ou de coût (loss function)
Une tache de prédiction peut être considérée comme une simple tache d’optimisation. Le modèle tente d'optimiser ses performances
en prédisant la valeur correcte. La valeur réelle que nous optimisons, s'appelle la «perte» (que nous essayons de minimiser, bien sûr).
Pour ce faire, le modèle doit pouvoir mesurer ce que l'on appelle la «perte», qui dépend du problème.
la fonction de perte ou de coût représente la quantification de l’écart entre les prévisions du modèle et les observations réelles du jeu
de donnée utilisé pendant l’entrainement.
La phase d’entrainement vise à trouver les paramètres du modèle qui permettront de minimiser cette fonction.
Sélection du meilleur algorithme
la sélection d'un algorithme d'apprentissage automatique est
un processus d'essais et d'erreurs. C'est également un
compromis entre des caractéristiques spécifiques des
algorithmes, telles que:
• Vitesse de d’entrainement
• Utilisation de la mémoire
• Précision prédictive sur les nouvelles données
• Transparence ou interprétabilité (avec quelle facilité vous
pouvez comprendre les raisons pour lesquelles un algorithme
fait ses prédictions)
Examinons de plus près les algorithmes de classification et de
régression les plus couramment utilisés.
Initiation à l’intelligence artificielle 10
Metrics d’évaluation
Classification Régression
MAPE (Mean Absolute Percentage Error)
𝒏
𝟏 𝒚𝒊 − 𝒚ෝ𝒊
𝑴𝑨𝑷𝑬 =
𝒏 𝒚𝒊
𝒊=𝟏
MSE (Mean Square Error)
𝑵
𝑇𝑁+𝑇𝑃
Accuracy = ෝ𝒊
𝑴𝑺𝑬 = 𝒚𝒊 − 𝒚 𝟐
𝑇𝑜𝑡𝑎𝑙 𝑠𝑎𝑚𝑝𝑙𝑒𝑠
𝒊=𝟏
➢ RMSE: racine carrée de la MSE
R2 score(coefficient de determination)
σ𝑵 ෝ𝒊
𝒊=𝟏 𝒚𝒊 − 𝒚
𝟐
𝑹𝟐 = 𝟏 − 𝑵 𝟐
σ𝒊=𝟏 𝒚𝒊 − 𝒚
ഥ
Initiation à l’intelligence artificielle 11
La classification
Initiation à l’intelligence artificielle 12
Classification binaire vs multi classe
Lorsque vous travaillez sur un problème de
classification, commencez par déterminer si le
problème est binaire ou multiclasse. Dans un
problème de classification binaire, un seul élément
de formation ou de test (instance) ne peut être divisé
qu'en deux classes, par exemple, si vous souhaitez
déterminer si un e-mail est authentique ou un spam.
Dans un problème de classification multiclasse, il
peut être divisé en plus de deux, par exemple, si vous
souhaitez entraîner un modèle à classer une image
en tant que chien, chat ou autre animal.
Gardez à l'esprit qu'un problème de classification
multiclasse est généralement plus difficile car il
nécessite un modèle plus complexe.
Initiation à l’intelligence artificielle 13
Les algorithmes de classification
Régression logistique (Logistic Regression) Méthode des k plus proches voisins (KNN)
Principe
Principe
Convient à un modèle qui peut prédire la probabilité d'une kNN catégorise les objets en fonction des classes de leurs voisins les
réponse binaire appartenant à une classe ou à l'autre. En plus proches dans l'ensemble de données. Les prédictions kNN
raison de sa simplicité, la régression logistique est supposent que les objets proches les uns des autres sont similaires.
couramment utilisée comme point de départ pour les Les métriques de distance, telles que Euclidienne, cosinus et
problèmes de classification binaire. Chebychev, sont utilisées pour trouver le voisin le plus proche.
Utilisation Utilisation
• Lorsque les données peuvent être clairement séparées par une • Lorsque vous avez besoin d'un algorithme simple pour établir des
seule limite linéaire règles d'apprentissage de référence
• Comme référence pour l’évaluation de méthodes de • Lorsque l'utilisation de la mémoire du modèle entraîné est moins
classification plus complexes préoccupante
• Lorsque la vitesse de prédiction du modèle entraîné est moins
préoccupante
Initiation à l’intelligence artificielle 14
Les algorithmes de classification
Classes linéairement séparables
Machine à vecteurs de support (SVM)
Principe
Classe les données en recherchant la limite de décision linéaire (hyperplan)
qui sépare tous les points de données d'une classe de ceux de l'autre classe.
Le meilleur hyperplan pour un SVM est celui avec la plus grande marge
entre les deux classes, lorsque les données sont linéairement séparables. Si
les données ne sont pas séparables linéairement, une fonction de perte est On peut trouver plusieurs hyper-plans de séparation parfaite des
utilisée pour pénaliser les points du mauvais côté de l'hyperplan. Les SVM classes. Laquelle choisir ? Il faut privilégier la solution
utilisent parfois une transformation du noyau pour transformer des qui maximise la marge entre les points des deux classes
données séparables non linéairement en dimensions plus élevées où une
limite de décision linéaire peut être trouvée.
Utilisation
• Pour les données qui ont exactement deux classes (vous pouvez Gérez les erreurs de classification
également l'utiliser pour la classification multiclasse avec une technique
appelée codes de sortie de correction d'erreur)
• Pour les données de grande dimension, séparables non linéairement
• Lorsque vous avez besoin d’un classificateur simple, facile à interpréter et
précis
Initiation à l’intelligence artificielle 15
Les algorithmes de classification
Réseau de neurones
Principe
Inspiré du cerveau humain, un réseau de neurones est constitué de réseaux hautement connectés
de neurones qui relient les entrées aux sorties souhaitées. Le réseau est formé en modifiant de
manière itérative les forces des connexions de sorte que les entrées données correspondent à la
réponse correcte.
Utilisation
• Pour la modélisation de systèmes hautement non linéaires
• Lorsque les données sont disponibles de manière incrémentielle et que vous souhaitez constamment mettre à jour le modèle
• Lorsqu'il peut y avoir des changements inattendus dans vos données d'entrée
• Lorsque l’interprétabilité du modèle n’est pas une préoccupation majeure
On peut rajouter une unité de biais qui est toujours activée (elle transmet 1 quelles que soient les données)
Initiation à l’intelligence artificielle 16
Les algorithmes de classification
Classification naïve bayésienne
Principe
Un classificateur naïf de Bayes suppose que la présence d'une
caractéristique particulière dans une classe n'est pas liée à la présence
d'une autre caractéristique. Il classe les nouvelles données en fonction
de la probabilité la plus élevée d'appartenir à une classe particulière.
Exemple: Un fruit peut être considéré comme une pomme s'il est
rouge, arrondi, et fait une dizaine de centimètres. Même si ces
caractéristiques sont liées dans la réalité, un classifieur bayésien naïf
déterminera que le fruit est une pomme en considérant
indépendamment ces caractéristiques de couleur, de forme et de taille.
Utilisation
• Pour un petit jeu de données contenant de nombreux paramètres.
• Lorsque vous avez besoin d’un classificateur facile à interpréter.
• Quand le modèle rencontrera des scénarios qui n’étaient pas dans les
données de formation, comme c’est le cas avec de nombreuses
applications
financières et médicales.
Initiation à l’intelligence artificielle 17
Les algorithmes de classification
Arbres de décision Pour faire une forêt, il faut des arbres (de décision)
Principe
Un arbre de décision vous permet de prédire les réponses aux
données en suivant les décisions dans l'arborescence de la
racine (début) jusqu'à un nœud feuille. Un arbre se compose de
sibsp représente le
conditions de ramification où la valeur d'un prédicteur est nombre total de proches.
comparée à un poids entraîné. Le nombre de branches et les
valeurs des poids sont déterminés dans le processus de
formation. Une modification supplémentaire, ou élagage, peut
Un arbre de décision d'exemple sur la probabilité de
être utilisée pour simplifier le modèle. survie des passagers du Titanic
Construire un arbre de décision binaire se résume au Le boosting
problème suivant : faire grandir un arbre embranchement par
les arbres de décision boostés utilisent une implémentation
embranchement jusqu'à ce que le "gain d'information" soit maximisé.
efficace de l’algorithme de boosting de gradient MART.
Si on créé un nouvel embranchement à partir de ce point, le gain sera
Il génère chaque arbre de régression par étapes, à
diminué.
l’aide d’une fonction de perte prédéfinie pour mesurer
l’erreur à chaque étape et la corriger à la suivante. Par
Utilisation conséquent, le modèle de prédiction est en fait un
• Lorsque vous avez besoin d’un algorithme facile à interpréter ensemble de modèles de prédiction plus faibles.
• Pour minimiser l’utilisation de la mémoire Algorithmes:
• Lorsqu'une précision prédictive élevée n'est pas une exigence
CAT, Random Forest, LGBM, XGBOUST
Initiation à l’intelligence artificielle 18
Overfitting
Overfitting
Les hyperparamètres sont importants car ils
peuvent avoir un impact significatif sur la
performance du modèle. Par exemple, en
utilisant des valeurs inappropriées, il est
alors possible de surapprendre (overfitting).
Un hyperparamètre est un paramètre qui est utilisé pour configurer un modèle de Machine Learning.
Contrairement aux paramètres du modèle, qui sont appris à partir des données d’entraînement, les
hyperparamètres doivent être définis par l’utilisateur avant de commencer l’entraînement du modèle. Les
hyperparamètres sont généralement choisis en fonction de la performance souhaitée du modèle, ainsi que
de ses caractéristiques et de ses limites. Les hyperparamètres sont importants car ils peuvent avoir un
impact significatif sur la performance du modèle. Par exemple, en utilisant des valeurs inappropriées, il est
alors possible de surapprendre (overfitting).
Initiation à l’intelligence artificielle 19
Les algorithmes de classification
Exemple: Maintenance prédictive des équipements de fabrication
Une usine de production de plastique livre environ 18 millions de tonnes de
produits en plastique et en couches minces par an. Les 900 employés de l’usine
travaillent 24 heures sur 24, 365 jours par an.
Pour minimiser les pannes des machines et maximiser l'efficacité de l'usine, les
ingénieurs développent une application de surveillance de l'état et de maintenance
prédictive qui utilise des statistiques avancées et des algorithmes d'apprentissage
automatique pour identifier les problèmes potentiels avec les machines afin que les
opérateurs puissent prendre des mesures correctives et éviter que de graves
problèmes ne se produisent.
Après avoir collecté, nettoyé et enregistré les données de toutes les machines de
l'usine, les ingénieurs évaluent plusieurs techniques d'apprentissage automatique, y
compris les réseaux de neurones, les k-plus proches voisins, les arbres de décision
et les machines vectorielles de support (SVM). Pour chaque technique, ils forment
un modèle de classification en utilisant les données machine enregistrées, puis
testent la capacité du modèle à prédire les problèmes de la machine. Les tests
montrent qu'un ensemble d'arbres de décision ensachés est le modèle le plus
précis pour prédire la qualité de la production.
Initiation à l’intelligence artificielle 20
La régression
Initiation à l’intelligence artificielle 21
Les algorithmes de régression
Régression linéaire et régression Ridge Régression non linéaire
Principe Principe
La régression linéaire est une technique de modélisation La régression non linéaire est une technique de modélisation
statistique utilisée pour décrire une variable de réponse statistique qui aide à décrire les relations non linéaires dans les
continue comme une fonction linéaire d'une ou plusieurs données expérimentales. On suppose généralement que les modèles
variables prédictives. Les modèles de régression linéaire étant de régression non linéaire sont paramétriques, le modèle étant décrit
simples à interpréter et à entraîner, ils sont souvent le premier comme une équation non linéaire.
modèle à être ajusté à un nouvel ensemble de données. La
régression Ridge est une régression linéaire avec une pénalité.
Contrairement à la régression linéaire elle possède un hyper Utilisation
paramètre Alpha qui est la pénalité.
Utilisation • Pour un petit jeu de données
• Lorsque vous avez besoin d'un algorithme facile à interpréter contenant de nombreux paramètres
et à adapter rapidement • Lorsque vous avez besoin d’un
• Comme base de référence pour l’évaluation d’autres modèles classificateur facile à interpréter
de régression plus complexes • Quand le modèle rencontrera des
scénarios qui n’étaient pas dans les
données de formation, comme c’est le
cas avec de nombreuses applications
financières et médicales
Initiation à l’intelligence artificielle 22
Les algorithmes de régression
Modèle de régression de processus gaussien Régression SVM
Principe Principe
Les modèles de régression de processus gaussiens (GPR) sont des Les algorithmes de régression SVM fonctionnent comme les
modèles non paramétriques utilisés pour prédire la valeur d'une
algorithmes de classification SVM, mais sont modifiés pour
variable de réponse continue. Ils sont largement utilisés dans le
pouvoir prédire une réponse continue. Au lieu de trouver un
domaine de l'analyse spatiale pour l'interpolation en présence
d'incertitude. GPR est également appelé Kriging. hyperplan qui sépare les données, les algorithmes de
régression SVM trouvent un modèle qui s'écarte des données
Utilisation mesurées d'une valeur non supérieure à une petite quantité,
• Pour interpoler les données spatiales, telles que les données avec des valeurs de paramètres aussi petites que possible
hydrogéologiques pour la distribution des eaux souterraines (pour minimiser la sensibilité à l'erreur).
• En tant que modèle de remplacement pour faciliter l'optimisation de
conceptions complexes telles que les moteurs automobiles Utilisation
Pour les données de grande dimension (où il y aura un grand
nombre de variables prédictives)
Initiation à l’intelligence artificielle 23
Les algorithmes de régression
Modèle linéaire généralisé Arbres de régression
Principe Principe
Un modèle linéaire généralisé est un cas particulier de modèles Les arbres de décision pour la régression sont similaires aux arbres de
non linéaires utilisant des méthodes linéaires. Il s'agit d'ajuster décision pour la classification, mais ils sont modifiés pour pouvoir
une combinaison linéaire des entrées à une fonction non linéaire prédire des réponses continues.
(la fonction de liaison) des sorties.
Utilisation Utilisation
• Lorsque les variables de réponse ont des distributions non • Lorsque les prédicteurs sont catégoriques (discrets) ou se
normales, comme une variable de réponse qui devrait toujours comportent de manière non linéaire
être positive
Initiation à l’intelligence artificielle 24
Les algorithmes de régression
Exemple: Prédiction de la charge énergétique
Les analystes des services publics d'une grande entreprise de
gaz et d'électricité ont développé des modèles qui prédisent
la demande d'énergie pour le lendemain. Les modèles
permettent aux exploitants de réseaux électriques
d'optimiser les ressources et de planifier la production de
centrales électriques. Chaque modèle accède à une base de
données centrale pour les données historiques de
consommation d'énergie et de prix, les prévisions
météorologiques et les paramètres pour chaque centrale
électrique, y compris la puissance maximale, l'efficacité, les
coûts et toutes les contraintes d'exploitation qui influencent
la répartition de la centrale.
Les analystes ont recherché un modèle qui fournissait un
faible pourcentage d'erreur absolu moyen (MAPE) à
l'ensemble de données de test. Après avoir essayé plusieurs
types de modèles de régression, il a été déterminé que les
réseaux de neurones fournissaient le MAPE le plus bas en
raison de leur capacité à capturer le comportement non
linéaire du système.
Initiation à l’intelligence artificielle 25
Améliorer les modèles
Améliorer un modèle signifie augmenter sa précision et sa puissance
prédictive et éviter le surajustement (lorsque le modèle ne peut pas
faire la distinction entre les données et le bruit). L'amélioration du
modèle implique l'ingénierie des attributs (sélection et
Sélection des
transformation des attributs) et le réglage des hyperparamètres. attributs
Sélection des attributs: identification des attributs ou variables les
plus pertinentes qui fournissent la meilleure puissance prédictive
dans la modélisation de vos données. Cela peut signifier ajouter des
variables au modèle ou supprimer des variables qui n'améliorent pas Transformation
les performances du modèle. des attributs
Transformation des attributs: transformation d'entités existantes en
nouvelles entités à l'aide de techniques telles que l'analyse des
composants principaux, la factorisation matricielle non négative et
l'analyse factorielle. Entrainement Réglage des
Réglage des hyperparamètres: processus d'identification de
du modèle hyperparamètres
l'ensemble de paramètres qui fournit le meilleur modèle. Les
hyperparamètres contrôlent la manière dont un algorithme
d'apprentissage automatique ajuste le modèle aux données.
Initiation à l’intelligence artificielle 26
Sélection des attributs
La sélection des attributs est l'une des tâches les plus importantes de
l'apprentissage automatique. Cela est particulièrement utile lorsque vous
traitez avec des données de haute dimension ou lorsque votre ensemble
de données contient un grand nombre d'entités et un nombre limité
d'observations. La réduction des attributs permet également d'économiser
du temps de stockage et de calcul et rend vos résultats plus faciles à
comprendre.
Les techniques courantes de sélection des caractéristiques comprennent:
Régression pas à pas: ajout ou suppression séquentielle d'entités jusqu'à
ce qu'il n'y ait aucune amélioration de la précision de la prédiction.
Sélection de fonction séquentielle: ajouter ou supprimer de manière
itérative des variables prédictives et évaluer l'effet de chaque changement
sur les performances du modèle.
Régularisation: Utilisation d'estimateurs de retrait pour supprimer les Un modèle est aussi bon que les attributs que vous
caractéristiques redondantes en réduisant leurs poids (coefficients) à zéro sélectionnez pour le former.
Initiation à l’intelligence artificielle 27
Techniques de réduction de dimensionnalité
La transformation de caractéristiques est une forme de réduction de dimensionnalité. les trois
techniques de réduction de dimensionnalité les plus couramment utilisées sont:
Analyse en composantes principales (ACP) — Effectue une transformation
linéaire sur les données afin que la plupart de la variance ou des informations
de votre jeu de données de grande dimension soient capturées par les
premiers composants principaux. La première composante principale
capturera la plus grande variance, suivie par la deuxième composante
principale, et ainsi de suite.
Analyse factorielle — identifie les corrélations sous-jacentes entre les
variables de votre ensemble de données pour fournir une représentation en
termes d'un plus petit nombre de facteurs latents ou communs non
observés.
Factorisation par matrices non négatives— utilisé lorsque les termes du
modèle doivent représenter des quantités non négatives, telles que des
quantités physiques.
Initiation à l’intelligence artificielle 28
Réglage des hyperparamètres
Comme de nombreuses tâches d'apprentissage automatique, le réglage
des paramètres est un processus itératif. Vous commencez par définir des
paramètres basés sur une «meilleure estimation» du résultat. Votre
objectif est de trouver les «meilleures valeurs possibles» - celles qui
donnent le meilleur modèle. Au fur et à mesure que vous ajustez les
paramètres et que les performances du modèle commencent à
s'améliorer, vous voyez quels réglages de paramètres sont efficaces et
lesquels doivent encore être ajustés.
Trois méthodes de réglage des paramètres courantes sont:
• Optimisation bayésienne
• Recherche de grille
• Optimisation basée sur les dégradés Un algorithme simple avec des paramètres bien réglés
produit souvent un meilleur modèle qu'un algorithme
complexe mal réglé.
Initiation à l’intelligence artificielle 29
Apprentissage par
renforcement
Initiation à l’intelligence artificielle
Machine learning
Initiation à l’intelligence artificielle 31
Machine learning
Initiation à l’intelligence artificielle 32
Initiation à l’intelligence artificielle 33
Apprentissage par renforcement
Les bases de l’apprentissage par renforcement ont été posées il y a plus de 100 ans, et il a une double origine.
1- apprentissage animal et la « loi de l’effet »:Thorndike a décrit la loi de l'effet en 1911
comme la notion selon laquelle un animal répétera des actions s'il produit de la
satisfaction et sera dissuadé d'agir en cas d’un inconfort. En outre, plus le niveau
de plaisir ou de douleur est élevé, plus la poursuite ou la dissuasion de l'action est grande.
2- Méthodes d’optimisation:
À partir des années 1950, les chercheurs ont commencé à définir des méthodes
d’optimisation. Richard Bellman a développé une programmation qui définit une équation
fonctionnelle utilisant l'état d'un système dynamique et renvoie une fonction de valeur optimale (communément appelée
équation de Bellman). Bellman a ensuite présenté le processus de décision markovien (MDP), qu'il définit comme « une version
stochastique discrète du problème de contrôle optimal ». C’est l’origine des méthodes de résolution qui permettent d'atteindre
progressivement la bonne réponse à quelque chose grâce à des suppositions successives, un peu comme l'apprentissage par
renforcement moderne.
Initiation à l’intelligence artificielle 34
Apprentissage par renforcement
L'apprentissage par renforcement consiste à apprendre ce qu'il faut faire - comment associer
des situations à des actions - afin de maximiser un signal de récompense numérique.
L'apprenant n'est pas informé des actions à entreprendre, mais doit plutôt découvrir quelles
actions rapportent le plus de récompenses en les essayant.
— Sutton and Barto, Reinforcement Learning: An Introduction
Initiation à l’intelligence artificielle 35
Apprentissage par renforcement
Le Reinforcement Learning désigne l’ensemble des méthodes qui permettent à un agent d’apprendre à choisir quelle action
prendre, et ceci de manière autonome.
Plongé dans un environnement donné, il apprend en recevant des récompenses ou des pénalités en fonction de ses actions. Au
travers de son expérience, l’agent cherche à trouver la stratégie décisionnelle optimale qui puisse lui permettre de maximiser les
récompenses accumulées au cours du temps.
Schéma d’interaction entre l’agent et son environnement
Comment formuler un problème de Reinforcement learning ?
L’apprentissage par renforcement nécessite d’introduire un certain nombre de concepts et
de métriques, dont les principaux sont les suivants :
•Agent : système ou robot qui interagit et agit dans l’environnement ;
•Action a : une action parmi l’ensemble des actions possible ;
•État s (s comme state) : situation particulière dans laquelle l’agent se trouve ;
•Politique π : stratégie qui définit le comportement l’agent
Dans le cas d’une politique déterministe, l’action a est définie par : a= π(a|s)
Dans le cas d’une politique stochastique, la probabilité de l’action a est définie par :
p(a|s)= π(a|s)
Depuis l’état s (s comme state) de l’environnement, l’agent utilise une politique π pour choisir une action a. L’apprentissage par
renforcement vise à optimiser la politique d’action π de l’agent grâce à un jeu de récompenses positives et négatives.
Initiation à l’intelligence artificielle 36
Apprentissage par renforcement
•Récompense r(s,a) : Gain positif ou négatif collecté en effectuant l’action a à l’état
s. L’objectif est de maximiser les bénéfices totaux d’une politique.
•Épisode : il peut être défini comme la suite des actions menées jusqu’à l’état final
ou une durée d’action prédéfinie.
•Fonction de valeur V(s) : La fonction de valeur d’un état s est le montant total des
récompenses qu’un agent s’attend à pouvoir collecter de cet état jusqu’à la fin de
l’épisode.
•Fonction action-valeur Q(s, a) : La fonction de valeur d’action a à l’état s est le
montant total des récompenses attendues en prenant l’action a à l’état s jusqu’à la
fin de l’épisode.
•l’apprentissage par renforcement s’appuie sur l’interaction entre l’agent et son
environnement. L’environnement est d’abord dans un état st. L’agent effectue une
action at qui va avoir un impact sur l’environnement.
• L’état de l’environnement est alors modifié (ou pas), il en résulte un nouvel état
st+1 ainsi qu’une récompense rt qui permettra d’évaluer la pertinence de l’action
choisie. Principe de l'apprentissage par renforcement
• La fonction qui établit le passage de l’environnement de l’état st à l’état st+1 sous
l’effet de l’action at est nommée fonction de transition.
Initiation à l’intelligence artificielle 37
Apprentissage par renforcement
•L’optimisation de la politique ne se fait que pendant les périodes d’apprentissage. Une fois cet apprentissage jugé correct, il est possible
d’utiliser la politique π pour agir sur l’environnement, sans chercher à l’améliorer.
Prenons l’exemple du jeu de Pac-Man. Le but de l’agent (Pac-Man) est de manger la nourriture dans la grille tout en évitant les fantômes sur
son chemin. Le monde de la grille est l’environnement interactif de l’agent. Pac-Man reçoit une récompense pour avoir mangé de la
nourriture et une punition s’il est tué par le fantôme (il perd le jeu). Les états correspondent à l’emplacement de Pac-Man dans le monde de
la grille et la récompense totale cumulée est la victoire de Pac-Man dans le jeu.
p(a|s)= π(a|s)
Initiation à l’intelligence artificielle 38
Apprentissage par renforcement
Le processus de décision markovien
L’apprentissage par renforcement se place dans le cadre des processus de décision markovien (Markov Decision Process MDP). L’évolution de
l’environnement doit respecter la propriété de Markov :
la fonction de transition T(s,a,s’) doit être une fonction stochastique attribuant, pour une action a exécutée dans un état s, les probabilités de
se retrouver dans chaque état s’ et cette distribution de probabilité doit être indépendante des actions et état précédents.
Ainsi, le processus est modélisé par le quadruplet {S, A, T, R}
• un ensemble d’états S. ensemble (continu ou discret) des états de l’environnement que perçoit l’agent ;
• un ensemble d’actions A, discret ou continu ;
• une fonction de transition T(s,a,s’) représentant la probabilité de se retrouver dans l’état s’ en effectuant l’action a depuis l’état s ;
• une fonction de récompense R(s,a,s’), indiquant la récompense obtenue lors du passage de s à s’ en effectuant l’action a.
Notons que dans un environnement déterministe, la fonction de transition est simplifiée : elle indique directement l’état s’ dans lequel se
retrouve l’environnement après l’exécution de l’action a depuis l’état s. Afin de mieux illustrer ce qu’est un processus de décision markovien,
un exemple de problème adaptés à l’apprentissage par renforcement
Initiation à l’intelligence artificielle 39
Apprentissage par renforcement
Exemple d’environnement: Le pendule inversé
Le pendule inversé est un problème classique de contrôle optimal dont l’objectif est de maintenir à l’équilibre un
poids sur un chariot mobile.
L’état est décrit par un vecteur composé de l’angle θ, de la vitesse angulaire ω, de la position relative du chariot
ainsi que de la vitesse de ce dernier. L’ensemble S des états est donc un ensemble continu, que l’on peut si besoin
discrétiser.
Les actions correspondent aux différentes valeurs de la force appliquée au chariot. C’est là encore un ensemble
continu que l’on peut si besoin discrétiser.
En l’absence de frottement sec et si on se limite à de petits angles du pendule, la fonction de transition peut
être modélisée par des équations linéaires indiquant la valeur suivante de l’état en fonction de l’état actuel et de
l’action effectuée. On obtient alors un problème d’automatique classique.
En présence de frottement sec et si on considère de plus larges déplacements angulaires du pendule, le
problème est beaucoup plus complexe, mais reste déterministe. On pourrait alors écrire la fonction de transition,
non linéaire. Pour la fonction de récompense, on peut imaginer donner une récompense positive liée à l’angle
que fait le pendule avec la verticale et une récompense négative en cas de chute du pendule (angle supérieur à
45° par exemple)
Initiation à l’intelligence artificielle 40
Apprentissage par renforcement
Exemple d’environnement: Corps articulé
Gym propose plusieurs problèmes alliant robotique, biomécanique et environnement 3D. Le but de celui
présenté est l’un des plus ambitieux, maintenir un squelette mécanique debout et de le faire se déplacer sans le
déséquilibrer. L’état est constitué de l’angle et de la position relative de chaque articulation. L’action est
l’ensemble des couples appliqués à chaque articulation.
La fonction de transition peut prendre en compte les frottements secs de chaque articulation et donc être non
linéaire. Elle peut aussi prendre en compte du bruit sur les commandes ou sur certains paramètres et des
glissements stochastiques. Elle devient donc probabiliste. La récompense est donnée par la combinaison des
deux objectifs : être debout et se déplacer vers l’avant. Un système physique réel étant infiniment complexe,
pour passer du système réel au système simulé, il y a besoin d’expertise pour choisir les hypothèses que l’on peut
faire pour simplifier le modèle sans être dans un cas trop simpliste. Ce choix est d’autant plus important, si on
souhaite appliquer la politique apprise en simulation sur le système réel ensuite. En parallèle des problèmes
d’ingénierie pour lesquels on dispose ou on développe un simulateur, les jeux vidéo (ou les jeux ayant une
variante vidéo) sont particulièrement propices au développement d’une IA entraînée par apprentissage par
renforcement.
Simulation d’un humanoïde dans l’environnement Gym MuJoCo.
Image extraite de la documentation de Gym
Initiation à l’intelligence artificielle 41
Principaux challenges de l’apprentissage par renforcement
1- Le dilemme entre l’exploration et l’exploitation
Lorsque l’agent est plongé dans un environnement inconnu, il doit concilier entre :
➢ La nécessité d’explorer afin d’acquérir une meilleure connaissance de son environnement.
➢ L’exploitation de ses connaissances pour maximiser ses gains.
Cet équilibre entre exploitation et exploration représente un enjeu essentiel dans la phase d’apprentissage. À titre d’exemple, dans le cas de
PacMan, l’agent est confronté au dilemme d’explorer de nouveaux états en parcourant la grille ou de maximiser les récompenses accumulées
en limitant ses déplacements pour éviter les fantômes.
2- Choisir l'algorithme approprié et en régler les paramètres
Le choix de l’algorithme le plus approprié représente un défi important étant donné la grande variété d’approches existantes. Celles-ci
reposent sur des méthodes différentes et utilisent de nombreux hyper-paramètres. Dans ce contexte, il est essentiel de définir les bonnes
mesures pour évaluer ses performances et de choisir avec soin ses hyper-paramètres.
Initiation à l’intelligence artificielle 42
Principaux challenges de l’apprentissage par renforcement
3- Faire face aux problématiques de généralisation
Comme dans tout autre domaine de l’apprentissage machine, les algorithmes d’apprentissage par renforcement sont confrontés à des
problèmes de généralisation. Plus précisément, le concept de généralisation renvoie à deux critères :
➢ Atteindre des performances élevées dans un environnement où les données recueillies sont limitées.
➢ Obtenir des performances élevées dans un environnement aux caractéristiques similaires.
Pour mesurer la performance de la généralisation d’une méthode dans le premier cas, le comportement de l’agent est observé dans un
environnement de test identique à celui sur lequel il a été formé. En revanche, dans le second cas, le comportement de l’agent est observé
dans un environnement de test qui a des caractéristiques communes avec l’environnement de formation mais qui peut différer en termes de
dynamique et de récompenses.
Ces deux critères sont importants pour évaluer et comparer les performances relatives des méthodes d’apprentissage par renforcement.
Initiation à l’intelligence artificielle 43
Apprentissage par renforcement
L'apprentissage par renforcement (RL) a entrainé avec succès des programmes informatiques
pour jouer à des jeux à un niveau supérieur à celui des meilleurs joueurs humains du monde.
• Ces programmes trouvent la meilleure action à entreprendre dans les jeux avec de grands
espaces d'état et d'action, des informations mondiales imparfaites et une incertitude quant à
la façon dont les actions à court terme sont rentables à long terme.
• Les ingénieurs sont confrontés aux mêmes types de défis lors de la conception de
contrôleurs pour des systèmes réels. L'apprentissage par renforcement peut-il également
aider à résoudre des problèmes de contrôle complexes comme faire marcher un robot ou
conduire une voiture autonome ?
Initiation à l’intelligence artificielle 44
Apprentissage par renforcement
Voitures autonomes
La conduite de véhicules dans un environnement à contexte ouvert doit être entrainer par
un modèle deML avec toutes les scènes et scénarios possibles dans le monde réel.
Cependant la collection de ces variétés de scènes est un problème compliqué à
résoudre. Comment pouvons-nous garantir qu’une voiture autonome a déjà appris tous
les scénarios possibles et maîtrise chaque situation en toute sécurité ?
La réponse à cette question est l’apprentissage par renforcement .
Les modèles d'apprentissage par renforcement sont formés dans un environnement
dynamique en apprenant une politique à partir de ses propres expériences en suivant les
principes d'exploration et d'exploitation qui minimisent les perturbations du trafic. Les
voitures autonomes doivent prendre en compte de nombreux aspects en fonction
desquels elles prennent des décisions optimales.
Les zones de circulation, la gestion du trafic, le respect des limites de vitesse et l'évitement
des collisions sont des facteurs importants.
Initiation à l’intelligence artificielle 45
Apprentissage par renforcement
Voitures autonomes
De nombreux environnements de simulation sont disponibles pour tester les modèles
d’apprentissage par renforcement pour les technologies de véhicules autonomes.
DeepTraffic est un environnement open source qui combine les puissances de l'apprentissage
par renforcement, du Deep Learning et de la vision par ordinateur pour créer des algorithmes utilisés
pour la conduite autonome lancés par le MIT. Il simule des véhicules autonomes tels que des
drones, des voitures, etc. Carla est une autre excellente alternative développée pour
soutenir le développement, la formation et la validation des systèmes de conduite autonome.
Il reproduit les configurations urbaines, les bâtiments et les véhicules pour entraîner les
voitures autonomes dans des environnements simulés en temps réel très proches de la réalité.
La conduite autonome utilise l'apprentissage par renforcement à l'aide de ces environnements
synthétiques pour cibler les problèmes importants d' optimisation de trajectoire et de cheminement dynamique.
Les agents d’apprentissage par renforcement sont formés dans ces environnements dynamiques pour optimiser les trajectoires. Les agents
apprennent la planification des mouvements, le changement d'itinéraire, la décision et la position du stationnement et le contrôle de la vitesse,
etc.
Initiation à l’intelligence artificielle 46
Apprentissage par renforcement
Voitures autonomes
De nombreux environnements de simulation sont disponibles pour tester les modèles
d’apprentissage par renforcement pour les technologies de véhicules autonomes.
DeepTraffic est un environnement open source qui combine les puissances de l'apprentissage
par renforcement, du Deep Learning et de la vision par ordinateur pour créer des algorithmes utilisés
pour la conduite autonome lancés par le MIT. Il simule des véhicules autonomes tels que des
drones, des voitures, etc. Carla est une autre excellente alternative développée pour
soutenir le développement, la formation et la validation des systèmes de conduite autonome.
Il reproduit les configurations urbaines, les bâtiments et les véhicules pour entraîner les
voitures autonomes dans des environnements simulés en temps réel très proches de la réalité.
La conduite autonome utilise l'apprentissage par renforcement à l'aide de ces environnements
synthétiques pour cibler les problèmes importants d' optimisation de trajectoire et de cheminement dynamique.
Les agents d’apprentissage par renforcement sont formés dans ces environnements dynamiques pour optimiser les trajectoires. Les agents
apprennent la planification des mouvements, le changement d'itinéraire, la décision et la position du stationnement et le contrôle de la vitesse,
etc.
Initiation à l’intelligence artificielle 47
Apprentissage par renforcement
Initiation à l’intelligence artificielle 48
Apprentissage par renforcement
Initiation à l’intelligence artificielle 49
Anatomie de l'apprentissage par renforcement
• Au sein de l'agent, il existe une fonction qui prend en compte les
observations d'état (les entrées) et les mappe à des actions (les
sorties). Il s'agit de la fonction unique évoquée précédemment qui
remplacera tous les sous-composants individuels de votre système
de contrôle. Dans la nomenclature RL, cette fonction est appelée la
politique. Compte tenu d'un ensemble d'observations, la politique
décide de l'action à entreprendre.
• Dans l'exemple du robot, les observations seraient l'angle de chaque
articulation, l'accélération et la vitesse angulaire du tronc du robot et
les milliers de pixels du capteur de vision. La politique prendrait en
compte toutes ces observations et produirait les commandes
motrices qui déplaceront les bras et les jambes du robot.
• L'environnement générerait alors une récompense indiquant à
l'agent à quel point la combinaison très spécifique de commandes
d'actionneur fonctionnait. Si le robot reste debout et continue de
marcher, la récompense sera plus élevée que si le robot tombait au
sol.
Initiation à l’intelligence artificielle 50
Apprendre la politique optimale
• Si on pouvait concevoir une politique parfaite qui commanderait correctement les bons
actionneurs pour chaque état observé, alors votre travail serait fait.
• Bien sûr, ce serait difficile à faire dans la plupart des situations. Même si vous trouviez la stratégie
parfaite, l'environnement pourrait changer au fil du temps, de sorte qu'un mappage statique ne
serait plus optimal.
• Cela nous amène à l'algorithme d'apprentissage par renforcement. Il modifie la politique en
fonction des actions entreprises, des observations de l'environnement et du montant de la
récompense collectée.
• L'objectif de l'agent est d'utiliser des algorithmes d'apprentissage par renforcement pour
apprendre la meilleure politique au fur et à mesure qu'il interagit avec l'environnement afin que,
quel que soit l'état, il entreprenne toujours l'action la plus optimale, celle qui produira le plus de
récompense à long terme.
Initiation à l’intelligence artificielle 51
Le workflow de l’apprentissage par renforcement
Initiation à l’intelligence artificielle 52
Le workflow de l’apprentissage par renforcement
Environnement
• L'environnement est tout ce qui existe en dehors de l'agent. C'est là que
l'agent envoie des actions, et c'est ce qui génère des récompenses et des
observations.
• Cette définition peut prêter à confusion si vous venez du point de vue des
contrôles, car vous pouvez avoir tendance à considérer l'environnement
comme des perturbations qui ont un impact sur le système que vous
essayez de contrôler.
• Cependant, dans la nomenclature de l'apprentissage par renforcement,
l'environnement est tout sauf l'agent. Cela inclut la dynamique du
système. De cette façon, la majeure partie du système fait en fait partie
de l'environnement. L'agent n'est que le petit logiciel qui génère les
actions et met à jour la politique grâce à l'apprentissage.
Initiation à l’intelligence artificielle 53
Le workflow de l’apprentissage par renforcement
Environnements Réels vs Simulés
• Étant donné que l'agent apprend par l'interaction avec l'environnement, vous avez
besoin d'un moyen pour que l'agent interagisse réellement avec lui. Il peut s'agir d’un
environnement physique réel ou d'une simulation, et le choix entre les deux dépend de la
situation.
Réel Simulé
• Vitesse : les simulations peuvent s'exécuter plus rapidement qu'en temps réel ou être
• Précision : Rien ne représente l'environnement plus complètement que l'environnement parallélisées, accélérant ainsi un processus d'apprentissage lent.
réel.
• Conditions simulées : Il est plus facile de modéliser des situations qui seraient difficiles à
• Simplicité : Il n'est pas nécessaire de perdre du temps à créer et à valider un modèle. tester.
• Nécessaire : Il peut être nécessaire de s'entraîner avec l'environnement réel s'il change • Sécurité : Il n'y a aucun risque d'endommager le matériel.
constamment ou s'il est difficile à modéliser avec précision.
Initiation à l’intelligence artificielle 54
Le workflow de l’apprentissage par renforcement
La récompense
La récompense est une fonction qui produit un nombre scalaire
qui représente la « bonté » d'un agent étant dans un état
particulier et prenant une action particulière.
Initiation à l’intelligence artificielle 55
Le workflow de l’apprentissage par renforcement
Mise en forme de la récompense
Initiation à l’intelligence artificielle 56
Le workflow de l’apprentissage par renforcement
Mise en forme de la récompense
Initiation à l’intelligence artificielle 57
Le workflow de l’apprentissage par renforcement
Exploration vs. Exploitation
L'agent doit-il exploiter l'environnement en choisissant les actions
qui collectent le plus de récompenses qu'il connaît déjà, ou doit-il
choisir des actions qui explorent des parties de l'environnement
encore inconnues ?
Initiation à l’intelligence artificielle 58
Le workflow de l’apprentissage par renforcement
Exploration vs. Exploitation
Initiation à l’intelligence artificielle 59
Le workflow de l’apprentissage par renforcement
La politique
Initiation à l’intelligence artificielle 60
Le workflow de l’apprentissage par renforcement
Initiation à l’intelligence artificielle 61
Le workflow de l’apprentissage par renforcement
Initiation à l’intelligence artificielle 62
Le workflow de l’apprentissage par renforcement
Initiation à l’intelligence artificielle 63