L'apprentissage automatique.Commission d'enrichissement de la langue française, « Vocabulaire de l'intelligence artificielle (liste de termes, expressions et définitions adoptés) », Journal officiel de la République française du . (en anglais : (ML), « apprentissage machine »), apprentissage artificiel ou apprentissage statistique est un champ d'étude de l'intelligence artificielle qui se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d'« apprendre » à partir de données, c'est-à-dire d'améliorer leurs performances à résoudre des tâches sans être explicitement programmés pour chacune. Plus largement, il concerne la conception, l'analyse, l'optimisation, le développement et l'implémentation de telles méthodes. On parle d'apprentissage statistique car l'apprentissage consiste à créer un modèle dont l'erreur statistique moyenne est la plus faible possible.
L'apprentissage automatique comporte généralement deux phases. La première, dite phase d'apprentissage ou d'entraînement, consiste à estimer un modèle à partir d'un jeu de données d'entraînement. Cette étape est souvent formulée comme un problème d'optimisation. La seconde phase consiste à utiliser le modèle entraîné afin d'effectuer des prédictions sur de nouvelles données. Les méthodes d'apprentissage incrémental peuvent continuer à apprendre une fois en production.
Plusieurs critères permettent de classifier les méthodes existantes. Le paradigme d'apprentissage (supervisé, non-supervisé, par renforcement…) est déterminé par la nature des données, et notamment la disponibilité ou non de données étiquetées, c'est-à-dire pour lesquelles la réponse au problème est connue. Par ailleurs, chaque méthode cherche à résoudre un problème d'apprentissage précis : on distingue les problèmes de régression, de classification, de partitionnement, et de réduction de dimensionnalité. Enfin, pour une tâche identifiée, une méthode d'apprentissage est caractérisée par le choix d'un modèle ainsi que d'algorithmes permettant d'entraîner ce modèle.
L'apprentissage automatique peut être appliqué à divers types de données, tels des graphes, des arbres, des courbes, ou plus simplement des vecteurs de caractéristiques, qui peuvent être des variables qualitatives ou quantitatives continues ou discrètes.
Si le modèle apprend de manière incrémentale, en fonction d'une récompense reçue par le programme pour chacune des actions entreprises, on parle d'apprentissage par renforcement.
Principes
L'apprentissage automatique permet à un système piloté ou assisté par ordinateur d'adapter ses réponses ou comportements aux situations rencontrées, en se fondant sur l'analyse de données empiriques passées issues de bases de données, de capteurs, ou du web.
Données et paradigme d'apprentissage
Le point commun à toutes les méthodes d'apprentissage automatique est d'exploiter de l'information contenue dans un jeu de données. Ces données peuvent toutefois être de nature très différentes : des données numériques, des séries temporelles, un corpus de textes, une collection d'images, de signaux audio ou vidéo, de graphes, etc.
La nature et la richesse des données disponibles définit le paradigme d'apprentissage, c'est-à-dire la manière dont les données guident le processus d'apprentissage. Par exemple, si l'on cherche à apprendre un détecteur de spam à partir d'une collection d'emails ayant été manuellement annotés comme désirables ou indésirables, on parle d'apprentissage supervisé : les données contiennent de l'information issue d'une supervision humaine, qui permet d'expliquer ce que l'on cherche à prédire.
Modèle d'apprentissage
Un système d'apprentissage repose sur le choix d'un modèle, c'est-à-dire d'un objet mathématique, décrit le plus souvent par des paramètres, permettant de capturer et d'expliquer certaines structures ou relations dans les données étudiées. Les paramètres du modèle sont ajustés à partir des données d'entraînement afin d'en décrire au mieux la structure.
Le choix du modèle est sujet à un compromis : un modèle simple contenant peu de paramètres est plus facile à entraîner, mais peut se révéler insuffisant si les données à modéliser sont complexes (par exemple fortement non linéaires) ; à l'inverse, un modèle complexe contenant de nombreux paramètres sera typiquement plus expressif et performant, mais il sera beaucoup plus difficile et coûteux d'en ajuster les paramètres.
L'entraînement du modèle : un problème d'optimisation
vignette|Illustration de la descente de gradient pour trois points de départ différents, faisant varier deux paramètres de sorte à minimiser la fonction de coût représentée par la hauteur.
La phase d'apprentissage consiste à rechercher la valeur des paramètres du modèle permettant d'expliquer au mieux les données observées. Elle est souvent formulée comme un problème d'optimisation, qui peut être convexe ou non convexe selon la complexité du modèle, et dont la résolution est typiquement effectuée en utilisant des algorithmes comme la descente de gradient ou descente de gradient stochastique.
L'entraînement de réseaux de neurones artificiels est par exemple un problème non convexe, et est classiquement résolu en utilisant la méthode de rétropropagation du gradient. Cette technique consiste à estimer itérativement, pour chaque couche du modèle et chaque paramètre de chaque couche, dans quelle mesure il a contribué à une bonne réponse ou à une erreur du modèle, et à l'ajuster en conséquence..
Historique
La concrétisation de l'idée des est principalement due à Alan Turing (mathématicien et cryptologue britannique) et à son concept de la « machine universelle » en 1936., qui est à la base des ordinateurs d'aujourd'hui. Il continuera à poser les bases de l'apprentissage automatique, avec son article sur « L'ordinateur et l'intelligence » en 1950., dans lequel il développe, entre autres, le test de Turing.
En 1943, le neurophysiologiste Warren McCulloch et le mathématicien Walter Pitts publient un article décrivant le fonctionnement de neurones en les représentant à l'aide de circuits électriques. Cette représentation sera la base théorique des réseaux neuronaux..
Arthur Samuel, informaticien américain pionnier dans le secteur de l'intelligence artificielle, est le premier à faire usage de l'expression machine learning (en français, « apprentissage automatique ») en 1959 à la suite de la création de son programme pour IBM en 1952. Le programme jouait au Jeu de Dames et s'améliorait en jouant. À terme, il parvint à battre le meilleur joueur des États-Unis...
Une avancée majeure dans le secteur de l'intelligence machine est le succès de l'ordinateur développé par IBM, Deep Blue, qui est le premier à vaincre le champion mondial d'échecs Garry Kasparov en 1997. Le projet Deep Blue en inspirera nombre d'autres dans le cadre de l'intelligence artificielle, particulièrement un autre grand défi : IBM Watson, l'ordinateur dont le but est de gagner au jeu Jeopardy!.. Ce but est atteint en 2011, quand Watson gagne à Jeopardy! en répondant aux questions par traitement de langage naturel..
Une nette accélération a lieu à partir de 2012, avec de nombreux succès applicatifs obtenus à l'aide de réseaux de neurones profonds : c'est le début du boom de l'intelligence artificielle. Les modèles utilisés ne sont pas nouveaux, mais une transformation s'opère par l'effet conjoint de plusieurs facteurs : l'utilisation de processeurs graphiques pour l'entraînement des modèles, l'abondance de jeux de données étiquetées, ainsi que quelques modifications des architectures existantes (notamment l'utilisation de la fonction partie positive comme non-linéarité , de techniques de dropout permettant de limiter le sur-apprentissage, et de nouvelles techniques d'initialisation des poids des réseaux). En 2012, un réseau neuronal (non-supervisé) développé par Google parvient à reconnaître des visages humains ainsi que des chats dans des vidéos YouTube... Quelques mois plus tard, le modèle AlexNet surpasse significativement les méthodes existantes sur une tâche de classification d'image. En 2014, 64 ans après la prédiction d'Alan Turing, le dialogueur Eugene Goostman est le premier à réussir le test de Turing en parvenant à convaincre 33 % des juges humains au bout de cinq minutes de conversation qu'il est non pas un ordinateur, mais un garçon ukrainien de 13 ans.. En 2015, l'ordinateur « AlphaGo » de Google gagne contre un des meilleurs joueurs au jeu de Go, jeu de plateau considéré comme le plus dur du monde.. En 2016, le modèle LipNet parvient à lire sur les lèvres avec un grand taux de succès...
À partir de 2017, le développement des transformeurs, basés sur le mécanisme d'attention, donne lieu à la naissance des grands modèles de langage. En particulier, les transformeurs génératifs préentraînés permettent d'effectuer de la génération de texte et sont rendus accessibles au grand public dans les années suivantes. Ces modèles dépassent alors significativement les performances des méthodes pré-existantes en traitement du langage naturel.
Paradigmes et problèmes d'apprentissage vignette|upright=1.4|En apprentissage supervisé, les réponses souhaitées sont connues et utilisées pour entraîner le modèle. En apprentissage non supervisé, aucune réponse n'est fournie, l'algorithme cherche à découvrir des structures dans les données..
Les algorithmes d'apprentissage peuvent être catégorisés selon la tâche d'apprentissage qu'ils cherchent à résoudre, c'est-à-dire selon ce qu'ils cherchent à apprendre. Toutefois, la nature des données disponibles conditionne directement ce que l'on peut ou non apprendre à partir de ces données. Pour cette raison, les tâches d'apprentissage peuvent elles-mêmes être catégorisées en plusieurs paradigmes d'apprentissage : L'apprentissage supervisé est utilisé lorsque le jeu de données décrit explicitement la sortie désirée ; c'est le cas notamment des problèmes de régression de classification, où l'on cherche à apprendre un prédicteur de la forme à partir de multiples observations des variables . L'apprentissage non supervisé est utilisé lorsque l'on souhaite identifier une structure dans un ensemble d'observations , mais sans disposer d'observations complémentaires ou d'étiquettes qui permettraient de décrire cette structure. C'est le cas notamment du partitionnement de données, et plus généralement de nombreuses méthodes de réduction de dimensionnalité. L'apprentissage par renforcement est utilisé lorsqu'un agent autonome peut interagir avec son environnement afin d'apprendre comment se comporter dans le but d'optimiser une récompense cumulée au cours du temps.
Apprentissage supervisé
L'apprentissage supervisé (ou analyse discriminante) consiste à apprendre une fonction modélisant une relation de la forme entre deux variables qui, une fois apprise, permet de prédire une sortie pour une entrée donnée. L'apprentissage est effectué en utilisant un ensemble d'observations jointes de ces variables. De multiples problèmes rentrent dans ce cadre : la variable peut être quantitative (par exemple une température), et on parle alors de régression, ou qualitative (par exemple une classe : un chien ou un chat), et on parle alors de classification. Lorsque est un objet complexe (par exemple un graphe), on parle de prédiction structurée.
Le fait qu'un ensemble de paires d'observations soit utilisé pour l'entraînement est ce qui caractérise ce paradigme : dans le cas d'un problème de classification d'images par exemple, les classes sont prédéterminées et la fonction est apprise en suivant les exemples de classements contenus dans les données d'entraînement. Un expert (ou oracle) doit préalablement étiqueter les exemples . Il est parfois préférable d'associer une donnée non pas à une classe unique, mais à une probabilité d'appartenance à chacune des classes prédéterminées ; on parle alors d'apprentissage supervisé probabiliste.