Mehrschichtige neuronale Netze
In dieser Übung schreibst du Code für die Vorwärtsausbreitung (Forward Propagation) in einem neuronalen Netz mit zwei verborgenen Schichten. Jede verborgene Schicht hat zwei Knoten. Die Eingabedaten wurden bereits als input_data geladen. Die Knoten der ersten verborgenen Schicht heißen node_0_0 und node_0_1. Deren Gewichte wurden jeweils als weights['node_0_0'] und weights['node_0_1'] geladen.
Die Knoten der zweiten verborgenen Schicht heißen node_1_0 und node_1_1. Ihre Gewichte sind jeweils als weights['node_1_0'] und weights['node_1_1'] vorgeladen.
Anschließend erzeugen wir aus den verborgenen Knoten ein Modell-Output mithilfe der als weights['output'] vorgeladenen Gewichte.

Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
- Berechne
node_0_0_inputmit seinen Gewichtenweights['node_0_0']und den gegebeneninput_data. Wende dann die Funktionrelu()an, umnode_0_0_outputzu erhalten. - Mache dasselbe für
node_0_1_input, umnode_0_1_outputzu erhalten. - Berechne
node_1_0_inputmit seinen Gewichtenweights['node_1_0']und den Ausgaben der ersten verborgenen Schicht –hidden_0_outputs. Wende dann die Funktionrelu()an, umnode_1_0_outputzu erhalten. - Mache dasselbe für
node_1_1_input, umnode_1_1_outputzu erhalten. - Berechne
model_outputmit seinen Gewichtenweights['output']und den Ausgaben der zweiten verborgenen Schicht, also dem Arrayhidden_1_outputs. Wende auf diese Ausgabe nicht die Funktionrelu()an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)