XYZNOT

งานวิจัย · arXiv 1412.6980

Adam: วิธีการสำหรับการหาค่าเหมาะที่สุดแบบเฟ้นสุ่ม

Adam: A Method for Stochastic Optimization

เผยแพร่ cs.LG arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 Stochastic gradient descent มักประสบปัญหาเมื่อเจอกับเกรเดียนต์ที่มีสัญญาณรบกวน ฟังก์ชันเป้าหมายที่ไม่คงที่ และความโค้งที่มีภาวะปรับสภาพไม่ดี (ill-conditioned curvature) ในแต่ละพารามิเตอร์
  2. 🔧 คำนวณอัตราการเรียนรู้แบบปรับตัวเฉพาะสำหรับแต่ละพารามิเตอร์ โดยใช้ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักลดทอนเอกซ์โพเนนเชียลของเกรเดียนต์ในอดีตและเกรเดียนต์ยกกำลังสอง พร้อมการแก้ความเอนเอียงจากการกำหนดค่าเริ่มต้นที่สำคัญยิ่ง
  3. 📈 พิสูจน์ขอบเขตความเสียใจระดับ สำหรับการตั้งค่าแบบคอนเวกซ์ออนไลน์ และมีประสิทธิภาพเหนือกว่า SGD with momentum, AdaGrad และ RMSProp ในชุดทดสอบมาตรฐานการเรียนรู้เชิงลึกต่างๆ

บทคัดย่อ

เราขอนำเสนอ Adam ซึ่งเป็นขั้นตอนวิธีสำหรับการหาค่าเหมาะที่สุดโดยใช้เกรเดียนต์อันดับหนึ่งของฟังก์ชันเป้าหมายแบบเฟ้นสุ่ม (stochastic objective functions) โดยอิงจากการประมาณค่าโมเมนต์อันดับต่ำแบบปรับตัวได้ วิธีการนี้ง่ายต่อการนำไปใช้งาน มีประสิทธิภาพเชิงการคำนวณ ใช้หน่วยความจำน้อย ไม่แปรผันตามการปรับขนาดเกรเดียนต์ในแนวทแยง (diagonal rescaling) และเหมาะสมอย่างยิ่งสำหรับโจทย์ปัญหาที่มีขนาดใหญ่ทั้งในแง่ของข้อมูลและ/หรือพารามิเตอร์ นอกจากนี้ยังเหมาะสำหรับฟังก์ชันเป้าหมายที่ไม่คงที่ (non-stationary) รวมถึงปัญหาที่มีสัญญาณรบกวนสูงและ/หรือเกรเดียนต์ที่มีความเบาบาง (sparse gradients) ไฮเปอร์พารามิเตอร์มีความหมายที่เข้าใจได้ง่ายและโดยทั่วไปแทบไม่ต้องปรับแต่ง เราได้อภิปรายถึงความเชื่อมโยงกับขั้นตอนวิธีที่เกี่ยวข้องซึ่งเป็นแรงบันดาลใจให้กับ Adam นอกจากนี้ เรายังได้วิเคราะห์คุณสมบัติการลู่เข้าทางทฤษฎีของอัลกอริทึม และให้ขอบเขตความเสียใจ (regret bound) ของอัตราการลู่เข้าที่เทียบเคียงได้กับผลลัพธ์ที่ดีที่สุดภายใต้กรอบการหาค่าเหมาะที่สุดแบบคอนเวกซ์ออนไลน์ (online convex optimization) ผลการทดลองเชิงประจักษ์แสดงให้เห็นว่า Adam ทำงานได้ดีในทางปฏิบัติและให้ผลลัพธ์ที่เหนือกว่าวิธีการหาค่าเหมาะที่สุดแบบเฟ้นสุ่มอื่นๆ ท้ายที่สุด เราได้กล่าวถึง AdaMax ซึ่งเป็นตัวแปรเสริมของ Adam ที่พัฒนาขึ้นบนฐานของนอร์มอนันต์ (infinity norm)

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments. The method is straightforward to implement, is computationally efficient, has little memory requirements, is invariant to diagonal rescaling of the gradients, and is well suited for problems that are large in terms of data and/or parameters. The method is also appropriate for non-stationary objectives and problems with very noisy and/or sparse gradients. The hyper-parameters have intuitive interpretations and typically require little tuning. Some connections to related algorithms, on which Adam was inspired, are discussed. We also analyze the theoretical convergence properties of the algorithm and provide a regret bound on the convergence rate that is comparable to the best known results under the online convex optimization framework. Empirical results demonstrate that Adam works well in practice and compares favorably to other stochastic optimization methods. Finally, we discuss AdaMax, a variant of Adam based on the infinity norm.

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

