Machine Learning
Principes, applications et acteurs
Tentons tout d’abord une définition de ce concept en vogue. Le « Machine Learning », ou « apprentissage automatique » dans la langue de Molière, consiste à donner la faculté aux ordinateurs, au sens très large du terme, d’apprendre à partir des données qui leurs sont soumises, et non plus seulement d’exécuter des algorithmes séquentiellement. Cette théorie a pris son essor grâce aux travaux des mathématiciens Vapnik et Chervonenkis (théorie VC) dans les années 60. Ces recherches se sont développées en marge de celles des probabilités et des statistiques. Le Machine Learning ne se concentre plus sur la façon de retrouver des objets abstraits, comme en suivant « à la lettre » une loi de probabilité. Il se concentre avant tout sur le côté opérationnel des choses, c’est-à- dire sur la prise de décision à partir d’une analyse empirique des données, en essayant en plus de déceler les erreurs potentielles. Or, la faculté d’analyse empirique est une des qualités qui manquent cruellement aux machines pour arriver à des conclusions similaires à celles du cerveau humain. L’apprentissage automatique est un champ d’étude, parmi d’autres, de l’Intelligence artificielle. Il concerne à la fois la conception, l’analyse, le développement et l’implémentation de méthodes permettant à une machine d’évoluer par un processus systématique, ce afin de pouvoir réaliser des tâches difficiles voire impossibles via des moyens algorithmiques plus traditionnels. Des systèmes complexes peuvent être analysés, y compris pour des données associées à des valeurs symboliques. L’analyse peut concerner des graphes, des arbres ou des courbes. La classification est un exemple d’apprentissage automatique. Elle consiste à étiqueter chaque donnée en l’associant à une classe – un type de données complexe. La conduite autonome, sans humain, en est un autre, ainsi que le diagnostic. Différents systèmes d’apprentissage existent. Nous les évoquons un peu plus loin dans cet article.
Principes du ML
Les algorithmes utilisés dans le Machine Learning permettent à un système piloté par ordinateur – un robot par exemple – ou assisté par ordinateur, d’adapter ses analyses et ses comportements en se fondant sur l’analyse de données empiriques issues 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 volumineux et de fait trop complexe à décrire – on parle d’explosion combinatoire – avec les langages de programmation classiques. Les développeurs du ML utilisent principalement le langage R, suivi de près par le langage Python, avec généralement la bibliothèque scikit-learn. Grâce à ces langages et bibliothèques open source adaptés aux principes du ML, ils codent des programmes capables d’ajuster un modèle permettant de simplifier cette complexité et de l’utiliser de manière opérationnelle. Ce modèle est adaptatif. Cela veut dire qu’il est capable de prendre en compte l’évolution des données. Le système d’analyse ou de réponse peut ainsi s’auto- améliorer. C’est une des formes de l’Intelligence
artificielle, et même un de ses principes élémentaires. Les programmes ainsi développés, selon bien entendu leur qualité et leur degré de perfectionnement, peuvent intégrer des capacités de traitement probabiliste des données, d’analyse de données issues de capteurs, de reconnaissance – de forme, d’écriture, vocale, etc. –, d’informatique théorique ou de data-mining et autres sciences tournant autour du big data.
Les applications du Machine Learning
Le Machine Learning est aujourd’hui en plein essor. Il est utilisé pour un spectre d’applications de plus en plus large, tel que les moteurs de recherche, comme Google, l’aide au diagnostic médical, Watson d’IBM, et technique de manière générale, la détection de données aberrantes ou manquantes, celle de fraudes à la carte de crédit, l’analyse des marchés financiers y compris l’analyse du marché boursier ( logiciels-robots « traders »), la reconnaissance vocale, d’écriture manuscrite ou autre, l’analyse et indexation d’images et de vidéos, particulièrement pour la recherche d’image par le contenu, et la robotique – la locomotion particulièrement. L’apprentissage automatique est utilisé par exemple 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… La bio-informatique, la chémoinformatique (secteur de la chimie), les interfaces cerveau- machine, la classification des séquences d’ADN, le jeu, le génie logiciel, la conception de sites web adaptatifs et bien d’autres domaines y ont également recours. Des algorithmes de Machine Learning ont aussi été déployés à grande échelle pour le filtrage antispam des messageries électroniques, l’optimisation des stocks, la segmentation et le ciblage des clients ainsi que dans la maintenance industrielle. Il est employé notamment pour la maintenance prédictive des matériels installés sur les plates-formes pétrolières ou les avions (moteurs). Le développement des objets connectés ne peut certainement pas se faire sans lui, et là encore le champ applicatif est presque infini.
Locomotion
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 tout seul à marcher ou à avancer sur un terrain inconnu (robots d’exploration spatiale). 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. Il pourra aussi analyser le terrain grâce à ses différents capteurs et aux algorithmes de reconnaissance de forme, de volume et autres facteurs.
Reconnaissance manuscrite et vocale
La reconnaissance de caractères manuscrits est une tâche complexe car deux caractères similaires ne sont jamais exactement égaux. Il est plus aisé de concevoir un système d’apprentissage automatique qui apprend à reconnaître des caractères en observant des exemples, c’est-à- dire des caractères déjà identifiés. Un procédé similaire est utilisé pour les dictées vocales.
La gestion des risques financiers
Autre secteur, lui aussi avide de nouveaux algorithmes et fort de capitaux à investir, le domaine de la gestion des risques financiers s’intéresse au Machine Learning depuis déjà quelques années. Des modèles se basant sur le Machine Learning sont capables de fournir une prédiction des risques pris par des établissements financiers dans le cadre de la délivrance de prêts ou de souscriptions de contrats d’assurance.
La lutte contre la criminalité
Le Machine Learning a aussi trouvé sa voie dans la lutte contre la criminalité. Plusieurs villes américaines font déjà appel à IBM et à son système Watson afin de prédire les zones d’une ville où sont susceptibles de survenir les prochaines agressions, d’éventuels cambriolages ou crimes divers. Ils peuvent ainsi mieux cibler la répartition et l’envoi d’effectifs