Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 77

Understanding the Artificial Neuron: Weights, Biases, and Structure

Recommended resources

Bonjour ! Dans la leçon précédente, nous avons exploré autograd, le puissant moteur de PyTorch qui calcule automatiquement les gradients. Vous avez appris que ces gradients sont essentiels pour l'optimisation, car ils indiquent comment ajuster les paramètres d'un modèle pour minimiser la perte.

Aujourd'hui, nous allons répondre à la question suivante : "quels sont exactement ces paramètres dans un réseau de neurones ?" L'objectif de cette leçon est de vous faire expliquer la structure d'un neurone artificiel et le rôle des poids et des biais. Nous allons disséquer cette unité de calcul fondamentale, qui est à la base de tous les modèles de deep learning que vous construirez. Vous comprendrez comment les concepts mathématiques que vous avez étudiés, comme le produit scalaire, et les concepts de PyTorch, comme les gradients, s'assemblent en une seule brique de construction.

1. Du concept à la fonction : une introduction intuitive

Avant d'entrer dans les détails mathématiques, il est très utile de se forger une intuition visuelle de ce qu'est un réseau de neurones et de ses composants. La vidéo suivante, par 3Blue1Brown, est une référence pour sa clarté et sa puissance d'explication. Elle vous donnera un aperçu de haut niveau de la manière dont les neurones, organisés en couches, transforment l'information.

But what is a neural network? Chapter 1, Deep learning

Cette vidéo est une excellente introduction conceptuelle aux réseaux de neurones.

Concentrez-vous sur les segments suivants pour construire une image mentale solide : Les neurones et les couches : Comprenez un neurone comme une "chose qui contient un nombre" (son activation) et voyez comment ils sont organisés en couches d'entrée, cachées et de sortie. Flux d'information : Saisissez l'idée que les activations d'une couche déterminent les activations de la couche suivante. Le rôle des poids : Voyez comment les "poids" sont utilisés pour calculer une somme pondérée des activations de la couche précédente. C'est le mécanisme principal de transformation de l'information. Le rôle du biais : Comprenez le "biais" comme un seuil supplémentaire qui rend un neurone plus ou moins enclin à s'activer.

La vidéo utilise l'expression "knobs and dials" (boutons et cadrans) pour décrire les poids et les biais. C'est une excellente analogie. Ce sont les paramètres que le réseau "apprend" ou "règle" pendant l'entraînement pour produire le bon résultat.


2. L'anatomie d'un neurone artificiel

Maintenant que vous avez l'intuition, décomposons la structure formelle d'un neurone artificiel, souvent appelé "perceptron" dans sa forme la plus simple. Un neurone est une petite unité de calcul qui reçoit des entrées, les traite et produit une sortie.

Cette image montre les composants clés d'un neurone artificiel. Les entrées (x1, x2,...) sont combinées à l'aide des poids (w1, w2,...) et d'un biais (b) pour calculer une valeur intermédiaire `z`, qui est ensuite transformée par une fonction d'activation `f` pour produire la sortie `y`.

Le processus à l'intérieur d'un neurone se déroule en deux étapes mathématiques principales. L'article suivant de Towards Data Science décrit ce processus de manière très claire.

The Concept of Artificial Neurons (Perceptrons) in Neural ...

Cet article fournit une explication textuelle et visuelle détaillée des composants d'un neurone.

Veuillez lire les sections suivantes : La structure d'un perceptron : Cette partie introduit formellement les entrées, les poids, le biais, la fonction linéaire z et la fonction d'activation f. La fonction linéaire : Concentrez-vous sur cette partie. Elle montre comment les entrées et les poids sont combinés. Notez l'affirmation cruciale : "The weights and biases are called the parameters in a neural network model." C'est le lien direct avec la leçon précédente.

Résumons les composants et les étapes :

  1. Les Entrées (Inputs, ) : Ce sont les données fournies au neurone. Dans un réseau, ce sont souvent les activations de la couche précédente. Pour la première couche, ce sont les caractéristiques de vos données (par exemple, les valeurs des pixels d'une image, les colonnes d'un tableau).

  2. Les Poids (Weights, ) : Chaque connexion d'entrée a un poids associé. Le poids détermine l'importance de l'entrée . Un poids élevé (positif ou négatif) signifie que l'entrée a une forte influence sur la sortie du neurone. Un poids proche de zéro signifie que l'entrée a peu d'influence.

  3. Le Biais (Bias, ) : C'est une valeur unique ajoutée à la somme des entrées pondérées. Il n'est associé à aucune entrée. Son rôle est de décaler la sortie du neurone, le rendant plus ou moins facile à activer, indépendamment de ses entrées.

  4. Étape 1 : Fonction Linéaire (Somme pondérée)
    Le neurone calcule d'abord une somme pondérée de ses entrées, à laquelle il ajoute le biais. Le résultat est souvent noté .

    En utilisant la notation vectorielle que vous avez vue dans le module d'algèbre linéaire, cela se simplifie en un produit scalaire plus une addition :

  5. Étape 2 : Fonction d'Activation (Non-linéarité)
    Le résultat est ensuite passé à travers une fonction d'activation . La sortie finale du neurone est . Cette fonction introduit de la non-linéarité, ce qui est crucial pour permettre au réseau d'apprendre des relations complexes. Nous explorerons les différents types de fonctions d'activation dans la prochaine leçon.

