Apprentissage automatique

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur les redirections « Machine Learning » redirige ici. Pour la revue scientifique, voir Machine Learning (revue).
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 (en anglais machine learning, littéralement « l'apprentissage machine ») ou apprentissage statistique, champ d'étude de l'intelligence artificielle, concerne la conception, l'analyse, le développement et l'implémentation de méthodes permettant à une machine (au sens large) d'évoluer par un processus systématique, et ainsi de remplir des tâches difficiles ou problématiques par des moyens algorithmiques plus classiques.

L'analyse peut concerner des graphes, arbres, ou courbes (par exemple, la courbe d'évolution temporelle d'une mesure ; on parle alors de données continues, par opposition aux données discrètes associées à des attributs-valeurs classiques) au même titre que de simples nombres. Voir l'article Inférence bayésienne.

Un exemple possible d'apprentissage automatique est celui de la classification : étiqueter chaque donnée en l'associant à une classe. Différents systèmes d'apprentissage existent[1], listés ci-dessous.

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 et à son concept de la « machine universelle » en 1936[2], qui est à la base des ordinateurs d'aujourd'hui. Il continuera à poser les base de l'apprentissage automatique, avec son article sur « L'ordinateur et l'intelligence » en 1950[3], 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[4].

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[5],[6].

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

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[9],[10].

En 2014, 64 ans après la prédiction d'Alan Turing, le chatbot 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[11].

En 2015, une nouvelle étape importante est atteinte, lorsque l'ordinateur Google "AlphaGo" gagne contre un des meilleurs joueurs au jeu de plateau considéré comme le plus dur du monde : le jeu de Go[12].

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

Principes[modifier | modifier le code]

Les algorithmes utilisés permettent, dans une certaine mesure, à un système piloté par ordinateur (un robot éventuellement), ou assisté par ordinateur, d'adapter ses analyses et ses comportements en réponse, en se fondant sur l'analyse de données empiriques provenant d'une base de données ou de capteurs.

La difficulté 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 (on parle d'explosion combinatoire). On confie donc à des programmes 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 la nature des données d'entrainement n'est pas connue[15].

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, reconnaissance de forme, d'écriture…), de data-mining, d'informatique théorique

Applications[modifier | modifier le code]

L'apprentissage automatique est utilisé pour doter des ordinateurs ou des machines de systèmes de : perception de leur environnement : vision, reconnaissance d'objets (visages, schémas, langages naturels, écriture, formes syntaxiques…) ; moteurs de recherche ; aide aux diagnostics, médical notamment, bio-informatique, chémoinformatique ; interfaces cerveau-machine ; détection de fraudes à la carte de crédit, analyse financière, dont analyse du marché boursier ; classification des séquences d'ADN ; jeu ; génie logiciel ; adaptation de sites Web ; locomotion de robots ; analyse prédictive en matière juridique et 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 ;
  • La reconnaissance de caractères manuscrits est une tâche complexe car deux caractères similaires ne sont jamais exactement égaux. On peut concevoir un système d'apprentissage automatique qui apprend à reconnaître des caractères en observant des « exemples », c'est-à-dire des caractères connus.

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é 
si les classes sont prédéterminées et les exemples connus, le système apprend à classer selon un modèle 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 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). ex. : L'analyse discriminante linéaire ou les SVM en sont des 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é (probabilité) de développer telle ou telle maladie.
Apprentissage non supervisé 
Quand le système ou l'opérateur ne disposent que d'exemples, mais non d'étiquettes, et que le nombre de classes et leur nature n'ont pas été prédéterminés, on parle d'apprentissage non supervisé ou clustering. 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 (la somme des données) — cibler les données selon leurs attributs disponibles, pour les classer en groupe 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é 
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é 
probabiliste ou non, quand l'étiquetage des données est partiel[16]. 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 3 maladies par exemple évoquées dans le cadre d'un diagnostic différentiel).
Apprentissage par renforcement[17] 
l'algorithme apprend un comportement étant donné une observation. L'action de l'algorithme sur l'environnement produit une valeur de retour qui guide l'algorithme d'apprentissage. ex. : L'algorithme de Q-learning[18] est un exemple classique.
Apprentissage par transfert[19] 
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. La question qui se pose est : comment identifier les similitudes entre la ou les tâche(s) cible(s) et la ou les tâche(s) source(s), puis comment 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]

Ce sont dans ce domaine :

Ces méthodes sont souvent combinées pour obtenir diverses variantes d'apprentissage. L'utilisation de tel ou tel algorithme dépend fortement de la tâche à résoudre (classification, estimation de valeurs…).

L'apprentissage automatique est utilisé pour un large spectre d'applications, par exemple :

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 :

  1. 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) ;
  2. 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 ;
  3. Pourcentage de données renseignées et manquantes ;
  4. « 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.

Controverses techniques[modifier | modifier le code]

