Чому не оптимізація повинна бути проблемою в оптимізації?


20

Я дуже здивувався, коли почав читати щось про неопуклу оптимізацію взагалі і побачив такі твердження:

Багато практичних проблем, що мають важливе значення, мають невипуклий характер, і більшість проблем, які не є опуклими, важко (якщо не неможливо) вирішити в розумний час. ( джерело )

або

Взагалі, NP-важко знайти локальний мінімум, і багато алгоритмів можуть застрягти в точці сідла. ( джерело )

Я щодня роблю якусь неопуклу оптимізацію, а саме - розслаблення молекулярної геометрії. Я ніколи не вважав це чимось хитрим, повільним і здатним застрягти. У цьому контексті ми маємо чітко багатовимірні невипуклі поверхні (> 1000 градусів свободи). Ми використовуємо здебільшого методи першого порядку, отримані з найбільш крутого спуску та динамічного гарту, наприклад FIRE , які за кілька сотень кроків сходяться до локального мінімуму (менше кількості DOF). Я очікую, що з додаванням стохастичного шуму він повинен бути міцним як пекло. (Глобальна оптимізація - це інша історія)

Я якось не можу уявити, як повинна виглядати поверхня потенціальної енергії , щоб зробити ці методи оптимізації застряглими або повільно збіжними. Наприклад, дуже патологічна ПЕС (але не обумовлена ​​невипуклістю) - це ця спіраль , але це не така велика проблема. Чи можете ви навести наочний приклад патологічного не опуклого ПЕС?

Тому я не хочу сперечатися з цитатами вище. Швидше, я маю відчуття, що мені чогось тут не вистачає. Можливо, контекст.


4
Ключовим словом тут є "загалом" - ви можете побудувати довільно неприємні функціонали, особливо в дуже високих розмірах, які в основному є "всіма сідловими точками". З іншого боку, конкретні класи функцій, що не є опуклими, можуть дуже добре поводитися, особливо якщо ви використовуєте правильні стратегії глобалізації.
Крістіан Класон

2
Я думаю, що оптимальна теорія управління та інженерно-експлуатаційні дослідницькі програми приділяють певний акцент правильності / надійності, тоді як ви вважаєте, що потрапляння кудись "досить добре" досить добре. Можливо, існують обмеження продуктивності (конвергенція повинна бути гарантована, щоб траєкторія роботи обчислювалася в часі), або обмеження коректності (якщо трохи змінити параметри проблеми, ви несподівано не отримаєте абсолютно іншого результату). Тож недостатньо, щоб отримати якісь оптимальні бали, також необхідно мати для них деякі прописані властивості.
Кирило

Відповіді:


23

Нерозуміння полягає в тому, що являє собою "розв'язання" проблеми оптимізації, наприклад, . Для математиків ця проблема вважається "вирішеною" лише після того, як ми маємо:аргхвf(х)

  1. Кандидатське рішення: Конкретний вибір змінної рішення та відповідного об'єктивного значення f ( x ) , ANDхf(х)
  2. Доказ оптимальності: математичний доказ того, що вибір є глобально оптимальним, тобто f ( x ) f ( x ) має місце для кожного вибору x .хf(х)f(х)х

Коли опуклий, обидва інгредієнта легко отримуються. Спуск градієнта знаходить рішення кандидата x , завдяки якому градієнт зникає f ( x )fх . Доказ оптимальності випливає з простого факту, викладеного в MATH101, що якщо f опуклий, а його градієнтf зникає при x , то x є глобальним рішенням.f(х)=0ffxx

Якщо невипуклий, рішення кандидата все ще може бути легко знайти, але доказ оптимальності стає надзвичайно важким. Наприклад, ми можемо здійснити спуск градієнта і знайти точку f ( x )f . Але коли f невипуклий, умоваf ( x ) = 0 є необхідною, але вже недостатньою для глобальної оптимальності. Дійсно, це навіть недостатньо длялокальноїоптимальності, тобто ми навіть не можемо гарантувати, що x f(x)=0ff(x)=0x- локальний мінімум, заснований лише на інформації про градієнт. Один із підходів полягає в перерахуванні всіх точок, що задовольняють , і це може бути грізним завданням навіть за один-два виміри.f(x)=0

Коли математики кажуть, що більшість проблем вирішити неможливо, вони дійсно говорять, що доказ (навіть локальної) оптимальності побудувати неможливо . Але в реальному світі нас часто цікавить лише обчислення "достатньо хорошого" рішення, і це можна знайти нескінченною кількістю способів. Для багатьох проблем, що не мають опуклості, наша інтуїція говорить про те, що "досить добрі" рішення насправді є оптимальними в усьому світі, навіть якщо ми абсолютно не в змозі це довести!


глобальна порівняно з локальною оптимальністю - зовсім інше питання. Але решта має сенс. Можна сказати більше про "навіть не можна гарантувати, що x є локальним мінімумом лише на основі інформації про градієнт" або краще проілюструвати це?
Прокоп Хапала

Припустимо, у нас є функції та g ( x ) = x 4 у вигляді чорних коробок (тобто ми можемо лише оцінювати, але ми не можемо побачити їх форму). Точка x = 0 змушує обидві градієнти зникати, тобто f ( x ) = 0 і g ( x ) = 0 , але точка є лише локальним мінімумом для gf(x)=x3g(x)=x4x=0f(x)=0g(x)=0g . Насправді, їхні другі похідні в цей момент також дорівнюють нулю, тому два сценарії однакові лише від перших двох похідних!
Річард Чжан

