Redes neuronales multicapa
En este ejercicio, escribirás código para realizar la propagación hacia adelante en una red neuronal con dos 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 denominan « 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 un modelo a partir de los nodos ocultos utilizando los pesos precargados como weights['output']
.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo en Python
Instrucciones del ejercicio
- Calcula el valor de la vida media ponderada (
node_0_0_input
) utilizando sus ponderacionesweights['node_0_0']
y el valor dadoinput_data
. A continuación, aplica la función «relu()
» para obtener «node_0_0_output
». - Haz lo mismo que arriba para
node_0_1_input
y obtendrásnode_0_1_output
. - Calcula
node_1_0_input
utilizando sus pesosweights['node_1_0']
y los resultados de la primera capa oculta -hidden_0_outputs
. A continuación, aplica la función «relu()
» para obtener «node_1_0_output
». - Haz lo mismo que arriba para
node_1_1_input
y obtendrásnode_1_1_output
. - Calcula
model_output
utilizando sus pesosweights['output']
y las salidas del segundo arreglo de la capa ocultahidden_1_outputs
. No apliques la función «relu()
» a esta salida.
Ejercicio interactivo práctico
Prueba este ejercicio completando el 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)