Aan de slagGa gratis aan de slag

Neurale netwerken met meerdere lagen

In deze oefening schrijf je code om forward propagation uit te voeren voor een neuraal netwerk met 2 verborgen lagen. Elke verborgen laag heeft twee knopen. De invoergegevens zijn vooraf geladen als input_data. De knopen in de eerste verborgen laag heten node_0_0 en node_0_1. Hun gewichten zijn vooraf geladen als respectievelijk weights['node_0_0'] en weights['node_0_1'].

De knopen in de tweede verborgen laag heten node_1_0 en node_1_1. Hun gewichten zijn vooraf geladen als respectievelijk weights['node_1_0'] en weights['node_1_1'].

Vervolgens maken we een modeluitvoer van de verborgen knopen met gewichten die vooraf zijn geladen als weights['output'].

Ch1Ex10

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning in Python

Cursus bekijken

Oefeninstructies

  • Bereken node_0_0_input met de bijbehorende gewichten weights['node_0_0'] en de gegeven input_data. Pas daarna de relu()-functie toe om node_0_0_output te krijgen.
  • Doe hetzelfde voor node_0_1_input om node_0_1_output te krijgen.
  • Bereken node_1_0_input met de bijbehorende gewichten weights['node_1_0'] en de uitkomsten van de eerste verborgen laag — hidden_0_outputs. Pas daarna de relu()-functie toe om node_1_0_output te krijgen.
  • Doe hetzelfde voor node_1_1_input om node_1_1_output te krijgen.
  • Bereken model_output met de bijbehorende gewichten weights['output'] en de uitkomsten van de tweede verborgen laag, de array hidden_1_outputs. Pas de relu()-functie niet toe op deze uitvoer.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren