Làm thế nào nó có thể bị mắc kẹt trong một điểm yên ngựa?


14

Tôi hiện đang hơi bối rối bởi làm thế nào để giảm độ dốc của lô nhỏ có thể bị mắc kẹt trong một điểm yên ngựa.

Giải pháp có thể quá tầm thường mà tôi không nhận được.

Bạn nhận được một mẫu mới mỗi epoch và nó tính toán một lỗi mới dựa trên một lô mới, do đó, hàm chi phí chỉ tĩnh đối với mỗi lô, điều đó có nghĩa là độ dốc cũng sẽ thay đổi cho từng lô nhỏ .. nhưng theo điều này nên việc thực hiện vanilla có vấn đề với điểm yên ngựa?

Một thách thức quan trọng khác của việc giảm thiểu các hàm lỗi không lồi rất phổ biến đối với các mạng thần kinh là tránh bị mắc kẹt trong vô số cực tiểu cục bộ tối thiểu của chúng. Dauphin và cộng sự. [19] lập luận rằng khó khăn phát sinh trên thực tế không phải từ cực tiểu địa phương mà từ các điểm yên ngựa, tức là các điểm mà một chiều dốc lên và một dốc khác xuống. Các điểm yên ngựa này thường được bao quanh bởi một cao nguyên có cùng lỗi, điều này khiến SGD khó có thể thoát ra được, vì độ dốc gần bằng 0 ở mọi chiều.

Tôi có nghĩa là đặc biệt là SGD sẽ có lợi thế rõ ràng so với các điểm yên ngựa, vì nó dao động theo hướng hội tụ của nó ... Các dao động và lấy mẫu ngẫu nhiên, và chức năng chi phí khác nhau cho mỗi kỷ nguyên là đủ lý do để không bị mắc kẹt trong một kỷ nguyên.

Đối với độ dốc hàng loạt đầy đủ, điều đó có nghĩa là nó có thể bị kẹt trong điểm yên ngựa, vì chức năng lỗi là không đổi.

Tôi hơi bối rối về hai phần khác.


1
Moti có được nó. Điểm yên ngựa có độ dốc rất cao và được bao quanh bởi độ dốc bằng không tạo ra một độ dốc với các bước lớn vào "vùng đất xấu" mà từ đó nó không thể phục hồi. Hãy suy nghĩ về việc tìm kiếm một cái giếng trên một đồng bằng cơ bản bằng phẳng. Bây giờ hãy nghĩ về cái giếng khô và với một ngọn đồi ở trung tâm. Một ngọn đồi dốc xuống trên đồi kiến, nhưng không phải trên đỉnh chính xác, sẽ bắn ra tìm kiếm triệt để. Bây giờ hãy tưởng tượng rằng kích thước bước cho tìm kiếm lớn hơn một nghìn lần so với đường kính của giếng. Nếu tìm kiếm bao giờ tìm thấy cái giếng, thì con kiến ​​sẽ bắn nó tới montana
EngrStudent - Tái lập lại

Tôi bối rối không biết bạn hỏi gì. Bạn có bối rối tại sao SGD không thể bị mắc kẹt trong điểm yên ngựa vì tiếng ồn vốn có của SGD, vì vậy theo bạn nó có thể thoát ra không? (không giống như nếu nó tràn ngập hàng loạt GD sau đó nếu gradient là zero và không có tiếng ồn sau đó nó không thể thoát khỏi, đó là những gì chào bán của bạn?)
Pinocchio

Câu trả lời:


16

Hãy nhìn vào hình ảnh dưới đây từ Off Convex . Trong một hàm lồi (ảnh ngoài cùng bên trái), chỉ có một mức tối thiểu cục bộ, cũng là mức tối thiểu toàn cầu. Nhưng trong một hàm không lồi (ảnh ngoài cùng bên phải), có thể có nhiều cực tiểu cục bộ và thường nối hai cực tiểu cục bộ là một điểm yên ngựa. Nếu bạn đang tiếp cận từ một điểm cao hơn, độ dốc tương đối phẳng hơn và bạn có nguy cơ bị mắc kẹt ở đó, đặc biệt nếu bạn chỉ di chuyển theo một hướng.

