Apprentissage automatique

Un article de Wikipédia, l'encyclopédie libre.
Apprentissage automatique
Image dans Infobox.
Sous-classe de
Partie de
Pratiqué par
Machine learning engineer (d)Voir et modifier les données sur Wikidata
Champs
Par l'entraînement, ici supervisé, sur un grand nombre de mesures, il devient facile à un programme d'apprentissage automatique de reconnaître des formes, même complexes, et d'y classifier ensuite de nouveaux points (exemple d'usage du programme mldemos).

L'apprentissage automatique[1],[2] (en anglais : machine learning, litt. « apprentissage machine[1],[2] »), apprentissage artificiel[1] 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.

L'apprentissage automatique comporte généralement deux phases. La première consiste à estimer un modèle à partir de données, appelées observations, qui sont disponibles et en nombre fini, lors de la phase de conception du système. L'estimation du modèle consiste à résoudre une tâche pratique, telle que traduire un discours, estimer une densité de probabilité, reconnaître la présence d'un chat dans une photographie ou participer à la conduite d'un véhicule autonome. Cette phase dite « d'apprentissage » ou « d'entraînement » est généralement réalisée préalablement à l'utilisation pratique du modèle. La seconde phase correspond à la mise en production : le modèle étant déterminé, de nouvelles données peuvent alors être soumises afin d'obtenir le résultat correspondant à la tâche souhaitée. En pratique, certains systèmes peuvent poursuivre leur apprentissage une fois en production, pour peu qu'ils aient un moyen d'obtenir un retour sur la qualité des résultats produits.

Selon les informations disponibles durant la phase d'apprentissage, l'apprentissage est qualifié de différentes manières. Si les données sont étiquetées (c'est-à-dire que la réponse à la tâche est connue pour ces données), il s'agit d'un apprentissage supervisé. On parle de classification ou de classement[3] si les étiquettes sont discrètes, ou de régression si elles sont continues. Si le modèle est appris 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. Dans le cas le plus général, sans étiquette, on cherche à déterminer la structure sous-jacente des données (qui peuvent être une densité de probabilité) et il s'agit alors d'apprentissage non supervisé. L'apprentissage automatique peut être appliqué à différents 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.

Historique[modifier | modifier le code]

Depuis l'antiquité, le sujet des machines pensantes préoccupe les esprits. Ce concept est la base de pensées pour ce qui deviendra ensuite l'intelligence artificielle, ainsi qu'une de ses sous-branches : l'apprentissage automatique.

La concrétisation de cette idée est principalement due à Alan Turing (mathématicien et cryptologue britannique) et à son concept de la « machine universelle » en 1936[4], 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[5], 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[6].

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 4e meilleur joueur des États-Unis[7],[8].

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![9]. Ce but est atteint en 2011, quand Watson gagne à Jeopardy! en répondant aux questions par traitement de langage naturel[10].

Durant les années suivantes, les applications de l'apprentissage automatique médiatisées se succèdent bien plus rapidement qu'auparavant.

En 2012, un réseau neuronal développé par Google parvient à reconnaître des visages humains ainsi que des chats dans des vidéos YouTube[11],[12].

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[13].

En 2015, une nouvelle étape importante est atteinte lorsque 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[14].

En 2016, un système d'intelligence artificielle à base d'apprentissage automatique nommé LipNet parvient à lire sur les lèvres avec un grand taux de succès[15],[16].

Principes[modifier | modifier le code]

L'apprentissage automatique (AA) permet à un système piloté ou assisté par ordinateur comme un programme, une IA ou un robot, 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.

L'AA permet de surmonter la difficulté qui réside dans le fait que l'ensemble de tous les comportements possibles compte tenu de toutes les entrées possibles devient rapidement trop complexe à décrire et programmer de manière classique (on parle d'explosion combinatoire). On confie donc à des programmes d'AA le soin d'ajuster un modèle pour simplifier cette complexité et de l'utiliser de manière opérationnelle. Idéalement, l'apprentissage visera à être non supervisé, c'est-à-dire que les réponses aux données d’entraînement ne sont pas fournies au modèle[17].

Ces programmes, selon leur degré de perfectionnement, intègrent éventuellement des capacités de traitement probabiliste des données, d'analyse de données issues de capteurs, de reconnaissance (reconnaissance vocale, de forme, d'écriture…), de fouille de données, d'informatique théorique

Applications[modifier | modifier le code]

L'apprentissage automatique est utilisé dans un large spectre d'applications pour doter des ordinateurs ou des machines de capacité d'analyser des données d'entrée comme : perception de leur environnement (vision, Reconnaissance de formes tels des visages, schémas, segmentation d'image, langages naturels, caractères dactylographiés ou manuscrits ; moteurs de recherche, analyse et indexation d'images et de vidéo, en particulier pour la recherche d'image par le contenu ; aide aux diagnostics, médical notamment, bio-informatique, chémoinformatique ; interfaces cerveau-machine ; détection de fraudes à la carte de crédit, cybersécurité, analyse financière, dont analyse du marché boursier ; classification des séquences d'ADN ; jeu ; génie logiciel ; adaptation de sites Web ; robotique (locomotion de robots, etc.) ; analyse prédictive dans de nombreux domaines (financière, médicale, juridique, judiciaire).

Exemples :

  • un système d'apprentissage automatique peut permettre à un robot ayant la capacité de bouger ses membres, mais ne sachant initialement rien de la coordination des mouvements permettant la marche, d'apprendre à marcher. Le robot commencera par effectuer des mouvements aléatoires, puis, en sélectionnant et privilégiant les mouvements lui permettant d'avancer, mettra peu à peu en place une marche de plus en plus efficace[réf. nécessaire] ;
  • la reconnaissance de caractères manuscrits est une tâche complexe car deux caractères similaires ne sont jamais exactement identiques. Il existe des systèmes d'apprentissage automatique qui apprennent à reconnaître des caractères en observant des « exemples », c'est-à-dire des caractères connus. Un des premiers système de ce type est celui de reconnaissance des codes postaux US manuscrits issu des travaux de recherche de Yann Le Cun, un des pionniers du domaine [18],[19], et ceux utilisés pour la reconnaissance d'écriture ou OCR.

Types d'apprentissage[modifier | modifier le code]

Les algorithmes d'apprentissage peuvent se catégoriser selon le mode d'apprentissage qu'ils emploient.

Apprentissage supervisé[modifier | modifier le code]

Si les classes sont prédéterminées et les exemples connus, le système apprend à classer selon un modèle de classification ou de classement ; on parle alors d'apprentissage supervisé (ou d'analyse discriminante). Un expert (ou oracle) doit préalablement étiqueter des exemples. Le processus se passe en deux phases. Lors de la première phase (hors ligne, dite d'apprentissage), il s'agit de déterminer un modèle à partir des données étiquetées. La seconde phase (en ligne, dite de test) consiste à prédire l'étiquette d'une nouvelle donnée, connaissant le modèle préalablement appris. Parfois il est 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.

Fondamentalement, le machine learning supervisé revient à apprendre à une machine à construire une fonction f telle que Y = f(X), Y étant un (ou plusieurs) résultat d'intérêt calculé en fonction de données d'entrées X effectivement à la disposition de l'utilisateur. Y peut être une grandeur continue (une température par exemple), et on parle alors de régression, ou discrète (une classe, chien ou chat par exemple), et on parle alors de classification.

Des cas d'usage typiques d'apprentissage automatique peuvent être d'estimer la météo du lendemain en fonction de celle du jour et des jours précédents, de prédire le vote d'un électeur en fonction de certaines données économiques et sociales, d'estimer la résistance d'un nouveau matériau en fonction de sa composition, de déterminer la présence ou non d'un objet dans une image, etc. L'analyse discriminante linéaire ou les SVM en sont d'autres exemples typiques. Autre exemple, en fonction de points communs détectés avec les symptômes d'autres patients connus (les exemples), le système peut catégoriser de nouveaux patients au vu de leurs analyses médicales en risque estimé de développer telle ou telle maladie.

Apprentissage non supervisé[modifier | modifier le code]

Quand le système ou l'opérateur ne dispose que d'exemples, mais non d'étiquette, et que le nombre de classes et leur nature n'ont pas été prédéterminées, on parle d'apprentissage non supervisé ou clustering en anglais. Aucun expert n'est requis. L'algorithme doit découvrir par lui-même la structure plus ou moins cachée des données. Le partitionnement de données, data clustering en anglais, est un algorithme d'apprentissage non supervisé.

Le système doit ici — dans l'espace de description (l'ensemble des données) — cibler les données selon leurs attributs disponibles, pour les classer en groupes homogènes d'exemples. La similarité est généralement calculée selon une fonction de distance entre paires d'exemples. C'est ensuite à l'opérateur d'associer ou déduire du sens pour chaque groupe et pour les motifs (patterns en anglais) d'apparition de groupes, ou de groupes de groupes, dans leur « espace ». Divers outils mathématiques et logiciels peuvent l'aider. On parle aussi d'analyse des données en régression (ajustement d'un modèle par une procédure de type moindres carrés ou autre optimisation d'une fonction de coût). Si l'approche est probabiliste (c'est-à-dire que chaque exemple, au lieu d'être classé dans une seule classe, est caractérisé par un jeu de probabilités d'appartenance à chacune des classes), on parle alors de « soft clustering » (par opposition au « hard clustering »).

