Đối với các vấn đề lồi, độ dốc trong Stochastic Gradient Descent (SGD) luôn luôn hướng đến giá trị cực trị toàn cầu?


25

Với hàm chi phí lồi, sử dụng SGD để tối ưu hóa, chúng ta sẽ có một gradient (vectơ) tại một điểm nhất định trong quá trình tối ưu hóa.

Câu hỏi của tôi là, với điểm trên lồi, liệu độ dốc chỉ trỏ theo hướng mà hàm tăng / giảm nhanh nhất hay độ dốc luôn luôn chỉ vào điểm tối ưu / cực trị của hàm chi phí ?

Cái trước là một khái niệm địa phương, cái sau là một khái niệm toàn cầu.

SGD cuối cùng có thể hội tụ đến giá trị cực trị của hàm chi phí. Tôi đang tự hỏi về sự khác biệt giữa hướng của độ dốc cho một điểm tùy ý trên lồi và hướng chỉ vào giá trị cực trị toàn cầu.

Hướng của độ dốc phải là hướng mà hàm tăng / giảm nhanh nhất tại điểm đó, phải không?


6
Bạn đã bao giờ đi thẳng xuống dốc từ một sườn núi, chỉ để thấy mình trong một thung lũng tiếp tục xuống dốc theo một hướng khác? Thách thức là tưởng tượng một tình huống như vậy với địa hình lồi: nghĩ về một cạnh dao nơi sườn núi dốc nhất ở đỉnh.
whuber

4
Không, bởi vì đó là độ dốc dốc ngẫu nhiên, không phải độ dốc giảm dần. Điểm chung của SGD là bạn vứt bỏ một số thông tin về độ dốc để đổi lấy hiệu quả tính toán tăng lên - nhưng rõ ràng là khi vứt bỏ một số thông tin về độ dốc bạn sẽ không còn có hướng của độ dốc ban đầu. Điều này đã bỏ qua vấn đề liệu các điểm gradient thông thường theo hướng đi xuống tối ưu hay không, nhưng vấn đề là, ngay cả khi việc giảm độ dốc thông thường đã làm, không có lý do gì để mong đợi việc giảm độ dốc ngẫu nhiên làm như vậy.
Chill2Macht

3
@Tyler, tại sao câu hỏi của bạn cụ thể về độ dốc dốc ngẫu nhiên . Bạn có tưởng tượng bằng cách nào đó một cái gì đó khác biệt so với độ dốc gốc tiêu chuẩn?
Sextus Empiricus

2
Độ dốc sẽ luôn luôn hướng về phía tối ưu theo nghĩa là góc giữa độ dốc và vectơ đến tối ưu sẽ có góc nhỏ hơn và đi theo hướng của độ dốc một lượng cực nhỏ sẽ giúp bạn đến gần hơn với tối ưu. π2
Phục hồi Monica

5
Nếu gradient chỉ trực tiếp vào bộ thu nhỏ toàn cầu, tối ưu hóa lồi sẽ trở nên cực kỳ dễ dàng, bởi vì sau đó chúng ta có thể thực hiện tìm kiếm một chiều để tìm một bộ giảm thiểu toàn cầu. Điều này là quá nhiều để hy vọng.
littleO

Câu trả lời:


36

Họ nói rằng một hình ảnh có giá trị hơn một ngàn từ. Trong ví dụ sau (lịch sự của MS Paint, một công cụ tiện dụng cho cả các nhà thống kê nghiệp dư và chuyên nghiệp), bạn có thể thấy bề mặt hàm lồi và điểm mà hướng xuống dốc rõ ràng khác với hướng tối ưu.

Một hình ảnh của một hàm lồi và mũi tên thon dài cho thấy hướng đi xuống dốc không giống với hướng tối ưu toàn cầu

Trên một lưu ý nghiêm túc: Có rất nhiều câu trả lời vượt trội trong chủ đề này cũng xứng đáng với một upvote.


27
Và ví dụ phản biện ngày nay là ... một quả bơ!
JDL

11
Bạn thấy rằng trong khi cắt một quả bơ, bạn nên cắt theo hướng đi xuống dốc nhất để tránh hạt và có thể bị thương .
Jan Kukacka

28
  • Phương pháp giảm độ dốc sử dụng độ dốc của bề mặt.
  • Điều này sẽ không nhất thiết (hoặc thậm chí rất có thể không) hướng trực tiếp đến điểm cực đoan.

