Machine Learning : les dessous techniques d'une révolution technologique

Qu’est-ce que ce nouveau dada des entreprises, quelles en sont les principales technologies sous-jacentes, quelles en sont les principales applications actuelles et surtout quels sont les acteurs qui en mènent la danse ?

Le « Machine Learning » en anglicisme, et « Apprentissage Automatique des machines » en Français ou quand les machines se mettent à apprendre comme les humains et non seulement exécuter les instructions contenues dans les algorithmes présents dans leurs processeurs. Mais alors, qu’est-ce que ce nouveau dada des entreprises, quelles en sont les principales technologies sous-jacentes, quelles en sont les principales applications actuelles et surtout quels sont les acteurs qui en mènent la danse ?

Pour mieux comprendre la notion d’apprentissage automatique des machines, il convient de revenir aux basiques : le mécanisme même d’apprentissage avec deux exemples les plus parlants et que la majorité a vécu à une certaine période de sa vie :

     ü  Quand on apprend à lire à un enfant, on a bien conscience que l’on part de rien et surtout que l’on devra commencer par l’alphabet car c’est le moyen simple et efficace de maitriser toutes les lettres utilisées dans la langue et qu’à partir des lettres de l’alphabet, l’apprentissage des mots, ensuite des phrases, des expressions et des tournures en sera encore plus simplifiée. Ceci nous amène 3 notions importantes : la notion de langue utilisée et la notion de la complexité des lettres mais aussi la notion de quantité de lettres utilisées.

     ü  De même, quand on apprend à compter à un enfant, on s’attache à lui donner un périmètre de base des chiffres qui sera utilisé pour le comptage et donc l’apprentissage des nombres et de leurs types, ce qui permettra par la suite de travailler les notions importantes suivantes : la logique des opérations, le plus souvent dans la base décimale, mais aussi les opérations elles-mêmes. Les notions de complexité et de quantité de chiffres utilisés s’appliquent dans ce cas aussi.

1. L’apprentissage automatique des machines est avant tout un apprentissage…

Le Machine Learning, souvent simplifié en ML, est une branche de l’intelligence artificielle dont les premiers travaux tracés remontent aux années 1960 avec Alan Turing qui y a fait référence sous les termes de « Informatique et intelligence » avant qu’Arthur Samuel et Tom M. Mitchel ne viennent donner plus de visibilité avec une définition plus précise : « Apprentissage des ordinateurs sans qu’ils soient explicitement programmés ». Plus récemment, dans les années 90, le mathématicien russe Vladmir Vapnik a fait avancer les travaux de recherche en formalisant « la théorie scientifique de l’apprentissage ».

Avec le temps, le domaine de Machine Learning a été beaucoup élargi car aujourd’hui on parle de systèmes et pas seulement de systèmes informatiques ou plus précisément d’ordinateurs.

C’est donc l’apprentissage automatique de tout système (re)programmable, ce qui suppose que la notion d’algorithmes ne disparait pas mais que d’autres paramètres, en l’occurrence les données, viennent s’ajouter aux algorithmes afin de permettre aux systèmes d’apprendre et d’évoluer vers des performances non seulement de calculs mais aussi apparentées à la pensée car à ce niveau les systèmes savent adapter les résultats selon les algorithmes disponibles et les données disponibles, acquises, interprétées selon les modèles disponibles, apprises, comprises et enfin classifiées pour enrichir les modèles existants.

Pour assurer ce modèle d’apprentissage, 2 notions importantes et propres à chaque Machine Learning sont à prendre en compte :

    §  La représentation : La capacité à savoir garder les instances de données (par analogie, les lettres et les chiffres) ainsi que les interprétations faites sur ces instances de données (par analogie, les opérations logiques sur les chiffres, l’association entre une représentation graphique d’une lettre et la lettre elle-même, les règles d’exception dans les opérations et les associations…) interprétables et donc compréhensibles par le système concerné.

     §  La généralisation : La capacité de pouvoir appliquer les règles apprises sur des données connues sur des données non encore connues mais disponibles. Par analogie des exemples donnés au début, une fois que l’on a compris la règle de base de l’addition, il est possible de pouvoir effectuer des opérations d’addition sur des chiffres non connus, de lire des mots plus complexes en appliquant des règles de base de combinaison de lettres…