Cette méthode est souvent source de sérendipité. ex. : Pour un épidémiologiste qui voudrait dans un ensemble assez large de victimes de cancer du foie tenter de faire émerger des hypothèses explicatives, l'ordinateur pourrait différencier différents groupes, que l'épidémiologiste chercherait ensuite à associer à divers facteurs explicatifs, origines géographique, génétique, habitudes ou pratiques de consommation, expositions à divers agents potentiellement ou effectivement toxiques (métaux lourds, toxines telle que l'aflatoxineetc.).

Apprentissage semi-supervisé[modifier | modifier le code]

Effectué de manière probabiliste ou non, il vise à faire apparaître la distribution sous-jacente des exemples dans leur espace de description. Il est mis en œuvre quand des données (ou « étiquettes ») manquent… Le modèle doit utiliser des exemples non étiquetés pouvant néanmoins renseigner. ex. : En médecine, il peut constituer une aide au diagnostic ou au choix des moyens les moins onéreux de tests de diagnostic.

Apprentissage partiellement supervisé[modifier | modifier le code]

Probabiliste ou non, quand l'étiquetage des données est partiel[20]. C'est le cas quand un modèle énonce qu'une donnée n'appartient pas à une classe A, mais peut-être à une classe B ou C (A, B et C étant trois maladies par exemple évoquées dans le cadre d'un diagnostic différentiel).:

Apprentissage par renforcement[modifier | modifier le code]

L'algorithme apprend un comportement étant donné une observation[21]. L'action de l'algorithme sur l'environnement produit une valeur de retour qui guide l'algorithme d'apprentissage.

Par exemple, l'algorithme de Q-Learning[22] est un exemple classique.

Apprentissage par transfert[modifier | modifier le code]

L’apprentissage par transfert peut être vu comme la capacité d’un système à reconnaître et à appliquer des connaissances et des compétences, apprises à partir de tâches antérieures, sur de nouvelles tâches ou domaines partageant des similitudes[23]. Il s'agit d'identifier les similitudes entre la ou les tâche(s) cible(s) et la ou les tâche(s) source(s), puis de transférer la connaissance de la ou des tâche(s) source(s) vers la ou les tâche(s) cible(s).

Algorithmes utilisés[modifier | modifier le code]

Les algorithmes se classent en quatre familles ou types principaux[24] :

Plus précisément[24] :

Ces méthodes sont souvent combinées pour obtenir diverses variantes d'apprentissage. Le choix d'un algorithme dépend fortement de la tâche à résoudre (classification, estimation de valeurs…), du volume et de la nature des données. Ces modèles reposent souvent sur des modèles statistiques.

Facteurs de pertinence et d'efficacité[modifier | modifier le code]

La qualité de l'apprentissage et de l'analyse dépendent du besoin en amont et a priori de la compétence de l'opérateur pour préparer l'analyse. Elle dépend aussi de la complexité du modèle (spécifique ou généraliste), de son adéquation et de son adaptation au sujet à traiter. In fine, la qualité du travail dépendra aussi du mode (de mise en évidence visuelle) des résultats pour l'utilisateur final (un résultat pertinent pourrait être caché dans un schéma trop complexe, ou mal mis en évidence par une représentation graphique inappropriée).

Avant cela, la qualité du travail dépendra de facteurs initiaux contraignants, liées à la base de données :

  • nombre d'exemples (moins il y en a, plus l'analyse est difficile, mais plus il y en a, plus le besoin de mémoire informatique est élevé et plus longue est l'analyse) ;
  • nombre et qualité des attributs décrivant ces exemples. La distance entre deux « exemples » numériques (prix, taille, poids, intensité lumineuse, intensité de bruit, etc.) est facile à établir, celle entre deux attributs catégoriels (couleur, beauté, utilité…) est plus délicate ;
  • pourcentage de données renseignées et manquantes ;
  • bruit : le nombre et la « localisation » des valeurs douteuses (erreurs potentielles, valeurs aberrantes…) ou naturellement non-conformes au pattern de distribution générale des « exemples » sur leur espace de distribution impacteront sur la qualité de l'analyse.

Étapes d'un projet d'apprentissage automatique[modifier | modifier le code]

L'apprentissage automatique ne se résume pas à un ensemble d'algorithmes, mais suit une succession d'étapes[28],[29].

  1. Définir le problème à résoudre.
  2. Acquérir des données : l'algorithme se nourrissant des données en entrée, c'est une étape importante. Il en va de la réussite du projet, de récolter des données pertinentes et en quantité et qualité suffisantes, et en évitant tout biais dans leur représentativité.
  3. Analyser et explorer les données.
  4. Préparer et nettoyer les données : les données recueillies doivent être retouchées avant utilisation. En effet, certains attributs sont inutiles, d’autre doivent être modifiés afin d’être compris par l’algorithme (les variables qualitatives doivent être encodées-binarisées), et certains éléments sont inutilisables car leurs données sont incomplètes (les valeurs manquantes doivent être gérées, par exemple par simple suppression des exemples comportant des variables manquantes, ou par remplissage par la médiane, voire par apprentissage automatique). Plusieurs techniques telles que la visualisation de données, la transformation de données (en) ou encore la normalisation (variables projetées entre 0 et 1) ou la standardisation (variables centrées - réduites) sont employées afin d'homogénéiser les variables entre elles, notamment pour aider la phase de descente de gradient nécessaire à l'apprentissage.
  5. Ingénierie ou extraction de caractéristiques : les attributs peuvent être combinés entre eux pour en créer de nouveaux plus pertinents et efficaces pour l’entraînement du modèle[30]. Ainsi, en physique, de la construction de nombres adimensionnels adaptés au problème, de solutions analytiques approchées, de statistiques pertinentes, de corrélations empiriques ou l'extraction de spectres par transformée de Fourier [31],[32],[33]. Il s'agit d'ajouter l'expertise humaine au préalable de l'apprentissage machine pour favoriser celui-ci[34].
  6. Choisir ou construire un modèle d’apprentissage : un large choix d'algorithmes existe, et il faut en choisir un adapté au problème et aux données. La métrique optimisée doit être choisie judicieusement (erreur absolue moyenne, erreur relative absolue m
  7. moyenne, précision, rappel, etc.)
  8. Entraîner, évaluer et optimiser : l'algorithme d'apprentissage automatique est entraîné et validé sur un premier jeu de données pour optimiser ses hyperparamètres.
  9. Test : puis il est évalué sur un deuxième ensemble de données de test afin de vérifier qu'il est efficace avec un jeu de donnée indépendant des données d’entraînement, et pour vérifier qu'il ne fasse pas de surapprentissage.
  10. Déployer : le modèle est alors déployé en production pour faire des prédictions, et potentiellement utiliser les nouvelles données en entrée pour se ré-entraîner et être amélioré.
  11. Expliquer : déterminer quelles sont les variables importantes et comment elles impactent les prédictions du modèle en général et au cas par cas

La plupart de ces étapes se retrouvent dans les méthodes et processus de projet KDD, CRISP-DM et SEMMA, qui concernent les projets d'exploration de données[35].

Toutes ces étapes sont complexes et requièrent du temps et de l'expertise, mais il existe des outils permettant de les automatiser au maximum pour "démocratiser" l'accès à l'apprentissage automatique. Ces approches sont dites "Auto ML" (pour machine learning automatique) ou "No Code" (pour illustrer que ces approches ne nécessitent pas ou très peu de programmation informatique), elles permettent d'automatiser la construction de modèles d'apprentissage automatique pour limiter au maximum le besoin d'intervention humaine. Parmi ces outils, commerciaux ou non, on peut citer Caret, PyCaret, pSeven, Jarvis, Knime, MLBox ou DataRobot.

Application à la voiture autonome[modifier | modifier le code]

La voiture autonome paraît en 2016 réalisable grâce à l’apprentissage automatique et les énormes quantités de données générées par la flotte automobile, de plus en plus connectée. Contrairement aux algorithmes classiques (qui suivent un ensemble de règles prédéterminées), l’apprentissage automatique apprend ses propres règles[36].

Les principaux innovateurs dans le domaine insistent sur le fait que le progrès provient de l’automatisation des processus. Ceci présente le défaut que le processus d’apprentissage automatique devient privatisé et obscur. Privatisé, car les algorithmes d’AA constituent des gigantesques opportunités économiques, et obscurs car leur compréhension passe derrière leur optimisation. Cette évolution peut potentiellement nuire à la confiance du public envers l’apprentissage automatique, mais surtout au potentiel à long terme de techniques très prometteuses[37].

La voiture autonome présente un cadre test pour confronter l’apprentissage automatique à la société. En effet, ce n’est pas seulement l’algorithme qui se forme à la circulation routière et ses règles, mais aussi l’inverse. Le principe de responsabilité est remis en cause par l’apprentissage automatique, car l’algorithme n’est plus écrit mais apprend et développe une sorte d’intuition numérique. Les créateurs d’algorithmes ne sont plus en mesure de comprendre les « décisions » prises par leurs algorithmes, ceci par construction mathématique même de l’algorithme d’apprentissage automatique[38].

Dans le cas de l’AA et les voitures autonomes, la question de la responsabilité en cas d’accident se pose. La société doit apporter une réponse à cette question, avec différentes approches possibles. Aux États-Unis, il existe la tendance à juger une technologie par la qualité du résultat qu’elle produit, alors qu’en Europe le principe de précaution est appliqué, et on y a plus tendance à juger une nouvelle technologie par rapport aux précédentes, en évaluant les différences par rapport à ce qui est déjà connu. Des processus d’évaluation de risques sont en cours en Europe et aux États-Unis[37].

La question de responsabilité est d’autant plus compliquée que la priorité chez les concepteurs réside en la conception d’un algorithme optimal, et non pas de le comprendre. L’interprétabilité des algorithmes est nécessaire pour en comprendre les décisions, notamment lorsque ces décisions ont un impact profond sur la vie des individus. Cette notion d’interprétabilité, c’est-à-dire de la capacité de comprendre pourquoi et comment un algorithme agit, est aussi sujette à interprétation.

La question de l’accessibilité des données est sujette à controverse : dans le cas des voitures autonomes, certains défendent l’accès public aux données, ce qui permettrait un meilleur apprentissage aux algorithmes et ne concentrerait pas cet « or numérique » dans les mains d’une poignée d’individus, de plus d’autres militent pour la privatisation des données au nom du libre marché, sans négliger le fait que des bonnes données constituent un avantage compétitif et donc économique[37],[39].

La question des choix moraux liés aux décisions laissées aux algorithmes d'AA et aux voitures autonomes en cas de situations dangereuses ou mortelles se pose aussi. Par exemple en cas de défaillance des freins du véhicule, et d'accident inévitable, quelles vies sont à sauver en priorité: celle des passagers ou bien celle des piétons traversant la rue[40] ?

Prospective[modifier | modifier le code]

Dans les années 2000-2010, l'apprentissage automatique est encore une technologie émergente, mais polyvalente, qui est par nature théoriquement capable d'accélérer le rythme de l'automatisation et de l'autoaprentissage lui-même. Combiné à l'apparition de nouveaux moyens de produire, stocker et faire circuler l'énergie, ainsi qu'à l'informatique ubiquiste, il pourrait bouleverser les technologies et la société comme l'ont fait la machine à vapeur et l'électricité, puis le pétrole et l'informatique lors des révolutions industrielles précédentes.

L'apprentissage automatique pourrait générer des innovations et des capacités inattendues, mais avec un risque selon certains observateurs de perte de maîtrise de la part des humains sur de nombreuses tâches qu'ils ne pourront plus comprendre et qui seront faites en routine par des entités informatiques et robotisées. Ceci laisse envisager des impacts spécifiques complexes et encore impossibles à évaluer sur l'emploi, le travail et plus largement l'économie et les inégalités. Selon le journal Science fin 2017 : « Les effets sur l'emploi sont plus complexes que la simple question du remplacement et des substitutions soulignées par certains. Bien que les effets économiques du BA soient relativement limités aujourd'hui et que nous ne soyons pas confrontés à une « fin du travail » imminente comme cela est parfois proclamé, les implications pour l'économie et la main-d'œuvre sont profondes »[41].

Il est tentant de s'inspirer des êtres vivants sans les copier naïvement[42] pour concevoir des machines capables d'apprendre. Les notions de percept et de concept comme phénomènes neuronaux physiques ont d'ailleurs été popularisés dans le monde francophone par Jean-Pierre Changeux. L'apprentissage automatique reste avant tout un sous-domaine de l'informatique, mais il est étroitement lié opérationnellement aux sciences cognitives, aux neurosciences, à la biologie et à la psychologie, et pourrait à la croisée de ces domaines, nanotechnologies, biotechnologies, informatique et sciences cognitives, aboutir à des systèmes d'intelligence artificielle ayant une assise plus vaste. Des enseignements publics ont notamment été dispensés au Collège de France, l'un par Stanislas Dehaene[43] orienté sur l'aspect bayésien des neurosciences, et l'autre par Yann LeCun[44] sur les aspects théoriques et pratiques de l'apprentissage profond.

Enjeux et limites[modifier | modifier le code]

Quantité et qualité des données[modifier | modifier le code]

L’apprentissage automatique demande de grandes quantités de données pour fonctionner correctement. Il est impossible de savoir a priori quelle taille la base de données doit avoir pour que l'apprentissage automatique fonctionne correctement, en fonction de la complexité de la problématique étudiée et de la qualité des données, mais un ordre de grandeur assez usuel est qu'il faut dix fois plus d'exemples dans la base de données que de variables d'entrées du problème (degrés de liberté)[45],[46]. Pour des problématiques complexes, il est possible qu'il faille plutôt cent à mille fois plus d'exemples que de degrés de liberté.

La qualité des données se traduit par leur richesse et leur équilibre statistique, leur complétude (pas de valeurs manquantes), ainsi que leur précision (incertitudes faibles).

Il peut s’avérer difficile de contrôler l’intégrité des jeux de données, notamment dans le cas de données générées par les réseaux sociaux[47].

La qualité des « décisions » prises par un algorithme d’AA dépend non seulement de la qualité (donc de leur homogénéité, fiabilité, etc.) des données utilisées pour l’entrainement mais surtout de leur quantité. Donc, pour un jeu de données sociales collecté sans attention particulière à la représentation des minorités, l’AA est statistiquement injuste vis-à-vis de celles-ci. En effet, la capacité à prendre de « bonnes » décisions dépend de la taille des données, or celle-ci sera proportionnellement inférieure pour les minorités. Il convient donc de réaliser l'apprentissage automatique avec des données les plus équilibrées possibles, quitte à passer par un pré-traitement des données afin de rétablir l'équilibre ou par une modification/pénalisation de la fonction objectif.

L’AA ne distingue actuellement pas cause et corrélation de par sa construction mathématique : usuellement, ce sont des causalités qui sont recherchées par l'utilisateur, mais l'AA ne peut trouver que des corrélations. Il incombe à l'utilisateur de vérifier la nature du lien mis en lumière par l'AA, causal ou non. Plusieurs variables corrélées peuvent être liées causalement à une autre variable cachée qu'il peut être utile d'identifier.

Mathématiquement, certaines méthodes d'AA, notamment les méthodes à base d'arbres comme les arbres de décision, les forêts aléatoires ou les méthodes de boosting, sont incapables d'extrapoler (produire des résultats en dehors du domaine connu)[48]. D'autres méthodes d'AA, comme les modèles polynomiaux ou les réseaux de neurones, sont mathématiquement tout à fait capables de produire des résultats en extrapolation. Ces résultats en extrapolation peuvent ne pas être fiables du tout[49] (c'est typiquement le cas pour les modèles polynomiaux) mais peuvent également être relativement corrects, au moins qualitativement, si l'extrapolation n'est pas exagérément grande (réseaux de neurones notamment)[50]. En "grandes" dimensions (à partir de ~100 variables), toute nouvelle prédiction doit de toute façon très probablement être considérée comme de l'extrapolation[51].