Một cái nhìn trực quan là tưởng tượng một con đường đi xuống là một con đường cong. Xem ví dụ dưới đây.

Tương tự như vậy: Hãy tưởng tượng tôi bịt mắt bạn và đưa bạn đến một nơi nào đó trên một ngọn núi với nhiệm vụ đi bộ trở lại điểm cực thấp (thấp). Trên đồi, nếu bạn chỉ có thông tin địa phương , thì bạn không biết đáy hồ sẽ ở hướng nào.

Nếu bạn có thể giả sử lồi

  • Sau đó, bạn biết rằng chỉ có một điểm cực đoan.
  • Sau đó, bạn biết rằng bạn chắc chắn sẽ đạt đến điểm cực đoan miễn là bạn di chuyển xuống dưới.
  • Và sau đó bạn cũng biết rằng góc giữa hướng đi xuống dốc nhất và hướng tối ưu luôn luôn nhiều nhất làπ/2 , như Bí mật của Solomonoff đã đề cập trong các bình luận.

lồi

Không lồi

  • Góc có thể vượt quáπ/2 . Trong hình ảnh bên dưới, điều này được nhấn mạnh bằng cách vẽ một mũi tên hướng xuống cho một điểm cụ thể trong đó giải pháp cuối cùng nằm sau đường thẳng vuông góc với hướng đi xuống.

    Trong bài toán lồi điều này là không thể. Bạn có thể liên hệ điều này với các hàm cô lập cho hàm chi phí có độ cong tất cả theo cùng một hướng khi vấn đề là lồi.

không lồi

Trong Stochastic Gradient Descent

  • Bạn đi theo hướng dốc nhất cho một điểm duy nhất (và bạn liên tục thực hiện một bước cho một điểm khác). Trong ví dụ, vấn đề là lồi, nhưng có thể có nhiều hơn một giải pháp. Trong ví dụ, các giá trị cực trị nằm trên một dòng (thay vì một điểm duy nhất) và từ quan điểm cụ thể này, bạn có thể nói rằng hướng đi xuống dốc nhất, có thể chỉ trực tiếp đến "tối ưu" (mặc dù đó chỉ là tối ưu cho chức năng của điểm mẫu đào tạo cụ thể đó)

điểm duy nhất

Dưới đây là một góc nhìn khác cho bốn điểm dữ liệu . Mỗi trong bốn hình ảnh cho thấy bề mặt cho một điểm duy nhất khác nhau. Mỗi bước một điểm khác nhau được chọn dọc theo đó độ dốc được tính toán. Điều này làm cho chỉ có bốn hướng dọc theo đó một bước được thực hiện, nhưng các bước giảm dần khi chúng ta tiến gần hơn đến giải pháp.

giảm độ dốc ngẫu nhiên



Các hình ảnh trên dành cho 4 datapoint được tạo bởi hàm:

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

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

kết quả là:

  • một vấn đề tối ưu hóa không lồi khi chúng tôi tối thiểu hóa hàm chi phí (phi tuyến tính)

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

  • một vấn đề tối ưu hóa lồi (như bất kỳ bình phương tối thiểu tuyến tính nào) khi chúng tôi thu nhỏ

    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)]

  • một vấn đề tối ưu hóa lồi (nhưng không phải với một mức tối thiểu) khi chúng tôi thu nhỏ cho một số có độ dốc điều này có nhiều cực tiểu (có nhiều và mà )i

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


Được viết bởi StackExchangeStrike



17

Hậu duệ ổn định có thể không hiệu quả ngay cả khi hàm mục tiêu bị lồi mạnh.

Giảm dần độ dốc thông thường

Tôi có nghĩa là "không hiệu quả" theo nghĩa là xuống dốc nhất có thể thực hiện các bước dao động mạnh mẽ ra khỏi mức tối ưu, ngay cả khi chức năng này lồi mạnh hoặc thậm chí là bậc hai.

Xét . Đây là lồi vì nó là một bậc hai với các hệ số dương. Bằng cách kiểm tra, chúng ta có thể thấy rằng nó có mức tối thiểu toàn cầu tại . Nó có độ dốc f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

Với tốc độ học tập là và dự đoán ban đầu chúng tôi có bản cập nhật độ dốcα=0.035x(0)=[0.5,0.5],

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

trong đó thể hiện sự tiến bộ dao động mạnh mẽ này đến mức tối thiểu.

nhập mô tả hình ảnh ở đây

