LoslegenKostenlos loslegen

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.

Ch1Ex10

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Berechne node_0_0_input mit seinen Gewichten weights['node_0_0'] und den gegebenen input_data. Wende dann die Funktion relu() an, um node_0_0_output zu erhalten.
  • Mache dasselbe für node_0_1_input, um node_0_1_output zu erhalten.
  • Berechne node_1_0_input mit seinen Gewichten weights['node_1_0'] und den Ausgaben der ersten verborgenen Schicht – hidden_0_outputs. Wende dann die Funktion relu() an, um node_1_0_output zu erhalten.
  • Mache dasselbe für node_1_1_input, um node_1_1_output zu erhalten.
  • Berechne model_output mit seinen Gewichten weights['output'] und den Ausgaben der zweiten verborgenen Schicht, also dem Array hidden_1_outputs. Wende auf diese Ausgabe nicht die Funktion relu() 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)
Code bearbeiten und ausführen