L’utilisation d’algorithmes d’apprentissage automatique demande donc d’avoir conscience du cadre de données que l’on a utilisé pour l’apprentissage lors de leur utilisation. Il est donc prétentieux d’attribuer des vertus trop grandes aux algorithmes d’apprentissage automatique[52].

Biais des algorithmes et des données[modifier | modifier le code]

Un algorithme peut être biaisé lorsque son résultat dévie par rapport à un résultat neutre, loyal ou équitable. Dans certains cas, les biais algorithmiques peuvent conduire à des situations de discrimination[53].

Les données peuvent aussi être biaisées, si l'échantillon de données utilisées pour l'apprentissage du modèle n'est pas neutre et représentatif de la réalité ou déséquilibré. Ce biais est alors appris et reproduit par le modèle[54],[55].

Explicabilité et explications des décisions[modifier | modifier le code]

Les algorithmes d'apprentissage automatique posent des problèmes d'explicabilité globale du système. Si certains modèles comme la régression linéaire ou la régression logistique ont un nombre de paramètres limité et peuvent être interprétés, d'autres types de modèle comme les réseaux de neurones artificiels n'ont pas d'interprétation évidente[56], ce qui fait avancer à de nombreux auteurs que l'apprentissage automatique serait une "boîte noire" et poserait ainsi un problème de confiance.