Thật vậy, góc hình thành giữa và chỉ giảm dần về 0. Điều này có nghĩa là gì là hướng của bản cập nhật đôi khi sai - nhiều nhất, nó sai gần 68 độ - mặc dù thuật toán được hội tụ và hoạt động chính xác.θ(x(i),x)(x(i),x(i+1))

nhập mô tả hình ảnh ở đây

Mỗi bước dao động dữ dội vì hàm này dốc hơn nhiều so với hướng so với hướng . Vì thực tế này, chúng ta có thể suy ra rằng độ dốc không phải luôn luôn, hoặc thậm chí thường, chỉ về mức tối thiểu. Đây là một đặc tính chung của độ dốc gốc khi các giá trị riêng của Hessian nằm trên thang đo không giống nhau. Tiến độ chậm theo các hướng tương ứng với các hàm riêng có giá trị riêng tương ứng nhỏ nhất và nhanh nhất theo các hướng có giá trị riêng lớn nhất. Chính tính chất này, kết hợp với sự lựa chọn tốc độ học tập, sẽ quyết định mức độ giảm dần của quá trình giảm dần.x2x12f(x)

Con đường trực tiếp đến mức tối thiểu sẽ là di chuyển "theo đường chéo" thay vì theo kiểu này bị chi phối mạnh bởi các dao động dọc. Tuy nhiên, độ dốc chỉ có thông tin về độ dốc cục bộ, do đó "không biết" rằng chiến lược đó sẽ hiệu quả hơn và nó phải chịu sự mơ hồ của Hessian có giá trị bản địa ở các quy mô khác nhau.

Độ dốc dốc ngẫu nhiên

SGD có các thuộc tính giống nhau, ngoại trừ các bản cập nhật ồn ào, ngụ ý rằng bề mặt đường viền trông khác nhau từ lần lặp này đến lần lặp tiếp theo, và do đó độ dốc cũng khác nhau. Điều này ngụ ý rằng góc giữa hướng của bước gradient và tối ưu cũng sẽ có nhiễu - chỉ cần tưởng tượng các ô tương tự với một số jitter.

Thêm thông tin:


Câu trả lời này mượn ví dụ này và con số từ Thiết kế mạng nơ-ron (Ed 2) Chương 9 của Martin T. Hagan, Howard B. Demuth, Mark Hudson Beale, Orlando De Jesús.


13

Hướng dốc địa phương không giống với hướng tối ưu toàn cầu. Nếu đúng như vậy thì hướng gradient của bạn sẽ không thay đổi; bởi vì nếu bạn luôn luôn hướng tới tối ưu của mình, vectơ chỉ đường của bạn sẽ luôn luôn tối ưu. Nhưng, đó không phải là trường hợp. Nếu đó là trường hợp, tại sao phải tính toán độ dốc của bạn mỗi lần lặp?


3

Các câu trả lời khác nêu bật một số vấn đề về tỷ lệ hội tụ gây khó chịu cho GD / SGD, nhưng nhận xét của bạn "SGD cuối cùng có thể hội tụ ..." không phải lúc nào cũng đúng (bỏ qua các nhận xét sử dụng từ ngữ có nghĩa là từ "có thể" "sẽ").

Một mẹo hay để tìm các ví dụ ngược với SGD là lưu ý rằng nếu mọi điểm dữ liệu đều giống nhau, hàm chi phí của bạn là xác định. Hãy tưởng tượng ví dụ cực kỳ bệnh hoạn khi chúng ta có một điểm dữ liệu và chúng ta có một mô hình về cách hệ thống của chúng ta sẽ hoạt động dựa trên một tham số duy nhất

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

Với MSE là hàm chi phí của chúng tôi, điều này đơn giản hóa thành một hàm lồi. Giả sử chúng tôi chọn tốc độ học tập kém để quy tắc cập nhật của chúng tôi như sau:Bây giờ, hàm chi phí của chúng tôi có mức tối thiểu tại , nhưng nếu chúng tôi bắt đầu theo nghĩa đen ở bất kỳ nơi nào khác ngoài thì SGD sẽ chỉ đơn giản là nảy giữa chu kỳ giữa điểm bắt đầu và và không bao giờ hội tụ .

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

