CommencerCommencer gratuitement

Réseaux neuronaux multicouches

Dans cet exercice, vous allez écrire du code pour effectuer la propagation avant dans un réseau neuronal à deux couches cachées. Chaque couche cachée comporte deux nœuds. Les données d'entrée ont été préchargées sous le nom « input_data ». Les nœuds de la première couche cachée sont appelés « nœuds actives » ( node_0_0 ) et « nœuds inactives » ( node_0_1). Leurs poids sont préchargés respectivement comme weights['node_0_0'] et weights['node_0_1'].

Les nœuds de la deuxième couche cachée sont appelés « nœuds de sortie » ( node_1_0 ) et « nœuds de sortie » ( node_1_1). Leurs poids sont préchargés respectivement comme weights['node_1_0'] et weights['node_1_1'].

Nous créons ensuite une sortie de modèle à partir des nœuds cachés en utilisant les poids préchargés comme suit : weights['output'].

Ch1Ex10

Cet exercice fait partie du cours

Introduction au Deep Learning avec Python

Afficher le cours

Instructions

  • Calculez l'node_0_0_input e à l'aide de ses pondérations weights['node_0_0'] et de l'input_data donnée. Appliquez ensuite la fonction « relu() » pour obtenir « node_0_0_output ».
  • Veuillez procéder de la même manière que ci-dessus pour node_0_1_input afin d'obtenir node_0_1_output.
  • Calculez l'node_1_0_input e à l'aide de ses poids weights['node_1_0'] et des sorties de la première couche cachée - hidden_0_outputs. Appliquez ensuite la fonction « relu() » pour obtenir « node_1_0_output ».
  • Veuillez procéder de la même manière que ci-dessus pour node_1_1_input afin d'obtenir node_1_1_output.
  • Calculez l'model_output e à l'aide de ses poids weights['output'] et des sorties du tableau hidden_1_outputs de la deuxième couche cachée. Veuillez ne pas appliquer la fonction « relu() » (Ajouter une image) à cette sortie.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code