Il existe cependant des outils mathématiques permettant d'"auditer" un modèle d'apprentissage automatique afin de voir ce qu'il a "compris" et comment il fonctionne.

La "feature importance" ou "importance des variables" permet de quantifier comment, en moyenne, chacune des variables d'entrée du modèle impacte chacune des variables de sortie du modèle et permet de révéler que, par exemple, une variable est majoritaire, ou que certaines variables n'ont aucun impact sur la "décision" du modèle. L'importance des variables n'est cependant accessible que pour un ensemble restreint de modèles, comme par exemple les modèles linéaires, la régression logistique ou les méthodes à base d'arbres comme les arbres de décision, les forêts aléatoires ou les méthodes de boosting.

Pour les modèles plus complexes comme les réseaux de neurones par exemple, il est possible d'avoir recours à l'analyse de la variance par plan d'expérience numérique par Monte Carlo pour calculer les indices de Sobol du modèle, qui jouent alors un rôle similaire à celui de l'importance des variables.

L'importance des variables et les indices de Sobol ne renseignent néanmoins que sur l'importance moyenne des variables, et ne permettent donc pas aisément d'analyser la "décision" du modèle au cas par cas. Ces indicateurs ne renseignent pas non plus sur l'impact qualitatif des variables (telle variable d'entrée à la hausse entraîne t-elle telle variable de sortie à la hausse, à la baisse, "en cloche", linéairement, avec effet seuil, etc.?).

Pour pallier ces problèmes, il est possible d'avoir recours à la théorie des jeux pour calculer et visualiser les valeurs et les graphes de Shapley, qui permettent d'accéder à une grandeur similaire à l'importance des variables au cas par cas, ainsi que de tracer la réponse d'une variable de sortie en fonction d'une variable d'entrée pour voir comment évolue qualitativement la réponse du modèle.

Enfin, les graphes de dépendances partielles permettent également de voir comment évolue la réponse moyenne du modèle en fonction des variables d'entrée (allure qualitative), et permettent également de tester le modèle en extrapolation pour vérifier que son comportement reste un minimum plausible (pas de rupture de pente ou d'effet de seuil par exemple).