2. Et voici comment marche cet apprentissage et les règles qui le régissent

Comme bon nombre d’autres applications en intelligence artificielle, l’apprentissage automatique des systèmes est aussi basé sur l’usage des algorithmes mais avec la nouveauté qu’une part belle est faite aux données qui « éduquent » la machine concernée.

Pour mieux comprendre ce mélange efficace, je reprends ici l’exemple donné par des chercheurs de l’Université de Princeton qui montre toutes les composantes d’un bon modèle d’éducation du système.





Ainsi donc et par analogie à l’exemple de l’apprentissage d’alphabet par un humain, voici la lecture à faire de ces différents éléments :

     ü  Exemples d’apprentissage : ceux-ci représentent les lettres de l’alphabet ou les chiffres du système décimal, y compris leurs représentations graphiques.

     ü  Algorithmes d’apprentissage du système : ceux-ci représentent l’ensemble des processus que le cerveau utilise enregistrer toutes les lettres de l’alphabet et tous les chiffres du système décimal, le total des deux ensembles ainsi que la façon dont le cerveau les enregistre et décide de se les représenter pour de prochains usages.

    ü  Règles de prédiction : celles-ci représentent les façons dont le cerveau suppose que seront présentés les lettres et chiffres pour pouvoir les reconnaitre et opérer sur eux.

     ü   Nouvel exemple : celui-ci représente soit une nouvelle lettre non connue (de la même langue ou pas), une nouvelle représentation d’une lettre bel et bien connue ou encore un chiffre d’un nouveau système.

    ü  Exemples connus et classés : ceux-ci représentent l’ensemble de nouveaux ensembles de lettres et des chiffres mais aussi de la façon de se les représenter afin de pouvoir les interpréter et les utiliser pour de futures utilisations.

2.1. Point sur les concepts d’apprentissage

Suivant les applications visées, les données (quantité et qualité) à utiliser ainsi que les capacités de calcul mises à disposition, plusieurs concepts d’apprentissage ont été développés au fil du temps. Nous en donnons ici les plus connus :

·         Apprentissage supervisé

·         Apprentissage non supervisé

·         Apprentissage semi-supervisé

·         Apprentissage partiellement supervisé

·         Apprentissage par renforcement

·         Apprentissage par transfert


2.2. Point sur les algorithmes utilisés

Suivant le concept adopté pour l’implémentation des modèles, plusieurs algorithmes sont utilisés. J’en donne ci-après quelques exemples :

·         Les machines à vecteurs de support

·         Le boosting

·         Les réseaux de neurones

·         Les k plus proches voisins

·         Les arbres de décision

·         Les méthodes statistiques

·         La régression logistique

·         L’analyse discriminante linéaire

·         Les algorithmes génétiques

De plus, il convient de dire que vu le caractère scientifique très poussé de Machine Learning, l’étude des algorithmes nécessite à la fois des connaissances informatiques mais également mathématiques. Ainsi donc, les entreprises qui souhaitent utiliser le Machine Learning recourent de plus en plus aux services des Data scientits ou se reposent sur des algorithmes et des modèles mis à disposition par les entreprises qui ont pris le parti d’être des « brokers » des algorithmes à l’état brut pour les adapter à des domaines plus spécifiques.

2.3. Les données utilisées

Un des paramètres qui fait la différence dans la qualité d’apprentissage des systèmes est la data. En effet, au-delà des concepts d’apprentissage et des algorithmes adoptés lors de la conception du système apprenant, les données utilisées revêtent d’une importance capitale quant à l’efficacité du processus d’apprentissage.

