Zacznij terazZacznij za darmo

Wielowarstwowe sieci neuronowe

W tym ćwiczeniu napiszesz kod wykonujący propagację w przód dla sieci neuronowej z 2 warstwami ukrytymi. Każda warstwa ukryta ma dwa węzły. Dane wejściowe zostały wczytane jako input_data. Węzły pierwszej warstwy ukrytej noszą nazwy node_0_0 i node_0_1, a ich wagi są dostępne odpowiednio jako weights['node_0_0'] i weights['node_0_1'].

Węzły drugiej warstwy ukrytej noszą nazwy node_1_0 i node_1_1, a ich wagi są dostępne odpowiednio jako weights['node_1_0'] i weights['node_1_1'].

Na podstawie węzłów ukrytych tworzymy wyjście modelu, korzystając z wag wczytanych jako weights['output'].

Ch1Ex10

To ćwiczenie jest częścią kursu

Wprowadzenie do uczenia głębokiego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz node_0_0_input, używając wag weights['node_0_0'] i podanych danych input_data. Następnie zastosuj funkcję relu(), aby uzyskać node_0_0_output.
  • Wykonaj te same kroki dla node_0_1_input, aby uzyskać node_0_1_output.
  • Oblicz node_1_0_input, używając wag weights['node_1_0'] i wyjść z pierwszej warstwy ukrytej – hidden_0_outputs. Następnie zastosuj funkcję relu(), aby uzyskać node_1_0_output.
  • Wykonaj te same kroki dla node_1_1_input, aby uzyskać node_1_1_output.
  • Oblicz model_output, używając wag weights['output'] i tablicy wyjść z drugiej warstwy ukrytej hidden_1_outputs. Do tego wyjścia nie stosuj funkcji relu().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod