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

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

Nous pouvons visualiser cette équation comme illustré 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 n° 1

Dans le modèle ci-dessus, les valeurs weight et les valeurs des biais ont été aléatoirement initialisé. Effectuez les tâches suivantes pour vous familiariser avec le et explorer le modèle linéaire. Vous pouvez ignorer la liste déroulante Activation Function (Fonction d'activation) pour le moment. nous allons en discuter dans la suite de ce module.

  1. Cliquez sur le bouton Lecture (▶️) au-dessus du réseau pour calculer la valeur de le 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 dans la couche d'entrée, et augmentez la valeur de 2,00 à 2,50. Notez que la valeur du nœud de sortie change. Sélectionner la sortie (en vert) et consultez le panneau Calculs pour voir comment le résultat a été calculée.

  3. Cliquez sur le nœud de sortie (en vert) pour voir la pondération ($w_1$, $w_2$, $w_3$) et biais ($b$). Diminuer la valeur de pondération pour $w_3$ (là encore, notez que la valeur du nœud de sortie et les calculs ci-dessous ont changé). Ensuite, augmentez la valeur du biais. Découvrez comment ces modifications ont affecté la sortie du modèle.

Ajouter des couches au réseau

Notez que lorsque vous avez ajusté les valeurs de pondération et de biais du réseau dans Exercice 1, qui n'a pas modifié la logique mathématique globale entre l'entrée et la sortie. Notre modèle est toujours linéaire.

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

La valeur de chaque neurone de la couche cachée est calculée de la même manière que sortie d'un modèle linéaire: calculer la somme du produit de chacune de ses entrées (les neurones de la couche réseau précédente) et un paramètre de pondération unique, ainsi que le biais. De même, les neurones de la couche suivante (ici, la couche de sortie) sont calculées en utilisant les valeurs des neurones de la couche cachée comme entrées.

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

Exercice 2

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

Cliquez sur le bouton Lecture (▶️) au-dessus du réseau pour calculer la valeur de les quatre nœuds de la couche cachée et le 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 parameters (pondérations et biais) permet-elle du modèle de réseau ?
4
Notre modèle d'origine de l'exercice 1 avait quatre paramètres: w11, w21, w31 et b. Comme ce modèle contient couche cachée, il y a plus de paramètres.
12
Notez que le nombre total de paramètres inclut les deux paramètres utilisée pour calculer les valeurs du nœud de la couche cachée à partir de les valeurs d'entrée et les paramètres utilisés pour calculer la valeur de sortie à partir des valeurs du nœud dans la couche cachée.
16
Notez que le nombre total de paramètres inclut à la fois la pondération et les paramètres de biais.
21
Quatre paramètres permettent de calculer chacune des quatre valeurs de nœud dans la couche cachée : trois pondérations (une pour chaque valeur d'entrée) et une soit un total de 16 paramètres. Ensuite, cinq paramètres sont utilisés pour calculer la valeur de sortie: quatre pondérations (une pour chaque nœud du couche cachée) et un biais. Ce réseau de neurones compte 21 paramètres.

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

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

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

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

Si vous cliquez ensuite sur le nœud de sortie et examinez le calcul ci-dessous, vous verrez que ce calcul est également linéaire. Linéaire les calculs effectués sur la sortie de calculs linéaires sont et linéaire, ce qui signifie qu'il ne peut pas apprendre les non-linéarités.