Aussi il convient de faire un petit aperçu des avancées qui ont été tout récemment faites sur le plan de la donnée mais aussi les capacités à la traiter :

2.3.1. Le Big Data

Le Big Data, encore appelé « megadonnées » qui offre de nouvelles perspectives dans plusieurs domaines, comme par exemple en termes d'analyse tendancielle et prospective et de gestion des risques et de phénomènes sociaux, médicaux, météorologiques et climatiques ou encore la sécurité et la lutte contre la criminalité. L’intérêt de celui-ci se trouve dans le fait que les nouvelles techniques appliquées au Big Data permettent de contourner les limites techniques de bases de données classiques tout en démultipliant les possibilités d’opérations possibles et donc, de résultats et ce, plus rapidement.

2.3.1. Le Cloud Computing

Le Cloud Computing, encore appelé « informatique dans les nuages » ou « nuagique » est l'exploitation de la puissance de calcul ou de stockage de serveurs informatiques distants par l'intermédiaire d'un réseau, généralement Internet. Tout l’intérêt de celui-ci se trouve dans l’usage à la demande des ressources toujours en croissance exponentielle permettant de réaliser en parallèle un nombre de calculs très grand pour aboutir à des résultats jusque-là considérés comme inatteignables.

Ainsi donc, passées les inquiétudes sur la constitution de données et leurs traitements nous pouvons d’ores et déjà aborder les 4 caractéristiques essentielles de la data faite pour le Machine Learning.

§  La quantité de données : A regarder le challenge qu’est l’apprentissage des systèmes, on est tout de suite tentés de dire qu’il faudra une immense quantité de données pour atteindre des résultats plus probants. Or, les récentes expériences montrent que la quantité de données n’est pas la question mais les « bonnes » données correspondant à la problématique étudiée. Pour en arriver aux bonnes données, il suffira de partir des megadonnées pour réduire la quantité de données nécessaires à force des itérations et des résultats obtenus. Quoi qu’il en soit, le but restera de recourir à la plus petite quantité de bonnes données qui aboutit au meilleur apprentissage possible. Par analogie, si on veut apprendre du Français à quelqu’un, on privilégiera plutôt l’alphabet français comme base de départ et non l’ensemble de toutes les langues écrites possibles, même si on les a à disposition.

§  Le type de données : Comme toute expérience informatique, le Machine Learning nécessite que les données d’apprentissage soient obligatoirement typées pour être efficaces. Ainsi donc, si la problématique étudiée est relative au climat, les données satellite, chimiques, géographiques et géologiques seront par exemple nécessaires alors que des données en rapport avec les activités sportives ne seront pas les plus pertinentes dans le processus d’apprentissage. Par analogie, si on veut apprendre une langue, il est clair que les données relatives à l’alphabet, la grammaire, la prononciation sont pertinentes alors que les données statistiques sur les habitudes alimentaires des populations parlant cette langue le sont moins.

§  Le format de données : Le format de données est une notion bien différente du type de données car le format se rapporte à l’utilisation des systèmes lors des calculs alors le type se rapporte aux données sources « métier » qui nourrissent l’apprentissage du système. Ainsi donc il convient de bien formater les données afin qu’elles soient compatibles avec le langage utilisé dans le système apprenant, les algorithmes et les APIs utilisés et qui représentent donc des contraintes naturelles auxquelles on ne peut pas déroger. Un autre aspect important du format de données réside dans le fait que tous les éditeurs n’ont pas encore implémenté le traitement parallèle alors que celui-ci exige un formatage spécifique de données.

