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

การเปลี่ยนขนาด batch

โมเดลส่วนใหญ่จะถูกเทรนด้วย batch ที่มีขนาดคงที่ ยิ่ง batch size เล็กลง การอัปเดตค่าน้ำหนักต่อ epoch ก็ยิ่งเกิดขึ้นบ่อยขึ้น แต่แลกมาด้วย gradient descent ที่ไม่เสถียร โดยเฉพาะอย่างยิ่งหาก batch size เล็กเกินไปจนไม่สามารถเป็นตัวแทนของชุดข้อมูลเทรนได้

มาดูกันว่า batch size ที่แตกต่างกันส่งผลต่อความแม่นยำของโมเดล binary classification ง่าย ๆ ที่แยกจุดสีแดงออกจากจุดสีน้ำเงินอย่างไร

จะเริ่มด้วย batch size เท่ากับ 1 โดยอัปเดตค่าน้ำหนักทีละตัวอย่างในแต่ละ epoch จากนั้นใช้ชุดข้อมูลทั้งหมด โดยอัปเดตค่าน้ำหนักเพียงครั้งเดียวต่อ epoch

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

Deep Learning เบื้องต้นด้วย Keras

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Get a fresh new model with get_model
model = ____

# Train your model for 5 epochs with a batch size of 1
model.fit(X_train, y_train, epochs=____, ____=____)
print("\n The accuracy when using a batch of size 1 is: ",
      model.evaluate(X_test, y_test)[1])
แก้ไขและรันโค้ด