Pour une explication concise en arabe, qui correspond à vos préférences, la vidéo suivante résume bien la structure mathématique du perceptron.

بيرسيبترون : اُمُّ الشبكات العصبية و التعلم العميق ! [perceptron]

Cette vidéo explique de manière claire les composants mathématiques du neurone.

Regardez la section explication mathématique. Elle décompose le calcul en entrées (x), poids (w), biais (w0), fonction de somme et fonction d'activation (ici, une fonction de seuil simple).


3. Le rôle crucial des poids et des biais

Comprenons maintenant plus en profondeur le rôle de ces deux types de paramètres que le réseau doit apprendre.

Le rôle des poids : Les régulateurs d'influence

Comme mentionné, les poids contrôlent l'influence de chaque entrée. Imaginez un neurone dans un réseau de détection de spam.

What is a Neural Network? | IBM

Cet article d'IBM utilise une analogie très efficace pour expliquer les poids et les biais.

Lisez la section qui commence par l'exemple de détection de spam. Faites particulièrement attention à la description des poids et des biais.

Comme le décrit l'article, si une entrée correspond au mot "prize", le réseau apprendra probablement à lui assigner un poids positif élevé, car ce mot est un bon indicateur de spam. En revanche, un mot comme "hello" pourrait avoir un poids proche de zéro. Les poids négatifs sont également importants : la présence d'une entrée (par exemple, le nom d'un collègue dans l'adresse de l'expéditeur) pourrait fortement suggérer que l'e-mail n'est pas du spam, et donc se voir attribuer un poids négatif élevé.

Le rôle du biais : Le seuil d'activation

Le biais agit comme un seuil. Il contrôle la facilité avec laquelle un neurone "s'active" (c'est-à-dire produit une sortie élevée).

Revenons à l'article de Towards Data Science pour une explication détaillée de cet effet.

The Concept of Artificial Neurons (Perceptrons) in Neural ...

Cette section explique comment le biais contrôle l'activation d'un neurone.

Lisez la section "What does it mean by 'firing a neuron'?". Elle montre, avec un exemple simple, comment un biais négatif oblige la somme pondérée des entrées à être plus élevée pour que le neurone s'active.

  • Un biais négatif élevé (par exemple, -10) signifie que la somme pondérée des entrées doit être très grande (supérieure à 10) pour que devienne positif. Le neurone est donc "sceptique" et difficile à activer.
  • Un biais positif élevé (par exemple, +10) signifie que le neurone sera déjà fortement activé même si les entrées sont faibles ou nulles. Il est "enthousiaste" et facile à activer.

Conclusion : La brique fondamentale de l'apprentissage

Vous avez maintenant une compréhension claire du neurone artificiel, la brique Lego® fondamentale du deep learning. Nous avons vu que son fonctionnement repose sur une transformation en deux temps : une combinaison linéaire des entrées (via les poids et le biais) suivie d'une activation non linéaire.

Points clés à retenir :

  • Un neurone artificiel est une unité de calcul qui reçoit des entrées, les transforme et produit une sortie.
  • Sa structure est composée d'entrées, de poids, d'un biais, d'une fonction linéaire (somme pondérée) et d'une fonction d'activation.
  • Les poids () sont des paramètres qui contrôlent l'influence de chaque entrée. Ils sont les "cadrans" qui déterminent les motifs que le neurone détecte.
  • Le biais () est un paramètre qui agit comme un seuil d'activation, rendant le neurone plus ou moins facile à activer.
  • Les poids et les biais sont les paramètres apprenables du réseau. C'est pour eux que autograd calcule des gradients, et ce sont eux qui sont ajustés pendant l'entraînement pour minimiser la fonction de perte.

Dans la prochaine leçon, nous nous concentrerons sur la deuxième étape du calcul neuronal : la fonction d'activation. Vous découvrirez les fonctions les plus courantes comme ReLU, Sigmoid et Softmax, et apprendrez pourquoi elles sont si importantes et dans quels cas les utiliser.