การหาค่าเหมาะที่สุดอันดับหนึ่งแบบเฟ้นสุ่ม (Stochastic first-order optimization) ถือเป็นหัวใจหลักของการเรียนรู้ของเครื่องในยุคปัจจุบัน อย่างไรก็ตาม Stochastic Gradient Descent (SGD) แบบมาตรฐานจะใช้ขนาดก้าวคงที่เท่ากันทุกพิกัด ทำให้ไวต่อการปรับขนาดเกรเดียนต์, ความโค้งที่ปรับสภาพไม่ดี และสัญญาณรบกวน แม้ว่า AdaGrad จะปรับขนาดก้าวของแต่ละพิกัดโดยใช้เกรเดียนต์ยกกำลังสองในอดีต แต่อัตราการเรียนรู้กลับลดลงอย่างรวดเร็วจนเข้าใกล้ศูนย์ในโครงข่ายเชิงลึก ด้าน RMSProp และ AdaDelta ได้แก้ไขการลดลงนี้ด้วยการใช้ค่าเฉลี่ยเคลื่อนที่แบบเอกซ์โพเนนเชียล แต่ RMSProp ยังขาดการรับประกันทางทฤษฎีในสภาวะที่ไม่คงที่ และทั้งสองวิธีไม่ได้คำนึงถึงความเอนเอียงจากการตั้งค่าเริ่มต้น (initialization bias) เมื่อค่าเฉลี่ยเคลื่อนที่เริ่มต้นที่ศูนย์

ผู้วิจัยจึงมุ่งหวังที่จะรวมจุดเด่นของสองกระบวนทัศน์เข้าด้วยกัน ได้แก่ AdaGrad/RMSProp (การปรับตัวตามเกรเดียนต์ที่เบาบางและมีสเกลต่างกัน) และ Momentum แบบคลาสสิก (การเร่งการลู่เข้าในทิศทางที่ราบเรียบและการลดทอนสัญญาณรบกวน)

แนวคิดหลัก

  • การประมาณค่าโมเมนต์อันดับที่หนึ่งและอันดับที่สอง: Adam รักษาค่าเฉลี่ยเคลื่อนที่แบบเอกซ์โพเนนเชียลของทั้งเกรเดียนต์ (โมเมนต์ดิบอันดับแรก ) และเกรเดียนต์ยกกำลังสอง (โมเมนต์ที่สองที่ไม่ได้ปรับศูนย์ )
  • การแก้ความเอนเอียง (Bias Correction): เนื่องจาก และ ถูกกำหนดค่าเริ่มต้นเป็นเวกเตอร์ของศูนย์ ค่าเฉลี่ยเคลื่อนที่มาตรฐานจึงมีความเอนเอียงเข้าหาศูนย์ โดยเฉพาะในช่วงรอบแรกๆ หรือเมื่ออัตราการลดทอน () มีค่าใกล้ 1 Adam แก้ไขความเอนเอียงนี้ทางคณิตศาสตร์ด้วยการหารด้วย และ
  • ความไม่แปรผันตามการปรับขนาดเกรเดียนต์ (Invariant to Gradient Rescaling): ทิศทางการอัปเดตที่มีผลจริงจะถูกปรับขนาดตามอัตราส่วนสัญญาณต่อสัญญาณรบกวน โดยประมาณ ซึ่งให้การจำกัดขนาดก้าวตามธรรมชาติและไม่แปรผันตามการปรับสเกลแนวทแยงของเกรเดียนต์
  • AdaMax: การขยายการติดตามเกรเดียนต์ด้วยนอร์ม ใน ไปสู่นอร์ม ทำให้เกิด AdaMax ซึ่งเป็นตัวแปรเสริมที่มีเสถียรภาพเชิงตัวเลขและไม่ต้องใช้การแก้ความเอนเอียงสำหรับโมเมนต์ที่สอง

