Многослойные нейронные сети
В этом упражнении вы напишете код для прямого распространения в нейронной сети с двумя скрытыми слоями. В каждом скрытом слое по два узла. Входные данные уже загружены как 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'].

Это упражнение является частью курса
Введение в глубокое обучение на 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)