มันจะถูกขังอยู่ในจุดอานได้อย่างไร?


14

ตอนนี้ฉันรู้สึกสับสนนิดหน่อยจากการที่การไล่ระดับสีมินิแบทช์สามารถติดอยู่ในจุดอานม้าได้

วิธีแก้ปัญหาอาจเล็กน้อยเกินไปที่ฉันไม่เข้าใจ

คุณได้รับตัวอย่างใหม่ทุกยุคและคำนวณข้อผิดพลาดใหม่ตามแบทช์ใหม่ดังนั้นฟังก์ชั่นค่าใช้จ่ายจะคงที่เฉพาะสำหรับแต่ละชุดซึ่งหมายความว่าการไล่ระดับสีควรเปลี่ยนสำหรับมินิแต่ละชุด .. แต่ตามนี้ควร การใช้วานิลลามีปัญหากับคะแนน saddle หรือไม่?

ความท้าทายที่สำคัญอีกประการหนึ่งของการลดฟังก์ชั่นข้อผิดพลาดแบบไม่นูนสูงที่พบได้ทั่วไปสำหรับเครือข่ายประสาทคือการหลีกเลี่ยงการติดกับดักใน minima ท้องถิ่นที่น้อยที่สุด Dauphin และคณะ [19] ยืนยันว่าความยากลำบากเกิดขึ้นจริง ๆ แล้วไม่ใช่จากท้องถิ่นน้อยที่สุด แต่มาจากจุดอานคือจุดที่มิติหนึ่งลาดขึ้นและลาดลงอีก จุดอานเหล่านี้มักจะล้อมรอบด้วยที่ราบสูงของข้อผิดพลาดเดียวกันซึ่งทำให้ยากที่จะหนีออกจากสิงคโปร์ได้เนื่องจากการไล่ระดับสีนั้นใกล้เคียงกับศูนย์ในทุกมิติ

ฉันหมายความว่าโดยเฉพาะอย่างยิ่ง SGD จะมีข้อได้เปรียบที่ชัดเจนกับจุดอานม้าเนื่องจากมันแปรปรวนไปตามจุดบรรจบ ... ความผันผวนและการสุ่มตัวอย่างและฟังก์ชั่นค่าใช้จ่ายที่แตกต่างกันสำหรับยุคแต่ละครั้งควรมีเหตุผลเพียงพอ

สำหรับการไล่ระดับแบตช์ที่เหมาะสมจะทำให้รู้สึกว่าสามารถติดอยู่ในจุดอานม้าได้เนื่องจากฟังก์ชันข้อผิดพลาดคงที่

ฉันสับสนเล็กน้อยในสองส่วนอื่น ๆ


1
Moti เข้าใจแล้ว จุดอานที่มีความลาดชันสูงมากและล้อมรอบด้วยความลาดชันเป็นศูนย์จะมีการไล่ลงที่ลาดชันโดยมีบันไดขนาดใหญ่ก้าวเข้าสู่ ลองนึกถึงการมองหาบ่อน้ำบนที่ราบที่ค่อนข้างราบเรียบ ทีนี้ลองนึกถึงบ่อแห้งที่มีมดอยู่ตรงกลาง การไล่ระดับสีที่ลาดลงสู่พื้นดินบนเนินเขา แต่ไม่ถึงจุดสูงสุด ทีนี้ลองนึกภาพว่าขนาดขั้นตอนสำหรับการค้นหานั้นใหญ่กว่าขนาดของบ่อเป็นพันเท่า หากการค้นหาที่เคยพบหลุมที่ดี, anthill ยิงมันเพื่อ montana
EngrStudent - Reinstate Monica

ฉันสับสนในสิ่งที่คุณถาม คุณสับสนหรือไม่ว่าทำไม SGD ถึงไม่สามารถติดอยู่ที่จุดอานเนื่องจากเสียงที่สืบทอดมาซึ่งมีอยู่ใน SGD ดังนั้นตามที่คุณควรหนี (ซึ่งแตกต่างจากถ้ามันเป็นชุดเต็ม GD แล้วถ้าการไล่ระดับสีเป็นศูนย์และไม่มีเสียงรบกวนแล้วมันไม่สามารถหลบหนีได้นั่นคือสิ่งที่คุณถาม?)
Pinocchio

