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'].

Ch1Ex10

Este exercício faz parte do curso

Introdução à aprendizagem profunda em Python

Ver Curso

Instruções de exercício

  • Calcule node_0_0_input usando seus pesos weights['node_0_0'] e o dado input_data. Em seguida, aplique a função relu() para obter node_0_0_output.
  • Faça o mesmo que acima para node_0_1_input para obter node_0_1_output.
  • Calcule node_1_0_input usando seus pesos weights['node_1_0'] e as saídas da primeira camada oculta - hidden_0_outputs. Em seguida, aplique a função relu() para obter node_1_0_output.
  • Faça o mesmo que acima para node_1_1_input para obter node_1_1_output.
  • Calcule model_output usando seus pesos weights['output'] e as saídas da matriz hidden_1_outputs da segunda camada oculta. Não aplique a função relu() 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)