Ces concepts, détaillés dans l'ouvrage Interpretable Machine Learning de Christoph Molnar, scientifique des données spécialisé dans l'explicabilité, permettent d'avancer que l'apprentissage automatique n'est pas réellement une boîte noire mais plutôt une boîte "grise" : il est possible d'avoir une bonne compréhension de ce que fait l'apprentissage automatique, sans que cette compréhension puisse cependant être totalement exhaustive ni dénuée de potentiels effets de bords.

Apprentissage profond[modifier | modifier le code]

L'apprentissage profond (réseaux de neurones profonds) est une méthode d'apprentissage automatique. En pratique, depuis l'amélioration significative des performances de l'apprentissage profond depuis le début des années 2010[57], on distingue communément l'apprentissage automatique « classique » (tout type d'apprentissage automatique comme les modèles linéaires, les méthodes à base d'arbres comme le bagging ou le boosting, les processus gaussiens, les machines à vecteur de support ou les splines) de l'apprentissage profond.

Un réseau de neurones comporte toujours au moins trois couches de neurones : couche d'entrée, couche "cachée" et couche de sortie[58]. Usuellement, un réseau de neurones n'est considéré réellement "profond" que lorsqu'il comporte au moins trois couches cachées[59], mais cette définition est quelque peu arbitraire et, par abus de langage, on parle souvent d'apprentissage profond même si un réseau de neurones comporte moins de trois couchées cachées.