คำตอบ:


16

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

การแสดงภาพของจุดอาน

ตอนนี้สิ่งคือไม่ว่าคุณจะเพิ่มประสิทธิภาพการใช้mini-batchหรือ stochastic gradient descent ฟังก์ชัน non-convex นั้นเหมือนกันและ gradient เป็นสมบัติของฟังก์ชันนี้ เมื่อทำมินิแบทช์คุณจะต้องพิจารณาตัวอย่างจำนวนมากในแต่ละครั้งและทำตามขั้นตอนการไล่ระดับสีโดยเฉลี่ยในทุกตัวอย่าง สิ่งนี้จะช่วยลดความแปรปรวน แต่ถ้าทิศทางการไล่ระดับสีเฉลี่ยยังคงชี้ไปในทิศทางเดียวกันกับจุดอานคุณก็ยังคงเสี่ยงที่จะติดอยู่ที่นั่น การเปรียบเทียบคือถ้าคุณก้าวไปข้างหน้า 2 ก้าวและถอยกลับไป 1 ก้าวโดยเฉลี่ยแล้วคุณก็จะก้าวไปข้างหน้า 1 ก้าว หากคุณทำเงิน SGD แทนคุณจะทำตามขั้นตอนทั้งหมด แต่ถ้าคุณยังคงเคลื่อนที่ไปในทิศทางเดียวคุณสามารถไปถึงจุดอานม้าและพบว่าการไล่ระดับสีในทุกด้านค่อนข้างแบน เล็กเกินไปที่จะข้ามส่วนนี้ สิ่งนี้ไม่ได้

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

SGD บางครั้งสามารถแยกออกจากจุดอานม้าแบบง่าย ๆ หากความผันผวนอยู่ในทิศทางอื่นและหากขนาดก้าวใหญ่พอที่จะข้ามความเรียบได้ แต่บางครั้งพื้นที่อานอาจซับซ้อนค่อนข้างเช่นในภาพด้านล่าง

ภูมิภาคอานที่ซับซ้อน

วิธีการเช่นโมเมนตัม ADAGRAD อดัมและอื่น ๆ สามารถแยกออกจากสิ่งนี้ได้คือการพิจารณาการไล่ระดับสีที่ผ่านมา พิจารณาโมเมนตัม

vt=γvt1+ηthetaJ(θ)

vt1


ไม่เลย! สำหรับคำตอบในทางปฏิบัติโปรดดูที่: stats.stackexchange.com/a/284399/117305
alifornia

@AliAbbasinasab ฉันคิดว่าพลวงอธิบายได้ดี แน่นอนว่าการติดอยู่ในจุดอานธรรมดานั้นแทบจะไม่ได้พูดถึงคำตอบของคุณ แต่เขาก็แสดงให้เห็นถึงความเป็นไปได้ที่ค่าเงินอาจถูกจับได้ และสำหรับฉันเขาเพิ่งแสดงให้เห็นถึงจุดอานผิดปกติที่ SGD ไม่สามารถหลบหนีได้
Kazuya Tomita

2

มันไม่ควร

[ 1 ] แสดงให้เห็นว่าการไล่ระดับสีด้วยการเริ่มต้นแบบสุ่มและขนาดขั้นตอนคงที่ที่เหมาะสมไม่ได้มาบรรจบกันที่จุดอาน เป็นการสนทนาที่ยาวนาน แต่ให้แนวคิดว่าทำไมคุณถึงดูตัวอย่างต่อไปนี้:

f(x,y)=12x2+14y412y2

ป้อนคำอธิบายรูปภาพที่นี่

z1=[00],z2=[01],z3=[01]

z2z3z1

z0=[x0]z1z1xR2

2f(x,y)=[1003y21]

2f(z1)xxz1


คุณสามารถเลือกฟังก์ชั่นตัวนับตัวอย่างได้อย่างง่ายดายซึ่งคุณจะติดอยู่ที่จุดอานทุกครั้ง ...
Jan Kukacka