L’apprentissage automatique demande de grandes quantités de données pour fonctionner correctement. 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[23].

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.

Incapacité d'extrapolation de l'apprentissage automatique, application identité.

L’AA ne distingue actuellement pas cause et corrélation de par sa construction mathématique, et est incapable d’aller au-delà du cadre imposé par ses données, il n’a donc pas de capacité d’extrapolation. Un exemple : si on apprend à un algorithme de retourner le chiffre qu’on lui donne (application identité) en l’entraînant uniquement avec les nombres 1 à 5, il sera incapable de correctement répondre à 6. Il est donc incapable d’extrapoler.

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

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

La voiture autonome paraît 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[25].

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 technologies très prometteuses[26].

La voiture autonome présente un cadre test pour affronter 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[27].

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

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[26],[28].

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 maitrise 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 »[29].

Il est tentant de s'inspirer des êtres vivants sans les copier naïvement[30]) 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. Deux professeurs actuels du Collège de France y assurent un enseignement public sur le sujet : Stanislas Dehaene[31] orienté sur l'aspect bayésien des neurosciences, et Yann LeCun[32], pionnier de l'apprentissage profond et depuis 2016 également directeur de Facebook AI Research (FAIR), nouveau centre de recherche européen de Facebook basé à Paris et dédié à l’intelligence artificielle.

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

  1. Présentation sur YouTube de classifications automatiques diverses issue du paquet mldemos disponible dans les dépôts Linux ou sur ce site.
  2. https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
  3. https://www.csee.umbc.edu/courses/471/papers/turing.pdf
  4. (en) « Neural Networks », sur standford.edu (consulté le 11 mai 2018).
  5. (en) « Arthur Lee Samuel », sur history.computer.org (consulté le 11 mai 2018).
  6. (en) « Arthur Samuel: Pioneer in Machine Learning », sur standford.edu (consulté le 11 mai 2018).
  7. (en-US) « IBM100 - Deep Blue », sur www-03.ibm.com, (consulté le 11 mai 2018).
  8. (en-US) John Markoff, « On ‘Jeopardy!’ Watson Win Is All but Trivial », The New York Times,‎ (ISSN 0362-4331, lire en ligne)
  9. (en) « Google's Artificial Brain Learns to Find Cat Videos », sur wired.com, (consulté le 11 mai 2018).
  10. (en) Jamie Condliffe, « Google's Artificial Brain Loves to Watch Cat Videos », sur gizmodo.com, (consulté le 11 mai 2018).
  11. (en) Doug Aamoth, « Interview with Eugene Goostman, the Fake Kid Who Passed the Turing Test », sur time.com, (consulté le 11 mai 2018).
  12. (en) Christof Koch, « How the Computer Beat the Go Master », sur scientificamerican.com, (consulté le 11 mai 2018)
  13. (en) Jamie Condliffe, « AI Has Beaten Humans at Lip-reading », sur technologyreview.com, (consulté le 11 mai 2018).
  14. (en) « A history of machine learning », sur cloud.withgoogle.com (consulté le 11 mai 2018).
  15. Yann Le Cun sur l'apprentissage prédictif, 2016.
  16. Ambroise et Govaert, 2000.
  17. Voir Machine Learning, chap. 13 Reinforcement Learning, p. 367-390.
  18. Voir Machine Learning, p. 373-380.
  19. Sinno Jialin Pan et Qiang Yang, « A survey on transfer learning », IEEE Transactions on Knowledge and Data Engineering, no 20(10),‎ , p. 1 345–1 359.
  20. Voir Machine Learning, chap. 4 Artificial Neural Networks, p. 81-127.
  21. Voir Machine Learning, chap. 3 Decision Tree Learning, p. 52-80.
  22. Voir Machine Learning, chap. 9 Genetic Algorithms, p. 249-273.
  23. (en) Danah Boyd Kate Crawford, « Critical Questions for Big Data », Information, Communication & Society,‎
  24. (en) Gary Marcus, Deep Learning, a Critical Appraisal, New York University (lire en ligne)
  25. (en) Lipson H and Kurman M ., « Driverless: Intelligent Cars and the Road Ahead », MIT Press,‎ .
  26. 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).
  27. Finn, Ed., What algorithms want : imagination in the age of computing (ISBN 9780262035927 et 0262035928, OCLC 958795990, lire en ligne).
  28. (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).
  29. Erik Brynjolfsson & Tom Mitchell (2017 What can machine learning do? Workforce implications |Science | 22 décembre 2017| Vol. 358|n°6370| pp. 1530-1534| DOI: 10.1126/science.aap8062 | résumé
  30. Computer Science Colloquium - March 28, 2013, Anne Menendez & Guy Paillet].
  31. http://www.college-de-france.fr/site/stanislas-dehaene/_course.htm.
  32. https://www.college-de-france.fr/site/yann-lecun/Recherches-sur-l-intelligence-artificielle.htm.

Bibliographie[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]