Dense neural network : Qu’est-ce que c’est ?

-
3
 m de lecture
-

Au moment de concevoir un réseau neuronal profond, il est possible d’utiliser plusieurs types d’architecture de premier niveau. Parmi lesquels, le dense neural network. Alors de quoi s’agit-il ? Comment ça fonctionne ? Découvrez les réponses dans cet article.

Qu’est-ce qu’un dense neural network ?

Un dense neural network (ou réseau neuronal dense) est un modèle d’apprentissage automatique où chaque couche est profondément connectée à la couche précédente. 

Pour rappel, les couches sont constituées de nœuds. Ces derniers combinent les entrées d’un ensemble de données avec un coefficient pondéré, pour en augmenter ou atténuer la valeur. Ce faisant, ils effectuent des calculs sur les données. 

Si l’on prend l’exemple d’un stade, les nœuds constituent les sièges, les couches constituent les rangées de sièges. Et le tout constitue l’architecture même du modèle (ou le stade dans son intégralité). Au sein d’un modèle, chaque couche a son importance en fonction de ses caractéristiques et fonctionnalités. Certaines sont utilisées pour l’analyse des séries temporelles, d’autres pour le traitement des images, ou encore pour le traitement du langage naturel

Pour revenir au dense neural network, les neurones de la couche sont connectés à tous les neurones de la couche précédente. De par cette ultra connexion, c’est le modèle le plus couramment utilisé dans les réseaux de neurones artificiels.

Bon à savoir : même si l’on parle de dense neural network, les couches denses (ou couches profondément connectées) ne sont pas forcément utilisées du début à la fin du processus d’apprentissage. Bien souvent, elles interviennent dans les étapes finales du réseau neuronal. Dans ce cas, d’autres types de couches seront utilisés. 

Comment fonctionne le dense neural network ?

Dans un dense neural network, la couche dense reçoit un output du neurone de la couche précédente. Les données d’entrée ainsi transmises le sont sous la forme d’une matrice. 

Et pour faciliter la connexion entre toutes les couches, une multiplication vectorielle de la matrice est appliquée. Ce qui permet de modifier l’output et de passer à l’étape suivante. Mais attention, la multiplication matrice-vecteur signifie que le vecteur ligne de l’output est égal au vecteur colonne de la couche dense. Autrement dit, pour que ça fonctionne, il doit y avoir autant de colonnes entre les deux vecteurs. C’est tout ce processus qui permet au réseau de créer des connexions entre les valeurs des données disponibles. 

Pour vous aider à mieux comprendre le fonctionnement du dense neural network, nous allons voir son implémentation à travers l’outil Keras.

Comment implémenter le réseau neuronal dense avec Keras ?

L’API Keras

Pour  mettre en place un dense neural network, il convient d’utiliser un outil performant. L’un des plus couramment utilisés est Keras. 

Il s’agit d’une API Python qui s’exécute sur la plateforme de machine learning Tensorflow. Cette API permet à ses utilisateurs d’ajouter plusieurs couches préconstruites dans différentes architectures de réseaux neuronaux. Grâce à son interface intuitive et la rapidité de son déploiement en production, Keras facilite l’expérience globale sur TensorFlow.

Ainsi, pour créer un modèle d’apprentissage automatique, il convient d’empiler les différentes couches Keras. Il est alors possible d’utiliser une seule couche dense pour concevoir un modèle de régression linéaire. Ou plusieurs couches denses pour créer un véritable dense neural network.

Bon à savoir : l’API Keras contient différents types de couches, telles que les couches de sorties, les couches d’activation, les couches d’intégration et bien sûr les couches denses. Nous allons justement voir les différents paramètres utilisés pour ces dernières.

Les hyperparamètres de Keras

Pour concevoir un dense neural network, Keras fournit à ses utilisateurs une syntaxe complète, composée de plusieurs hyperparamètres et attributs. Voici les plus importants : 

  • Unités : il définit la taille de l’output de la couche dense. C’est toujours un nombre entier positif. 
  • Activation : elle permet de transformer les valeurs d’entrée des neurones. En introduisant une non-linéarité, les réseaux de neurones sont capables de comprendre la relation entre les valeurs d’entrée et de sortie.
  • La matrice des poids de noyau : c’est le cœur du réseau neuronal. Cette matrice est utilisée pour multiplier les données d’entrée et en extraire les caractéristiques principales. Ici, plusieurs paramètres peuvent intervenir pour initialiser, régulariser ou appliquer une contrainte à la matrice.
  • Le vecteur de biais : ce sont les ensembles de données supplémentaires qui ne nécessitent aucune entrée et qui correspondent à la couche de sortie. À ce titre, il est fixé à 0. Là encore, plusieurs paramètres peuvent intervenir (initialisation, contrainte, et régularisation).

Ce qu’il faut retenir

  • Dans un dense neural network, les résultats des couches précédentes sont transmis à la couche dense. Il y a donc hyperconnexion entre les différentes couches composant l’architecture du modèle d’apprentissage. 
  • Afin d’implémenter ce modèle d’apprentissage, plusieurs outils sont disponibles. C’est notamment le cas de Keras qui vous fournit une syntaxe complète. Facilitant ainsi le travail des Data Scientists
  • Cela dit, pour maîtriser parfaitement la conception d’un réseau neuronal dense, il est préférable de se former à la science de la donnée.
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 ?