Tôi không chắc liệu độ lồi có đủ để phá vỡ một số hành vi tồi tệ hơn tồn tại đối với SGD nói chung hay không, nhưng nếu bạn cho phép các hàm thậm chí phức tạp như hình khối cho hàm chi phí của mình thì SGD có thể nảy ra xung quanh một tập hợp con dày đặc của miền và không bao giờ hội tụ ở bất cứ đâu hoặc tiếp cận bất kỳ chu kỳ.

SGD cũng có thể tiếp cận / thu được các chu kỳ có độ dài hữu hạn, chuyển hướng về , dao động về phía (xin lỗi ký hiệu) và có hàng tấn hành vi bệnh lý khác.± ±

Một điều thú vị về toàn bộ tình huống là tồn tại vô số hàm (như SGD), lấy các hàm lồi tùy ý làm đầu vào và sau đó đưa ra một quy tắc cập nhật luôn nhanh chóng hội tụ đến mức tối thiểu toàn cầu (nếu tồn tại). Mặc dù về mặt khái niệm vẫn tồn tại vô số trong số chúng, những nỗ lực tối ưu hóa lồi của chúng ta đều có các phản ứng bệnh lý. Bằng cách nào đó, ý tưởng về quy tắc cập nhật đơn giản / trực quan / hiệu suất chạy ngược với ý tưởng về quy tắc cập nhật có thể chứng minh chính xác.


1
+1 cho quan sát này. Nhưng, này là một chút lựa chọn tồi và cũng sẽ tệ trong trường hợp giảm độ dốc thông thường. Đó là một nhận xét tốt nhưng nó không thực sự liên quan đến vấn đề liệu đường đi xuống dốc nhất có hướng đến giải pháp hay không, thay vào đó, nó liên quan đến vấn đề kích thước bước quá lớn có thể dẫn đến cập nhật khác nhau. β=1
Sextus Empiricus

1
Lưu ý rằng bằng chứng hội tụ SGD giả định kích thước bước giảm ...
Jan Kukacka

@MartijnWeterings Quan sát tốt. Tôi đoán ví dụ của tôi thực sự chỉ ra hướng chính xác. Tôi có nên cập nhật nó với một ví dụ 2D không bao giờ chỉ đúng hướng và phân kỳ không?
Hans Musgrave

@MartijnWeterings Đồng ý, là một lựa chọn tồi. Đối với bất kỳ , vẫn tồn tại hàm chi phí bệnh lý mà không thành công. Một trong những cái dễ nhất bắt nguồn từβ > 0 β f ( x , α ) = β=1β>0βf(x,α)=α2αxβ.
Hans Musgrave

@JanKukacka Đó là một sửa đổi phổ biến đối với SGD bị lỗ hổng tương tự. Thay vì hàm chi phí là một parabol, bạn chọn để hàm chi phí là hàm lồi đối xứng tăng đủ nhanh theo cả hai hướng từ mức tối thiểu để chống lại tốc độ làm mát của . Bằng chứng hội tụ SGD mà tôi đã thấy chỉ có xác suất 1 và dựa vào các hàm chi phí được chọn kém như vậy tồn tại với xác suất 0 với các biện pháp điển hình về không gian của hàm chi phí. βfβ
Hans Musgrave

2

Có lẽ các câu trả lời cho câu hỏi này cần cập nhật nhanh chóng. Có vẻ như SGD mang lại mức tối thiểu toàn cầu trong trường hợp không lồi (lồi chỉ là trường hợp đặc biệt của điều đó):

SGD hội tụ đến mức tối thiểu toàn cầu trong học tập sâu thông qua con đường Star-Convex, tác giả ẩn danh , Bài viết dưới bài đánh giá mù đôi tại ICLR 2019

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

Các tác giả thiết lập sự hội tụ của SGD đến mức tối thiểu toàn cầu cho các vấn đề tối ưu hóa không liên quan thường gặp trong đào tạo mạng lưới thần kinh. Đối số khai thác hai thuộc tính quan trọng sau: 1) tổn thất đào tạo có thể đạt được giá trị bằng không (xấp xỉ); 2) SGD đi theo con đường hình sao lồi. Trong bối cảnh như vậy, mặc dù SGD từ lâu đã được coi là một thuật toán ngẫu nhiên, bài báo tiết lộ rằng nó hội tụ theo cách xác định nội tại đến mức tối thiểu toàn cầu.

Điều này nên được thực hiện với một hạt muối mặc dù. Bài viết vẫn đang được xem xét.

Khái niệm đường đi của ngôi sao lồi đưa ra gợi ý về hướng mà độ dốc sẽ chỉ vào mỗi lần lặp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.