ระเบียบวิธี (พร้อมสมการสำคัญ)

ที่ขั้นตอนเวลา เมื่อกำหนดฟังก์ชันเป้าหมาย , เกรเดียนต์ , ขนาดก้าว , อัตราการลดทอนเอกซ์โพเนนเชียล และค่าคงที่ขนาดเล็ก :

  1. อัปเดตค่าประมาณโมเมนต์แรกที่มีความเอนเอียง:

  2. อัปเดตค่าประมาณโมเมนต์ดิบที่สองที่มีความเอนเอียง:

  3. คำนวณค่าประมาณโมเมนต์ที่แก้ความเอนเอียงแล้ว:

  4. อัปเดตพารามิเตอร์:

ไฮเปอร์พารามิเตอร์เริ่มต้นที่แนะนำในบทความคือ , , , และ

ผลการทดลอง (พร้อมตัวเลขที่สำคัญที่สุด)

  • การลู่เข้าทางทฤษฎี: ภายใต้กรอบการหาค่าเหมาะที่สุดแบบคอนเวกซ์ออนไลน์ที่มีขอบเขตของเกรเดียนต์และขอบเขตโดเมนของพารามิเตอร์ ตัว Adam บรรลุขอบเขตความเสียใจทางทฤษฎี ซึ่งคิดเป็นอัตราความเสียใจเฉลี่ยที่
  • Logistic Regression และ Multi-layer Perceptrons: ในการจำแนกประเภท MNIST ตัว Adam ลู่เข้าได้เร็วกว่า AdaGrad, RMSProp และ SGD with Nesterov momentum ในหลากหลายสถาปัตยกรรม และมีความไวต่อการเปลี่ยนแปลงไฮเปอร์พารามิเตอร์ต่ำมาก
  • Convolutional Neural Networks: จากการประเมินบน CIFAR-10 ด้วย multi-layer CNN (ที่มี dropout และ pooling) Adam สามารถลดค่า training loss ได้เร็วกว่าและได้ loss สุดท้ายที่ต่ำกว่า RMSProp และ AdaDelta

ข้อจำกัดและคำถามปลายเปิด

  • ทฤษฎีคอนเวกซ์เทียบกับนอนคอนเวกซ์: ขอบเขตความเสียใจทางทฤษฎีตั้งอยู่บนสมมติฐานของฟังก์ชันคอนเวกซ์ พฤติกรรมการลู่เข้าทางทฤษฎีบนฟังก์ชันเป้าหมายนอนคอนเวกซ์ของการเรียนรู้เชิงลึกจึงยังไม่ได้รับการรับประกันอย่างเป็นทางการ
  • ข้อบกพร่องทางทฤษฎีที่พบภายหลัง: งานวิจัยต่อมา (เช่น Reddi et al., 2018) พิสูจน์ให้เห็นว่าบทพิสูจน์การลู่เข้าของ Adam มีประเด็นที่ ไม่จำเป็นต้องเป็น positive semi-definite เสมอไป ซึ่งอาจส่งผลให้เกิดการลู่ออกเชิงประจักษ์ในบางกรณี (นำไปสู่การพัฒนาตัวแปรเสริมอย่าง AMSGrad)
  • ช่องว่างของการวางนัยทั่วไป (Generalization Gap): การศึกษาเชิงประจักษ์หลังบทความนี้ระบุว่า แม้ Adam จะเทรนได้เร็วกว่าในช่วงเริ่มต้น แต่ SGD with momentum ที่ปรับแต่งอย่างประณีตมักจะค้นพบคำตอบที่วางนัยทั่วไป (generalize) ได้ดีกว่าเล็กน้อยในงานจำแนกรูปภาพบางประเภท

