Réseau de neurones : définition et fonctionnement

-
3
 m de lecture
-

Quatrième épisode de notre série consacrée au Deep Learning, n’hésitez pas à lire ou relire les premiers pour vous rafraîchir la mémoire sur les définitions de Deep Learning, Machine Learning et Intelligence Artificielle ainsi que sur les grandes lignes du fonctionnement et des applications des réseaux de neurones. N'hésitez pas également à relire la partie dédiée au CNN : Convolutional Neural Network . Démarrons sans plus tarder cette nouvelle partie ! 

Table des matières:

  1. Introduction au Deep Learning
  2. Réseaux de neurones : Biologique VS Artificiels
  3. Convolutional Neural Network
  4. Fonctionnement des réseaux de neurones
    1. Rappel sur les réseaux de neurones
    2. Descente de gradient
  5. Transfer Learning 

Vous allez maintenant découvrir en détails comment les réseaux de neurones artificiels apprennent et leur manière de s’articuler dans un réseau.

Petit rappel sur les réseaux de neurones

Pour rappel, les multi-layers perceptron sont un empilement de perceptron qui sont mis sous forme de couche. Prenons l’exemple suivant pour illustrer le concept :

Deep learning neuronnes

Le modèle consiste à classifier (en 10 classes) des images de chiffres manuscrits. Les carrés verts sont la couche d’entrée de notre modèle, c’est-à-dire la valeur des pixels. La couche intermédiaire et la couche sortie sont des perceptrons représentés par des ronds gris. La dernière couche possède 10 neurones puisqu’il y a 10 classes et retourne la probabilité correspondante à chaque classe.

Nous pouvons très facilement implémenter le modèle sur TensorFlow :

Tensorflow

Comment entraîner le modèle ?

Pour entraîner notre modèle, c’est-à-dire trouver les poids adaptés, il est nécessaire de définir une fonction qui va quantifier l’erreur de notre modèle . En général, pour les problèmes de classification, nous utilisons la fonction « cross-entropy » pour mesurer l’erreur. 

Notre problème d’optimisation consiste à trouver les poids de notre modèle qui minimise notre fonction d’erreur : 

J(w)

En Deep Learning, nous sommes confrontés à des problèmes de minimisation complexe et sans solution explicite. C’est pourquoi, des méthodes d’optimisation comme la descente de gradient sont utilisée pour les résoudre.

Descente de gradient : Pour descendre, il faut aller vers le bas

Pour découvrir d’une manière intuitive le concept de descente du gradient, regardez notre vidéo sur le sujet : 

Dans notre cas, la fonction de perte (d’erreur) peut être vue comme une montagne où l’on recherche les coordonnées (poids de modèle) du point d’altitude minimale. Et, la valeur du gradient de la fonction de perte correspond à l’orientation et à l’inclinaison de la pente en un point donné :

  • Si la norme du gradient est élevée, c’est que la pente est très raide.
  • Si la norme du gradient est faible, c’est que la pente est peu inclinée.
  • Si le gradient est nul, c’est qu’on se trouve sur un plat (minimum).

Par conséquent, la descendre de gradient consiste initialement à choisir les poids aléatoires, et de suivre l’inverse du gradient à chaque itération : 

Deep learning

Avec :

  • Wt : les paramètres de notre modèle
  • η : pas du gradient, autrement dit, la vitesse d’apprentissage
  • : fonction de perte

Un pas de gradient trop grand ou trop petit ne permettra pas à l’algorithme MLP de converger vers une solution satisfaisante. Trouver le bon pas de gradient est tout le challenge du Deep Learning.

Pour résumer, le neurone artificiel autrement appelé le perceptron se comporte comme un modèle de classification linéaire. Le perceptron multicouche quant à lui lie et empile sous forme de couche les perceptrons pour apporter une plus grande complexité à l’établissement des règles.

Après avoir défini les paramètres du modèle, nous avons vu qu’il était nécessaire de quantifier l’erreur de celui-ci. Pour ce faire, le Deep Learning utilise principalement la descente de gradient pour ajuster ses poids de façon à minimiser la fonction de perte.

Pour explorer  les mathématiques qui se cachent derrière cet algorithme de descente de gradient et l’importance du taux d’apprentissage découvrez cet article.

Dans la suite, nous allons vous présenter Le Transfer Learning, une catégorie d’apprentissage à succès utilisée en Deep Learning et qui semble fortement s’inspirer de l’apprentissage humain ! 

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?