Biểu đồ biểu diễn của điểm yên ngựa

Bây giờ điều này là, cho dù bạn đang tối ưu hóa bằng cách sử dụng mini-batchhoặc giảm độ dốc ngẫu nhiên, hàm không lồi bên dưới là như nhau và độ dốc là một thuộc tính của hàm này. Khi thực hiện lô nhỏ, bạn xem xét nhiều mẫu cùng một lúc và thực hiện bước gradient trung bình trên tất cả chúng. Điều này làm giảm phương sai. Nhưng nếu hướng dốc trung bình vẫn chỉ theo cùng hướng với điểm yên, thì bạn vẫn có nguy cơ bị kẹt ở đó. Sự tương tự là, nếu bạn tiến 2 bước về phía trước và lùi lại 1 bước, tính trung bình cho những bước đó, cuối cùng bạn sẽ tiến lên 1 bước. Thay vào đó, nếu bạn thực hiện SGD, bạn thực hiện lần lượt từng bước một, nhưng nếu bạn vẫn di chuyển theo một hướng duy nhất, bạn có thể đạt đến điểm yên ngựa và thấy rằng độ dốc ở tất cả các phía là khá bằng phẳng và kích thước bước là quá nhỏ để đi qua phần phẳng này. Cái này không

Hãy nhìn vào hình dung ở đây . Ngay cả với SGD, nếu các dao động chỉ xảy ra dọc theo một chiều, với các bước ngày càng nhỏ hơn, nó sẽ hội tụ tại điểm yên ngựa. Trong trường hợp này, phương pháp lô nhỏ sẽ chỉ làm giảm lượng dao động nhưng không thể thay đổi hướng của độ dốc.

SGD đôi khi có thể thoát ra khỏi các điểm yên đơn giản, nếu các dao động dọc theo các hướng khác và nếu kích thước bước đủ lớn để nó đi qua độ phẳng. Nhưng đôi khi các khu vực yên xe có thể khá phức tạp, chẳng hạn như trong hình ảnh dưới đây.

Khu vực yên xe phức tạp

Các phương thức như động lượng, ADAGRAD, Adam, v.v ... có thể thoát ra khỏi điều này, bằng cách xem xét các độ dốc trong quá khứ. Xem xét động lượng,

vt=γvt1+ηthetaJ(θ)

vt1


Không hẳn là chính xác lắm! Đối với một câu trả lời trong thực tế xem: stats.stackexchange.com/a/284399/117305
alifornia

@AliAbbasinasab Tôi nghĩ Antimony giải thích rõ. Tất nhiên, bị mắc kẹt trong một điểm yên ngựa thông thường hầu như không được đề cập trong câu trả lời của bạn, nhưng anh ta chỉ cho thấy khả năng SGD có thể bị bắt. Và với tôi, anh ấy chỉ cho thấy một số điểm yên ngựa khác thường mà SGD không thể thoát ra.
Kazuya Tomita

2

Nó không nên.

[ 1 ] đã chỉ ra rằng độ dốc giảm dần với khởi tạo ngẫu nhiênkích thước bước không đổi thích hợp không hội tụ đến điểm yên ngựa. Đó là một cuộc thảo luận dài nhưng để cho bạn một ý tưởng về lý do tại sao xem ví dụ sau:

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

enter image description here

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

z2z3z1

z0= =[x0]z1z1xR2

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

2f(z1)xxz1


Bạn có thể dễ dàng chọn một chức năng ví dụ trong đó bạn sẽ bị kẹt ở điểm yên ngựa mỗi lần ...
Jan Kukacka

