Tout le monde connaît le terme « machine learning », ou apprentissage automatique en français. Mais sait-on exactement ce que c’est ? Les technologies que ce domaine utilise sont souvent inconnues, comme l’étendue de ses possibles utilisations.
Dans cet article, nous allons plonger dans le monde du machine learning et voir tout ce qui gravite autour : métiers du machine learning, intelligence artificielle, big data, etc.
Le machine learning
La définition
Si l’on se base sur la définition de Wikipédia, le machine learning 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.
En clair, et comme son nom l’indique, le machine learning, c’est donner la capacité aux ordinateurs d’apprendre, et d’ainsi effectuer des actions de manière automatique et intelligente. Comme on le verra plus tard dans l’article, cet apprentissage peut se faire de plusieurs manières différentes.
Dans tous les cas, le machine learning comporte deux phases, qui peuvent être plus ou moins imbriquées.
D’abord, la phase d’apprentissage, ou d’observation. C’est pendant cette étape que l’ordinateur, le programme, va apprendre. On va lui envoyer d’énormes quantité de données (on en reparlera) et lui demander de les analyser, pour lui apprendre à résoudre les tâches qu’il aura à traiter de lui-même par la suite. Typiquement, si on veut qu’un programme d’apprentissage automatique reconnaisse les chats des chiens, on va lui envoyer des milliers de photos de chaque animaux et races de ces animaux, en lui expliquant lequel est un chat et lequel est un chien.
La seconde phase, c’est la mise en production. C’est à partir de là que la machine va devoir d’elle-même exécuter ce pour quoi elle a été formée, ou ce pour quoi elle s’auto-forme. Pour reprendre l’exemple précédent, on lui enverra maintenant des photos de chat ou de chien sans lui dire ce que c’est, et le programme saura faire la différence. Et, s’il fait face à une race inconnue, il pourra être capable de trouver des similitudes avec d’autres qu’il connait, et ainsi le classer comme chien, ou chat.
Historique
Contrairement à ce qu’on pourrait croire, le domaine de l’intelligence artificielle et du machine learning n’est pas nouveau.
Le premier à faire usage de cette expression est un informaticien américain, Arthur Samuel, en 1959, il y a plus de soixante ans. Ce néologisme lui est venu 7 ans après qu’il eut créé un programme qui jouait au Jeu de Dames, programme capable de s’améliorer de lui-même au fil des parties.
À terme, son algorithme parvint à battre le 4ème meilleur joueur des États-Unis
Machine learning et big data
Bien que cela dépende du type d’apprentissage sur lequel le machine learning repose, ce dernier a souvent besoin d’énorme quantités de données pour apprendre de lui-même. Pour reprendre l’exemple déjà cité, si on veut qu’un programme reconnaisse un chat d’un chien à partir d’une photo, il faut qu’elle en ait déjà vu des dizaines de milliers de chaque.
Plus une machine aura de données dans sa base d’apprentissage, plus elle pourra exécuter ses tâches automatisées de manière précise et avec une faible marge d’erreur.
Les différentes applications
Évidemment, on n’utilise pas le machine learning uniquement pour pouvoir différencier les chats des chiens sur une photo. Les applications de ce type de technologie sont vastes et bien plus utiles dans notre quotidien.
Typiquement, le machine learning est présent dans le domaine des voitures autonomes. On le retrouve aussi dans les réseaux sociaux (génération d’un flux d’actus personnalités). Ou encore dans le domaine de la santé (assistance à la reconnaissance d’anomalies sur des radios médicales, par exemple).
On donnera des exemples concrets de l’utilisation du machine learning en fin d’article.
Les 3 principaux types d’apprentissage
Comme on l’a dit, il y a différents types d’apprentissage permettant à un ordinateur de faire du machine learning. Dans cette section, nous allons détailler les trois principaux.
Apprentissage supervisé
Dans l’apprentissage supervisé, on fournit au programme des données explicites, ou « étiquetées ». Par exemple, si on veut d’une machine nous aide à différencier une radio médicale d’un organe sain à celle d’un organe malade, on va fournir au système des milliers de clichés, avec, pour chacun, une étiquette disant « organe sain » ou « organe malade ».
Pour le former, on fournit tout nous-même au programme, d’où « l’apprentissage supervisé« .
De cette façon, après avoir passé en revue ces milliers d’images, le programme devrait être capable de faire la différence entre une bonne radio et une mauvaise radio.
Apprentissage non supervisé
Il existe une approche complètement opposée au premier type d’apprentissage : celui non supervisé.
Là, c’est tout le contraire. On fournit à la machine tout un tas de données, et c’est à elle de trouver des patterns, de créer des espèces de groupes. Par exemple, si on donne à un programme d’apprentissage automatique une banque de données de personnes soufrant d’une certaine maladie, il va essayer de trouver des points communs entre ces personnes, trouver un pattern qui pourrait éventuellement provoquer cette maladie.
Et, derrière, c’est l’opérateur qui est en charge d’analyser ces groupes pour en tirer d’éventuelles conclusions.
Apprentissage par renforcement
Le dernier type d’apprentissage dont on va parler ici, c’est l’apprentissage par renforcement. Ici, pas besoin d’injecter des milliers de données à une machine. Cette fois, la machine va apprendre d’elle-même en essayant.
C’est typiquement le genre d’apprentissage qu’utilise une intelligence artificielle pour apprendre à jouer à un jeu. C’est par exemple comme ça que le programme AlphaGo a appris à jouer au jeu de Go. Partie après partie, le programme analyse les combinaisons qui ont le plus de chances d’aboutir à une victoire, le tout en rapport avec les coups de l’adversaire. AlphaGo a ainsi battu le champion du monde du jeu de Go.
Machine learning dans la technique
Maintenant qu’on en sait plus sur le machine learning en tant que tel, disséquons-le du point de vue technique.
Le métier de data scientist
Généralement, la personne qui gère et supervise le machine learning d’un programme, c’est un data scientist. Le data scientist est, grossièrement, un expert dans la gestion et l’exploitation de données.
Il sait notamment manipuler de la big data, et l’utiliser correctement afin d’entraîner un programme dans le sens du machine learning.
Il est capable d’utiliser les outils qu’il maitrise (langages de programmation, frameworks, etc.) pour apprendre à un ordinateur à exécuter des tâches de manière automatique et en apprenant de lui-même.
Les technos du machine learning
Le data scientist, pour faire du machine learning, peut s’appuyer sur diverses technologies.
Au niveau des langages de programmation, on en retrouve ici principalement deux : le R et le Python. Le R étant plus spécialisé dans l’étude des statistiques (analyses exploratoires, des correlations, etc.), on va ici se concentrer sur Python.
C’est d’ailleurs une des explications à l’utilisation de plus en plus répandue de Python. C’est en effet le langage de prédilection pour le travail sur l’intelligence artificielle et le machine learning.
De ce fait, il y a aujourd’hui beaucoup de frameworks tournant sous Python dont le but est l’exploitation de big data et l’apprentissage automatique.
Si vous êtes développeur et souhaitez vous spécialiser dans ces domaines, c’est donc vers Python qu’il faut se tourner.
Applications concrètes du machine learning
Comme on l’a vu au début de l’article, le machine learning est déjà présent dans notre vie quotidienne, sans même qu’on s’en aperçoive. Voyons quelques cas concrets de son utilisation.
Les flux personnalisés
Que ça soit votre fil d’actualités Facebook, vos suggestions Instagram ou Netflix, il y a du machine learning derrière ces flux.
Concrètement, on veut que vous restiez le plus longtemps possible sur la plateforme (Facebook, Instagram) ou que vous trouviez votre bonheur (Netflix). Comment faire ? Eh bien un algorithme, entrainé à générer des suggestions qui peuvent vous plaire (en fonction de vos précédentes recherches, le temps que vous avez passé sur telle page, vos likes, etc.), va être appelé et ainsi retourner du contenu personnalisé.
Domaine de la santé
Comme déjà évoqué dans cet article, le machine learning est tout à fait adapté au monde de la santé. Il peut se trouver être une aide précieuse pour diagnostiquer des anomalies sur des analyses (apprentissage supervisé), ou trouver d’éventuelles causes à une maladie (apprentissage non supervisé).
Si ce domaine en particulier vous intéresse, dirigez-vous vers cet article.
Détection de fraudes
Un autre exemple qu’on peut donner ici, c’est la détection de fraudes bancaires. Par exemple, une machine, à force de traiter des données, peut déduire de vous que vous vivez dans telle ville, avec telle rentrée d’argent, et telles dépenses chaque semaine dans tel endroit.
Elle va en quelque sorte créer un modèle, un pattern, de votre situation.
Si ce même programme voit une transaction d’un montant bien supérieur aux volumes habituels et dans un autre pays, il va l’identifier comme une potentielle fraude.
Limites du machine learning
Si le machine learning permet de faire beaucoup de choses, il a toutefois des limites, à plusieurs niveaux.
Déjà, et bien que ce terme ait soixante ans, l’apprentissage automatique n’en est qu’à ses débuts. Le jour on où réussira à interconnecter les différents systèmes d’apprentissage et à repousser les limites de cet apprentissage, ce domaine prendra encore plus d’ampleur et bouleversera encore plus notre quotidien.
Une autre limite qu’on peut voir au machine learning, c’est son côté éthique, ou moral. Si une machine est capable de créer un modèle financier à partir de votre compte en banque, peut-être est-elle capable d’aller plus loin encore. Par exemple, créer différents patterns à partir de vos données personnelles, qui pourraient être utilisées par des tiers pour des motifs à l’éthique discutable.
Normalement, après cet article, le terme machine learning devrait être plus clair pour vous. On sait maintenant à quoi ça correspond, quels sont les différents types d’apprentissages, sur quelles technologies repose le machine learning et quels en sont les usages concrets.
Si toutefois il reste encore des zones d’ombres pour vous, n’hésitez pas à en parler en commentaire !