Redes neuronales multicapa
En este ejercicio, escribirás código para realizar la propagación hacia delante de una red neuronal con 2 capas ocultas. Cada capa oculta tiene dos nodos. Los datos de entrada se han precargado como input_data
. Los nodos de la primera capa oculta se denominan node_0_0
y node_0_1
. Sus pesos están precargados como weights['node_0_0']
y weights['node_0_1']
respectivamente.
Los nodos de la segunda capa oculta se llaman node_1_0
y node_1_1
. Sus pesos están precargados como weights['node_1_0']
y weights['node_1_1']
respectivamente.
A continuación, creamos una salida del modelo a partir de los nodos ocultos utilizando pesos precargados como weights['output']
.
Este ejercicio forma parte del curso
Introducción al Aprendizaje Profundo en Python
Instrucciones de ejercicio
- Calcula
node_0_0_input
utilizando sus ponderacionesweights['node_0_0']
y la dadainput_data
. A continuación, aplica la funciónrelu()
para obtenernode_0_0_output
. - Haz lo mismo que en
node_0_1_input
para obtenernode_0_1_output
. - Calcula
node_1_0_input
utilizando sus pesosweights['node_1_0']
y las salidas de la primera capa oculta -hidden_0_outputs
. A continuación, aplica la funciónrelu()
para obtenernode_1_0_output
. - Haz lo mismo que en
node_1_1_input
para obtenernode_1_1_output
. - Calcula
model_output
utilizando sus pesosweights['output']
y las salidas de la matriz de la segunda capa ocultahidden_1_outputs
. No apliques la funciónrelu()
a esta salida.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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)