โครงข่ายประสาทเทียมหลายชั้น
ในแบบฝึกหัดนี้ จะได้เขียนโค้ดเพื่อทำ forward propagation สำหรับโครงข่ายประสาทเทียมที่มี hidden layer 2 ชั้น แต่ละชั้นมี 2 โหนด ข้อมูล input ถูกโหลดไว้แล้วในชื่อ input_data โหนดใน hidden layer แรกชื่อ node_0_0 และ node_0_1 โดยมี weights โหลดไว้เป็น weights['node_0_0'] และ weights['node_0_1'] ตามลำดับ
โหนดใน hidden layer ที่สองชื่อ node_1_0 และ node_1_1 โดยมี weights โหลดไว้เป็น weights['node_1_0'] และ weights['node_1_1'] ตามลำดับ
จากนั้นจะสร้าง model output จากโหนดใน hidden layer โดยใช้ weights ที่โหลดไว้เป็น weights['output']

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Deep Learning in Python
คำแนะนำการฝึกหัด
- คำนวณ
node_0_0_inputโดยใช้ weightsweights['node_0_0']และinput_dataที่กำหนด จากนั้นใช้ฟังก์ชันrelu()เพื่อให้ได้node_0_0_output - ทำขั้นตอนเดียวกันสำหรับ
node_0_1_inputเพื่อให้ได้node_0_1_output - คำนวณ
node_1_0_inputโดยใช้ weightsweights['node_1_0']และค่า output จาก hidden layer แรก ซึ่งก็คือhidden_0_outputsจากนั้นใช้ฟังก์ชันrelu()เพื่อให้ได้node_1_0_output - ทำขั้นตอนเดียวกันสำหรับ
node_1_1_inputเพื่อให้ได้node_1_1_output - คำนวณ
model_outputโดยใช้ weightsweights['output']และค่า output จาก hidden layer ที่สองในอาร์เรย์hidden_1_outputsโดยไม่ต้องใช้ฟังก์ชันrelu()กับ output นี้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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)