Tại sao không lồi nên là một vấn đề trong tối ưu hóa?


20

Tôi đã rất ngạc nhiên khi tôi bắt đầu đọc một cái gì đó về tối ưu hóa không lồi nói chung và tôi đã thấy những tuyên bố như thế này:

Nhiều vấn đề thực tế có tầm quan trọng là không lồi, và hầu hết các vấn đề không lồi đều khó (nếu không nói là không thể) để giải quyết chính xác trong một thời gian hợp lý. ( nguồn )

hoặc là

Nói chung, NP-khó tìm được mức tối thiểu cục bộ và nhiều thuật toán có thể bị kẹt ở điểm yên ngựa. ( nguồn )

Tôi đang thực hiện loại tối ưu hóa không lồi mỗi ngày - cụ thể là thư giãn hình học phân tử. Tôi không bao giờ coi nó là một cái gì đó khó khăn, chậm và có thể bị mắc kẹt. Trong bối cảnh này, chúng ta có bề mặt không lồi nhiều chiều rõ ràng (> 1000 độ tự do). Chúng tôi sử dụng hầu hết các kỹ thuật bậc nhất có nguồn gốc từ việc làm giảm độ dốc và động mạnh nhất như FIRE , hội tụ trong vài trăm bước đến mức tối thiểu cục bộ (ít hơn số lượng DOF). Tôi hy vọng rằng với việc bổ sung tiếng ồn ngẫu nhiên, nó phải mạnh mẽ như địa ngục. (Tối ưu hóa toàn cầu là một câu chuyện khác)

Tôi bằng cách nào đó không thể tưởng tượng được bề mặt năng lượng tiềm năng sẽ trông như thế nào, để làm cho các phương thức tối ưu hóa này bị mắc kẹt hoặc hội tụ chậm. Ví dụ: PES rất bệnh lý (nhưng không phải do không lồi) là hình xoắn ốc này , nhưng nó không phải là một vấn đề lớn như vậy. Bạn có thể đưa ra ví dụ minh họa về PES không lồi bệnh lý?

Vì vậy, tôi không muốn tranh luận với các trích dẫn ở trên. Thay vào đó, tôi có cảm giác rằng tôi đang thiếu một cái gì đó ở đây. Có lẽ bối cảnh.


4
Từ khóa ở đây là "nói chung" - bạn có thể xây dựng các chức năng khó chịu tùy ý, đặc biệt là ở các kích thước rất cao về cơ bản là "tất cả các điểm yên ngựa". Mặt khác, các lớp cụ thể của chức năng không giao thoa có thể được ứng xử rất độc đáo, đặc biệt nếu bạn sử dụng các chiến lược toàn cầu hóa phù hợp.
Christian Clason

2
Tôi nghĩ rằng lý thuyết điều khiển tối ưu và các ứng dụng nghiên cứu kỹ thuật / vận hành tập trung khá nhiều vào tính chính xác / mạnh mẽ, trong khi bạn nghĩ rằng nhận được một nơi nào đó "đủ tốt" là đủ tốt. Có thể có các giới hạn hiệu suất (phải đảm bảo sự hội tụ, để quỹ đạo của robot được tính toán kịp thời) hoặc giới hạn chính xác (nếu bạn thay đổi các tham số vấn đề một chút, bạn sẽ không nhận được kết quả hoàn toàn khác). Vì vậy, nó không đủ để có được một số điểm tối ưu, nó cũng cần thiết cho họ để có một số thuộc tính theo quy định.
Kirill

Câu trả lời:


23

argminf(x)

  1. Một giải pháp ứng cử viên: Một lựa chọn cụ thể của biến quyết định và giá trị mục tiêu tương ứng của nó , AND f ( x )xf(x)
  2. Bằng chứng về sự tối ưu: Một bằng chứng toán học cho thấy sự lựa chọn của là tối ưu toàn cầu, tức là giữ cho mọi lựa chọn của . f ( x ) f ( x ) xxf(x)f(x)x

Khi lồi, cả hai thành phần đều dễ dàng thu được. Gradient giảm dần định vị một giải pháp ứng cử viên làm cho gradient biến mất . Bằng chứng về sự tối ưu xuất phát từ một thực tế đơn giản được dạy trong MATH101 rằng, nếu là lồi và độ dốc của nó biến mất tại , thì là một giải pháp toàn cầu.x f ( x ) = 0 f f x x fxf(x)=0ffxx