§  La localisation de données : Loin d’être une nouveauté dans le cas du Machine Learning, la localisation de données est un des paramètres importants quant à la réussite des traitements informatiques. En effet, quand bien même les données peuvent transiter par des réseaux très performants, la proximité dans le même datacenter, voir sur une même machine (physique ou virtuelle) tendra à faire des résultats plus avantageux. Aussi, bon nombre d’éditeurs Machine Learning recommandent d’adopter le Cloud Computing afin de recourir à leurs datacenters pour à la fois héberger les algorithmes et les données mais aussi se garantir un traitement optimisé et soumis à moins d’aléas, notamment des aléas liés au transport de données.

3. Quelles sont les applications et les usages du Machine Learning ?

A l’aube de l’utilisation à grande échelle du Machine Learning, il convient de faire lumière à une différence majeure entre le Data Mining, une discipline déjà connue et qui consiste à retraiter les données déjà connues pour en sortir des propriétés et des précisions encore inconnues alors que le Machine Learning s’attelle à apprendre aux systèmes de prédire ce que pourrait être le résultat sorti des données encore inconnues à partir des données connues.

Sous cet angle, s’ouvrent donc plusieurs possibilités d’applications qui vont encore révolutionner le fonctionnement des entreprises et des organisations publiques et/ou privées et par la même occasion notre vie à tous au quotidien. J’en cite quelques exemples des plus parlants ci-après :

3.1. Protection anti-spams

Jusqu’à ce jour, et ce pour la plupart d’entre nous, cette activité est l’une des plus frustrantes même quand on met à l’œuvre son éditeur de sa messagerie, son anti-spam Web ainsi que celui de son antivirus. Elle est encore plus frustrante pour tous ces acteurs qui nous vendent leurs petits outils nous promettant que plus jamais nous ne retrouverons des messages indésirables dans nos boites email…Mais ça, ce sera bientôt fini car l’anti-spams ML sera encore plus sophistiqué car avec quelques exemples de mails classés comme spams, celui-ci pourra sans aucun paramétrage nécessaire préalable classer vos mails comme vous auriez pu le faire vous-mêmes suivant vos propres règles de classification. Sachant que le spam a un impact de plus de 200 milliards de dollars sur les entreprises, il ne fait aucun doute que celles-ci et notamment leurs éditeurs favoris auront hâte de déployer ces solutions encore plus efficaces.

3.2. Segmentation et ciblage des clients

Nous faisons tous du shopping, du moins d’une manière ou d’une autre que ce soit en ligne ou en magasins directement. Aussi, nous possédons au moins 2 identifiants en tant que client, le mail et le numéro client en ligne et la carte de fidélité et le numéro client en magasin. Aussi, suivant les données (non nominatives) de comportement d’achats par saison, le Machine Learning permettra prochainement de prédire quels clients sont plus susceptibles de répondre à telle ou telle promotion, quelle pourra être leur localisation à ce moment-là (car par exemple ils ont profité d’une offre de livraison gratuite à telle adresse) avec un but beaucoup plus précis à l’équipe de marketing de préparer les bonnes actions marketing pour les bons segments de clients : Les bonnes grilles de spots TV, les bons achats de mots-clés et enfin les bons ciblages publicitaires en ligne.

A voir ces applications, il n’y a aucun doute que le ML intéressera encore plus les directions Marketing ou encore les grands publicitaires et des acteurs du ciblage/reciblage publicitaire à ce jour faisant recours grandement au Data Mining.

3.3. Gestion des stocks

Tout comme dans mon exemple précédent, les données client sont une réserve d’or car elles permettent désormais d’aller au-delà du traditionnel appel CRM pour proposer un bon de 10€ pour les 500€ d’achats. En effet, en combinant les données disponibles sur les habitudes d’achat et d’autres critères (moyens des acheteurs, périodes d’achat et autres comportements d’achats…), le Machine Learning permet de mieux gérer la chaine de gestion des stocks (prédire les volumes à l’essoufflement de tendance, les possibles périodes de revirement permettant de rejouer sur les collections), en ne partant que des données de stocks et des ventes mais aussi d’autres données statistiques extérieures (comme par exemple la croissance économique, voire la comparaison de croissance/décroissance économique des pays dans la même situation que celui dans lequel l’entreprise exerce). En somme, cette analyse plus poussée, basée sur des données disponibles mais aussi sur une tendance future permet à l’entreprise de : Agir sur ces stocks (de produits, de matières premières) ou encore reconditionner en anticipation pour s’adapter aux tendances futures, non encore connues.

