Redes neurais multicamadas
Neste exercício, você escreverá um código para fazer a propagação direta para uma rede neural com 2 camadas ocultas. Cada camada oculta tem dois nós. Os dados de entrada foram pré-carregados como input_data
. Os nós na primeira camada oculta são chamados de node_0_0
e node_0_1
. Seus pesos são pré-carregados como weights['node_0_0']
e weights['node_0_1']
, respectivamente.
Os nós da segunda camada oculta são chamados de node_1_0
e node_1_1
. Seus pesos são pré-carregados como weights['node_1_0']
e weights['node_1_1']
, respectivamente.
Em seguida, criamos um modelo de saída dos nós ocultos usando pesos pré-carregados como weights['output']
.
Este exercício faz parte do curso
Introdução à aprendizagem profunda em Python
Instruções de exercício
- Calcule
node_0_0_input
usando seus pesosweights['node_0_0']
e o dadoinput_data
. Em seguida, aplique a funçãorelu()
para obternode_0_0_output
. - Faça o mesmo que acima para
node_0_1_input
para obternode_0_1_output
. - Calcule
node_1_0_input
usando seus pesosweights['node_1_0']
e as saídas da primeira camada oculta -hidden_0_outputs
. Em seguida, aplique a funçãorelu()
para obternode_1_0_output
. - Faça o mesmo que acima para
node_1_1_input
para obternode_1_1_output
. - Calcule
model_output
usando seus pesosweights['output']
e as saídas da matrizhidden_1_outputs
da segunda camada oculta. Não aplique a funçãorelu()
a essa saída.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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)