Khi là nonconvex, một giải pháp ứng viên có thể vẫn dễ tìm, nhưng bằng chứng về sự tối ưu trở nên vô cùng khó khăn. Ví dụ: chúng tôi có thể chạy giảm độ dốc và tìm điểm . Nhưng khi là nonconvex, điều kiện là cần thiết nhưng không còn đủ cho sự tối ưu toàn cầu. Thật vậy, nó thậm chí không đủ cho sự tối ưu cục bộ , tức là chúng ta thậm chí không thể đảm bảo rằng là mức tối thiểu cục bộ chỉ dựa trên thông tin độ dốc của nó. Một cách tiếp cận là liệt kê tất cả các điểm thỏa mãn và đây có thể là một nhiệm vụ đáng gờm thậm chí chỉ qua một hoặc hai chiều.f ( x ) = 0 f f ( x ) = 0 x f ( x ) = 0ff(x)=0ff(x)=0xf(x)=0

Khi các nhà toán học nói rằng hầu hết các vấn đề là không thể giải quyết, họ thực sự nói rằng bằng chứng về sự tối ưu (thậm chí cục bộ) là không thể xây dựng . Nhưng trong thế giới thực, chúng ta thường chỉ quan tâm đến việc tính toán một giải pháp "đủ tốt" và điều này có thể được tìm thấy theo vô số cách. Đối với nhiều vấn đề không liên quan cao, trực giác của chúng tôi cho chúng tôi biết rằng các giải pháp "đủ tốt" thực sự tối ưu toàn cầu, ngay cả khi chúng tôi hoàn toàn không thể chứng minh điều đó!


tối ưu toàn cầu so với địa phương là vấn đề hoàn toàn khác nhau. Nhưng phần còn lại có ý nghĩa. Có thể nói thêm về "thậm chí không thể đảm bảo rằng x là mức tối thiểu cục bộ chỉ dựa trên thông tin độ dốc của nó" hoặc minh họa rõ hơn điều đó?
Prokop Hapala

Giả sử chúng ta có các hàm g ( x ) = x 4 dưới dạng hộp đen (nghĩa là chúng ta chỉ có thể đánh giá, nhưng chúng ta không thể nhìn thấy dạng của chúng). Điểm x = 0 làm cho cả hai độ dốc biến mất, tức là f ( x ) = 0g ( x ) = 0 , nhưng điểm chỉ là tối thiểu cục bộ cho gf(x)=x3g(x)=x4x=0f(x)=0g(x)=0g. Trên thực tế, các đạo hàm thứ hai của chúng cũng bằng không tại thời điểm này, vì vậy hai kịch bản giống hệt nhau từ hai đạo hàm đầu tiên!
Richard Zhang

aha, OK, tôi luôn tự động giả định quán tính => rằng thuật toán sẽ không có xu hướng hội tụ đến điểm trong g ( x ) = x 3 . Nhưng chắc chắn, ở đó chúng tôi sử dụng thông tin bổ sung (quán tính) từ các bước trước đó, không chỉ là độ dốc ở một điểm. x=0g(x)=x3
Prokop Hapala

Tôi hiểu quan điểm của bạn. Và có lẽ đó thực sự là lý do tại sao trong ý nghĩa toán học khắt khe, tối ưu hóa không lồi được coi là khó. Nhưng, tôi vẫn quan tâm nhiều hơn đến ứng dụng thực tế, trong đó các heuristic (mà tôi cho là phần tự nhiên của thuật toán) sẽ thất bại thảm hại.
Prokop Hapala

f(x)=0

6

Một ví dụ về một vấn đề chiều thấp khó khăn có thể là:

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

Nếu bạn đạt một cực tiểu địa phương, làm thế nào bạn có thể chắc chắn rằng mọi thứ gần như tốt như cực tiểu toàn cầu? Làm thế nào để bạn biết nếu kết quả của bạn là một giải pháp tối ưu duy nhất, với điều kiện là tối ưu toàn cầu? Làm thế nào bạn có thể tạo ra một thuật toán mạnh mẽ cho tất cả các ngọn đồi và thung lũng để nó không bị kẹt ở đâu đó?

Một ví dụ như thế này là nơi mọi thứ có thể trở nên khó khăn. Rõ ràng, không phải tất cả các vấn đề là như thế này, nhưng một số là. Điều tồi tệ hơn là, trong một thiết lập trong công nghiệp, hàm chi phí có thể tốn thời gian để tính toán VÀ có bề mặt có vấn đề như ở trên.

Ví dụ vấn đề thực tế

Một ví dụ tôi có thể giải quyết trong công việc là thực hiện tối ưu hóa cho thuật toán dẫn đường tên lửa có thể mạnh mẽ ở nhiều điều kiện phóng. Sử dụng cụm của chúng tôi, tôi có thể có được các phép đo hiệu suất tôi cần trong khoảng 10 phút cho một điều kiện. Bây giờ để đánh giá đầy đủ sự mạnh mẽ, chúng tôi sẽ muốn ít nhất một mẫu các điều kiện để phán xét chống lại. Vì vậy, giả sử chúng ta chạy sáu điều kiện, việc đánh giá hàm chi phí này mất một giờ.

