ทำไมอัลกอริธึม“ Saddle-Free Newton” ที่ไม่ได้นำมาใช้ในทางปฏิบัติ?


13

เมื่อเร็ว ๆ นี้ฉันได้อ่านบทความโดย Yann Dauphin และคณะ การระบุและโจมตีปัญหาจุดอานในการเพิ่มประสิทธิภาพแบบ non-convex ในระดับสูงซึ่งพวกเขาแนะนำอัลกอริธึมที่น่าสนใจที่เรียกว่าSaddle-Free Newtonซึ่งดูเหมือนว่าจะเหมาะสำหรับการเพิ่มประสิทธิภาพเครือข่ายประสาทและไม่ควรติดอยู่ที่จุดอาน ชอบวิธีการสั่งซื้อครั้งแรกเช่นวานิลลา SGD

กระดาษวันที่กลับไปในปี 2014 ดังนั้นจึงไม่มีอะไรใหม่ แต่ฉันไม่ได้เห็นมันถูกใช้ "ในป่า" ทำไมไม่ใช้วิธีนี้? การคำนวณแบบ Hessian เป็นข้อห้ามเกินไปสำหรับปัญหา / เครือข่ายขนาดจริงหรือไม่? มีการใช้โอเพ่นซอร์สของอัลกอริทึมนี้หรือไม่และอาจใช้กับกรอบการเรียนรู้ที่สำคัญบางส่วนได้หรือไม่?

อัปเดต ก.พ. 2019:มีการติดตั้งใช้งานแล้ว: https://github.com/dave-fernandes/SaddleFreeOptimizer )


เป็นคำถามที่ดีฉันไม่พบอะไรเลย อย่างไรก็ตามรหัสเทียมนั้นง่ายมากดังนั้นคุณสามารถลองด้วยตัวเองได้ซึ่งในกรณีนี้จะมีรายละเอียดการใช้งานที่เป็นประโยชน์ในวิทยานิพนธ์ปริญญาเอกของผู้เขียน (หน้า 103, papyrus.bib.umontreal.ca/xmlui/bitstream/handle) / 1866/13710 / … )
1866/13710

1
ฉันพบการอ้างอิงถึงบทความเดียวกันนี้ในโพสต์บล็อก Uber Deep-Neuroevolution ลิงค์: eng.uber.com/deep-neuroevolutionคุณอาจถามผู้เขียนว่าพวกเขามีการติดตั้งออนไลน์ / แบ่งปันผ่าน GitHub หรือไม่
Cantren

นี่คือการดำเนินการสำหรับ TensorFlow: github.com/dave-fernandes/SaddleFreeOptimizer
Dave F

ถ้าฉันต้องเดาสมมุติฐานของฉันก็คือการคำนวณ + การยกเลิก Hessian นั้นทำไม่ได้เมื่อแบบจำลองของคุณมีพารามิเตอร์หลายล้านตัว
Sycorax พูดว่า Reinstate Monica เมื่อ

1
คุณสามารถปรับแต่งคำถามของคุณจาก "มีการใช้งาน" ได้หรือไม่? ดูเหมือนว่าจะจ่ายใช่ / ไม่ใช่คำตอบ & / หรือเสียงเหมือนคำขอซอฟต์แวร์ (ซึ่งอยู่นอกหัวข้อที่นี่) คำถามของคุณจะได้รับการอธิบายอย่างละเอียดว่า 'ปัญหาอะไรอธิบายได้ว่าทำไมไม่มีการใช้งานมากขึ้น'
gung - Reinstate Monica

คำตอบ:


2

การเพิ่มประสิทธิภาพที่ดีขึ้นไม่ได้แปลว่าเป็นโมเดลที่ดีกว่า ในที่สุดสิ่งที่เราใส่ใจคือตัวแบบทั่วไปดีเพียงใดและไม่จำเป็นว่าประสิทธิภาพในชุดฝึกอบรมจะเป็นอย่างไร เทคนิคการเพิ่มประสิทธิภาพที่นักเล่นมักจะทำได้ดีกว่าและเข้าหากันเร็วขึ้นในชุดฝึกอบรม ตัวอย่างเช่นกระดาษนี้แสดงให้เห็นว่า SGD สามารถพูดคุยได้ดีกว่าเครื่องมือเพิ่มประสิทธิภาพ ADAM นี่อาจเป็นกรณีที่มีอัลกอริธึมการเพิ่มประสิทธิภาพลำดับที่สอง


[แก้ไข] ลบจุดแรกเนื่องจากไม่ได้ใช้ที่นี่ ขอบคุณ bayerj ที่ชี้เรื่องนี้ออกมา


1
ในขณะที่ฉันเห็นด้วยกับจุดที่สองจุดแรกไม่ถูกต้องที่นี่ ผู้เขียนเสนอให้ทำการเพิ่มประสิทธิภาพเฉพาะในพื้นที่ย่อย Krylov ซึ่งไม่ต้องการความซับซ้อนเป็นกำลังสอง
bayerj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.