Reti neurali: nodi e strati nascosti

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.

  1. 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$.

  2. 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.

  3. 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à?

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à.