Le mot important n’est pas régularités. C’est utiles. Un jeu de données contient d’innombrables régularités. Un système d’apprentissage automatique a besoin d’une tâche définie et d’un moyen de déterminer quelles régularités contribuent à cette tâche.
L’idée de base
Imaginez que vous construisiez un filtre anti-spam.
Avec une programmation ordinaire fondée sur des règles, vous pourriez écrire des instructions telles que « marquer un message comme spam s’il contient cette expression et comporte plus de trois liens ». Les expéditeurs de spam changent leur formulation, des messages légitimes correspondent parfois aux règles et la liste de règles devient difficile à maintenir.
Avec l’apprentissage automatique, vous fournissez des exemples vérifiés de courriers indésirables et légitimes. Vous choisissez également un type de modèle et un score pour évaluer ses erreurs. Un algorithme d’apprentissage ajuste alors le modèle afin que ses résultats correspondent mieux aux exemples vérifiés.
Le résultat reste un logiciel. La différence tient à l’origine d’une partie de son comportement. Un programmeur écrit la procédure d’apprentissage et ses limites ; l’entraînement détermine de nombreux paramètres à l’intérieur de ces limites.
C’est pourquoi l’expression courante « sans être explicitement programmé » peut être trompeuse. Le système est programmé, mais sa règle de décision complète n’est pas écrite cas par cas.
Ce que signifie apprendre
Pour reconnaître un problème d’apprentissage automatique, il est utile d’en identifier quatre éléments :
- Une tâche. Que doit faire le système ? Par exemple, classer un e-mail, estimer un délai de livraison, regrouper des clients similaires ou choisir une action.
- Une expérience. De quelles informations peut-il apprendre ? Il peut s’agir d’exemples étiquetés, d’observations non étiquetées, d’interactions passées ou de récompenses obtenues par essais et erreurs.
- Une mesure de la réussite. Qu’est-ce qui rend un résultat meilleur qu’un autre ? Il peut s’agir de l’erreur de prédiction, de la qualité d’un regroupement ou de la récompense cumulée.
- Un modèle comportant des parties ajustables. Quel éventail de règles possibles le processus d’apprentissage peut-il explorer ?
L’apprentissage a lieu lorsque l’expérience modifie ces parties ajustables d’une manière qui améliore la mesure choisie. Le résultat entraîné s’appelle un modèle. Utiliser ce modèle sur un nouveau cas est distinct de son apprentissage.
Cette distinction est importante. La plupart des modèles déployés n’apprennent pas automatiquement de chaque nouvelle requête. Leurs paramètres appris restent fixes jusqu’à ce qu’une nouvelle procédure d’entraînement ou de mise à jour soit exécutée.
Comment fonctionne l’apprentissage automatique
Les détails varient, mais un projet typique suit cette boucle :
- Définir la tâche et le résultat concret qui compte dans le monde réel.
- Collecter et préparer des exemples représentatifs des conditions dans lesquelles le modèle sera utilisé.
- Choisir la manière de représenter les entrées et les formes de modèles autorisées.
- Définir un objectif : une manière numérique d’évaluer les modèles candidats.
- Exécuter un algorithme d’apprentissage qui recherche des paramètres offrant un meilleur score pour l’objectif.
- Utiliser des données distinctes pour prendre des décisions et un jeu de test laissé intact pour estimer les performances sur de nouveaux cas.
- Déployer le modèle entraîné, surveiller son comportement et le réentraîner ou le remplacer lorsque les données ou les exigences changent.
Voici le déroulement :
historical examples + a success measure
|
v
learning algorithm
adjusts model settings
|
v
trained model <----- held-out examples test generalization
|
new input
|
v
prediction, decision, or outputL’algorithme d’apprentissage et le modèle entraîné ne sont pas la même chose. L’algorithme est le processus d’ajustement. Le modèle est le résultat ajusté qui traite de nouvelles entrées.
Pour de nombreux modèles supervisés, l’ajustement consiste en corrections répétées. Le modèle produit des prédictions sur les exemples d’entraînement. Une fonction de perte transforme ses erreurs en un nombre. Une méthode d’optimisation modifie les paramètres du modèle afin de réduire cette perte. La répétition de ce processus peut améliorer les performances sur l’entraînement.
La réduction de la perte d’entraînement n’est pas l’objectif final. Un modèle peut mémoriser les détails de ses exemples d’entraînement et échouer sur de nouveaux exemples. C’est le surapprentissage. L’apprentissage automatique réussit lorsque le modèle généralise : il obtient de bonnes performances sur de nouveaux cas pertinents, issus des conditions qu’il est censé prendre en charge.
C’est pourquoi les données d’évaluation doivent être exclues de l’entraînement. Si les exemples de test influencent la sélection des caractéristiques, le prétraitement ou les choix répétés de modèles, des informations ont franchi la séparation. Le score obtenu peut alors sembler meilleur que les performances réelles du modèle.
Exemple détaillé : un filtre anti-spam
Supposons que vous disposiez de 1 000 e-mails examinés par des personnes : 500 spams et 500 messages légitimes.
Vous mettez de côté 200 e-mails avant de prendre des décisions de modélisation. Ils constituent le jeu de test. Les 800 restants servent de données d’entraînement. Pour chaque message, le système peut représenter des signaux tels que les mots qu’il contient, le nombre de liens et le fait que l’expéditeur soit déjà apparu.
Au départ, les paramètres ajustables du modèle ne sont pas utiles. Pendant l’entraînement, le système d’apprentissage prédit une étiquette pour chaque exemple d’entraînement, mesure les erreurs et modifie les paramètres. Une expression associée à de nombreux spams peut gagner en influence. Un expéditeur connu peut faire pencher le score vers un message légitime. Il s’agit d’associations apprises, et non de règles universelles.
Après l’entraînement et la sélection du modèle, vous évaluez une seule fois le modèle final sur les 200 messages laissés intacts. Imaginons qu’il obtienne les résultats suivants :
- 90 spams correctement bloqués
- 94 messages légitimes correctement autorisés
- 10 spams non détectés
- 6 messages légitimes bloqués à tort
Il a classé correctement 184 des 200 messages ; sa précision sur ce test illustratif est donc de 92 %.
Ce chiffre ne clôt pas l’analyse. Bloquer six e-mails légitimes peut coûter plus cher que laisser passer dix spams. Vous pourriez modifier le seuil de décision afin de bloquer moins de messages légitimes, en acceptant que davantage de spams ne soient pas détectés. Le compromis approprié dépend de la tâche, et pas des seules données.
Un nouvel e-mail arrive maintenant et reçoit un score de spam de 0,82. Produire ce score correspond à l’utilisation du modèle entraîné. Le modèle n’apprend pas nécessairement à partir de cet e-mail. Si des personnes examinent ensuite de nouveaux messages, ces évaluations pourront servir d’expérience lors d’un futur entraînement.
Le résultat de 92 % est également conditionnel. Il n’estime les performances futures que si le jeu de test est suffisamment grand et ressemble aux futurs e-mails. Une évolution du langage, des expéditeurs ou des attaques peut rendre le modèle d’hier moins utile.
Principales façons dont les modèles reçoivent un signal d’apprentissage
Les catégories de l’apprentissage automatique se recouvrent, mais trois grands cadres d’apprentissage sont utiles :
- L’apprentissage supervisé utilise des exemples associés aux réponses attendues, comme des e-mails étiquetés comme spams ou légitimes.
- L’apprentissage non supervisé ne fournit pas de réponse pour chaque exemple ; il optimise plutôt un objectif qui met en évidence une structure, par exemple en regroupant des éléments similaires.
- L’apprentissage par renforcement utilise des récompenses ou des pénalités issues d’actions effectuées dans un environnement, souvent lorsqu’une action influe sur ce qui se passe ensuite.
D’autres termes décrivent des mélanges ou d’autres dimensions. L’apprentissage semi-supervisé combine des exemples étiquetés et non étiquetés. L’apprentissage auto-supervisé construit les cibles d’entraînement à partir des données elles-mêmes. Les modèles génératifs apprennent à produire de nouveaux échantillons, mais ils peuvent être entraînés avec plusieurs cadres d’apprentissage.
Ces catégories servent à décrire un système ; elles ne constituent pas une partition stricte utilisée de la même manière par toutes les sources.
Pourquoi l’apprentissage automatique est important
L’apprentissage automatique est utile lorsque le comportement souhaité est plus facile à démontrer ou à mesurer qu’à exprimer sous la forme d’un ensemble complet de règles.
Il est plus facile d’étiqueter des exemples de paroles que d’écrire toutes les règles reliant les ondes sonores aux mots. Il est plus facile d’enregistrer des temps de trajet que de coder manuellement toutes les interactions entre la circulation, la météo, les travaux routiers et l’heure de la journée. Il est possible de recueillir des exemples de transactions frauduleuses et légitimes même lorsqu’aucune courte liste de critères ne permet de les séparer clairement.
L’apprentissage ne supprime pas le travail humain. Il le transforme. Les personnes décident de ce qu’il faut prédire, des données représentées, des erreurs qui comptent et du niveau de sécurité nécessaire avant d’utiliser le résultat. Elles assurent également la maintenance des logiciels environnants et surveillent ce qui se passe après le déploiement.
L’apprentissage automatique convient mal lorsque les règles ordinaires sont claires, stables et faciles à vérifier. Un calcul fiscal soumis à des règles juridiques explicites ne devrait pas devenir une estimation statistique simplement parce que l’apprentissage automatique est disponible.
Idées reçues courantes
Un modèle apprend comme une personne
Le terme « apprendre » décrit une modification mesurable résultant de l’expérience. Il n’implique ni conscience, ni compréhension, ni processus d’apprentissage humain. Un modèle peut devenir plus précis pour une tâche étroite sans savoir ce que signifient ses entrées.
Les données enseignent tout au modèle
Les données ne choisissent pas à elles seules la tâche, l’objectif, la représentation ou les erreurs acceptables. Tout système d’apprentissage contient des hypothèses sur les régularités qu’il peut trouver et privilégier. Ces choix façonnent le résultat.
De bonnes performances d’entraînement signifient que le modèle fonctionne
Un modèle peut mémoriser ses données d’entraînement. Les performances sur des données correctement séparées et représentatives constituent un meilleur test pour déterminer s’il a appris quelque chose de réutilisable.
Davantage de données résout toujours le problème
Davantage de données pertinentes et correctement mesurées peut aider. Davantage de données dupliquées, biaisées, mal étiquetées, obsolètes ou sans rapport peut renforcer un mauvais comportement. La couverture et la qualité comptent autant que la quantité.
Les prédictions expliquent les causes
Un modèle peut découvrir que deux signaux évoluent ensemble et utiliser l’un pour prédire l’autre. Cela ne montre pas que modifier l’un entraînera une modification de l’autre. Les affirmations causales nécessitent généralement des hypothèses plus solides ou des expériences contrôlées.
L’IA et l’apprentissage automatique sont interchangeables
L’apprentissage automatique est une manière majeure de construire des systèmes d’IA, mais les règles, la recherche, la planification et d’autres techniques peuvent également produire un comportement décrit comme relevant de l’IA. Un produit moderne peut combiner des modèles appris avec une part importante de logiciels qui n’apprennent pas.
La place de l’apprentissage automatique dans un système d’IA
L’apprentissage automatique est le processus qui produit ou met à jour un modèle appris. Le modèle n’est qu’un composant. Une application y ajoute la collecte de données, les interfaces, les règles métier, les contrôles de sécurité, le stockage et la surveillance.
Un réseau neuronal est une conception possible de modèle, et non un autre nom pour l’apprentissage automatique. L’entraînement est l’étape au cours de laquelle un processus d’apprentissage ajuste un modèle. L’inférence est l’étape au cours de laquelle le modèle entraîné traite de nouvelles entrées. Séparer ces éléments facilite l’évaluation des affirmations relatives au produit.
Pour aller plus loin
Lisez « Qu’est-ce qu’un réseau neuronal ? » pour découvrir un type très utilisé de modèle d’apprentissage automatique. Lisez ensuite « Qu’est-ce que l’entraînement en IA ? » pour comprendre le processus d’ajustement, puis « Qu’est-ce que l’inférence en IA ? » pour comprendre ce qui se passe lorsqu’un modèle entraîné est utilisé.