多層神經網路
在這個練習中,你將撰寫程式碼,為一個包含 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'] 的權重,將隱藏層的節點組合成模型輸出。

本練習屬於課程
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)