Astuces

Comprendre le machine learning et le deep learning

On entend souvent parler de machine learning (apprentissage automatique) en opposition au deep learning (apprentissage profond). Qu’en est-il vraiment ?

Le deep learning est du machine learning

Tout d’abord, le deep learning est du machine learning. Il est juste plus « profond ». Attelons-nous à expliquer cette profondeur en considérant par exemple qu’il s’agisse d’identifier un type de véhicule (voiture, moto, bus, train) sur une photo.

Machine learning ou apprentissage automatique

L’apprentissage automatique (en anglais machine learning, littéralement « l’apprentissage machine ») ou apprentissage statistique est un champ d’étude de l’intelligence artificielle qui se fonde sur des approches 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. Plus largement, cela concerne la conception, l’analyse, le développement et l’implémentation de telles méthodes.  » (Wikipédia)

Ce processus comporte une phase d’apprentissage au cours de laquelle la machine « ingère » les données et une phase de prédiction ou le modèle est utilisé avec des données qu’elle n’a pas apprises au préalable.

Les réseaux de neurones

L’idée des réseaux de neurones est de s’inspirer du fonctionnement du cerveau humain pour développer une manière de faire apprendre des choses à une machine. On a ainsi conçu des mini fonctions mathématiques, baptisées neurones, qui prennent plusieurs nombres en entrées et rendent un nombre en sortie. Elles sont interconnectées pour former un réseau.

Cela fonctionne très bien si les données sont suffisamment structurées, c’est-à-dire s’il s’agit d’apprendre d’un nombre raisonnable de colonnes de nombres, disons par exemple une dizaine de milliers pour fixer les idées.

Cette méthode d’apprentissage est particulièrement indiquée en présence d’énormes jeux de données, de l’ordre du million d’exemples.

Deep learning ou apprentissage profond

S’il s’agit d’images par exemple, à chaque pixel correspond un nombre et il faut donc plusieurs millions de nombres pour représenter une image, même petite.

Un réseau de neurones adapté serait trop lent en termes de calcul. Il faudrait donc réussir à grouper les pixels par blocs bien choisis pour résumer l’image en moins de nombres. Le deep learning se charge justement de cette étape : il consiste à enchaîner plusieurs couches de neurones, dont les premières, qui peuvent être une centaine, serviront à extraire ce résumé pour entrer dans la dernière couche qui prendra la décision.

Ainsi, s’il s’agit de reconnaître des véhicules sur une photo, le deep learning prendra l’initiative, par exemple, d’identifier les principes de roue, de vitre, de taille et de les compter/mesurer, sans avoir été préalablement programmé de la sorte. Cet ajout de multiples couches neuronales inspire le qualificatif de profond de « deep learning ».

Le choix pertinent

Choisir l’apprentissage profond plutôt qu’une autre méthode d’apprentissage automatique se fait assez naturellement : cela dépend principalement de la quantité et du type de données disponibles.

De manière heuristique, l’utilisation de réseaux neuronaux est pertinente dès que l’on dispose d’un jeu de données de l’ordre du million. La profondeur du réseau, donc l’option deep learning, dépend alors davantage du type de données : le deep learning sera particulièrement intéressant sur des images, des sons, du texte brut et toutes sortes de données non structurées. De telles quantités de données concernent tout particulièrement les GAFA (Google, Amazon, Facebook, Apple) ou ceux qui leur achètent les données.

En conclusion, le deep learning est une méthode de machine learning parmi d’autres qui est particulièrement adaptée pour analyser des images ou du texte en grande quantités, comme en disposent Google, Amazon, Facebook ou Apple, pour identifier des objets et des visages dans les photos ou du sentiment ou des sujets dans du texte.

Rédigé par l’équipe de Data Scientist Bial-R