Le Deep Learning est une évolution des réseaux neuronaux qui consiste à multiplier le nombre de couches de neurones. Il est particulièrement intéressant lorsque le nombre des caractéristiques à explorer est grand ou lorsque l’on cherche à explorer des bases d’imagerie. Il permet ainsi, contrairement à la régression logistique, d’obtenir des prédictions reposant sur des optimums multiples et complexe. Mais selon les données exploitées et leur richesse, les résultats d’un réseau neuronal de Deep Learning ne sont pas nécessairement meilleur que ceux d’une régression logistique. C’est pourquoi il conviendra toujours de comparer ses résultats à une méthode simple comme la régression logistique afin de quantifier si le coût de complexité du Deep Learning apporter une véritable amélioration du modèle.

 Le terme Deep Learning est apparu en 2006. Les premières percées n’ont été réalisées qu’en 2012, lorsque le réseau AlexNet, créé par Alex Krizhevsky, Geoffrey Hinton et Ilya Sutskever a permis de faire passer le taux d’erreur de reconnaissance d’images de la base de données ImageNet de 28 à 16%. Des progrès successifs ont ensuite été réalisés en modifiant les fonctions de convergence et en augmentant le nombre de couches des réseaux. ResNet, conçu en 2016, compte ainsi 56 couches de neurones artificiels. 

 Dans un réseau neuronal profond, chaque couche de neurones sera « tunée » ou « optimisée » pour discriminer les individus sur une caractéristiques ou sur une combinaison de caractéristiques. Sur cet exemple à trois couches de reconnaissance de visage, la première couche triera les images sur les différents bords de l’image, la seconde sur une combinaison de bords et la troisième sur la forme globale. Plusieurs frameworks sont disponibles afin d’utiliser le Deep Learning. Ces frameworks correspondent à des librairies de code informatique qui peuvent être exploitées simplement par l’utilisateur. Les principaux frameworks à ce jour sont : TensorFlow (Google), pyTorch (Facebook), Scikit Learn (INRIA).

 Chaque neurone de ce réseau à trois couches va être activé selon qu’il dépasse un certain seuil d’activation et passera cette information aux neurones de la couche suivante. A la fin, le résultat est fourni à la couche de sortie qui donnera la prédiction. Concrètement, chaque nœud du réseau, qui correspond à un neurone, démarre l’apprentissage avec un biais et un poids, définis par l’utilisateur. La fonction d’optimisation va chercher à optimiser ces paramètres pour converger vers la bonne prédiction qui est connue, puisque dans la base de données d’entrainement. On parle de « gradient descent » : La fonction devra atteindre le minimum de différence entre la prédiction et la réalité le plus rapidement possible.

Pr Jean-Emmanuel Bibault
Oncologue radiothérapeute
twitter.com/jebibault
01 56 09 34 03


Service d'oncologie radiothérapie
Hôpital Européen Georges Pompidou
Assistance Publique - Hôpitaux de Paris
20 rue Leblanc
75015 Paris