การเปลี่ยนขนาด 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])