สำหรับปัญหานูนการไล่ระดับสีใน Stochastic Gradient Descent (SGD) ชี้ไปที่ค่าที่สูงที่สุดในโลกเสมอหรือไม่?


25

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

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

อดีตเป็นแนวคิดในท้องถิ่นหลังเป็นแนวคิดระดับโลก

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

ทิศทางของการไล่ระดับสีควรเป็นทิศทางที่ฟังก์ชั่นเพิ่ม / ลดเร็วที่สุดในจุดนั้นใช่ไหม


6
คุณเคยเดินลงเขาตรงจากสันเขาเพื่อค้นหาตัวเองในหุบเขาที่ยังคงตกต่ำในทิศทางที่แตกต่างกันไปหรือไม่? ความท้าทายคือการจินตนาการสถานการณ์ดังกล่าวด้วยลักษณะภูมิประเทศแบบนูน: คิดว่าคมมีดที่สันเขาสูงชันที่สุด
whuber

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

3
@ ไทเลอร์ทำไมคำถามของคุณเกี่ยวกับการไล่ระดับสีแบบสุ่ม คุณจินตนาการถึงสิ่งที่แตกต่างเมื่อเทียบกับการไล่ระดับสีมาตรฐานหรือไม่?
Sextus Empiricus

2
การไล่ระดับสีจะชี้ไปที่ค่าที่เหมาะสมเสมอในมุมที่ลาดระหว่างเวกเตอร์กับเวกเตอร์ถึงค่าที่เหมาะสมจะมีมุมที่น้อยกว่าและเดินไปในทิศทางของการไล่ระดับสี นำคุณเข้าใกล้สิ่งที่ดีที่สุด π2
Reinstate Monica

5
หากการไล่ระดับสีชี้ไปที่เครื่องมือลดขนาดทั่วโลกการเพิ่มประสิทธิภาพของนูนจะกลายเป็นเรื่องง่ายสุด ๆ เพราะเราสามารถทำการค้นหาแบบเส้นเดียวเพื่อหาเครื่องมือลดขนาดทั่วโลก นี่เป็นสิ่งที่เกินความคาดหวัง
littleO

คำตอบ:


36

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

ภาพของฟังก์ชั่นนูนยาวและลูกศรแสดงให้เห็นว่าทิศทางของการสืบเชื้อสายที่ชันที่สุดนั้นไม่เหมือนกับทิศทางไปสู่การปรับระดับโลก

เมื่อทราบอย่างจริงจัง: มีคำตอบที่เหนือกว่าในหัวข้อนี้ที่ควรได้รับการโหวต


27
และตัวอย่างเคาน์เตอร์วันนี้คือ ... อะโวคาโด!
JDL

11
คุณจะเห็นว่าในขณะที่ตัดอะโวคาโดคุณควรตัดในทิศทางที่ลาดชันที่สุดเพื่อหลีกเลี่ยงเมล็ดและการบาดเจ็บที่อาจเกิดขึ้น
Jan Kukacka

28
  • วิธีการไล่ระดับสีแบบลาดชันใช้ความลาดเอียงของพื้นผิว
  • สิ่งนี้จะไม่จำเป็น (หรือเป็นไปได้มากที่สุด) ชี้ไปยังจุดที่สูงที่สุดโดยตรง

มุมมองที่ใช้งานง่ายคือการจินตนาการเส้นทางของการสืบเชื้อสายที่เป็นเส้นทางโค้ง ดูตัวอย่างจากตัวอย่างด้านล่าง

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

หากคุณสามารถสันนิษฐานได้ว่ามีความนูน

  • จากนั้นคุณรู้ว่ามีเพียงจุดเดียวที่รุนแรง
  • ถ้าอย่างนั้นคุณก็รู้ว่าคุณจะต้องไปถึงจุดที่สูงที่สุดตราบใดที่คุณเลื่อนลง
  • จากนั้นคุณก็รู้ว่ามุมระหว่างทิศทางโคตรที่ชันที่สุดและทิศทางที่เหมาะสมที่สุดคือπ/2มากที่สุดเท่าที่ Solomonoff's Secret กล่าวถึงในความคิดเห็น

นูนออก

