ชุดขนาดกำหนดจำนวนตัวอย่างที่จะแพร่กระจายผ่านเครือข่าย
ตัวอย่างเช่นสมมติว่าคุณมีตัวอย่างการฝึกอบรม 1,050 ตัวอย่างและคุณต้องการตั้งค่าbatch_size
เท่ากับ 100 อัลกอริทึมใช้ตัวอย่าง 100 ตัวอย่างแรก (จากวันที่ 1 ถึง 100) จากชุดข้อมูลการฝึกอบรมและฝึกอบรมเครือข่าย ถัดไปใช้เวลา 100 ตัวอย่างที่สอง (จาก 101 ถึง 200) และฝึกอบรมเครือข่ายอีกครั้ง เราสามารถทำตามขั้นตอนนี้ได้จนกว่าเราจะแพร่กระจายตัวอย่างทั้งหมดผ่านเครือข่าย ปัญหาอาจเกิดขึ้นกับกลุ่มตัวอย่างชุดสุดท้าย ในตัวอย่างของเราเราใช้ 1,050 ซึ่งไม่หารด้วย 100 โดยไม่มีเศษ ทางออกที่ง่ายที่สุดคือการรับ 50 ตัวอย่างสุดท้ายและฝึกอบรมเครือข่าย
ข้อดีของการใช้ขนาดแบทช์ <จำนวนตัวอย่างทั้งหมด:
มันต้องใช้หน่วยความจำน้อย เนื่องจากคุณฝึกอบรมเครือข่ายโดยใช้ตัวอย่างน้อยลงกระบวนการฝึกอบรมโดยรวมจึงต้องใช้หน่วยความจำน้อย มีความสำคัญอย่างยิ่งหากคุณไม่สามารถใส่ชุดข้อมูลทั้งหมดในหน่วยความจำของเครื่อง
โดยทั่วไปแล้วเครือข่ายจะฝึกให้เร็วขึ้นด้วย mini-batches นั่นเป็นเพราะเราอัปเดตน้ำหนักหลังจากการเผยแพร่แต่ละครั้ง ในตัวอย่างของเราเราเผยแพร่ 11 ชุด (10 ในนั้นมี 100 ตัวอย่างและ 1 มี 50 ตัวอย่าง) และหลังจากนั้นพวกเขาแต่ละคนเราได้อัปเดตพารามิเตอร์ของเครือข่ายของเรา ถ้าเราใช้ตัวอย่างทั้งหมดระหว่างการเผยแพร่เราจะทำการอัปเดตเพียง 1 รายการสำหรับพารามิเตอร์ของเครือข่าย
ข้อเสียของการใช้ขนาดแบทช์ <จำนวนตัวอย่างทั้งหมด:
- ยิ่งชุดเล็กลงเท่าไหร่ความแม่นยำของการไล่ระดับสีก็จะยิ่งน้อยลงเท่านั้น ในภาพด้านล่างคุณจะเห็นว่าทิศทางของการไล่ระดับสีแบบย่อส่วน (สีเขียว) มีความผันผวนมากขึ้นเมื่อเปรียบเทียบกับทิศทางของการไล่ระดับสีแบบเต็มชุด (สีฟ้า)
Stochastic เป็นเพียงมินิแบทช์ที่มีbatch_size
ค่าเท่ากับ 1 ในกรณีนี้การไล่ระดับสีจะเปลี่ยนทิศทางของมันบ่อยกว่าการไล่ระดับสีแบบมินิแบทช์