Động lực tên lửa phi tuyến, động lực học khí quyển, quá trình thời gian rời rạc, vv dẫn đến một phản ứng phi tuyến khá đối với những thay đổi trong thuật toán hướng dẫn, khiến việc tối ưu hóa khó giải quyết. Thực tế hàm chi phí này sẽ không lồi làm cho thực tế nó tốn thời gian để đánh giá một vấn đề lớn. Một ví dụ như thế này là nơi chúng ta sẽ cố gắng để có được thứ tốt nhất có thể trong thời gian chúng ta được trao.


1
OK, điều này tôi nghĩ là vấn đề khác nhau ... vấn đề tối ưu hóa toàn cầu, rõ ràng là khó khăn và không thể giải quyết được trong hầu hết các tình huống. Nhưng đó không phải là những gì mọi người đề cập đến đối với tối ưu hóa không lồi, nơi họ nói rằng NP-hard để tìm một mức tối thiểu cục bộ và nhiều thuật toán có thể bị kẹt ở điểm yên ngựa.
Prokop Hapala

1
@ProkopHapala Ý kiến ​​của tôi đã đề cập nhiều hơn đến trích dẫn Nhiều vấn đề thực tế có tầm quan trọng là không lồi và hầu hết các vấn đề không lồi đều khó (nếu không thể) giải quyết chính xác trong một thời gian hợp lý , đặc biệt là khi OP nói về việc đơn giản như thế nào nó đã được họ giải quyết các vấn đề không lồi trong nghiên cứu. Giải quyết chính xác , với tôi, là phấn đấu cho một giải pháp tối ưu toàn cầu (hoặc một cái gì đó gần gũi). Vì vậy, tôi muốn vẽ một bức tranh về những thách thức trong thế giới thực liên quan đến những bình luận này.
spektr

Tôi hiểu. Nói đúng ra là bạn đúng, nhưng tôi vẫn nghĩ nó không giải quyết được ý của tôi ... có lẽ tôi nên xây dựng nó tốt hơn.
Prokop Hapala

5

Vấn đề là điểm yên ngựa, được thảo luận trong bài đăng mà bạn liên kết. Từ bản tóm tắt của một trong những bài viết được liên kết :

Tuy nhiên, nói chung, khó có thể đảm bảo rằng các thuật toán như vậy thậm chí hội tụ đến mức tối thiểu cục bộ, do sự tồn tại của các cấu trúc điểm yên phức tạp trong kích thước cao. Nhiều chức năng có các điểm yên ngựa suy biến sao cho các đạo hàm bậc nhất và bậc hai không thể phân biệt chúng với tối ưu cục bộ . Trong bài báo này, chúng tôi sử dụng các dẫn xuất bậc cao hơn để thoát khỏi các điểm yên ngựa này: chúng tôi thiết kế thuật toán hiệu quả đầu tiên được đảm bảo để hội tụ đến mức tối ưu cục bộ thứ ba (trong khi các kỹ thuật hiện có nhiều nhất là bậc hai). Chúng tôi cũng chỉ ra rằng NP-hard khó có thể mở rộng điều này hơn nữa để tìm kiếm tối ưu thứ tư cục bộ.

Về cơ bản, bạn có thể có các chức năng trong đó bạn có các điểm yên không thể phân biệt với cực tiểu địa phương khi nhìn vào các đạo hàm 1, 2 và 3. Bạn có thể giải quyết điều này bằng cách đi đến trình tối ưu hóa bậc cao hơn, nhưng chúng cho thấy rằng mức tối thiểu thứ 4 cục bộ là NP khó.

x2y+y2

Bạn có thể sử dụng một số phương pháp phỏng đoán để thoát khỏi những điểm như vậy, có thể hoạt động cho nhiều ví dụ (hầu hết?) Trong thế giới thực, nhưng không thể được chứng minh là luôn hoạt động.
Trong bài đăng trên blog bạn đã liên kết, họ cũng thảo luận về các điều kiện mà bạn có thể thoát khỏi các điểm yên ngựa như vậy trong thời gian đa thức.


x2y+y2

2
Bạn phải nhìn nó theo cách khác. Không phải là chúng ta biết rằng việc giảm độ dốc ngẫu nhiên sẽ thất bại, mà chúng ta không biết rằng nó sẽ thành công. Đối với các vấn đề về đồ chơi, điều này khó có thể xảy ra trong thực tế, nhưng nó có thể xảy ra đối với các vấn đề về chiều cao hơn. Đặt cược của tôi là đối với các vấn đề hóa học của bạn, điều này sẽ không bao giờ xảy ra, nhưng tôi sẽ khó lòng chứng minh điều đó.
LKlevin
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.