НачатьНачать бесплатно

Многослойные нейронные сети

В этом упражнении вы напишете код для прямого распространения в нейронной сети с двумя скрытыми слоями. В каждом скрытом слое по два узла. Входные данные уже загружены как input_data. Узлы первого скрытого слоя называются node_0_0 и node_0_1, их веса загружены как weights['node_0_0'] и weights['node_0_1'] соответственно.

Узлы второго скрытого слоя называются node_1_0 и node_1_1, их веса загружены как weights['node_1_0'] и weights['node_1_1'] соответственно.

Выходное значение модели формируется на основе узлов скрытого слоя с использованием весов, загруженных как weights['output'].

Ch1Ex10

Это упражнение является частью курса

Введение в глубокое обучение на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите node_0_0_input, используя веса weights['node_0_0'] и входные данные input_data. Затем примените функцию relu(), чтобы получить node_0_0_output.
  • Повторите те же шаги для node_0_1_input, чтобы получить node_0_1_output.
  • Вычислите node_1_0_input, используя веса weights['node_1_0'] и выходные значения первого скрытого слоя — hidden_0_outputs. Затем примените функцию relu(), чтобы получить node_1_0_output.
  • Повторите те же шаги для node_1_1_input, чтобы получить node_1_1_output.
  • Вычислите model_output, используя веса weights['output'] и массив выходных значений второго скрытого слоя hidden_1_outputs. Функцию relu() к этому значению применять не нужно.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код