1
Tôi đã không thể truy cập liên kết của bạn [1] - bạn có thể cung cấp một trích dẫn đầy đủ không? Trong khi đó, có thể xây dựng các mẫu phản biện cho yêu cầu của bạn, cho thấy nó phải dựa trên các giả định bổ sung không có căn cứ.
whuber

@whuber bạn có thể dễ dàng nấu lên counterexamples. Ví dụ nếu bạn chỉ có một dòng là không gian của bạn. Tôi chỉ cố gắng thêm một điểm có thể không rõ ràng với nhiều người (Ban đầu nó không quá rõ ràng với tôi tại sao). Về tài liệu tham khảo, tôi không biết tại sao bạn không thể tiếp cận nó. Tôi đã kiểm tra lại, liên kết là hợp lệ và được cập nhật là tốt. Bạn có thể tìm kiếm "Gradient Descent Converes to Minimators, Jason D. Lee, Max Simchowitz, Michael I. Jordan, và Benjamin Recht ♯ Khoa Kỹ thuật Điện và Khoa học Máy tính † Khoa Statistcs Đại học California, Berkeley, ngày 19 tháng 4 năm 2019 "
alifornia

Cảm ơn bạn đã tham khảo. Nhìn lướt qua nó (liên kết hiện hoạt động) cho thấy phân tích được giới hạn ở "yên ngựa nghiêm ngặt" (nơi có cả giá trị riêng tích cực và tiêu cực của Hessian), loại trừ nhiều khả năng. Các tuyên bố cuối cùng của bài báo bao gồm "chúng tôi lưu ý rằng có những vấn đề tối ưu hóa không bị ràng buộc rất khó khăn trong đó điều kiện yên xe nghiêm ngặt không thành công" và họ đưa ra tối thiểu hóa tứ phương làm ví dụ.
whuber

0

Nếu bạn đi đến bài viết được tham chiếu (họ cũng cho thấy cách tiếp cận không có yên của họ thực sự cải thiện khi SGD lô nhỏ), họ nói:

Một bước của phương pháp giảm độ dốc luôn luôn chỉ đúng hướng gần với điểm yên ngựa ... và vì vậy các bước nhỏ được thực hiện theo các hướng tương ứng với các giá trị riêng có giá trị tuyệt đối nhỏ.

Họ cũng lưu ý sự hiện diện của "cao nguyên" gần các điểm yên ngựa (nói cách khác, yên xe không dốc) - trong những trường hợp này, thực hiện các bước quá nhỏ sẽ thực sự dẫn đến sự hội tụ sớm trước khi thoát khỏi khu vực yên xe. Vì đây là một tối ưu hóa không lồi, nên sự hội tụ của tỷ lệ học tập sẽ làm cho điều này trở nên tồi tệ hơn.

Dường như người ta có thể thử một cách tiếp cận lặp đi lặp lại, trong đó người ta khởi động lại SGD lô nhỏ sau khi hoàn thành (nghĩa là đặt lại tốc độ học tập) để xem liệu người ta có thể thoát khỏi khu vực có vấn đề hay không.


0

Tôi nghĩ vấn đề là trong khi tiếp cận điểm yên ngựa, bạn đi vào một cao nguyên, tức là một khu vực có độ dốc thấp (về giá trị tuyệt đối). Đặc biệt là khi bạn đang tiếp cận từ sườn núi. Vì vậy, thuật toán của bạn giảm kích thước bước. Với kích thước bước giảm bây giờ, tất cả các gradient (theo mọi hướng) đều nhỏ trong giá trị tuyệt đối. Vì vậy, thuật toán dừng lại, nghĩ rằng nó ở mức tối thiểu.

Nếu bạn không giảm các bước thì bạn sẽ nhảy qua mức tối thiểu và bỏ lỡ chúng rất nhiều. Bạn phải giảm kích thước bước nào đó.

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.