Comme le big data il y a quelques années, le Machine Learning est le terme à la mode en ce moment mais, pour beaucoup, ça reste un peu confus. Notre expert Lin LIN s’est donc donné pour mission de vous présenter le concept simplement et pourquoi pas, de vous donner envie d’en apprendre plus !
Si l’on se contente de prendre le terme littéralement, on peut très vite imaginer une scène de science-fiction où un groupe de robots seraient tous assis dans une salle de classe, mais ce n’est bien évidemment pas ça le machine learning !
Le Machine Learning désigne la haute technologie grâce à laquelle les machines sont capables d’apprendre, comme des êtres humains, pour conclure des informations utiles et ce, à partir d’une masse de données.
Mais enfin, c’est impossible, me diront les sceptiques ! La bonne manière d’interagir avec une machine, c’est de lui donner des ordres et de la regarder les exécuter ! Comment une machine qui ne comprend que des 0 et des 1 peut « réfléchir » comme un être humain ?
Aussi incroyable que cela puisse paraître, une technologie pareille existe bel et bien !
Apprendre comme un être humain
Avant de se pencher sur les méthodes d’apprentissages des machines, il faut se tourner vers celles des êtres humains.
De base, les informations suivent trois étapes lors de l’apprentissage : l’entrée, l’intégration et la sortie. On a tous appris l’anglais à l’école, je vais donc prendre l’anglais comme exemple.
Au début on doit apprendre beaucoup des mots par cœur. En effet, sans un certain nombre de mots de vocabulaire, on se retrouve vite bloqué : ça c’est la phase d’entrée.
Malheureusement, on se rend vite compte que, même si on connait tout le dictionnaire, il est encore difficile d’avoir des conversations en anglais avec des anglophones. On doit aussi apprendre la grammaire et les expressions pour savoir comment formuler une phrase correctement : c’est la phase d’intégration.
Au final, ayant acquis du vocabulaire de base et de la grammaire pour constituer le squelette, on parvient à s’exprimer selon le contexte. C’est la phase de la sortie et le but final de l’apprentissage d’une langue étrangère.
Et bien, c’est pareil pour apprendre n’importe quoi d’autre. En résumé, on commence par accumuler des expériences et puis on conclut des règles et on finit par appliquer agilement.
Et donc, si l’on résume :
L’apprentissage humain est un processus dans lequel une personne, se base sur l’expérience passée pour déduire certaines règles à partir de certaines problématiques, puis utilise ces connaissances pour en régler de nouvelles.
C’est grâce à cette capacité d’apprentissage que les humains se sont hissés au sommet de la chaîne alimentaire. Après des dizaines de millions d’années de sélection naturelle, ceux qui ont une faible capacité d’apprentissage ont été éliminés par l’environnement.
On dirait que je dis que l’être humain est le plus fort du monde, mais n’oublions pas non plus le fait que la capacité du cerveau humain et la durée de vie sont limitées. Même Einstein, qu’on considère souvent comme la personne la plus intelligente du monde, a mis plusieurs décennies pour énoncer la théorie de la relativité !
Et en raison de cette limitation, même si les humains ont une capacité de « super-apprentissage » par rapport aux autres espèces, il est toujours difficile voire impossible d’apprendre tous les savoirs existants.
The Computer Can
Et c’est là que l’informatique entre en scène : l’ordinateur aide les humains à dépasser cette limitation.
Les humains ont de solides capacités d’apprentissage, mais ils ont une mauvaise mémoire et un temps de réponse plutôt lent. Alors que l’ordinateur possède une capacité d’apprentissage énorme et peut calculer très rapidement et de manière stable.
Comment combiner les avantages des deux ? De toute évidence, le moyen le plus simple est d’enseigner à l’ordinateur comment apprendre.
Les humains peuvent apprendre de leur propre expérience, mais les ordinateurs ne peuvent pas lire de livres, ils ne peuvent apprendre qu’à partir des données que nous leur fournissons. Bien sûr, on se dit que les ordinateurs peuvent apprendre les règles immédiatement et utiliser leurs nouvelles connaissances pour devenir indépendants rapidement. Ils pourraient ainsi résoudre de nombreux problèmes complexes.
Mais une question demeure, comment les guider pour qu’ils parviennent à tirer des conclusions à partir des données ?
Pendant des décennies, de nombreux chercheurs en informatique et en mathématiques appliquées ont mis au point de nombreuses façons d’enseigner aux ordinateurs. De ces recherches sont nés toutes sortes d’algorithmes d’apprentissage automatique.
C’est ce que l’on appelle le Machine Learning. Utiliser des algorithmes pour apprendre à l’ordinateur à utiliser des données connues pour construire un modèle approprié, et utiliser ce modèle pour juger une nouvelle situation.
L’idée de Machine Learning n’est pas si compliquée : elle n’est qu’une simulation du processus d’apprentissage dans la vie humaine.
Et dans tout ce processus, le plus important est la donnée. Si le modèle est la fusée que nous voulons construire, alors les données en sont le carburant.
C’est pourquoi Machine Learning et Big Data sont indissociables. Car il faut le reconnaître, il y a tout de même un domaine où les ordinateurs sont moins bons que les humains : générer rapidement une expérience à travers des échantillons extrêmement limités.
AlphaGo, programme informatique capable de jouer au jeu de go, développé par Google DeepMind, a réalisé des dizaines de millions de parties avec lui-même, alors que Ke Jie, qui est l’un des meilleurs joueurs mondiaux, ne pourra jamais atteindre 1% de ce nombre. Et bien qu’il soit beaucoup moins « entrainé » que l’ordinateur, il n’a été battu que de quelques points face à la machine.
Pas de données, pas d’intelligence
En fait, tant que la quantité de données est suffisamment grande, le choix des algorithmes de Machine Learning importe moins.
Le Machine Learning peut être divisé en plusieurs types: apprentissage supervisé, apprentissage non supervisé, apprentissage semi-supervisé et apprentissage par renforcement en fonction du type de données traitées.
Les deux premiers sont plus couramment utilisés dans la pratique.
L’apprentissage supervisé signifie que l’échantillon de données indiquera à l’ordinateur le résultat correct dans telle situation. On espère ainsi que l’ordinateur pourra également déduire le bon résultat pour les échantillons des donnés inconnues, tout comme un étudiant améliore ses résultats à l’examen d’entrée dans une grande école en faisant plusieurs séries de simulations d’examens et en corrigeant les réponses. Dans cette situation, les données sont comme un enseignant qui supervise l’ordinateur pour apprendre. Selon que la sortie de résultat est discrète ou continue, l’apprentissage supervisé peut être divisé en deux grandes catégories: la classification et la régression.
Ils sont largement utilisés dans le texte, la parole, la reconnaissance d’image, la classification et l’interception des spams, la recherche sur le Web et la prévision des stocks.
L’apprentissage non supervisé signifie qu’aucune information de sortie correcte n’est donnée dans l’échantillon de données. C’est comme faire beaucoup de simulations d’examen sans en connaître les corrigés. Mais même si vous n’avez pas les réponses, vous pouvez quand même apprendre beaucoup d’informations utiles. Par exemple, quelles questions apparaissent fréquemment. C’est ce type d’information que l’apprentissage non supervisé espère creuser à partir des données. Par exemple le clustering, l’extraction de règles d’association, la détection de valeurs aberrantes, etc.
PS : Pour en savoir plus sur le Machine Learning, je vous recommande le cours à ce sujet disponible sur Open Classrooms !
[…] son infrastructure et sa gouvernance de données, trouver et entraîner les bons modèles de machine learning, permet d’obtenir des résultats impressionnants – même si les loupés d’Alexa, […]