โดยไม่ต้องนูน

  • มุมอาจเกินπ/2 2 ในภาพด้านล่างนี้จะเน้นโดยการวาดลูกศรของทิศทางของการสืบเชื้อสายสำหรับจุดเฉพาะที่การแก้ปัญหาสุดท้ายอยู่ด้านหลังเส้นตั้งฉากกับทิศทางของการสืบเชื้อสาย

    ในปัญหานูนนี้เป็นไปไม่ได้ คุณสามารถเชื่อมโยงสิ่งนี้กับตัวแยกสำหรับฟังก์ชันต้นทุนที่มีความโค้งทั้งหมดในทิศทางเดียวกันเมื่อปัญหานูนออก

ไม่นูน

ใน Stochastic Gradient Descent

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

จุดเดียว

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

โคตรลาดลง



ภาพด้านบนใช้สำหรับดาต้าพอยน์ 4 อันที่สร้างโดยฟังก์ชั่น:

yi=e0.4xie0.8xi+ϵi

x = 0      2      4      6           
y = 0.006  0.249  0.153  0.098

ซึ่งผลลัพธ์ใน:

  • ปัญหาการปรับให้เหมาะสมแบบไม่มีนูนเมื่อเราลดฟังก์ชั่นต้นทุน (ไม่ใช่เชิงเส้น)

    S(a,b)=i=1(yi(eaxiebxi))2
    S(a,b)=[i=12xieaxi(yieaxiebxi)i=12xiebxi(yieaxiebxi)]

  • ปัญหาการหาค่าเหมาะที่สุดของการหาค่านูน (เช่นกำลังสองน้อยที่สุดเชิงเส้น) เมื่อเราย่อขนาด

    S(a,b)=i=1(yi(ae0.4xibe0.8xi))2
    S(a,b)=[i=12e0.4xi(yiae0.4xibe0.8xi)i=12e0.8xi(yiae0.4xibe0.8xi)]

  • ปัญหาการเพิ่มประสิทธิภาพนูน (แต่ไม่ใช่ด้วยขั้นต่ำเดียว)เมื่อเราย่อขนาดให้เหลือเฉพาะ ซึ่งมีการไล่ระดับสีมีหลาย minima (มีหลายและที่ )i

    S(a,b)=(yi(ae0.4bxibe0.8xi))2
    S(a,b)=[2e0.4xi(yiae0.4xibe0.8xi)2e0.8xi(yiae0.4xibe0.8xi)]
    abS=0


เขียนโดยStackExchangeStrike



17

โคตรที่ลาดชันสามารถไม่มีประสิทธิภาพได้แม้ว่าฟังก์ชันวัตถุประสงค์จะนูนออกมาอย่างรุนแรง

โคตรลาดชันสามัญ

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

พิจารณา 2 นี่คือนูนเพราะมันเป็นกำลังสองที่มีสัมประสิทธิ์เป็นบวก โดยการตรวจสอบเราจะเห็นว่ามันมีขั้นต่ำทั่วโลกที่xมันมีการไล่ระดับสี f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

ด้วยอัตราการเรียนรู้ของและการคาดเดาเริ่มต้นเรามีการปรับปรุงการไล่ระดับสีα=0.035x(0)=[0.5,0.5],

x(1)=x(0)αf(x(0))

ซึ่งจัดแสดงความคืบหน้านี้สั่นคลอนอย่างดุเดือดต่อขั้นต่ำ

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

แน่นอนมุมก่อตัวขึ้นระหว่างและค่อยๆสลายตัวเป็น 0 สิ่งนี้หมายความว่าอะไร คือบางครั้งทิศทางของการอัปเดตนั้นผิด - โดยส่วนใหญ่ผิดไปเกือบ 68 องศา - แม้ว่าอัลกอริทึมจะมาบรรจบกันและทำงานอย่างถูกต้องθ(x(i),x)(x(i),x(i+1))

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

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

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

โคตรลาดลง

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

ข้อมูลมากกว่านี้:


คำตอบนี้ยืมตัวอย่างและตัวเลขจากNeural Networks Design (2nd Ed.) บทที่ 9 โดย Martin T. Hagan, Howard B. Demuth, Mark Hudson Beale, Orlando De Jesús


13

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


3

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

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

