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.
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 €.
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/16 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/08/16 (UTC)."],[],[],null,["# Neural networks: Nodes and hidden layers\n\nTo build a [**neural network**](/machine-learning/glossary#neural_network)\nthat learns [**nonlinearities**](/machine-learning/glossary#nonlinear),\nbegin with the following familiar model structure: a\n[**linear model**](/machine-learning/glossary#linear-model) of the form\n$y' = b + w_1x_1 + w_2x_2 + w_3x_3$.\n\nWe can visualize this equation as shown below, where $x_1$,\n$x_2$, and $x_3$ are our three input nodes (in blue), and $y'$ is our output node\n(in green).\n\nExercise 1\n----------\n\nIn the model above, the [**weight**](/machine-learning/glossary#weight) and\n[**bias**](/machine-learning/glossary#bias) values have been randomly\ninitialized. Perform the following tasks to familiarize yourself with the\ninterface and explore the linear model. You can\nignore the *Activation Function* dropdown for now; we'll discuss this\ntopic later on in the module.\n\n1. Click the Play (▶️) button above the network to calculate the value of\n the output node for the input values $x_1 = 1.00$, $x_2 = 2.00$, and\n $x_3 = 3.00$.\n\n2. Click the second node in the\n [**input layer**](/machine-learning/glossary#input-layer), and increase\n the value from 2.00\n to 2.50. Note that the value of the output node changes. Select the output\n nodes (in green) and review the *Calculations* panel to see how the output\n value was calculated.\n\n | **Notes about calculations:**\n | - Values displayed are rounded to the hundredths place.\n | - The `Linear()` function simply returns the value it is passed.\n3. Click the output node (in green) to see the weight ($w_1$, $w_2$, $w_3$) and\n bias ($b$) parameter values. Decrease the weight value for\n $w_3$ (again, note that the value of the output node and the calculations below\n have changed). Then, increase the bias value. Review how these changes\n have affected the model output.\n\nAdding layers to the network\n----------------------------\n\nNote that when you adjusted the weight and bias values of the network in\n[Exercise 1](#exercise_1), that didn't change the overall mathematical\nrelationship between input and output. Our model is still a linear model.\n\nBut what if we add another layer to the network, in between the input layer\nand the output layer? In neural network terminology, additional layers between\nthe input layer and the output layer are called\n[**hidden layers**](/machine-learning/glossary#hidden_layer), and the nodes\nin these layers are called\n[**neurons**](/machine-learning/glossary#neuron).\n\nThe value of each neuron in the hidden layer is calculated the same way as the\noutput of a linear model: take the sum of the product of each of its inputs\n(the neurons in the previous network layer) and a unique weight parameter,\nplus the bias. Similarly, the neurons in the next layer (here, the output layer)\nare calculated using the hidden layer's neuron values as inputs.\n\nThis new hidden layer allows our model to recombine the input data using another\nset of parameters. Can this help our model learn nonlinear relationships?\n\nExercise 2\n----------\n\nWe've added a hidden layer containing four neurons to the model.\n\nClick the Play (▶️) button above the network to calculate the value of\nthe four hidden-layer nodes and the output node for the input values\n$x_1 = 1.00$, $x_2 = 2.00$, and $x_3 = 3.00$.\n\nThen explore the model, and use it to answer the following questions. \nHow many [**parameters**](/machine-learning/glossary#parameter) (weights and biases) does this neural network model have? \n4 \nOur original model in [Exercise 1](#exercise-1) had four parameters: w~11~, w~21~, w~31~, and b. Because this model contains a hidden layer, there are more parameters. \n12 \nNote that the total number of parameters includes both the parameters used to calculate the node values in the hidden layer from the input values, and the parameters used to calculate the output value from the node values in the hidden layer. \n16 \nNote that the total number of parameters includes both the weight parameters and the bias parameters. \n21 \nThere are 4 parameters used to calculate each of the 4 node values in the hidden layer---3 weights (one for each input value) and a bias---which sums to 16 parameters. Then there are 5 parameters used to calculate the output value: 4 weights (one for each node in the hidden layer) and a bias. In total, this neural network has 21 parameters. \nTry modifying the model parameters, and observe the effect on the\nhidden-layer node values and the output value (you can review the\nCalculations panel below to see how these values were\ncalculated).\n\nCan this model learn nonlinearities? \nYes \nClick on each of the nodes in the hidden layer and the output node, and review the calculations below. What do you notice about all these calculations? \nNo \nIf you click on each of the nodes in the hidden layer and review\nthe calculations below, you'll see that all of them are linear\n(comprising multiplication and addition operations).\n\nIf you then click on the output node and review the calculation\nbelow, you'll see that this calculation is also linear. Linear\ncalculations performed on the output of linear calculations are\nalso linear, which means this model cannot learn nonlinearities.\n| **Key terms:**\n|\n| - [Bias](/machine-learning/glossary#bias)\n| - [Hidden layer](/machine-learning/glossary#hidden_layer)\n| - [Input layer](/machine-learning/glossary#input-layer)\n| - [Linear model](/machine-learning/glossary#linear-model)\n| - [Model](/machine-learning/glossary#model)\n| - [Neural network](/machine-learning/glossary#neural_network)\n| - [Neuron](/machine-learning/glossary#neuron)\n| - [Nonlinear](/machine-learning/glossary#nonlinear)\n| - [Parameter](/machine-learning/glossary#parameter)\n- [Weight](/machine-learning/glossary#weight) \n[Help Center](https://support.google.com/machinelearningeducation)"]]