Багатошарові нейронні мережі
У цій вправі ви напишете код для прямого поширення (forward propagation) у нейронній мережі з 2 прихованими шарами. Кожен прихований шар має по два вузли. Вхідні дані попередньо завантажено як 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'].

Ця вправа є частиною курсу
Вступ до Deep Learning у 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)