คำศัพท์สำคัญ

Adam
ขั้นตอนวิธีสำหรับการหาค่าเหมาะที่สุดแบบเฟ้นสุ่มโดยใช้เกรเดียนต์อันดับหนึ่ง มีที่มาจากคำว่า 'adaptive moment estimation'
First Moment Vector
ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักลดทอนเอกซ์โพเนนเชียลของเกรเดียนต์แบบเฟ้นสุ่มในอดีต ซึ่งแสดงถึงทิศทางเฉลี่ยที่ประมาณการได้
Second Raw Moment Vector
ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักลดทอนเอกซ์โพเนนเชียลของเกรเดียนต์แบบเฟ้นสุ่มยกกำลังสองแบบทีละสมาชิกในอดีต ซึ่งติดตามความแปรปรวนที่ยังไม่ได้ปรับศูนย์
Bias Correction
การปรับขนาดค่าเฉลี่ยเคลื่อนที่ด้วย เพื่อหักล้างความเอนเอียงเข้าหาศูนย์ที่เกิดจากการกำหนดค่าเริ่มต้นในช่วงแรกของการออปติไมซ์
Signal-to-Noise Ratio (SNR)
อัตราส่วน ซึ่งจะลดขนาดก้าวในมิติที่มีความไม่แน่นอนสูง และขยายขนาดก้าวในมิติที่มีความมั่นใจสูง
AdaMax
ตัวแปรเสริมของ Adam ซึ่งขยายการประมาณค่าโมเมนต์ที่สองที่เดิมอิงตามนอร์ม ไปสู่การใช้นอร์ม
Regret Bound
เมทริกทางทฤษฎีที่วัดผลต่างระหว่างค่า loss สะสมของอัลกอริทึมกับค่า loss ของพารามิเตอร์คงที่ที่ดีที่สุดเมื่อมองย้อนหลัง

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

เหตุใดการแก้ความเอนเอียง (bias correction) จึงจำเป็นใน Adam?

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

ไฮเปอร์พารามิเตอร์เริ่มต้นที่แนะนำสำหรับ Adam คืออะไร?

ผู้วิจัยแนะนำอัตราการเรียนรู้ , อัตราการลดทอนของโมเมนต์แรก , อัตราการลดทอนของโมเมนต์ที่สอง , และค่าคงที่เพื่อเสถียรภาพเชิงตัวเลข

Adam แตกต่างจาก RMSProp อย่างไร?

RMSProp ใช้ค่าเฉลี่ยเคลื่อนที่แบบเอกซ์โพเนนเชียลของเกรเดียนต์ยกกำลังสองเพียงอย่างเดียว แต่ไม่ได้ใช้ค่าเฉลี่ยเคลื่อนที่ของโมเมนต์แรก (โมเมนตัม) และไม่มีการแก้ความเอนเอียงจากการกำหนดค่าเริ่มต้น

AdaMax คืออะไร?

AdaMax เป็นการต่อยอดการติดตามโมเมนต์ที่สองจากนอร์ม ของ Adam ไปสู่นอร์ม โดยแทนที่ผลรวมวิ่งของเกรเดียนต์ยกกำลังสองด้วยค่าสูงสุดวิ่งของเกรเดียนต์สัมบูรณ์ ซึ่งช่วยตัดความจำเป็นในการแก้ความเอนเอียงของโมเมนต์ที่สองออกไป

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI