Deep Learning Academy · บทเรียน

SGD พร้อมโมเมนตัม

ทำให้การอัปเดตราบรื่นเพื่อผ่านพ้นสัญญาณรบกวน

บทเรียน 1 จาก 413 ขั้นตอน

SGD พร้อมโมเมนตัม เป็นบทเรียน Deep Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Deep Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน

SGD ธรรมดาลืมทุกครั้ง

SGD แบบพื้นฐานปรับขั้นโดยใช้เฉพาะเกรเดียนต์ปัจจุบัน การอัปเดตทุกครั้งเริ่มใหม่จากศูนย์ ดังนั้นความชันที่มีสัญญาณรบกวนจึงทำให้มันแกว่งและค่อย ๆ เคลื่อนไปยังจุดต่ำสุด

ยืมแรงเฉื่อยมาบ้าง

โมเมนตัมทำให้ SGD มีความจำ โดยเก็บค่าเฉลี่ยสะสมของเกรเดียนต์ในอดีตและเคลื่อนไปตามทิศทางนั้น คล้ายลูกบอลที่ยิ่งกลิ้งลงเนินก็ยิ่งเร็วขึ้น

เวกเตอร์ความเร็ว

โมเมนตัมจะติดตาม ความเร็วที่ผสานความเร็วเดิมเข้ากับเกรเดียนต์ใหม่ จากนั้นน้ำหนักจะเคลื่อนที่ด้วยความเร็วที่ปรับให้ราบรื่นนี้ในแต่ละขั้น

v = beta * v + grad
w = w - lr * v

ปุ่มปรับ Beta

ค่าสัมประสิทธิ์โมเมนตัม beta กำหนดว่าส่วนจากขั้นก่อนหน้าจะมีผลมากเพียงใด ค่าที่ใช้กันทั่วไปคือ 0.9 ซึ่งหมายความว่าความเร็วส่วนใหญ่จะถูกส่งต่อไป

ทำให้สัญญาณรบกวนราบรื่นขึ้น

เนื่องจากโมเมนตัมหาค่าเฉลี่ยจากเกรเดียนต์หลายค่า สัญญาณรบกวนแบบสุ่มในชุดข้อมูลย่อยใดชุดข้อมูลย่อยหนึ่งจึงมักหักล้างกัน เส้นทางไปยังจุดต่ำสุดจะ ราบรื่นและมั่นคงขึ้น

กลิ้งผ่านเนินเล็ก ๆ

ความเร็วที่สะสมไว้ช่วยให้อัลกอริทึมปรับเหมาะเคลื่อนผ่านแอ่งเล็ก ๆ และช่วงราบที่อาจทำให้ SGD ธรรมดา หยุดชะงัก ลูกบอลจึงไม่หยุดที่ก้อนกรวดทุกก้อน

เปิดใช้ใน PyTorch

คุณไม่จำเป็นต้องเขียนสิ่งนี้ด้วยตนเอง เพียงส่ง momentum ให้ตัวปรับเหมาะ SGD ที่มีมาให้ แล้ว PyTorch จะติดตามความเร็วให้คุณ

opt = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)

Nesterov มองไปข้างหน้า

รูปแบบที่ละเอียดขึ้นอย่างโมเมนตัมแบบ Nesterov จะดูทิศทางที่ความเร็วกำลังมุ่งไปก่อนวัดเกรเดียนต์ จึงมักลู่เข้าได้เร็วขึ้นเล็กน้อย

opt = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9, nesterov=True)

ระวังการเลยจุด

ความเร็วที่มากเกินไปอาจพาคุณเลยก้นหุบเขา หากค่าความสูญเสียเด้งขึ้นหรือลู่ออก ให้ลด อัตราการเรียนรู้ หรือลดโมเมนตัมลงเล็กน้อย

เหตุใดจึงยังสำคัญ

แม้จะมีตัวปรับเหมาะที่ซับซ้อนมากมาย SGD ที่มีโมเมนตัมก็ยังเป็นค่าพื้นฐานที่แข็งแกร่ง และมักเหมารวมได้ดีเยี่ยมกับแบบจำลองด้านการมองเห็น

การลงที่เร็วขึ้น

ประโยชน์นี้เห็นได้จริง: โดยทั่วไปโมเมนตัมจะไปถึงจุดต่ำสุดที่ดีได้ใน ยุคการฝึกที่น้อยกว่า SGD ธรรมดา และแกว่งซ้ายขวาน้อยกว่าระหว่างทาง

ตรวจสอบอย่างรวดเร็ว

ตรวจสอบให้แน่ใจว่าคุณเข้าใจบทบาทของโมเมนตัมอย่างชัดเจน

ทบทวน

โมเมนตัมทำให้ SGD มีความเร็วที่ผสานเกรเดียนต์ในอดีต ช่วยลดสัญญาณรบกวนและเคลื่อนผ่านเนินเล็ก ๆ ตั้งค่าโมเมนตัมใกล้ 0.9 เพื่อให้ลงสู่จุดต่ำสุดได้เร็วและมั่นคงขึ้น 🏂

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “SGD พร้อมโมเมนตัม” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “SGD พร้อมโมเมนตัม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Deep Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “SGD พร้อมโมเมนตัม”

ทำให้การอัปเดตราบรื่นเพื่อผ่านพ้นสัญญาณรบกวน คุณปฏิบัติ Deep Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Deep Learning Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Deep Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “SGD พร้อมโมเมนตัม” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Deep Learning Academy นี้ได้ไหม

ได้ บทเรียน Deep Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. SGD พร้อมโมเมนตัม
  2. อธิบาย Adam และ AdamW
  3. การเสื่อมน้ำหนักกับการทำให้เป็นระเบียบแบบ L2
  4. ตารางอัตราการเรียนรู้และการวอร์มอัป
← กลับไปที่ Deep Learning Academy