ага, гаразд, я завжди автоматично припускаю інерцію => що алгоритм не прагне сходитись до точки в g ( x ) = x 3x=0g(x)=x3 . Але звичайно, ми використовуємо додаткову інформацію (інерцію) з попередніх кроків, а не просто градієнт в одну точку.
Прокоп Хапала

Я розумію вашу думку. І, можливо, саме це є причиною того, що в жорсткому математичному сенсі невипуклу оптимізацію вважають важкою. Але все ж мене більше цікавить практичне застосування, де евристика (яку я вважаю природною частиною алгоритму) невдало б провалилася.
Прокоп Хапала

А як щодо квазісупучесті? За цією логікою (( f(x)=0 досить), що не буде квазівипуклие проблем бути легко оптимізують як опуклі завдання?. Я розумію, що останній ISN »істинно (опуклі проблеми все ще простіше).
Амеліо Vazquez-Reina

6

Прикладом хитрої маломірної проблеми може бути:

введіть тут опис зображення

Зважаючи на те, що ви потрапили на місцеві мінімуми, як ви можете бути впевнені, що це щось наближене до глобальних мінімумів? Як дізнатися, чи є ваш результат унікальним оптимальним рішенням, враховуючи, що він є оптимальним у всьому світі? Як можна створити алгоритм, надійний для всіх пагорбів і долин, щоб він не кудись застряг?

Такий приклад, коли справи можуть скластись складно. Очевидно, не всі проблеми подібні, але деякі є. Найгірше те, що в умовах промисловості функція витрат може забирати багато часу для обчислення ТА мати проблематичну поверхню, як та, яка була вище.

Приклад реальної проблеми

Приклад, з яким я міг би вирішитись на роботі, - це оптимізація алгоритму наведення ракет, який міг би бути надійним при багатьох умовах запуску. Використовуючи наш кластер, я міг отримати необхідні вимірювання продуктивності приблизно за 10 хвилин для однієї умови. Тепер, щоб адекватно судити про надійність, ми хотіли б хоча б зразок умов, щоб судити. Отже, скажімо, ми виконуємо шість умов, а оцінка цієї функції витрат займає одну годину.

Нелінійна динаміка ракет, атмосферна динаміка, дискретні часові процеси тощо призводять до досить нелінійної реакції на зміни алгоритму наведення, що робить оптимізацію важкою для вирішення. Те, що ця витратна функція буде невипуклою, обумовлює той факт, що це забирає багато часу для оцінки великої проблеми. Такий приклад - це те, коли ми б прагнули досягти найкращого, що ми можемо, в той час, який нам дають.


1
Гаразд, це, на мою думку, є іншою проблемою ... проблема глобальної оптимізації, яка явно важка і нерозв'язна в більшості ситуацій. Але це не те, до чого звертаються люди щодо невипуклої оптимізації, де вони кажуть, що NP-важко знайти локальний мінімум і багато алгоритмів можуть застрягнути в седловій точці.
Прокоп Хапала

1
@ProkopHapala Мої коментарі більше стосувалися цитати Багато практичних проблем, що мають важливе значення, є невипуклими , а більшість проблем, які не є опуклими, важко (якщо не неможливо) вирішити в розумний час , тим більше, що ОП говорило про те, як просто саме вони вирішували невипуклі проблеми в дослідженні. Рішення саме , мені, прагнемо до глобально оптимального рішення (або що - то близько). Тому я хотів намалювати картину реальних викликів, пов'язаних із цими коментарями.
спектр

Я розумію. Власне кажучи, ви праві, але все ж я думаю, що це не стосується того, що я мав на увазі ... можливо, я мав би це сформулювати краще.
Прокоп Хапала

5

Проблема в тому, що стосується сідлових точок, обговорених у публікації, яку ви пов’язали. З реферату однієї із пов’язаних статей :

Однак загалом важко гарантувати, що такі алгоритми навіть збігаються до локального мінімуму через наявність складних структур точкових сідлин у великих розмірах. Багато функцій мають вироджені точки сідла, так що похідні першого та другого порядку не можуть відрізнити їх із локальними оптимами . У цій роботі ми використовуємо похідні вищого порядку для того, щоб уникнути цих точок сідла: ми розробляємо перший ефективний алгоритм, гарантований зближення до локального оптимуму третього порядку (тоді як існуючі методи - не більше другого порядку). Ми також показуємо, що важко поширити це далі на пошук місцевих оптимів четвертого порядку.

По суті, ви можете мати функції, де у вас є точки сідла, які не відрізняються від локальних мінімумів при перегляді першої, другої та третьої похідних. Ви можете вирішити це, перейшовши на оптимізатор вищого порядку, але вони показують, що для локального мінімуму 4-го порядку є важким NP.

x2y+y2 має таку точку при (0,0).

Ви можете використати ряд евристики, щоб уникнути таких точок, які можуть працювати для багатьох (більшість?) Прикладів реального світу, але не можна довести, що вони завжди працюють.
У публікації блогу, яку ви пов’язали, вони також обговорюють умови, за яких ви можете уникнути таких сідлових точок у поліномічний час.


x2y+y2

2
Ви повинні дивитися на це інакше. Це не те, що ми знаємо, що стохастичний градієнтний спуск провалиться, це те, що ми не знаємо, що це вдасться. Для проблем з іграшками це навряд чи трапиться на практиці, але це може трапитися і для проблем з більшими розмірами. Моя обставина, що для ваших проблем з хімією цього ніколи не станеться, але мені було б важко довести це.
Л.Клевін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.