Il est généralement admis que l'apprentissage profond domine l'apprentissage automatique dans certains domaines d'application comme l'analyse d'images, de sons ou de textes[60].

Dans d'autres domaines, où les bases de données sont plus « simples » que des images, des sons ou des corpus de textes, et généralement « tabulaires » (c'est-à- dire sous forme de tableaux de données[pas clair]; un tableau de données étant un objet regroupant par exemple des indicateurs socio-économiques relatifs à l'emploi, des indicateurs sur les données immobilières à Paris, des marqueurs bio-médicaux relatifs au diabète, des variables sur la composition chimique et la résistance du béton, des données décrivant la morphologie de fleurs, etc. Des tableaux de données de ce type, qui se prêtent bien à l'apprentissage automatique, peuvent par exemple être trouvés sur le Machine Learning Repository de l'Université de Californie), l'apprentissage automatique se révèle généralement plus performant que l'apprentissage profond lorsque les bases de données sont relativement petites (moins de 10 000 exemples) ; au-delà, la supériorité de l'apprentissage automatique se rétablit généralement. Certains chercheurs expliquent cela par le fait que les réseaux de neurones sont surtout performants pour trouver des fonctions continues, or beaucoup de fonctions rencontrées avec ces petites bases de données tabulaires sont apparemment irrégulières ou discontinues[61]. Une autre explication serait la moins grande robustesse des réseaux de neurones aux variables « non importantes », or il arrive que dans les bases de données tabulaires il y ait des dizaines voire des centaines de variables qui n'affectent pas le résultat recherché et que les réseaux de neurones auraient du mal à discriminer. Enfin, une autre explication serait la très grande force du réseau de neurones qui est sa capacité à rechercher des informations invariantes par position, rotation et échelle (cruciales en analyse d'images), qui deviendrait une faiblesse sur ces petites bases de données tabulaires, cette capacité ne présentant alors pas d'utilité. La supériorité de l'apprentissage automatique sur l'apprentissage profond pour ces cas d'usage semble statistiquement avérée, mais n'est néanmoins pas absolue, notamment si les bases de données ne contiennent pas ou peu de variables non importantes et si les fonctions recherchées sont continues ; c'est notamment le cas pour les modèles de substitution (en) (surrogate model) en simulation numérique en physique[62],[63],[64][source insuffisante]. Il convient donc, pour rechercher la méthode la plus performante, de tester sans a priori un large éventail d'algorithmes disponibles.

