Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Per creare una rete neurale che apprende le non linearità, inizia con la seguente struttura di modello familiare: modello lineare della forma $a = b + w_1x_1 + w_2x_2 + w_3x_3$.
Possiamo visualizzare questa equazione come mostrato di seguito, dove $x_1$, $x_2$ e $x_3$ sono i tre nodi di input (in blu) e $y'$ è il nodo di output (in verde).
Esercizio 1
Nel modello riportato sopra, i valori weight e I valori di bias sono stati casuali inizializzato. Per acquisire familiarità con il corso, esegui le operazioni riportate di seguito ed esplorare il modello lineare. Puoi per ora ignora il menu a discesa Funzione di attivazione. parleremo di questo più avanti in questo modulo.
Fai clic sul pulsante Riproduci (▶️) sopra la rete per calcolare il valore il nodo di output per i valori di input $x_1 = 1.00$, $x_2 = 2.00$ e x_3 $ = 3,00$.
Fai clic sul secondo nodo nella livello di input e aumenta il valore da 2,00 a 2,50. Tieni presente che il valore del nodo di output cambia. Seleziona l'output nodi (in verde) ed esamina il riquadro Calcoli per vedere come viene generato è stato calcolato.
Fare clic sul nodo di output (in verde) per visualizzare il peso ($w_1$, $w_2$, $w_3$) e bias ($b$). Diminuisci il valore di ponderazione per $w_3$ (anche in questo caso, tieni presente che il valore del nodo di output e i calcoli sono cambiate). Quindi, aumenta il valore di bias. Esamina come queste modifiche hanno influenzato l'output del modello.
Aggiungere livelli alla rete
Tieni presente che, quando hai regolato i valori di ponderazione e bias della rete in Allenamento 1, che non ha modificato i calcoli matematici complessivi la relazione tra input e output. Il nostro modello è ancora un modello lineare.
Ma cosa succede se aggiungiamo un altro strato alla rete, tra quello di input e il livello di output? Nella terminologia delle reti neurali, gli strati aggiuntivi tra lo strato di input e quello di output sono chiamati strati nascosti e i nodi in questi strati sono chiamati neuroni.
Il valore di ciascun neurone nello strato nascosto viene calcolato come il valore output di un modello lineare: prende la somma del prodotto di ciascuno dei suoi input (i neuroni dello strato di rete precedente) e un parametro di peso univoco, più i pregiudizi. Analogamente, i neuroni dello strato successivo (qui lo strato di output) vengono calcolati utilizzando i valori neuroni dello strato nascosto come input.
Questo nuovo strato nascosto consente al modello di ricombinare i dati di input utilizzando un altro un insieme di parametri. Questo può aiutare il modello ad apprendere relazioni non lineari?
Esercizio 2
Abbiamo aggiunto al modello uno strato nascosto contenente quattro neuroni.
Fai clic sul pulsante Riproduci (▶️) sopra la rete per calcolare il valore i quattro nodi di strato nascosto e il nodo di output per i valori di input $x_1 = 1,00$, $x_2 = 2,00$ e $x_3 = 3,00$.
Quindi esplora il modello e utilizzalo per rispondere alle seguenti domande.
Quanti parameters (ponderazioni e bias), modello di rete?
4
Il nostro modello originale nell'Esercizio 1 aveva quattro parametri: w11, w21, w31 e b. Poiché questo modello contiene strato nascosto, ci sono più parametri.
12
Tieni presente che il numero totale di parametri include entrambi i parametri utilizzato per calcolare i valori dei nodi nello strato nascosto i valori di input e i parametri utilizzati per calcolare il valore di output dai valori dei nodi nello strato nascosto.
16
Tieni presente che il numero totale di parametri include sia la ponderazione e i parametri di bias.
21
Esistono 4 parametri utilizzati per calcolare ciascuno dei 4 valori dei nodi in lo strato nascosto: 3 pesi (uno per ogni valore di input) pregiudizi, che somma 16 parametri. Poi vengono usati 5 parametri. per calcolare il valore di output: 4 ponderazioni (uno per ogni nodo strato nascosto) e un bias. In totale, questa rete neurale ha 21 parametri.
Prova a modificare i parametri del modello e osserva l'effetto sulla i valori dei nodi di strato nascosto e il valore di output (puoi esaminare Riquadro Calcoli di seguito per vedere come erano questi valori calcolati).
Questo modello può apprendere le non linearità?
Sì
Fai clic su ciascuno dei nodi nello strato nascosto e sul nodo di output. e rivedi i calcoli di seguito. Che cosa noti degli tutti questi calcoli?
No
Facendo clic su ciascuno dei nodi nello strato nascosto, i calcoli di seguito, vedrai che sono tutti lineari (comprese operazioni di moltiplicazione e addizione).
Se poi fai clic sul nodo di output ed esamini il calcolo di seguito, vedrai che anche questo calcolo è lineare. Lineare i calcoli eseguiti sull'output dei calcoli lineari anche lineare, il che significa che il modello non può apprendere le non linearità.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-08-16 UTC."],[],[],null,["To 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\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\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\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)"]]