Qu'est-ce que le Deep Learning ?
Le Deep Learning est une sous-catégorie de l'apprentissage automatique (machine learning) qui utilise des réseaux de neurones artificiels profonds pour apprendre des modèles à partir de données, permettant ainsi aux ordinateurs d'accomplir des tâches complexes telles que la reconnaissance d'images et la compréhension du langage naturel.
Un peu d’histoire
Les méthodes de machine learning permettent de tirer des informations ou des règles d’aide à la décision à partir de jeux de données, potentiellement gros (big data). Le deep learning, ou apprentissage profond, est sans doute le concept le plus cité parmi toutes ces méthodes à majorité non-neuronales. Cette notoriété s’explique sans doute par le caractère spectaculaire des cas d’usage rendus possibles : recherches web, analyse d’images médicales, traductions de langues, bots (parmi lesquels le fameux chatGPT), etc.
A l’origine, en 1943, le neurophysiologiste McCulloch et le logicien Pitts ont proposé le neurone formel, un nouvel outil mathématique et informatique, inspiré du fonctionnement du cerveau humain. De manière extrêmement simplifiée, un neurone est une cellule cérébrale permettant de collecter, traiter et transmettre des signaux électriques, depuis ses « entrées », les dendrites, vers sa « sortie », l’axone. Par analogie, le neurone formel établit une relation entre des entrées (inputs) et une sortie (output) via plusieurs opérations relativement simples : somme pondérée des entrées, ajout d’une constante (dénommée biais), puis transformation par une fonction (dite d'activation).
De ce neurone formel ont émergé le perceptron simple en 1958 puis le perceptron multicouche (MLP : MultiLayer Perceptron) dans les années 1970. Le perceptron multicouche est constitué de couches de neurones, chaque neurone d'une couche étant relié aux neurones de la couche adjacente. Plus le nombre de couches est élevé plus le réseau est dit profond. On parle aussi de réseau de neurones dense (DNN : Dense Neural Network).
Il a été démontré que ce perceptron multicouche permet de traiter de nombreux problèmes de régression ou de de classification supervisée (notamment dans le cas de classes non linéairement séparables).
En apprentissage statistique, l’objectif est de calibrer un réseau de neurones adapté aux données observées et transposable aux futures. L’idée est d’amender itérativement un primo-réseau de neurones avec des paramètres (poids et biais) tirés au sort à l’aide de l’algorithme de rétropropagation (backpropagation). Cet algorithme est aujourd’hui une pierre angulaire des réseaux de neurones.
Des architectures neuronales variées
Le couple perceptron multicouche-algorithme de rétropropagation a depuis été amendé ou complété pour prendre en compte les spécificités des données non structurées, images et textes notamment.
Les réseaux de neurones convolutifs (CNN : Convolutional Neural Networks), inspirés du cortex visuel et très adaptés au traitement des images, ont été introduits dans les années 1980. Ils adjoignent aux réseaux de neurones denses des couches de :
- Convolution pour extraire des caractéristiques ou « features » (contours, formes, etc.). Une couche de convolution est constituée de plusieurs filtres, également appelés noyaux de convolution, qui sont de petites matrices de poids. Ces filtres, déplacés sur l’image en entrée, extraient des caractéristiques spécifiques en effectuant une combinaison linéaire des valeurs voisines.
- « Pooling » pour réduire la dimension du problème. La corrélation entre des pixels proches autorise souvent cette réduction de dimension, facilitant la résolution numérique du problème...
Dans le domaine de la vision par ordinateur, ces réseaux de neurones convolutifs ont atteint d’excellentes performances dans la classification d'images (ex : détection d'objets, reconnaissance faciale…). Ils ont historiquement permis de traiter opérationnellement la reconnaissance des codes postaux aux Etats-Unis.
Les réseaux de neurones récurrents (RNN : Recurrent Neural Network) ont été spécialement conçus pour traiter des données séquentielles, telles que des séquences de mots dans du texte ou des séries temporelles. Le fonctionnement d'un réseau de neurones récurrents est basé sur l'idée de boucles récurrentes, le réseau maintient une "mémoire" interne qui est mise à jour et utilisée à chaque étape de la séquence.
Une limitation des réseaux de neurones récurrents traditionnels est le problème du "vanishing gradient" (gradient qui s'estompe). Pour pallier ce problème, des variantes de réseaux de neurones récurrents ont été développées, notamment les LSTM (Long Short-Term Memory) et les GRU (Gated Recurrent Units), qui intègrent des mécanismes spécifiques pour mieux gérer les dépendances à long terme.
Introduits en 2017, les transformers (transformeurs) ont révolutionné les domaines du traitement du langage naturel (NLP) et de la vision par ordinateur. Les transformers n'utilisent pas de couches récurrentes ou de convolutions mais se basent sur un mécanisme dit d’attention qui leur permet de capturer les relations entre les différentes parties d'une séquence d'entrée de manière globale.
Ces réseaux ont été utilisés avec succès dans de nombreuses tâches de traitement du langage naturel telles que la traduction automatique, la génération de texte, la classification de texte et le résumé automatique.
Les challenges du Deep learning
S’il permet de résoudre de nombreuses problématiques jusque-là peu accessibles, le Deep Learning soulève néanmoins un certain nombre d’interrogations, au niveau technique et même au-delà. Pour en savoir plus n'hésitez pas à consulter notre article sur le sujet.
Quelles compétences requises ?
Les Data scientists ont la responsabilité d’élaborer des algorithmes de machine learning adaptés aux problématiques métier et aux données disponibles, en puisant dans le large éventail des méthodes existant aujourd’hui.
Les Data analysts auront la capacité d’utiliser avec discernement ces modèles à l’aune de leur expertise métier.
Les Data engineers mettront en place et maintiendront les outils et infrastructures nécessaires à l’implémentation des algorithmes de machine learning.
Pour répondre au plus près à ces métiers en évolution constante, l’Ensae-Ensai Formation continue (Cepe) propose un Certificat Data scientist ainsi qu’un Certificat Data analyst.