ฉันใช้โครงข่ายประสาทเทียมมาระยะหนึ่งแล้ว อย่างไรก็ตามสิ่งหนึ่งที่ฉันต่อสู้อย่างต่อเนื่องคือการเลือกเครื่องมือเพิ่มประสิทธิภาพสำหรับการฝึกอบรมเครือข่าย (โดยใช้ backprop) สิ่งที่ฉันมักจะทำคือเริ่มต้นด้วยหนึ่ง (เช่นมาตรฐาน SGD) จากนั้นลองคนอื่น ๆ แบบสุ่มมากทีเดียว ฉันสงสัยว่ามีวิธีที่ดีกว่า (และสุ่มน้อยกว่า) ในการค้นหาเครื่องมือเพิ่มประสิทธิภาพที่ดีเช่นจากรายการนี้:
- SGD (มีหรือไม่มีโมเมนตัม)
- AdaDelta
- AdaGrad
- RMSProp
- อาดัม
โดยเฉพาะอย่างยิ่งฉันสนใจว่ามีเหตุผลทางทฤษฎีบางอย่างสำหรับการเลือกมากกว่าหนึ่งเนื่องจากข้อมูลการฝึกอบรมมีคุณสมบัติบางอย่างเช่นมันเบาบาง ฉันจะจินตนาการว่าเครื่องมือเพิ่มประสิทธิภาพบางอย่างทำงานได้ดีกว่าโดเมนอื่น ๆ เช่นเมื่อฝึกอบรมเครือข่าย convolutional เทียบกับเครือข่าย feed-forward หรือการจัดหมวดหมู่เทียบกับการถดถอย
หากคุณคนใดพัฒนากลยุทธ์และ / หรือสัญชาตญาณว่าคุณจะเลือกเครื่องมือเพิ่มประสิทธิภาพได้อย่างไรฉันจะสนใจเป็นอย่างมาก นอกจากนี้หากมีงานที่ให้เหตุผลทางทฤษฎีในการเลือกงานหนึ่งงานนั่นจะดียิ่งขึ้น