(x0,y0)=(1,0)
α
f(x,α)=α2αx.

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

(f(x0,α)y0)2=α2α,
β
αn+1=αnβ(2αn1)=αn(2αn1)=1αn.
α=12p=12p1p

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

SGD ยังสามารถเข้าหา / รับรอบของความยาวอัน จำกัด , แยกไปทาง , แกว่งไปทาง (แก้ตัวสัญลักษณ์), และมีพฤติกรรมทางพยาธิวิทยาอื่น ๆ มากมาย± ±

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


1
+1 สำหรับการสังเกตนี้ แต่นี้เป็นตัวเลือกที่ไม่ดีและจะแย่ในกรณีที่มีการไล่ระดับสีตามปกติ มันเป็นความคิดเห็นที่ดี แต่มันไม่ได้เกี่ยวข้องกับปัญหาจริง ๆ ว่าเส้นทางเชื้อสายที่ลาดชันชี้ไปยังทางออกหรือไม่มันเกี่ยวข้องกับปัญหาแทนขนาดขั้นตอนที่ใหญ่เกินไปซึ่งอาจนำไปสู่การอัปเดตที่แตกต่างกัน β=1
Sextus Empiricus

1
โปรดทราบว่าการพิสูจน์การลู่เข้าของ SGD ถือว่าขนาดขั้นตอนลดลง ...
Jan Kukacka

@ มาร์ติน Weterings สังเกตดี ฉันเดาว่าตัวอย่างของฉันชี้ไปในทิศทางที่ถูกต้อง ฉันควรอัปเดตด้วยตัวอย่าง 2D ที่ไม่เคยบอกทิศทางและทิศทางที่ถูกต้องหรือไม่?
Hans Musgrave

@MartijnWeterings ตกลงเป็นตัวเลือกที่ไม่ถูกต้อง สำหรับใด ๆมีฟังก์ชั่นต้นทุนทางพยาธิวิทยาที่ล้มเหลว หนึ่งในสิ่งที่ง่ายที่สุดนั้นเกิดจากβ > 0 β f ( x , α ) = β=1β>0βf(x,α)=α2αxβ.
Hans Musgrave

@JanKukacka นั่นคือการปรับเปลี่ยนทั่วไปให้เป็น SGD ที่ได้รับผลกระทบจากข้อบกพร่องที่คล้ายกัน แทนที่จะฟังก์ชั่นค่าใช้จ่ายเป็นรูปโค้งที่คุณเลือกเพื่อให้ฟังก์ชั่นค่าใช้จ่ายเป็นฟังก์ชั่นนูนสมมาตรเพิ่มขึ้นอย่างรวดเร็วเพียงพอในทั้งสองทิศทางจากต่ำสุดที่จะรับมือกับอัตราการเย็นตัวของ\หลักฐานการลู่เข้าของ SGD ที่ฉันได้เห็นนั้นมีเพียงความน่าจะเป็น 1 และพึ่งพาฟังก์ชั่นค่าใช้จ่ายที่เลือกไม่ดีที่มีอยู่กับความน่าจะเป็น 0 ที่มีมาตรการทั่วไปเกี่ยวกับพื้นที่ของฟังก์ชันต้นทุน βfβ
Hans Musgrave

2

บางทีคำตอบสำหรับคำถามนี้ต้องการการอัปเดตอย่างรวดเร็ว ดูเหมือนว่า SGD จะให้ผลตอบแทนขั้นต่ำทั่วโลกเช่นกันในกรณีที่ไม่นูน (นูนเป็นเพียงกรณีพิเศษ):

SGD แปรเปลี่ยนเป็นความรู้ขั้นต่ำระดับโลกผ่านเส้นทาง Star-Convex, ผู้เขียนนิรนาม , กระดาษภายใต้การทบทวนสองครั้งที่ ICLR 2019

https://openreview.net/pdf?id=BylIciRcYQ

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

นี้ควรใช้กับเม็ดเกลือแม้ว่า กระดาษยังอยู่ระหว่างการตรวจสอบ

แนวคิดของเส้นทางดวงดาวทำให้เกิดคำใบ้เกี่ยวกับการไล่ระดับสีที่ชี้ไปที่การวนซ้ำแต่ละครั้ง

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