เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

โครงข่ายประสาทเทียมหลายชั้น

ในแบบฝึกหัดนี้ จะได้เขียนโค้ดเพื่อทำ 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']

Ch1Ex10

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Deep Learning in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

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