Quand un programmeur écrit un logiciel classique, il doit prévoir lui-même toutes les règles : « si telle situation arrive, alors fais telle action ». Mais il existe une autre façon de faire fonctionner un ordinateur : lui apprendre à trouver les règles tout seul, à partir d'exemples. C'est ce qu'on appelle le machine learning.
Le machine learning (ou apprentissage automatique) est une méthode qui permet à un ordinateur d'apprendre à partir d'exemples, plutôt que d'être programmé avec des règles fixes. Plus il reçoit d'exemples, plus il s'améliore, un peu comme un élève qui progresse avec l'expérience.
Par exemple, un service de messagerie qui trie automatiquement les spams (courriers indésirables) n'a pas reçu une liste de règles écrites à la main. Il a « observé » des milliers de mails déjà classés comme spam ou non-spam, et il a appris petit à petit à repérer les caractéristiques d'un spam.
| Programmation classique | Machine learning | |
|---|---|---|
| Qui écrit les règles ? | Le programmeur, à la main | Le programme les découvre lui-même |
| Ce qu'on lui donne | Des instructions précises | Des exemples (un dataset) |
| Évolution | Le comportement ne change pas | Le programme s'améliore avec plus de données |
Pour qu'un programme de machine learning puisse apprendre, il a besoin d'exemples. Cet ensemble d'exemples porte un nom : le dataset, ou données d'entraînement.
Un dataset (données d'entraînement) est un ensemble d'exemples utilisés pour apprendre à un programme à reconnaître des modèles, c'est-à-dire des régularités dans les données. Sans dataset, un programme de machine learning ne peut rien apprendre.
Pour apprendre à un programme à distinguer un chat d'un chien, on lui montre des milliers de photos de chats et de chiens, chacune étiquetée « chat » ou « chien ». En observant toutes ces photos, le programme finit par repérer les caractéristiques qui différencient les deux animaux (forme des oreilles, du museau, de la queue...).
Plus le dataset est grand et varié (des photos prises sous différents angles, avec différentes races d'animaux, différentes lumières...), plus le programme apprend correctement et fait peu d'erreurs.
Certains programmes de machine learning ne cherchent pas à reconnaître une catégorie (comme « chat » ou « chien »), mais à prédire un nombre. On appelle cette technique la régression.
La régression est une technique de machine learning qui permet de prédire une valeur numérique à partir de données, comme un prix, une température ou une durée.
On donne à un programme les tailles et les prix de nombreuses maisons déjà vendues (par exemple : 50 m² → 20 000 $, 80 m² → 32 000 $...). En observant ces exemples, le programme apprend le lien entre la taille et le prix, et il peut ensuite prédire le prix approximatif d'une maison de 65 m² qu'il n'a jamais vue.
La régression sert donc à répondre à des questions du type « combien ? », alors que d'autres techniques de machine learning répondent plutôt à des questions du type « quelle catégorie ? » (par exemple : spam ou non-spam, chat ou chien).
Pour apprendre à partir d'exemples, beaucoup de programmes de machine learning utilisent un modèle appelé réseau de neurones artificiel, inspiré du fonctionnement du cerveau humain.
Un réseau de neurones artificiel est un modèle de machine learning inspiré du cerveau humain. Il est composé de plusieurs couches de « neurones » artificiels connectés entre eux, qui traitent l'information ensemble pour arriver à un résultat.
Imagine trois équipes qui travaillent l'une après l'autre sur une photo d'animal : la première équipe (couche d'entrée) regarde simplement les couleurs et les contours de l'image. La deuxième équipe (couche cachée) reconnaît des formes plus précises, comme des oreilles pointues ou un museau allongé. La troisième équipe (couche de sortie) rassemble toutes ces observations et donne la réponse finale : « chat » ou « chien ».
Chaque « neurone » artificiel reçoit des informations, les traite un peu, puis transmet le résultat au neurone suivant. C'est en travaillant ensemble, couche après couche, que le réseau arrive à une décision finale.
Le Deep Learning (ou apprentissage profond) est une forme de machine learning qui utilise des réseaux de neurones avec de très nombreuses couches (on dit qu'ils sont « profonds »). Grâce à ces nombreuses couches, il peut traiter des tâches complexes comme la reconnaissance d'images, de la voix ou de l'écriture manuscrite.
Le Deep Learning est utilisé dans beaucoup d'applications que tu connais peut-être déjà : le déverrouillage d'un smartphone par reconnaissance du visage, les assistants vocaux qui comprennent ce que tu dis, ou encore les applications de traduction automatique. Plus il y a de couches et de données d'entraînement, plus le programme peut traiter des tâches complexes.
Associe chaque terme (A à E) à la définition qui lui correspond (1 à 5).
Termes :
Définitions :
Un professeur veut créer un programme capable de reconnaître automatiquement la couleur d'encre utilisée par un élève sur sa copie (bleu, noir ou rouge). Pour cela, il scanne 2 000 copies d'élèves et note, pour chacune, la couleur du stylo utilisé.
Question : dans ce scénario, qu'est-ce qui correspond au dataset ?
La bonne réponse est b). Le dataset est l'ensemble des exemples utilisés pour l'entraînement : ici, ce sont les 2 000 copies scannées, chacune étiquetée avec la couleur d'encre correspondante. Le programme final (a) est le résultat de l'apprentissage, pas le dataset lui-même. Une seule copie ou un seul stylo (d) ne suffit pas à constituer un dataset : il en faut de nombreux exemples.
Pour chaque situation ci-dessous, indique s'il s'agit d'un problème de régression (on prédit un nombre) ou d'un autre type de problème (on prédit une catégorie).
Justifie chaque réponse en une phrase.
En une ou deux phrases, et avec tes propres mots, explique ce qu'est un réseau de neurones artificiel. Tu peux utiliser une comparaison avec le cerveau humain ou avec une équipe de personnes qui travaillent ensemble étape par étape.
Il n'y a pas une seule bonne réponse, mais une bonne explication doit contenir ces idées :
Exemple de réponse acceptable : « Un réseau de neurones, c'est comme plusieurs équipes qui travaillent l'une après l'autre : chaque équipe (couche) reçoit des informations, les analyse un peu, et transmet le résultat à l'équipe suivante, jusqu'à obtenir une réponse finale. »
Décris, étape par étape et avec tes propres mots, comment un programme de machine learning pourrait apprendre à reconnaître si une photo montre un fruit mûr ou un fruit pas mûr. Utilise les notions vues dans ce chapitre : dataset, entraînement et réseau de neurones.
Pour t'aider, réponds à ces questions dans ton texte :
10 questions · Correction immédiate