ПочатиПочніть безкоштовно

Багатошарові нейронні мережі

У цій вправі ви напишете код для прямого поширення (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'].

Ch1Ex10

Ця вправа є частиною курсу

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