Le temps de calcul pour l'apprentissage des modèles est aussi généralement très différenciant entre les apprentissages automatique et profond. L'apprentissage automatique est usuellement beaucoup plus rapide à entraîner que l'apprentissage profond (des facteurs 10, 100 ou 1 000 sont possibles), mais lorsque les bases de données sont petites, cet avantage n'est plus toujours significatif, les temps de traitement restant raisonnables. Par ailleurs, l'apprentissage automatique est généralement beaucoup moins capable de tirer parti du calcul sur GPU que l'apprentissage profond, or celui-ci a considérablement progressé depuis les années 2000 et peut être 10 ou 100 fois plus rapide que le calcul « classique » sur CPU, ce qui peut permettre, avec un matériel adapté, de combler une large part de l'écart de temps de calcul entre les deux méthodes[57],[65].

Dans la littérature[modifier | modifier le code]

Il existe de nombreuses œuvres de science-fiction sur le sujet de l’intelligence artificielle en général et de l’apprentissage automatique en particulier. Le traitement scientifique est généralement peu détaillé et quelque peu fantaisiste, mais des auteurs comme Peter Watts approchent le sujet avec un semblant de réalisme. Ainsi, dans la trilogie de romans Rifteurs, Peter Watts détaille l’architecture des réseaux de neurones et leurs modes de "raisonnement" et de fonctionnement basés sur l’optimisation de métriques mathématiques et, dans le roman Eriophora, il détaille le fonctionnement d’une IA en parlant de fonctions d’activation sigmoïdes, d’arbres de décision, de cycles d’apprentissage et d’effet de seuil de convergence.

