開始使用免費開始

多層神經網路

在這個練習中,你將撰寫程式碼,為一個包含 2 個隱藏層的神經網路執行前向傳播。每個隱藏層都有兩個節點。輸入資料已預先載入為 input_data。第一個隱藏層的節點分別是 node_0_0node_0_1,其權重已預先載入為 weights['node_0_0']weights['node_0_1']

第二個隱藏層的節點為 node_1_0node_1_1,其權重已預先載入為 weights['node_1_0']weights['node_1_1']

接著,使用已預先載入為 weights['output'] 的權重,將隱藏層的節點組合成模型輸出。

Ch1Ex10

本練習屬於課程

Python 深度學習入門

檢視課程

練習說明

  • 使用 weights['node_0_0'] 與給定的 input_data 計算 node_0_0_input。然後套用 relu() 函式得到 node_0_0_output
  • 以相同方式計算 node_0_1_input 並得到 node_0_1_output
  • 使用 weights['node_1_0'] 以及第一個隱藏層的輸出 hidden_0_outputs 計算 node_1_0_input。然後套用 relu() 函式得到 node_1_0_output
  • 以相同方式計算 node_1_1_input 並得到 node_1_1_output
  • 使用 weights['output'] 與第二個隱藏層的輸出陣列 hidden_1_outputs 計算 model_output。此輸出不要套用 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)
編輯並執行程式碼