LoslegenKostenlos loslegen

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.

Ch1Ex10

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

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)
Code bearbeiten und ausführen