Observatoire du Numérique
TechTrends 4  /  8

Comprendre les réseaux de neurones

Découvrez comment les neurones artificiels, les couches et les fonctions d’activation permettent aux modèles de reconnaître des structures complexes.


Un réseau de neurones est un modèle informatique capable d'apprendre des relations complexes à partir de données. Il peut notamment reconnaître un objet dans une image, identifier un mot dans un enregistrement sonore ou analyser le contenu d'un texte.

Son nom vient de son organisation en petites unités de calcul appelées neurones artificiels. Ces unités sont reliées entre elles et organisées en plusieurs couches. Malgré cette appellation, leur fonctionnement reste très différent de celui d'un cerveau humain.

Le neurone artificiel traite des informations

Un neurone artificiel reçoit plusieurs valeurs. Dans une image, ces valeurs peuvent représenter l'intensité de différents pixels. Dans un autre contexte, elles peuvent correspondre à un âge, une température ou une mesure financière.

Chaque valeur reçoit un poids qui indique son importance. Le neurone combine ensuite ces informations, ajoute éventuellement une valeur appelée biais, puis transmet le résultat à une fonction d'activation.

Les poids et les biais constituent les paramètres du réseau. Ils sont ajustés pendant l'entraînement afin d'améliorer les prédictions du modèle.

Les neurones sont organisés en couches

Couche d'entrée

La couche d'entrée reçoit les données à analyser. Chaque valeur est transmise aux couches suivantes sous une forme numérique.

Pour une image, les entrées peuvent correspondre aux pixels. Pour un texte, elles peuvent représenter des mots ou des fragments de mots transformés en nombres.

Couches cachées

Les couches cachées réalisent l'essentiel des calculs. Elles transforment progressivement les informations reçues pour faire apparaître des structures utiles.

Dans un modèle de reconnaissance d'images, les premières couches peuvent détecter des lignes ou des contours. Les couches suivantes peuvent combiner ces éléments pour reconnaître des formes plus élaborées.

Couche de sortie

La dernière couche produit le résultat du réseau. Elle peut indiquer une catégorie, une valeur, une probabilité ou une série de valeurs.

Pour reconnaître une image, elle peut par exemple attribuer une probabilité à plusieurs catégories possibles.

Chaque couche construit une représentation plus complexe

Les informations traversent le réseau de la première couche jusqu'à la dernière. Chaque couche reçoit les résultats de la précédente, les transforme, puis les transmet à la suivante.

Cette succession permet au modèle de construire progressivement une représentation plus détaillée des données. Dans une image, une première couche peut repérer des contrastes. Une autre peut reconnaître des contours, puis des formes, avant qu'une couche plus profonde identifie un objet complet.

Le terme Deep Learning désigne précisément l'utilisation de réseaux possédant plusieurs couches de traitement. Plus un réseau est profond, plus il peut apprendre des relations complexes. Cela ne signifie toutefois pas qu'un plus grand nombre de couches produit automatiquement un meilleur modèle.

Le rôle des fonctions d'activation

Sans fonction d'activation, plusieurs couches successives se comporteraient essentiellement comme une seule transformation simple. Le réseau aurait alors des difficultés à représenter des relations complexes.

Une fonction d'activation transforme le résultat calculé par chaque neurone avant de le transmettre à la couche suivante. Elle introduit une forme de non-linéarité, indispensable pour reconnaître des structures qui ne suivent pas une relation simple.

La fonction ReLU est fréquemment utilisée. Elle conserve les valeurs positives et remplace les valeurs négatives par zéro. D'autres fonctions, comme sigmoid ou tanh, peuvent être choisies selon la tâche et la position de la couche dans le réseau.

Poids

Les poids déterminent l'importance accordée à chaque information reçue par un neurone.

Biais

Le biais permet de décaler le résultat du calcul. Il offre davantage de souplesse au modèle pour représenter les données.

Fonction d'activation

La fonction d'activation transforme la sortie d'un neurone et permet au réseau d'apprendre des relations non linéaires.

Profondeur

La profondeur correspond au nombre de couches successives utilisées pour transformer les données.

Le réseau apprend en corrigeant ses paramètres

Pendant l'entraînement, le réseau produit une prédiction, puis la compare avec le résultat attendu. L'erreur obtenue est utilisée pour déterminer comment modifier les poids et les biais.

Cette correction est généralement réalisée par un mécanisme appelé backpropagation. L'erreur est propagée depuis la sortie vers les couches précédentes afin d'évaluer la contribution de chaque paramètre. Les paramètres sont ensuite ajustés pour réduire l'erreur lors des prochaines prédictions.

Ce processus est répété sur un grand nombre d'exemples. Le réseau développe ainsi progressivement des paramètres adaptés à la tâche demandée.

Un réseau de neurones reçoit des données, les transforme à travers plusieurs couches et produit un résultat. Les neurones combinent les informations grâce à des poids et des biais. Les fonctions d'activation permettent au réseau de reconnaître des relations complexes.

Un réseau de neurones ne reconnaît pas une structure comme le ferait une personne. Il calcule des relations statistiques apprises à partir des données d'entraînement.

Ses résultats dépendent donc de la qualité des données, de son architecture et de son entraînement. Un réseau très performant peut encore produire une prédiction incorrecte lorsqu'il rencontre une situation différente de celles observées pendant son apprentissage.


Sources
  • Google for Developers, Neural Networks : developers.google.com
  • Stanford University, cours CS231n – Neural Networks : cs231n.github.io
  • PyTorch, documentation et tutoriels officiels sur les réseaux de neurones, les couches et les fonctions d'activation : docs.pytorch.org
  • TensorFlow, documentation sur les couches denses, les perceptrons multicouches et les fonctions d'activation : www.tensorflow.org