หลังจากหนึ่งปีครึ่งฉันกลับมาที่คำตอบของฉันเพราะคำตอบก่อนหน้าของฉันผิด
ขนาดของแบทช์ส่งผลกระทบต่อการเรียนรู้อย่างมีนัยสำคัญ เกิดอะไรขึ้นเมื่อคุณใส่แบตช์ผ่านเครือข่ายของคุณคือคุณเฉลี่ยการไล่ระดับสี แนวคิดคือถ้าขนาดแบทช์ของคุณใหญ่พอนี่จะให้การประเมินที่เสถียรเพียงพอสำหรับการไล่ระดับสีของชุดข้อมูลแบบเต็ม ด้วยการเก็บตัวอย่างจากชุดข้อมูลของคุณคุณสามารถประมาณค่าการไล่ระดับสีในขณะที่ลดค่าใช้จ่ายในการคำนวณลงอย่างมาก ยิ่งคุณลดระดับความแม่นยำของคุณก็จะยิ่งต่ำลงอย่างไรก็ตามในบางกรณีการไล่ระดับสีที่มีเสียงดังเหล่านี้สามารถช่วยให้คุณหลบหนีจากมินิมาได้ เมื่อมันต่ำเกินไปน้ำหนักของเครือข่ายของคุณก็สามารถกระโดดไปรอบ ๆ ได้หากข้อมูลของคุณมีเสียงดังและอาจไม่สามารถเรียนรู้หรือเข้ากันได้ช้ามากซึ่งจะส่งผลเสียต่อเวลาในการคำนวณทั้งหมด
ข้อดีอีกอย่างของการแบทช์คือการคำนวณ GPU, GPU นั้นดีมากในการคำนวณแบบขนานที่เกิดขึ้นในเครือข่ายประสาทถ้าส่วนหนึ่งของการคำนวณเหมือนกัน (ตัวอย่างเช่นการคูณเมทริกซ์ซ้ำซ้อนกับเมทริกซ์น้ำหนักเดียวกันของเครือข่ายของคุณ) ซึ่งหมายความว่าขนาดของชุดงานที่ 16 จะใช้เวลาน้อยกว่าสองเท่าของจำนวนชุดที่ 8
ในกรณีที่คุณต้องการขนาดแบตช์ที่ใหญ่กว่า แต่ไม่เหมาะกับ GPU ของคุณคุณสามารถป้อนแบทช์ขนาดเล็กบันทึกการไล่ระดับสีโดยประมาณและป้อนหนึ่งหรือหลายแบทช์แล้วทำการอัปเดตน้ำหนัก วิธีนี้คุณจะได้รับการไล่ระดับสีที่มีเสถียรภาพมากขึ้นเนื่องจากคุณเพิ่มขนาดชุดงานเสมือนของคุณ
คำตอบที่ไม่ถูกต้อง: [[[ไม่การ batch_size โดยเฉลี่ยเท่านั้นมีผลต่อความเร็วในการเรียนรู้ของคุณไม่ใช่คุณภาพของการเรียนรู้) batch_sizes ยังไม่จำเป็นต้องเป็นพลังของ 2 แม้ว่าฉันเข้าใจว่าแพคเกจบางอย่างอนุญาตเฉพาะพลังของ 2 คุณควรพยายามให้ batch_size ของคุณสูงสุดที่คุณสามารถที่ยังคงเหมาะกับหน่วยความจำของ GPU ของคุณเพื่อให้ได้ความเร็วสูงสุด .]]]]