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']
.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Python
Instructions
- Calculez l'
node_0_0_input
e à l'aide de ses pondérationsweights['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'obtenirnode_0_1_output
. - Calculez l'
node_1_0_input
e à l'aide de ses poidsweights['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'obtenirnode_1_1_output
. - Calculez l'
model_output
e à l'aide de ses poidsweights['output']
et des sorties du tableauhidden_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)