1
ฉันไม่สามารถเข้าถึงลิงก์ของคุณ [1] - คุณช่วยให้การอ้างอิงเต็มรูปแบบ? ในระหว่างนี้คุณสามารถสร้างตัวอย่างการอ้างสิทธิ์ของคุณเพื่อระบุว่าต้องเป็นไปตามสมมติฐานเพิ่มเติมที่ไม่ได้ระบุ
whuber

@ เมื่อคุณสามารถปรุงตัวอย่างเคาน์เตอร์ได้อย่างง่ายดาย ตัวอย่างเช่นถ้าคุณมีเพียงบรรทัดเป็นพื้นที่ของคุณ ฉันพยายามเพิ่มจุดซึ่งอาจไม่ชัดเจนสำหรับหลาย ๆ คน (ตอนแรกมันไม่ชัดเจนเกินไปสำหรับฉันว่าทำไม) เกี่ยวกับการอ้างอิงฉันไม่รู้ว่าทำไมคุณถึงไม่สามารถเข้าถึงได้ ฉันตรวจสอบอีกครั้งลิงก์นั้นใช้ได้และอัปเดตเช่นกัน คุณสามารถค้นหา "การไล่ระดับสีไล่ระดับเป็น Minimizers, Jason D. Lee, Max Simchowitz, Michael I. Jordan †และ Benjamin Recht †♯ภาควิชาวิศวกรรมไฟฟ้าและวิทยาศาสตร์คอมพิวเตอร์†ภาควิชาสถิติ Statistcs University of California, Berkeley, 19 เมษายน 2019 "
แคลิฟอร์เนีย

ขอบคุณสำหรับการอ้างอิง. ภาพรวมอย่างรวดเร็ว (ลิงก์ตอนนี้ใช้งานได้) แสดงการวิเคราะห์นั้น จำกัด อยู่ที่ "อานม้าที่เข้มงวด" (ซึ่งมีทั้งค่าบวกและค่าลบของ Hessian) ซึ่งขัดขวางความเป็นไปได้มากมาย คำแถลงขั้นสุดท้ายของบทความรวมถึง "เราทราบว่ามีปัญหาการเพิ่มประสิทธิภาพที่ไม่ จำกัด อย่างยากลำบากซึ่งเงื่อนไขการอานที่เข้มงวดล้มเหลว" และพวกเขานำเสนอการย่อขนาดเล็กที่สุดเป็นสี่ส่วน
whuber

0

หากคุณไปที่เอกสารอ้างอิง (พวกเขายังแสดงให้เห็นอย่างชัดเจนว่าวิธีการอานฟรีของพวกเขาจะดีขึ้นจริงเมื่อชุดมินิชุด SGD) พวกเขาระบุ:

ขั้นตอนของวิธีการไล่ระดับสีแบบไล่ระดับมักชี้ไปในทิศทางที่ถูกต้องใกล้กับจุดอานม้า ... และขั้นตอนเล็ก ๆ จะถูกนำไปในทิศทางที่สอดคล้องกับค่าลักษณะเฉพาะของค่าสัมบูรณ์ขนาดเล็ก

พวกเขายังสังเกตเห็นการปรากฏตัวของ "ที่ราบ" ใกล้กับจุดอานม้า (ในคำอื่น ๆ ที่อานไม่สูงชัน) - ในกรณีนี้การก้าวเล็ก ๆ น้อย ๆ จะส่งผลให้เกิดการบรรจบกันก่อนที่จะหนีออกจากพื้นที่อานม้า เนื่องจากนี่เป็นการเพิ่มประสิทธิภาพแบบไม่มีการคอนเวอร์เจนซ์ของอัตราการเรียนรู้จะทำให้สิ่งนี้แย่ลง

ดูเหมือนเป็นไปได้ว่าเราสามารถลองใช้วิธีวนซ้ำโดยที่หนึ่งเริ่มต้นชุดเล็ก ๆ SGD อีกครั้งเมื่อมันเสร็จสมบูรณ์ (เช่นการรีเซ็ตอัตราการเรียนรู้) เพื่อดูว่าใครสามารถหนีภูมิภาคที่มีปัญหาได้


0

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

หากคุณไม่ลดขั้นตอนลงคุณก็จะกระโดดข้ามขั้นต่ำและพลาดไปมาก คุณต้องลดขนาดขั้นตอนลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.