Réseaux de neurones: nœuds et couches cachées

Pour construire un réseau neuronal qui apprend les non-linéarités , commencez par la structure de modèle familière suivante : un modèle linéaire de la forme $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Nous pouvons visualiser cette équation comme indiqué ci-dessous, où $x_1$, $x_2$ et $x_3$ sont nos trois nœuds d'entrée (en bleu) et $y'$ est notre nœud de sortie (en vert).

Exercice 1

Dans le modèle ci-dessus, les valeurs de poids et de biais ont été initialisées aléatoirement. Effectuez les tâches suivantes pour vous familiariser avec l'interface et explorer le modèle linéaire. Vous pouvez ignorer pour l'instant le menu déroulant « Fonction d'activation » ; nous aborderons ce sujet plus loin dans ce module.

  1. Cliquez sur le bouton Play (▶️) au-dessus du réseau pour calculer la valeur du nœud de sortie pour les valeurs d'entrée $x_1 = 1.00$, $x_2 = 2.00$ et $x_3 = 3.00$.

  2. Cliquez sur le deuxième nœud de la couche d'entrée et augmentez sa valeur de 2,00 à 2,50. Notez que la valeur du nœud de sortie change. Sélectionnez les nœuds de sortie (en vert) et consultez le panneau Calculs pour voir comment la valeur de sortie a été calculée.

  3. Cliquez sur le nœud de sortie (en vert) pour afficher les valeurs des paramètres de pondération ($w_1$, $w_2$, $w_3$) et de biais ($b$). Diminuez la valeur de pondération de $w_3$ (notez que la valeur du nœud de sortie et les calculs ci-dessous ont changé). Augmentez ensuite la valeur de biais. Observez l'impact de ces modifications sur la sortie du modèle.

Ajout de couches au réseau

Notez que lorsque vous avez ajusté les valeurs de poids et de biais du réseau dans l'exercice 1 , cela n'a pas modifié la relation mathématique globale entre l'entrée et la sortie. Notre modèle reste un modèle linéaire.

Mais que se passe-t-il si l'on ajoute une couche supplémentaire au réseau, entre la couche d'entrée et la couche de sortie ? Dans la terminologie des réseaux de neurones, les couches supplémentaires entre la couche d'entrée et la couche de sortie sont appelées couches cachées , et les nœuds de ces couches sont appelés neurones .

La valeur de chaque neurone de la couche cachée est calculée de la même manière que la sortie d'un modèle linéaire : on additionne le produit de chacune de ses entrées (les neurones de la couche précédente) et d'un paramètre de pondération unique, auquel on ajoute le biais. De même, les neurones de la couche suivante (ici, la couche de sortie) sont calculés à partir des valeurs des neurones de la couche cachée.

Cette nouvelle couche cachée permet à notre modèle de recombiner les données d'entrée à l'aide d'un autre ensemble de paramètres. Cela peut-il aider notre modèle à apprendre les relations non linéaires ?

Exercice 2

Nous avons ajouté au modèle une couche cachée contenant quatre neurones.

Cliquez sur le bouton Play (▶️) au-dessus du réseau pour calculer la valeur des quatre nœuds de la couche cachée et du nœud de sortie pour les valeurs d'entrée $x_1 = 1.00$, $x_2 = 2.00$ et $x_3 = 3.00$.

Explorez ensuite le modèle et utilisez-le pour répondre aux questions suivantes.

Combien de paramètres (poids et biais) possède ce modèle de réseau neuronal ?
4
Notre modèle original de l'exercice 1 comportait quatre paramètres : w 11 , w 21 , w 31 , et b. Parce que ce modèle contient une couche cachée, il y a plus de paramètres.
12
Notez que le nombre total de paramètres inclut à la fois les paramètres utilisés pour calculer les valeurs des nœuds dans la couche cachée à partir des valeurs d'entrée, et les paramètres utilisés pour calculer la valeur de sortie à partir des valeurs des nœuds dans la couche cachée.
16
Notez que le nombre total de paramètres inclut à la fois les paramètres de pondération et les paramètres de biais.
21
Le calcul des valeurs des quatre nœuds de la couche cachée utilise quatre paramètres : trois poids (un pour chaque entrée) et un biais, soit un total de seize paramètres. Le calcul de la valeur de sortie utilise quant à lui cinq paramètres : quatre poids (un pour chaque nœud de la couche cachée) et un biais. Au total, ce réseau de neurones comporte donc vingt et un paramètres.

Essayez de modifier les paramètres du modèle et observez l'effet sur les valeurs des nœuds de la couche cachée et sur la valeur de sortie (vous pouvez consulter le panneau Calculs ci-dessous pour voir comment ces valeurs ont été calculées).

Ce modèle peut-il apprendre les non-linéarités ?

Oui
Cliquez sur chacun des nœuds de la couche cachée et sur le nœud de sortie, puis examinez les calculs ci-dessous. Que remarquez-vous concernant tous ces calculs ?
Non

Si vous cliquez sur chacun des nœuds de la couche cachée et que vous examinez les calculs ci-dessous, vous constaterez qu'ils sont tous linéaires (comprenant des opérations de multiplication et d'addition).

Si vous cliquez ensuite sur le nœud de sortie et examinez le calcul ci-dessous, vous constaterez que ce calcul est également linéaire. Les calculs linéaires effectués sur la sortie de calculs linéaires sont eux-mêmes linéaires, ce qui signifie que ce modèle ne peut pas apprendre les non-linéarités.