ดังที่คำแนะนำอื่น ๆ แนะนำให้ใช้เหตุผลหลักคือ SGD เพื่อลดต้นทุนการคำนวณของการไล่ระดับสีในขณะที่ยังคงรักษาทิศทางการไล่ระดับสีโดยเฉลี่ยเมื่อใช้ค่าเฉลี่ยสำหรับชุดมินิหรือตัวอย่างจำนวนมาก
- งานทำไม minibatch
คณิตศาสตร์ที่อยู่เบื้องหลังสิ่งนี้คือการไล่ระดับสีของ "จริง" ของฟังก์ชันต้นทุน (การไล่ระดับสีสำหรับข้อผิดพลาดทั่วไปหรือชุดตัวอย่างที่มีขนาดใหญ่มาก) คือความคาดหวังของการไล่ระดับสีเหนือการกระจายข้อมูลที่สร้างจริง ; การไล่ระดับสีที่เกิดขึ้นจริงคำนวณมากกว่าชุดของกลุ่มตัวอย่างอยู่เสมอประมาณเพื่อการไล่ระดับสีจริงกับการกระจายข้อมูลเชิงประจักษ์{}
P d เสื้อกรัม= E P d เสื้อ ( ∂ J ( θ )pdatap^dataSE(กรัม (n))
g=Epdata(∂J(θ)∂θ)
การไล่ระดับสีแบบแบทช์สามารถทำให้การไล่ระดับสี "ดีที่สุด" ที่เป็นไปได้เกิดขึ้นจากตัวอย่างข้อมูลของคุณทั้งหมดซึ่งไม่ใช่การไล่ระดับสี "จริง" ชุดที่มีขนาดเล็กกว่า (ชุดเล็ก) อาจไม่เหมาะสมที่สุดสำหรับชุดเต็ม แต่ทั้งคู่เป็นค่าประมาณ - ดังนั้นจึงเป็นชุดตัวอย่างขนาดเล็ก (SGD) ความแตกต่างระหว่างข้อผิดพลาดมาตรฐานของพวกเขานั้นแปรผกผันกับขนาดของมินิบัส นั่นคือ
มอีพี dเสื้อ(กรัม(M))=E P dเสื้อ(∂J(θ)SE(g^(n))SE(g^(m))=mn−−−√
คือการลดข้อผิดพลาดมาตรฐานคือรากที่สองของการเพิ่มขนาดตัวอย่าง สมการข้างต้นนั้นใช้สำหรับการไล่ระดับสีที่คำนวณในขั้นตอนเดียวของการไล่ระดับสีของมินิบัสช์ เมื่อคุณทำซ้ำขั้นตอนของการปรับปรุงการไล่ระดับสีของมินิบัสช์และใช้ตัวอย่างการฝึกอบรมทั้งหมดในที่สุดในยุคเดียวคุณกำลังคำนวณค่าเฉลี่ยของการไล่ระดับสีตามตัวอย่างที่กำหนดทั้งหมด นั่นคือสำหรับขนาด minibatch ,
จากสมการข้างบนเราสามารถสรุปได้ว่าด้วยยุคหนึ่งการไล่ระดับสีเฉลี่ยของคุณกับมินิบัสหลายขนาด
mม.Ep^data(g^(m))=Ep^data(∂J(θ)∂θ)
m (จากหนึ่งไปยังชุดเต็ม) มีข้อผิดพลาดมาตรฐานเดียวกันและที่สำคัญพวกเขาทั้งหมดมีความภักดีต่อการไล่ระดับสี "จริง" เช่นย้ายไปทิศทางที่ถูกต้องของการไล่ระดับสี "จริง"
- ทำไม minibatch อาจทำงานได้ดี
ประการแรก minibatch ทำให้ปัญหาการเรียนรู้บางอย่างจากเทคนิคที่ไม่สามารถแก้ไขได้ที่จะแก้ไขได้เนื่องจากความต้องการการคำนวณลดลงด้วยขนาดแบทช์ที่เล็กลง
ประการที่สองการลดขนาดแบทช์ไม่ได้หมายความว่าความแม่นยำในการไล่ระดับสีลดลง ตัวอย่างการฝึกอบรมจำนวนมากมีสัญญาณรบกวนหรือค่าผิดปกติหรืออคติมากมาย ชุดมินิบัสตัวอย่างแบบสุ่มอาจสะท้อนถึงการกระจายการสร้างข้อมูลที่แท้จริงได้ดีกว่า (หรือไม่แย่กว่า) เต็มแบตช์ดั้งเดิม หากการวนซ้ำของการปรับปรุงการไล่ระดับสีของมินิแทชให้การประเมินที่ดีขึ้นผลการเฉลี่ยโดยรวมของยุคหนึ่งอาจดีกว่าการไล่ระดับสีที่คำนวณจากชุดเต็ม
ประการที่สามรถมินิบัสไม่เพียง แต่ช่วยจัดการกับตัวอย่างข้อมูลที่ไม่พึงประสงค์เท่านั้น แต่ยังช่วยจัดการกับฟังก์ชั่นค่าใช้จ่ายที่ไม่พึงประสงค์ซึ่งมีขนาดเล็กที่สุดในท้องถิ่น ในขณะที่ Jason_L_Bens กล่าวถึงบางครั้งข้อผิดพลาดอาจจะง่ายกว่าในการดักจับการไล่ระดับสีปกติใน minima ท้องถิ่นในขณะที่ยากต่อการดักการไล่ระดับสีแบบสุ่มชั่วคราวที่คำนวณด้วย minibatch
ในที่สุดเมื่อมีการไล่ระดับสีลงคุณจะไม่ถึงจุดต่ำสุดระดับโลกในขั้นตอนเดียว การไล่ระดับสีส่วนใหญ่ช่วยให้คุณมีทิศทางที่จะวนซ้ำเท่านั้น ด้วย minibatch คุณสามารถทำซ้ำได้เร็วขึ้นมาก ในหลาย ๆ กรณียิ่งมีการวนซ้ำมากเท่าไหร่คุณก็ยิ่งเข้าถึงได้มากขึ้นเท่านั้น คุณไม่ได้สนใจทุกสภาพอากาศจุดที่ดีที่สุดทั่วโลกหรือในพื้นที่ คุณเพียงแค่ต้องการเข้าถึงโมเดลที่เหมาะสมซึ่งจะทำให้เกิดข้อผิดพลาดการยอมรับโดยทั่วไป มินิแบตช์ทำให้ง่ายขึ้น
คุณอาจพบว่าหนังสือ "การเรียนรู้ลึก" โดย Ian Goodfellow และคณะมีการถกเถียงที่ดีในหัวข้อนี้ถ้าคุณอ่านอย่างละเอียด