Wielowarstwowe sieci neuronowe
W tym ćwiczeniu napiszesz kod wykonujący propagację w przód dla sieci neuronowej z 2 warstwami ukrytymi. Każda warstwa ukryta ma dwa węzły. Dane wejściowe zostały wczytane jako input_data. Węzły pierwszej warstwy ukrytej noszą nazwy node_0_0 i node_0_1, a ich wagi są dostępne odpowiednio jako weights['node_0_0'] i weights['node_0_1'].
Węzły drugiej warstwy ukrytej noszą nazwy node_1_0 i node_1_1, a ich wagi są dostępne odpowiednio jako weights['node_1_0'] i weights['node_1_1'].
Na podstawie węzłów ukrytych tworzymy wyjście modelu, korzystając z wag wczytanych jako weights['output'].

To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego w Pythonie
Instrukcje do ćwiczenia
- Oblicz
node_0_0_input, używając wagweights['node_0_0']i podanych danychinput_data. Następnie zastosuj funkcjęrelu(), aby uzyskaćnode_0_0_output. - Wykonaj te same kroki dla
node_0_1_input, aby uzyskaćnode_0_1_output. - Oblicz
node_1_0_input, używając wagweights['node_1_0']i wyjść z pierwszej warstwy ukrytej –hidden_0_outputs. Następnie zastosuj funkcjęrelu(), aby uzyskaćnode_1_0_output. - Wykonaj te same kroki dla
node_1_1_input, aby uzyskaćnode_1_1_output. - Oblicz
model_output, używając wagweights['output']i tablicy wyjść z drugiej warstwy ukrytejhidden_1_outputs. Do tego wyjścia nie stosuj funkcjirelu().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def predict_with_network(input_data):
# Calculate node 0 in the first hidden layer
node_0_0_input = (____ * ____).sum()
node_0_0_output = relu(____)
# Calculate node 1 in the first hidden layer
node_0_1_input = ____
node_0_1_output = ____
# Put node values into array: hidden_0_outputs
hidden_0_outputs = np.array([node_0_0_output, node_0_1_output])
# Calculate node 0 in the second hidden layer
node_1_0_input = ____
node_1_0_output = ____
# Calculate node 1 in the second hidden layer
node_1_1_input = ____
node_1_1_output = ____
# Put node values into array: hidden_1_outputs
hidden_1_outputs = np.array([node_1_0_output, node_1_1_output])
# Calculate model output: model_output
model_output = ____
# Return model_output
return(model_output)
output = predict_with_network(input_data)
print(output)