Mehrschichtige neuronale Netze
In dieser Übung schreibst du Code, um die Vorwärtsausbreitung für ein neuronales Netzwerk mit zwei versteckten Schichten zu machen. Jede versteckte Schicht hat zwei Knoten. Die Eingabedaten wurden als „ input_data
“ vorgeladen. Die Knoten in der ersten versteckten Schicht werden als „ node_0_0
“ und „ node_0_1
“ bezeichnet. Ihre Gewichte sind schon als „ weights['node_0_0']
“ und „ weights['node_0_1']
“ eingegeben.
Die Knoten in der zweiten versteckten Schicht heißen „ node_1_0
“ und „ node_1_1
“. Ihre Gewichte sind schon als „ weights['node_1_0']
“ und „ weights['node_1_1']
“ eingegeben.
Dann machen wir aus den versteckten Knoten und den Gewichten, die wir als „ weights['output']
” geladen haben, ein Modell.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
- Berechne den Wert von „
node_0_0_input
” mit den Gewichten „weights['node_0_0']
” und den gegebenen „input_data
”. Dann nimm die Funktion „relu()
“, um „node_0_0_output
“ zu bekommen. - Mach dasselbe wie oben für „
node_0_1_input
“, um „node_0_1_output
“ zu bekommen. - Berechne „
node_1_0_input
“ mit den Gewichten „weights['node_1_0']
“ und den Ausgaben der ersten versteckten Schicht „hidden_0_outputs
“. Dann nimm die Funktion „relu()
“, um „node_1_0_output
“ zu bekommen. - Mach dasselbe wie oben für „
node_1_1_input
“, um „node_1_1_output
“ zu bekommen. - Berechne „
model_output
“ mit den Gewichten „weights['output']
“ und den Ausgaben aus dem Array „hidden_1_outputs
“ der zweiten versteckten Schicht. Wende die Funktion „relu()
“ nicht auf diese Ausgabe 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)