Notes et références[modifier | modifier le code]

  1. a b et c « apprentissage automatique », Le Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le ).
  2. a et b 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 no 0285 du [lire en ligne] [PDF].
  3. « classement » est la traduction correcte du terme anglais classification ; la « classification » française correspond plutôt au clustering en anglais. Voir par exemple la BDL québécoise.
  4. https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
  5. https://www.csee.umbc.edu/courses/471/papers/turing.pdf
  6. (en) « Neural Networks », sur standford.edu (consulté le ).
  7. (en) « Arthur Lee Samuel », sur history.computer.org (consulté le ).
  8. (en) « Arthur Samuel: Pioneer in Machine Learning », sur standford.edu (consulté le ).
  9. (en-US) « IBM100 - Deep Blue », sur www-03.ibm.com, (consulté le ).
  10. (en-US) John Markoff, « On ‘Jeopardy!’ Watson Win Is All but Trivial », The New York Times,‎ (ISSN 0362-4331, lire en ligne, consulté le ).
  11. (en) « Google's Artificial Brain Learns to Find Cat Videos », sur wired.com, (consulté le ).
  12. (en) Jamie Condliffe, « Google's Artificial Brain Loves to Watch Cat Videos », sur gizmodo.com, (consulté le ).
  13. (en) Doug Aamoth, « Interview with Eugene Goostman, the Fake Kid Who Passed the Turing Test », sur time.com, (consulté le ).
  14. (en) Christof Koch, « How the Computer Beat the Go Master », sur scientificamerican.com, (consulté le ).
  15. (en) Jamie Condliffe, « AI Has Beaten Humans at Lip-reading », sur technologyreview.com, (consulté le ).
  16. (en) « A history of machine learning », sur cloud.withgoogle.com (consulté le ).
  17. Yann Le Cun sur l'apprentissage prédictif, 2016.
  18. « Retour d'expérience sur l'étude de la base MNIST pour la reconnaissance de chiffres manuscrits | Connect - Editions Diamond », sur connect.ed-diamond.com (consulté le ).
  19. Y. LeCun, B. Boser, J. S. Denker et D. Henderson, « Backpropagation Applied to Handwritten Zip Code Recognition », Neural Computation, vol. 1, no 4,‎ , p. 541–551 (ISSN 0899-7667, DOI 10.1162/neco.1989.1.4.541, lire en ligne, consulté le ).
  20. Ambroise et Govaert, 2000.
  21. Voir Machine Learning, chap. 13 Reinforcement Learning, p. 367-390.
  22. Voir Machine Learning, p. 373-380.
  23. (en) Sinno Jialin Pan et Qiang Yang, « A Survey on Transfer Learning », IEEE Transactions on Knowledge and Data Engineering, vol. 22, no 10,‎ , p. 1345-1359 (ISSN 1041-4347, e-ISSN 1558-2191, DOI 10.1109/TKDE.2009.191, lire en ligne [PDF]).
  24. a et b « Choosing the right estimator — scikit-learn 0.24.2 documentation », sur scikit-learn.org (consulté le ).
  25. Voir Machine Learning, chap. 4 Artificial Neural Networks, p. 81-127.
  26. Voir Machine Learning, chap. 3 Decision Tree Learning, p. 52-80.
  27. Voir Machine Learning, chap. 9 Genetic Algorithms, p. 249-273.
  28. « Machine Learning : retour aux sources », sur Nexworld, (consulté le ).
  29. « Les étapes à réaliser pour mener à bien un projet de Machine Learning », Intelligence artificielle vulgarisée, sur editions-eni.fr (consulté le ).
  30. (en) Huan Liu et Hiroshi Motoda, Feature Extraction, Construction and Selection : A Data Mining Perspective, Springer, (ISBN 978-1-4615-5725-8).
  31. (en) Montanez-Barrera, J. A., « Correlated-informed neural networks: A new machine learning framework to predict pressure drop in micro-channels », International Journal of Heat and Mass Transfer,‎ (DOI 10.1016/j.ijheatmasstransfer.2022.123017, lire en ligne Accès limité)
  32. (en) Corentin Macqueron, « Solid-liquid mixing in stirred tanks : modeling, validation, design optimization and suspension quality prediction », non publié,‎ (lire en ligne)
  33. (en) Bikmukhametov, T., « Combining machine learning and process engineering physics towards enhanced accuracy and explainability of data-driven models », Computers & Chemical Engineering,‎ (DOI https://doi.org/10.1016/j.compchemeng.2020.106834)
  34. (en) Dash, T., « A review of some techniques for inclusion of domain-knowledge into deep neural networks », Scientific Reports,‎ (lire en ligne).
  35. (en) « A Comparative Study of Data Mining Process Models (KDD, CRISP-DM and SEMMA) » [PDF], sur CiteSeerX (consulté le ).
  36. (en) Hod Lipson et Melba Kurman, Driverless: Intelligent Cars and the Road Ahead, MIT Press, .
  37. a b et c (en) Jack Stilgoe, « Machine learning, social learning and the governance of self-driving cars », Social Studies of Science,‎ (lire en ligne).
  38. (en) Ed Finn, What algorithms want : imagination in the age of computing, Cambridge, Massachusetts, The MIT press, 257 p. (ISBN 978-0-262-03592-7 et 0262035928, OCLC 958795990, BNF 45476175).
  39. (en) Andrew J. Hawkins, « Self-driving car makers don't sound super excited to share data with the federal government », The Verge,‎ (lire en ligne, consulté le ).
  40. « Moral Machine », sur Moral Machine (consulté le ).
  41. (en) Erik Brynjolfsson et Tom Mitchell, « What can machine learning do? Workforce implications », Science, 22 décembre 2017, vol. 358, n°6370, p. 1530-1534, DOI:10.1126/science.aap8062 résumé
  42. Computer Science Colloquium - March 28, 2013, Anne Menendez & Guy Paillet].
  43. http://www.college-de-france.fr/site/stanislas-dehaene/_course.htm.
  44. https://www.college-de-france.fr/site/yann-lecun/Recherches-sur-l-intelligence-artificielle.htm.
  45. (en) Maloof, M. A., Machine Learning and Data Mining for Computer Security, Springer, (ISBN 978-1-84628-029-0)
  46. (en) Brownlee, J., « How Much Training Data is Required for Machine Learning? », sur Machine Learning Mastery,
  47. (en) Danah Boyd et Kate Crawford, « Critical Questions for Big Data : Provocations for a cultural, technological, and scholarly phenomenon », Information, Communication & Society,‎ .
  48. (en) Thompson, B., « A limitation of Random Forest Regression », sur Towards Data Science,
  49. (en) Lohninger, H., Teach/Me Data Analysis, Springer, (ISBN 3-540-14743-8, lire en ligne)
  50. (en) Xu, K., « HOW NEURAL NETWORKS EXTRAPOLATE: FROM FEEDFORWARD TO GRAPH NEURAL NETWORKS », Proceedings of ICLR 2021,‎ (lire en ligne)
  51. (en) Balestriero, R., « Learning in High Dimension Always Amounts to Extrapolation », Facebook AI Research - NYU,‎
  52. (en) Gary Marcus, Deep Learning, a Critical Appraisal, New York University (lire en ligne [PDF]).
  53. Patrice Bertail, David Bounie, Stephan Clémençon et Patrick Waelbroeck, « Algorithmes : biais, discrimination et équité », sur https://www.telecom-paris.fr (consulté le ).
  54. James J. Heckman, « Sample Selection Bias as a Specification Error », Econometrica, vol. 47, no 1,‎ , p. 153–161 (ISSN 0012-9682, DOI 10.2307/1912352, lire en ligne, consulté le ).
  55. Byungju Kim, Hyunwoo Kim, Kyungsu Kim et Sungjin Kim, « Learning Not to Learn: Training Deep Neural Networks With Biased Data », IEEE/CVF Conference on Computer Vision and Pattern Recognition (conférence),‎ , p. 9012–9020 (lire en ligne, consulté le ).
  56. (en) Tim Miller, « Explanation in Artificial Intelligence: Insights from the Social Sciences », arxiv.org,‎ (lire en ligne).
  57. a et b (en) F. Chollet, Deep Learning with Python, Manning, (ISBN 9781617296864).
  58. (en) « Neural network models (supervised) »
  59. (en) Nicholson, C., « A Beginner's Guide to Neural Networks and Deep Learning », sur Pathmind
  60. (en) C. Janiesch, « Machine learning and deep learning », Electronic Markets, Springer,‎ (DOI 10.1007/s12525-021-00475-2, lire en ligne [PDF]).
  61. (en) L. Grinsztajn, « Why do tree-based models still outperform deep learning on tabular data? », Proceedings of NeurIPS,‎ (lire en ligne).
  62. (en) Rukavina, T., « Structural design optimization of reinforced concrete slabs using a machine learning approach » Accès libre, sur Research Gate, WCCM, (DOI Structural design optimization of reinforced concrete slabs using a machine learning approach)
  63. (en) Siddharth, S. P., « Machine learning based surrogate modeling with SVD enabled training for nonlinear civil structures subject to dynamic loading » Accès libre [PDF], sur arXiv,
  64. (en) Corentin Macqueron, « Is Machine Learning Better Than Deep Learning? », non publié,‎ (lire en ligne).
  65. (en) M. Pandey, « The transformational role of GPU computing and deep learning in drug discovery », Nature Machine Intelligence,‎ (DOI 10.1038/s42256-022-00463-x).

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]