Loin d’être seulement une bonne nouvelle pour les grandes chaines de distribution, plusieurs entreprises confrontées au danger du « revirement rapide du client selon la mode » y trouveront compte afin d’être toujours en phase avec leurs clients au moment de la prise de décision.

3.4. Détection de risques

Toute entreprise est soumise à la loi des risques et opportunités. Si l’expérience montre que les modèles se sont beaucoup développés quant à l’étude des opportunités, le risque est quant à lui plus difficile à cerner et donc moins étudié. Le seul levier des entreprises aujourd’hui est de le couvrir et ce, souvent de façon exagérée à tel point que cela peut nuire à leur compétitivité.

Dans ce cadre, des modèles de gestion de risques développés depuis des années 2010 se basent sur le Machine Learning afin de donner une bonne prédiction de risques pris par exemple par des établissements bancaires ou d’assurances en prêtant à/en assurant des particuliers, des entreprises voire même des Etats selon leur passif mais aussi beaucoup de données sur les tendances socio-politiques et/ou géopolitiques.

Les applications du Machine Learning s’appliquent également à un domaine spécifique, celui de la sécurité du grand public : avec notamment de prédictions de tendances de la criminalité (typologies, localisations et plus étonnant, les populations potentiellement cibles des agressions).

A l’heure des objectifs souvent volontaristes des grands établissements bancaires et d’assurances quant à l’amélioration des offres proposées au client, le ML a déjà commencé à trouver sa population. Et à l’image de certaines villes américaines travaillant avec IBM ou Microsoft sur la prédiction des « points chauds », les administrations publiques ne tarderont pas non plus à se mettre au Machine Learning.

4. Et enfin quels sont les acteurs mondiaux et français qui mènent ou veulent mener la danse ?

Comme vu au début, le Machine Learning est une conséquence des développements opérés ces derniers temps dans les domaines de capacités de traitement d’information (Cloud Computing) et des capacités à générer et traiter de fortes quantités d’information (Big Data). Il est donc normal de trouver dans les meneurs les grands éditeurs de logiciels internationaux mais tout de même aussi quelques nouveaux noms qui œuvrent dans la recherche des applications métier des différentes offres des grands éditeurs.

4.1. Acteurs de référence mondiale

Dans le domaine du Machine Learning, 3 acteurs se partagent le podium. Il s’agit de Microsoft, IBM et Google. En effet, les 3 acteurs bénéficient de leur statut d’éditeur mondial ainsi que leur empreinte déjà faite dans les domaines du Cloud Computing et du Big Data.

    4.1.1. Microsoft

Microsoft a beaucoup bénéficié de son positionnement de leader mondial du logiciel et occupe aujourd’hui toute la chaine des offres de Machine Learning, aussi bien pour les particuliers que pour les entreprises.

§  Positionnement sur la partie OS : Microsoft a choisi de déployer l’assistant Cortana doté de capacités d’apprentissage afin de couvrir les opportunités potentielles sur les différentes plateformes historiquement couvertes. Cette expérience a démarré avec les appareils mobiles mais aussi les consoles de jeux.

§   Positionnement général sur Azure via des API : Basée directement sur le Cloud de Microsoft, Microsoft Azure, cette offre permet aux entreprises de directement recourir à plus d’un millier d’algorithmes développés par les développeurs et scientifiques de Microsoft.

§  Positionnement général sur les offres phares d’Office : L’ajout de l’outil Delve dans la suite Office 365, outil doté de capacités d’apprentissage (analyse en permanence du contenu, des interactions, des flux d’activités des utilisateurs et des cartographies des relations pour permettre une remontée d’informations pertinentes), permet à Microsoft d’avoir un coup d’avance sur la concurrence.

