กระดาษอดัมบอกว่า "... ฟังก์ชั่นวัตถุประสงค์หลายอย่างประกอบด้วยผลรวมของฟังก์ชั่นย่อยที่ประเมินที่ส่วนย่อยของข้อมูลต่าง ๆ ในกรณีนี้การเพิ่มประสิทธิภาพสามารถทำได้อย่างมีประสิทธิภาพมากขึ้นโดยทำตามขั้นตอนการไล่ระดับสี หมายความว่าฟังก์ชั่นวัตถุประสงค์คือผลรวมของข้อผิดพลาดเหนือตัวอย่างการฝึกอบรมและการฝึกอบรมสามารถทำได้ในแต่ละตัวอย่างหรือรถมินิบัส สิ่งนี้เหมือนกับในการไล่ระดับสีแบบสุ่ม (SGD) ซึ่งมีประสิทธิภาพมากขึ้นสำหรับปัญหาขนาดใหญ่กว่าการฝึกอบรมแบบแบทช์เนื่องจากการปรับปรุงพารามิเตอร์บ่อยกว่า
สำหรับสาเหตุที่อดัมทำงานนั้นใช้เทคนิคเล็กน้อย
หนึ่งในเทคนิคเหล่านี้คือโมเมนตัมซึ่งสามารถให้การลู่เข้าที่เร็วขึ้น ลองนึกภาพฟังก์ชั่นวัตถุประสงค์ที่มีรูปร่างเหมือนหุบเขาแคบ ๆ ยาว ๆ สมมติว่าเราต้องการย่อขนาดฟังก์ชั่นนี้โดยใช้การไล่ระดับสี หากเราเริ่มต้นจากจุดหนึ่งบนผนังหุบเขาการไล่ระดับสีเชิงลบจะชี้ไปในทิศทางของการลงทางลาดชันซึ่งส่วนใหญ่ไปทางพื้นหุบเขา นี่เป็นเพราะกำแพงของหุบเขานั้นชันกว่าทางลาดชันของหุบเขาไปเรื่อย ๆ หากอัตราการเรียนรู้ (เช่นขนาดขั้นตอน) มีขนาดเล็กเราสามารถลงมาที่พื้นแคนยอน แต่ความคืบหน้าจะช้า เราสามารถเพิ่มอัตราการเรียนรู้ แต่สิ่งนี้จะไม่เปลี่ยนทิศทางของขั้นตอน ในกรณีนี้เราจะขุดพื้นของหุบเขาและจบลงบนผนังฝั่งตรงข้าม จากนั้นเราจะทำซ้ำรูปแบบนี้โดยการแกว่งจากผนังหนึ่งไปอีกด้านหนึ่งในขณะที่ความคืบหน้าช้าไปสู่ระดับต่ำสุด โมเมนตัมสามารถช่วยในสถานการณ์นี้
โมเมนตัมก็หมายความว่าเพียงเล็กน้อยบางส่วนของการปรับปรุงก่อนหน้านี้จะถูกเพิ่มในการปรับปรุงปัจจุบันเพื่อให้การปรับปรุงซ้ำในทิศทางที่เฉพาะเจาะจง; เราสร้างแรงผลักดันเคลื่อนที่เร็วขึ้นและเร็วขึ้นในทิศทางนั้น ในกรณีของแคนยอนเราจะสร้างแรงผลักดันในทิศทางที่น้อยที่สุดเนื่องจากการอัปเดตทั้งหมดมีองค์ประกอบในทิศทางนั้น ในทางกลับกันการเคลื่อนที่ไปมาข้ามกำแพงแคนยอนเกี่ยวข้องกับทิศทางการย้อนกลับอย่างต่อเนื่องดังนั้นโมเมนตัมจะช่วยลดความผันผวนของทิศทางเหล่านั้น
เคล็ดลับอีกอย่างที่อดัมใช้คือการเลือกอัตราการเรียนรู้แยกต่างหากสำหรับแต่ละพารามิเตอร์ พารามิเตอร์ที่โดยปกติแล้วจะได้รับการอัพเดตที่น้อยกว่าหรือน้อยกว่าจะได้รับการอัพเดตที่ใหญ่กว่ากับอดัม (การย้อนกลับก็เป็นจริงเช่นกัน) ความเร็วในการเรียนรู้ในกรณีที่อัตราการเรียนรู้ที่เหมาะสมแตกต่างกันไปตามพารามิเตอร์ ตัวอย่างเช่นในเครือข่ายที่ลึกการไล่ระดับสีอาจมีขนาดเล็กในชั้นแรก ๆ และเหมาะสมที่จะเพิ่มอัตราการเรียนรู้สำหรับพารามิเตอร์ที่เกี่ยวข้อง ข้อดีอีกอย่างของวิธีนี้คือเนื่องจากอัตราการเรียนรู้ถูกปรับโดยอัตโนมัติการปรับด้วยตนเองจะมีความสำคัญน้อย มาตรฐาน SGD ต้องการการปรับอัตราการเรียนรู้อย่างระมัดระวัง (และอาจเป็นการปรับออนไลน์) แต่สิ่งนี้น้อยจริงกับอดัมและวิธีการที่เกี่ยวข้อง ยังจำเป็นต้องเลือกพารามิเตอร์หลายมิติ
วิธีการที่เกี่ยวข้อง :
โมเมนตัมมักจะใช้กับมาตรฐาน SGD รุ่นปรับปรุงที่เรียกว่าโมเมนตัม Nesterov หรือการไล่ระดับสีเร่ง Nesterov วิธีอื่น ๆ ที่ใช้อัตราการเรียนรู้ที่ปรับโดยอัตโนมัติสำหรับแต่ละพารามิเตอร์ ได้แก่ : Adagrad, RMSprop และ Adadelta RMSprop และ Adadelta แก้ปัญหาด้วย Adagrad ที่อาจทำให้การเรียนรู้หยุดลง อาดัมคล้ายกับ RMSprop พร้อมโมเมนตัม Nadam ดัดแปลงอดัมให้ใช้โมเมนตัม Nesterov แทนโมเมนตัมแบบดั้งเดิม
การอ้างอิง :
Kingma และบริติชแอร์เวย์ (2014) อดัม: วิธีสำหรับการเพิ่มประสิทธิภาพสุ่ม
Goodfellow และคณะ (2016) การเรียนรู้อย่างลึกซึ้งบทที่ 8
สไลด์จากสนามของเจฟฟ์ฮินตัน
Dozat (2016) การรวม Nesterov Momentum เข้ากับอดัม