มีกฎสำหรับการเลือกขนาดของ mini-batch หรือไม่?


21

เมื่อฝึกอบรมโครงข่ายประสาทเทียมหนึ่งพารามิเตอร์ขนาดใหญ่คือขนาดของรถมินิบัส ตัวเลือกทั่วไปคือองค์ประกอบ 32, 64 และ 128 ต่อมินิแบทช์

มีกฎ / แนวทางใดบ้างที่ควรมี mini-batch ขนาดใหญ่? สิ่งพิมพ์ใดบ้างที่ตรวจสอบผลกระทบของการฝึกอบรม?


นอกเหนือจากความเหมาะสมในหน่วยความจำ?
Ehsan M. Kermani

ใช่. ตัวอย่างเช่นมีสิ่งพิมพ์ใดบ้างที่ระบุว่า "ยิ่งแบทช์มีขนาดใหญ่ขึ้นจะดีกว่า" (ตราบใดที่มันพอดีกับหน่วยความจำ)
Martin Thoma

@ EhsanM.Kermani ฉันคิดว่ามันเป็นเรื่องสำคัญ ฉันทำงานสองสามครั้งใน CIFAR-100 และฉันได้รับผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับขนาดของชุดงาน (ด้วยการหยุดทำงานชั่วคราวเพื่อหวังว่าการบรรจุมากเกินไปจะไม่เป็นปัญหา)
Martin Thoma

3
ใหญ่กว่าคำนวณได้เร็วขึ้น (มีประสิทธิภาพ), ขนาดเล็กลงมาบรรจบกันเร็วขึ้น cf เลย การฝึกอบรม Mini-batch ที่มีประสิทธิภาพสำหรับการเพิ่มประสิทธิภาพ Stochasticและการศึกษา RNNนี้ มีจุดหวานที่คุณพบสังเกตุสำหรับปัญหาของคุณ
เอ็ม

2
กระดาษที่ชาญฉลาดที่สุดนี้โดย Blei et al เพิ่งออกมา: Stochastic Gradient Descent เป็นการประมาณ Bayesian Inference
Emre

คำตอบ:


22

ในการฝึกอบรมชุดใหญ่สำหรับการเรียนรู้ลึก: Generalization Gap และ Sharp Minimaมีข้อความสองสามข้อความที่ขัดกัน:

มันถูกตั้งข้อสังเกตในทางปฏิบัติว่าเมื่อใช้ชุดที่มีขนาดใหญ่กว่านั้นคุณภาพของแบบจำลองจะลดลงตามที่วัดได้จากความสามารถในการสรุป [... ]

วิธีการแบบกลุ่มขนาดใหญ่มีแนวโน้มที่จะมาบรรจบกับฟังก์ชั่นการฝึกอบรมและการทดสอบขนาดเล็กที่สุดซึ่งเป็นที่ทราบกันดีว่าการลดขนาดลงอย่างรวดเร็วนำไปสู่การวางนัยทั่วไปที่ไม่ดี n ในทางตรงกันข้ามวิธีการชุดเล็ก ๆ จะรวมกันเป็น minimizer แบบแบน ๆ อย่างต่อเนื่องและการทดลองของเราสนับสนุนมุมมองที่ถือกันโดยทั่วไปว่าเกิดจากสัญญาณรบกวนโดยธรรมชาติในการประมาณการไล่ระดับสี

จากวิทยานิพนธ์ปริญญาโทของฉัน : ดังนั้นการเลือกอิทธิพลขนาดเล็กชุด:

  • เวลาฝึกอบรมจนกระทั่งการบรรจบกัน : ดูเหมือนจะเป็นจุดที่น่าสนใจ หากขนาดแบทช์มีขนาดเล็กมาก (เช่น 8) คราวนี้จะสูงขึ้น หากขนาดแบทช์มีขนาดใหญ่ก็จะสูงกว่าขั้นต่ำเช่นกัน
  • เวลาการฝึกอบรมต่อยุค : ใหญ่กว่าคำนวณได้เร็วขึ้น (มีประสิทธิภาพ)
  • ผลลัพธ์ของรูปแบบคุณภาพ : ยิ่งต่ำยิ่งดีขึ้นเนื่องจากการวางหลักเกณฑ์ทั่วไปที่ดีขึ้น (?)

สิ่งสำคัญคือให้สังเกตการโต้ตอบของพารามิเตอร์หลายมิติ : ขนาดของแบตช์อาจโต้ตอบกับพารามิเตอร์ไฮเปอร์อื่น ๆ ซึ่งเป็นอัตราการเรียนรู้ที่สะดุดตาที่สุด ในการทดลองบางอย่างการมีปฏิสัมพันธ์นี้อาจทำให้ยากที่จะแยกผลกระทบของขนาดแบทช์เพียงอย่างเดียวกับคุณภาพของแบบจำลอง การมีปฏิสัมพันธ์ที่แข็งแกร่งอีกประการหนึ่งคือการหยุดก่อนกำหนดเพื่อทำให้เป็นมาตรฐาน

ดูสิ่งนี้ด้วย


@NeilSlater คุณต้องการเพิ่มความคิดเห็นของคุณในคำตอบของฉัน (ตอนนี้ชุมชน wiki)?
Martin Thoma

ฉันชอบคำตอบเหมือนคนทั่วไป นอกจากนี้ฉันอยากจะขอบคุณที่จะมีจำนวนเกี่ยวกับสิ่งที่มีขนาดเล็กมาก , ขนาดใหญ่และขนาดเล็กชุดในตัวอย่างที่เฉพาะเจาะจง
ดังนั้น

@SoS mini-batch เป็นเพียงคำศัพท์ "มินิ" ไม่ได้อ้างถึงขนาดที่เฉพาะเจาะจง แต่มันหมายถึงว่ามีตัวอย่างมากกว่า 1 ตัวอย่างและน้อยกว่าชุดการฝึกอบรมทั้งหมด ฉันคิดว่า "เล็กมาก" <<8 (ฉันเพิ่งแก้ไขคำตอบ) ฉันยังวัดการเพิ่มขึ้นอย่างมาก (มากกว่า 5x5 เท่า) ในการฝึกอบรมนาฬิกาแขวนสำหรับสิ่งนี้ ปกติเป็นอย่าง 64 หรือ 128 ฉันไม่แน่ใจว่า "ใหญ่" คืออะไร; ฉันคิดว่าสิ่งนี้อาจขึ้นอยู่กับฮาร์ดแวร์
Martin Thoma

คำตอบนี้ถามคำถามมากกว่าคำตอบ จุดหวานนี้อยู่ที่ไหน (บางทีกราฟจะช่วยได้) มันโต้ตอบกับอัตราการเรียนรู้และการหยุดเร็วอย่างไร
xjcl

คำตอบขึ้นอยู่กับเครือข่ายและชุดข้อมูล ดังนั้นจึงไม่สมเหตุสมผลที่จะให้ตัวเลขที่เฉพาะเจาะจงและด้วยเหตุนี้กราฟจึงไม่สามารถช่วยได้ เกี่ยวกับการมีปฏิสัมพันธ์กับพารามิเตอร์อื่น ๆ : ฉันไม่รู้อย่างแน่นอน ลองใช้และเผยแพร่ผลลัพธ์ของคุณ :-)
Martin Thoma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.