4.1.2. Google

Google est parti de son positionnement avantageux dans les logiciels mais surtout de sa force de frappe dans le Cloud Computing. A ce jour, 2 positionnements principaux ont été présentés :

§  Positionnement général sur le Cloud avec des API : Mis à disposition du grand public et des entreprises, les API de Google sont développés pour être exploités via des langages populaires comme Python, JavaScript et .NET. Les premières applications qui en ont été faites à ce jour concernent par exemple au domaine Marketing (prédiction du produit qui conviendra à un nouveau client d’une marque) ou encore au domaine de systèmes de messagerie (dans la gestion des listes de nouveaux destinataires collectées automatiquement).

§  Positionnement sur les systèmes matériels : Développée dans le but d’aider les entreprises à améliorer l’efficacité énergétique de leurs centres de données, l’offre de Google peut également bénéficier aux entreprises de tout type recherchant à mettre en place l’efficacité énergétique sur leurs datacenters mais également sur d’autres périmètres.

4.1.3. IBM

IBM a longtemps travaillé sur des machines à intelligence artificielle mais surtout sur des domaines plus sectoriels visant des applications directement, notamment commandées par ses clients. Citons par exemple, la mise en place d’un système de traduction pour le gouvernement canadien ou encore la collaboration avec des sociétés de travaux publics pour mettre en place des villes efficientes en énergie, des villes intelligentes.

Depuis, une offre basée sur 2 positionnements différents se dessine :

§  Positionnement général sur le Cloud avec des API : Mis à disposition des entreprises, les API d’IBM permettent aux entreprises d’avoir accès à plusieurs applications. Les fonctionnalités accessibles concernent par exemple le travail sur les langues (détection de langues, traduction contextuelle…), la modélisation de l’utilisateur (prédiction des caractéristiques sociales de l’utilisateur sur base du texte saisi dans une boite de dialogue, sur un site par exemple.

§  Positionnement sur le domaine médical : Fidèle à sa tradition de développement d’applications sectorielles, IBM a mis ses développements Machine Learning au service des scientifiques en santé, notamment contre des maladies graves comme le cancer.

§  Positionnement sur le domaine de l’énergie solaire : Sur ce dernier, IBM a construit entièrement un système matériel de Machine Learning, le WATT-SUN. Développé dans le but d’amélioration de rendu des systèmes de production d'énergie solaire et il peut être mis à disposition d’un grand nombre d’acteurs de ce secteur.

  4.2. Acteurs français 4.2.1. Dataiku

Renforcée par une récente levée de fonds de 3 M€ pour aller notamment conquérir l’Amérique, Dataiku (et son Data Science Studio) est une des startups prometteuses dans le domaine du Machine Learning. Comme ils le disent très bien dans leur slogan « Machine Learning on dirty data », le but est de proposer des algorithmes de formatage des données et d’analyse prédictive afin d’amener leurs clients (finaux ou intermédiaires) à tirer meilleur parti des données à leur disposition.

§   Positionnement générale avec le Data Science Studio : Plateforme conçue à la fois à destination des data scientists ou tout simplement des analystes au sein des services Marketing, Production et autres, elle renferme en son sein un ensemble d’algorithme de collecte, de « nettoyage » de données mais aussi tous les outils d’analyse prédictive pour aider à construire les entreprises à mieux prévoir les futures tendances.

Les références de Dataiku concernent entre autres la maintenance prédictive, l’amélioration de la chaine logistique, la détection des fraudes ou encore les villes intelligentes.

4.2.2. Lokad

Concentrée sur l’analyse des stocks et des prix, Lokad travaille énormément avec les acteurs de la grande distribution pour optimiser leurs stocks en faisant des prédictions des ventes et en optimisant les prix de leurs produits suivant les stocks disponibles.